2015-06-04 04:56:04

by David Lin

[permalink] [raw]
Subject: [PATCH] mwlwifi: Initial submission of wireless driver to mainline

Hi all,

Herewith, I am submitting the Linux driver for WRT1900AC. The work
was initially developed as part of openwrt effort and maintained on
https://github.com/kaloz/mwlwifi, thanks to the host where it is
nurtured.

Recently, I have also patched it to pass checkpatch.pl so that it
can be qualified for mainline.

This is still work in progress, with 8864 chipset more mature and
tested, while 8897 for the similar use case is added recently. We
will continue to maintain and enhance it.

We hope the community will welcome this initial submission!

Regards,

David Lin (1):
Add new mac80211 driver mwlwifi.

drivers/net/wireless/Kconfig | 1 +
drivers/net/wireless/Makefile | 2 +
drivers/net/wireless/mwlwifi/Kconfig | 17 +
drivers/net/wireless/mwlwifi/Makefile | 9 +
drivers/net/wireless/mwlwifi/mwl_debug.c | 207 ++
drivers/net/wireless/mwlwifi/mwl_debug.h | 118 +
drivers/net/wireless/mwlwifi/mwl_dev.h | 465 ++++
drivers/net/wireless/mwlwifi/mwl_fwcmd.c | 3615 +++++++++++++++++++++++++++
drivers/net/wireless/mwlwifi/mwl_fwcmd.h | 184 ++
drivers/net/wireless/mwlwifi/mwl_fwdl.c | 218 ++
drivers/net/wireless/mwlwifi/mwl_fwdl.h | 29 +
drivers/net/wireless/mwlwifi/mwl_mac80211.c | 877 +++++++
drivers/net/wireless/mwlwifi/mwl_mac80211.h | 32 +
drivers/net/wireless/mwlwifi/mwl_main.c | 1095 ++++++++
drivers/net/wireless/mwlwifi/mwl_rx.c | 589 +++++
drivers/net/wireless/mwlwifi/mwl_rx.h | 30 +
drivers/net/wireless/mwlwifi/mwl_sysadpt.h | 64 +
drivers/net/wireless/mwlwifi/mwl_tx.c | 892 +++++++
drivers/net/wireless/mwlwifi/mwl_tx.h | 34 +
19 files changed, 8478 insertions(+)
create mode 100644 drivers/net/wireless/mwlwifi/Kconfig
create mode 100644 drivers/net/wireless/mwlwifi/Makefile
create mode 100644 drivers/net/wireless/mwlwifi/mwl_debug.c
create mode 100644 drivers/net/wireless/mwlwifi/mwl_debug.h
create mode 100644 drivers/net/wireless/mwlwifi/mwl_dev.h
create mode 100644 drivers/net/wireless/mwlwifi/mwl_fwcmd.c
create mode 100644 drivers/net/wireless/mwlwifi/mwl_fwcmd.h
create mode 100644 drivers/net/wireless/mwlwifi/mwl_fwdl.c
create mode 100644 drivers/net/wireless/mwlwifi/mwl_fwdl.h
create mode 100644 drivers/net/wireless/mwlwifi/mwl_mac80211.c
create mode 100644 drivers/net/wireless/mwlwifi/mwl_mac80211.h
create mode 100644 drivers/net/wireless/mwlwifi/mwl_main.c
create mode 100644 drivers/net/wireless/mwlwifi/mwl_rx.c
create mode 100644 drivers/net/wireless/mwlwifi/mwl_rx.h
create mode 100644 drivers/net/wireless/mwlwifi/mwl_sysadpt.h
create mode 100644 drivers/net/wireless/mwlwifi/mwl_tx.c
create mode 100644 drivers/net/wireless/mwlwifi/mwl_tx.h

--
1.9.1



2015-06-05 15:10:03

by David Lin

[permalink] [raw]
Subject: RE: [PATCH] mwlwifi: Initial submission of wireless driver to mainline

> On 06/05/2015 12:29 PM, Ben Greear wrote:
> On 06/04/2015 07:41 PM, David Lin wrote:
> >> On 06/03/2015 09:55 PM, David Lin wrote:
> >>> Hi all,
> >>>
> >>> Herewith, I am submitting the Linux driver for WRT1900AC. The
> work
> >>> was initially developed as part of openwrt effort and maintained on
> >>> https://github.com/kaloz/mwlwifi, thanks to the host where it is
> >>> nurtured.
> >>>
> >>> Recently, I have also patched it to pass checkpatch.pl so that it
> >>> can be qualified for mainline.
> >>>
> >>> This is still work in progress, with 8864 chipset more mature and
> >>> tested, while 8897 for the similar use case is added recently. We
> >>> will continue to maintain and enhance it.
> >>>
> >>> We hope the community will welcome this initial submission!
> >>
> >> Do you have any notes on what features this driver/NIC provides?
> >>
> >> Does it require firmware, and if so, is source available?
> >>
> > Support both 11b/g/a/n/ac AP mode, and STA mode (though the primary use
> > case is AP). Driver matches most features in mac80211 and
> > hostapd/supplicant. All basic securities mode have been validated.
> >
> > Yes, it will require firmware microcode. Matching "binary" is reprovided as a
> > separate .bin file(s) for each chip. Source codes of chip-dependent microcode
> > will not be provided.
>
> Can it do multiple virtual stations (and other virtual device combinations)?
>
> With ath10k, for instance, there is a complex firmware between the host and
> the NIC hardware, so any bugs and limitations in the firmware make it almost
> impossible to add interesting features or fix bugs w/out being able to modify
> the firmware source.
>
> Any comments on how 'thick' the marvell firmware is?
>
Yes, the partitioning technically allows multiple logical interfaces. However, this open source driver is not yet developed for many combinations, yet.

It is hard to comment about "thickness" of the firmware :) All (most?) 802.11 mgmt packets are handled in host driver. Think of microcode as part of hardware or controlling/abstracting the hardware.

Thanks,
David
>
> --
> Ben Greear <[email protected]>
> Candela Technologies Inc http://www.candelatech.com

2015-06-04 15:50:43

by Ben Greear

[permalink] [raw]
Subject: Re: [PATCH] mwlwifi: Initial submission of wireless driver to mainline

On 06/03/2015 09:55 PM, David Lin wrote:
> Hi all,
>
> Herewith, I am submitting the Linux driver for WRT1900AC. The work
> was initially developed as part of openwrt effort and maintained on
> https://github.com/kaloz/mwlwifi, thanks to the host where it is
> nurtured.
>
> Recently, I have also patched it to pass checkpatch.pl so that it
> can be qualified for mainline.
>
> This is still work in progress, with 8864 chipset more mature and
> tested, while 8897 for the similar use case is added recently. We
> will continue to maintain and enhance it.
>
> We hope the community will welcome this initial submission!

Do you have any notes on what features this driver/NIC provides?

Does it require firmware, and if so, is source available?

Thanks,
Ben

--
Ben Greear <[email protected]>
Candela Technologies Inc http://www.candelatech.com


2015-06-05 02:41:12

by David Lin

[permalink] [raw]
Subject: RE: [PATCH] mwlwifi: Initial submission of wireless driver to mainline

> On 06/03/2015 09:55 PM, David Lin wrote:
> > Hi all,
> >
> > Herewith, I am submitting the Linux driver for WRT1900AC. The work
> > was initially developed as part of openwrt effort and maintained on
> > https://github.com/kaloz/mwlwifi, thanks to the host where it is
> > nurtured.
> >
> > Recently, I have also patched it to pass checkpatch.pl so that it can
> > be qualified for mainline.
> >
> > This is still work in progress, with 8864 chipset more mature and
> > tested, while 8897 for the similar use case is added recently. We will
> > continue to maintain and enhance it.
> >
> > We hope the community will welcome this initial submission!
>
> Do you have any notes on what features this driver/NIC provides?
>
> Does it require firmware, and if so, is source available?
>
Support both 11b/g/a/n/ac AP mode, and STA mode (though the primary use case is AP). Driver matches most features in mac80211 and hostapd/supplicant. All basic securities mode have been validated.

Yes, it will require firmware microcode. Matching "binary" is reprovided as a separate .bin file(s) for each chip. Source codes of chip-dependent microcode will not be provided.

Thanks,
David

2015-06-05 22:00:37

by Alexis Green

[permalink] [raw]
Subject: Re: [PATCH] mwlwifi: Initial submission of wireless driver to mainline

Are there plans to add support for 802.11s mesh point mode?

On Fri, Jun 5, 2015 at 8:09 AM, David Lin <[email protected]> wrote:
>> On 06/05/2015 12:29 PM, Ben Greear wrote:
>> On 06/04/2015 07:41 PM, David Lin wrote:
>> >> On 06/03/2015 09:55 PM, David Lin wrote:
>> >>> Hi all,
>> >>>
>> >>> Herewith, I am submitting the Linux driver for WRT1900AC. The
>> work
>> >>> was initially developed as part of openwrt effort and maintained on
>> >>> https://github.com/kaloz/mwlwifi, thanks to the host where it is
>> >>> nurtured.
>> >>>
>> >>> Recently, I have also patched it to pass checkpatch.pl so that it
>> >>> can be qualified for mainline.
>> >>>
>> >>> This is still work in progress, with 8864 chipset more mature and
>> >>> tested, while 8897 for the similar use case is added recently. We
>> >>> will continue to maintain and enhance it.
>> >>>
>> >>> We hope the community will welcome this initial submission!
>> >>
>> >> Do you have any notes on what features this driver/NIC provides?
>> >>
>> >> Does it require firmware, and if so, is source available?
>> >>
>> > Support both 11b/g/a/n/ac AP mode, and STA mode (though the primary use
>> > case is AP). Driver matches most features in mac80211 and
>> > hostapd/supplicant. All basic securities mode have been validated.
>> >
>> > Yes, it will require firmware microcode. Matching "binary" is reprovided as a
>> > separate .bin file(s) for each chip. Source codes of chip-dependent microcode
>> > will not be provided.
>>
>> Can it do multiple virtual stations (and other virtual device combinations)?
>>
>> With ath10k, for instance, there is a complex firmware between the host and
>> the NIC hardware, so any bugs and limitations in the firmware make it almost
>> impossible to add interesting features or fix bugs w/out being able to modify
>> the firmware source.
>>
>> Any comments on how 'thick' the marvell firmware is?
>>
> Yes, the partitioning technically allows multiple logical interfaces. However, this open source driver is not yet developed for many combinations, yet.
>
> It is hard to comment about "thickness" of the firmware :) All (most?) 802.11 mgmt packets are handled in host driver. Think of microcode as part of hardware or controlling/abstracting the hardware.
>
> Thanks,
> David
>>
>> --
>> Ben Greear <[email protected]>
>> Candela Technologies Inc http://www.candelatech.com
> --
> To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html

2015-06-06 01:03:40

by David Lin

[permalink] [raw]
Subject: RE: [PATCH] mwlwifi: Initial submission of wireless driver to mainline

PiBPbiAwNi8wNi8yMDE1IDY6MDEgQU0sIEFsZXhpcyBHcmVlbiB3cm90ZToNCj4gQXJlIHRoZXJl
IHBsYW5zIHRvIGFkZCBzdXBwb3J0IGZvciA4MDIuMTFzIG1lc2ggcG9pbnQgbW9kZT8NCj4gDQpZ
ZXMsIGl0IHdpbGwgYmUgd29ya2VkIG9uIGluIHRoZSBmdXR1cmUuDQoNClRoYW5rcywNCkRhdmlk
DQo+DQo+IE9uIEZyaSwgSnVuIDUsIDIwMTUgYXQgODowOSBBTSwgRGF2aWQgTGluIDxkbGluQG1h
cnZlbGwuY29tPiB3cm90ZToNCj4gPj4gT24gMDYvMDUvMjAxNSAxMjoyOSBQTSwgQmVuIEdyZWVh
ciB3cm90ZToNCj4gPj4gT24gMDYvMDQvMjAxNSAwNzo0MSBQTSwgRGF2aWQgTGluIHdyb3RlOg0K
PiA+PiA+PiBPbiAwNi8wMy8yMDE1IDA5OjU1IFBNLCBEYXZpZCBMaW4gd3JvdGU6DQo+ID4+ID4+
PiBIaSBhbGwsDQo+ID4+ID4+Pg0KPiA+PiA+Pj4gICBIZXJld2l0aCwgSSBhbSBzdWJtaXR0aW5n
IHRoZSBMaW51eCBkcml2ZXIgZm9yIFdSVDE5MDBBQy4gVGhlDQo+ID4+IHdvcmsNCj4gPj4gPj4+
IHdhcyBpbml0aWFsbHkgZGV2ZWxvcGVkIGFzIHBhcnQgb2Ygb3BlbndydCBlZmZvcnQgYW5kIG1h
aW50YWluZWQNCj4gPj4gPj4+IG9uIGh0dHBzOi8vZ2l0aHViLmNvbS9rYWxvei9td2x3aWZpLCB0
aGFua3MgdG8gdGhlIGhvc3Qgd2hlcmUgaXQNCj4gPj4gPj4+IGlzIG51cnR1cmVkLg0KPiA+PiA+
Pj4NCj4gPj4gPj4+ICAgUmVjZW50bHksIEkgaGF2ZSBhbHNvIHBhdGNoZWQgaXQgdG8gcGFzcyBj
aGVja3BhdGNoLnBsIHNvIHRoYXQNCj4gPj4gPj4+IGl0IGNhbiBiZSBxdWFsaWZpZWQgZm9yIG1h
aW5saW5lLg0KPiA+PiA+Pj4NCj4gPj4gPj4+ICAgVGhpcyBpcyBzdGlsbCB3b3JrIGluIHByb2dy
ZXNzLCB3aXRoIDg4NjQgY2hpcHNldCBtb3JlIG1hdHVyZQ0KPiA+PiA+Pj4gYW5kIHRlc3RlZCwg
d2hpbGUgODg5NyBmb3IgdGhlIHNpbWlsYXIgdXNlIGNhc2UgaXMgYWRkZWQNCj4gPj4gPj4+IHJl
Y2VudGx5LiBXZSB3aWxsIGNvbnRpbnVlIHRvIG1haW50YWluIGFuZCBlbmhhbmNlIGl0Lg0KPiA+
PiA+Pj4NCj4gPj4gPj4+IFdlIGhvcGUgdGhlIGNvbW11bml0eSB3aWxsIHdlbGNvbWUgdGhpcyBp
bml0aWFsIHN1Ym1pc3Npb24hDQo+ID4+ID4+DQo+ID4+ID4+IERvIHlvdSBoYXZlIGFueSBub3Rl
cyBvbiB3aGF0IGZlYXR1cmVzIHRoaXMgZHJpdmVyL05JQyBwcm92aWRlcz8NCj4gPj4gPj4NCj4g
Pj4gPj4gRG9lcyBpdCByZXF1aXJlIGZpcm13YXJlLCBhbmQgaWYgc28sIGlzIHNvdXJjZSBhdmFp
bGFibGU/DQo+ID4+ID4+DQo+ID4+ID4gU3VwcG9ydCBib3RoIDExYi9nL2Evbi9hYyBBUCBtb2Rl
LCBhbmQgU1RBIG1vZGUgKHRob3VnaCB0aGUgcHJpbWFyeQ0KPiA+PiA+IHVzZSBjYXNlIGlzIEFQ
KS4gRHJpdmVyIG1hdGNoZXMgbW9zdCBmZWF0dXJlcyBpbiBtYWM4MDIxMSBhbmQNCj4gPj4gPiBo
b3N0YXBkL3N1cHBsaWNhbnQuIEFsbCBiYXNpYyBzZWN1cml0aWVzIG1vZGUgaGF2ZSBiZWVuIHZh
bGlkYXRlZC4NCj4gPj4gPg0KPiA+PiA+IFllcywgaXQgd2lsbCByZXF1aXJlIGZpcm13YXJlIG1p
Y3JvY29kZS4gTWF0Y2hpbmcgImJpbmFyeSIgaXMNCj4gPj4gPiByZXByb3ZpZGVkIGFzIGEgc2Vw
YXJhdGUgLmJpbiBmaWxlKHMpIGZvciBlYWNoIGNoaXAuIFNvdXJjZSBjb2Rlcw0KPiA+PiA+IG9m
IGNoaXAtZGVwZW5kZW50IG1pY3JvY29kZSB3aWxsIG5vdCBiZSBwcm92aWRlZC4NCj4gPj4NCj4g
Pj4gQ2FuIGl0IGRvIG11bHRpcGxlIHZpcnR1YWwgc3RhdGlvbnMgKGFuZCBvdGhlciB2aXJ0dWFs
IGRldmljZSBjb21iaW5hdGlvbnMpPw0KPiA+Pg0KPiA+PiBXaXRoIGF0aDEwaywgZm9yIGluc3Rh
bmNlLCB0aGVyZSBpcyBhIGNvbXBsZXggZmlybXdhcmUgYmV0d2VlbiB0aGUNCj4gPj4gaG9zdCBh
bmQgdGhlIE5JQyBoYXJkd2FyZSwgc28gYW55IGJ1Z3MgYW5kIGxpbWl0YXRpb25zIGluIHRoZQ0K
PiA+PiBmaXJtd2FyZSBtYWtlIGl0IGFsbW9zdCBpbXBvc3NpYmxlIHRvIGFkZCBpbnRlcmVzdGlu
ZyBmZWF0dXJlcyBvciBmaXgNCj4gPj4gYnVncyB3L291dCBiZWluZyBhYmxlIHRvIG1vZGlmeSB0
aGUgZmlybXdhcmUgc291cmNlLg0KPiA+Pg0KPiA+PiBBbnkgY29tbWVudHMgb24gaG93ICd0aGlj
aycgdGhlIG1hcnZlbGwgZmlybXdhcmUgaXM/DQo+ID4+DQo+ID4gWWVzLCB0aGUgcGFydGl0aW9u
aW5nIHRlY2huaWNhbGx5IGFsbG93cyBtdWx0aXBsZSBsb2dpY2FsIGludGVyZmFjZXMuIEhvd2V2
ZXIsDQo+IHRoaXMgb3BlbiBzb3VyY2UgZHJpdmVyIGlzIG5vdCB5ZXQgZGV2ZWxvcGVkIGZvciBt
YW55IGNvbWJpbmF0aW9ucywgeWV0Lg0KPiA+DQo+ID4gSXQgaXMgaGFyZCB0byBjb21tZW50IGFi
b3V0ICJ0aGlja25lc3MiIG9mIHRoZSBmaXJtd2FyZSA6KSBBbGwgKG1vc3Q/KSA4MDIuMTENCj4g
bWdtdCBwYWNrZXRzIGFyZSBoYW5kbGVkIGluIGhvc3QgZHJpdmVyLiBUaGluayBvZiBtaWNyb2Nv
ZGUgYXMgcGFydCBvZg0KPiBoYXJkd2FyZSBvciBjb250cm9sbGluZy9hYnN0cmFjdGluZyB0aGUg
aGFyZHdhcmUuDQo+ID4NCj4gPiBUaGFua3MsDQo+ID4gRGF2aWQNCj4gPj4NCj4gPj4gLS0NCj4g
Pj4gQmVuIEdyZWVhciA8Z3JlZWFyYkBjYW5kZWxhdGVjaC5jb20+DQo+ID4+IENhbmRlbGEgVGVj
aG5vbG9naWVzIEluYyAgaHR0cDovL3d3dy5jYW5kZWxhdGVjaC5jb20NCj4gPiAtLQ0KPiA+IFRv
IHVuc3Vic2NyaWJlIGZyb20gdGhpcyBsaXN0OiBzZW5kIHRoZSBsaW5lICJ1bnN1YnNjcmliZQ0K
PiA+IGxpbnV4LXdpcmVsZXNzIiBpbiB0aGUgYm9keSBvZiBhIG1lc3NhZ2UgdG8gbWFqb3Jkb21v
QHZnZXIua2VybmVsLm9yZw0KPiA+IE1vcmUgbWFqb3Jkb21vIGluZm8gYXQgIGh0dHA6Ly92Z2Vy
Lmtlcm5lbC5vcmcvbWFqb3Jkb21vLWluZm8uaHRtbA0K

2015-06-05 04:27:54

by Ben Greear

[permalink] [raw]
Subject: Re: [PATCH] mwlwifi: Initial submission of wireless driver to mainline



On 06/04/2015 07:41 PM, David Lin wrote:
>> On 06/03/2015 09:55 PM, David Lin wrote:
>>> Hi all,
>>>
>>> Herewith, I am submitting the Linux driver for WRT1900AC. The work
>>> was initially developed as part of openwrt effort and maintained on
>>> https://github.com/kaloz/mwlwifi, thanks to the host where it is
>>> nurtured.
>>>
>>> Recently, I have also patched it to pass checkpatch.pl so that it can
>>> be qualified for mainline.
>>>
>>> This is still work in progress, with 8864 chipset more mature and
>>> tested, while 8897 for the similar use case is added recently. We will
>>> continue to maintain and enhance it.
>>>
>>> We hope the community will welcome this initial submission!
>>
>> Do you have any notes on what features this driver/NIC provides?
>>
>> Does it require firmware, and if so, is source available?
>>
> Support both 11b/g/a/n/ac AP mode, and STA mode (though the primary use case is AP). Driver matches most features in mac80211 and hostapd/supplicant. All basic securities mode have been validated.
>
> Yes, it will require firmware microcode. Matching "binary" is reprovided as a separate .bin file(s) for each chip. Source codes of chip-dependent microcode will not be provided.

Can it do multiple virtual stations (and other virtual device combinations)?

With ath10k, for instance, there is a complex firmware between the host
and the NIC hardware, so any bugs and limitations in the firmware make
it almost impossible to add interesting features or fix bugs w/out being able to modify
the firmware source.

Any comments on how 'thick' the marvell firmware is?

Thanks,
Ben


>
> Thanks,
> David
>

--
Ben Greear <[email protected]>
Candela Technologies Inc http://www.candelatech.com