linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] mwl8k: Add 0x2a02 PCI device-id (Marvell 88W8361)
@ 2012-04-27  9:08 Sedat Dilek
  2012-04-27  9:14 ` Lennert Buytenhek
  0 siblings, 1 reply; 28+ messages in thread
From: Sedat Dilek @ 2012-04-27  9:08 UTC (permalink / raw)
  To: Lennert Buytenhek, John W. Linville, linux-wireless, netdev,
	linux-kernel
  Cc: Sedat Dilek, stable

User lautriv asked for belkin N-1 WLAN device support on IRC.

Further informations from lautriv:
* marvell 80W8031, card-id 11ab:2a02
* Debian/sid 3.2.x

On [1] I found a report by Jim Cromie concerning same PCI device-id:

00:0e.0 Ethernet controller [0200]: Marvell Technology Group Ltd.
88W8361 [TopDog] 802.11n Wireless [11ab:2a02] (rev 03)
	Subsystem: Marvell Technology Group Ltd. 88W8361 [TopDog] 802.11n Wireless [11ab:2a02]

So, let's add 0x2a02 to PCI device table.

[1] http://www.spinics.net/lists/newbies/msg46601.html

Cc: stable@vger.kernel.org
Signed-off-by: Sedat Dilek <sedat.dilek@gmail.com>
---
 drivers/net/wireless/mwl8k.c |    1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/wireless/mwl8k.c b/drivers/net/wireless/mwl8k.c
index b48674b..16f0a9a 100644
--- a/drivers/net/wireless/mwl8k.c
+++ b/drivers/net/wireless/mwl8k.c
@@ -5264,6 +5264,7 @@ MODULE_FIRMWARE("mwl8k/fmimage_8366.fw");
 MODULE_FIRMWARE(MWL8K_8366_AP_FW(MWL8K_8366_AP_FW_API));
 
 static DEFINE_PCI_DEVICE_TABLE(mwl8k_pci_id_table) = {
+	{ PCI_VDEVICE(MARVELL, 0x2a02), .driver_data = MWL8363, },
 	{ PCI_VDEVICE(MARVELL, 0x2a0a), .driver_data = MWL8363, },
 	{ PCI_VDEVICE(MARVELL, 0x2a0c), .driver_data = MWL8363, },
 	{ PCI_VDEVICE(MARVELL, 0x2a24), .driver_data = MWL8363, },
-- 
1.7.9.5


^ permalink raw reply related	[flat|nested] 28+ messages in thread

* Re: [PATCH] mwl8k: Add 0x2a02 PCI device-id (Marvell 88W8361)
  2012-04-27  9:08 [PATCH] mwl8k: Add 0x2a02 PCI device-id (Marvell 88W8361) Sedat Dilek
@ 2012-04-27  9:14 ` Lennert Buytenhek
  2012-04-27  9:22   ` Sedat Dilek
  0 siblings, 1 reply; 28+ messages in thread
From: Lennert Buytenhek @ 2012-04-27  9:14 UTC (permalink / raw)
  To: Sedat Dilek
  Cc: John W. Linville, linux-wireless, netdev, linux-kernel,
	Sedat Dilek, stable

On Fri, Apr 27, 2012 at 11:08:31AM +0200, Sedat Dilek wrote:

> User lautriv asked for belkin N-1 WLAN device support on IRC.
> 
> Further informations from lautriv:
> * marvell 80W8031, card-id 11ab:2a02
> * Debian/sid 3.2.x
> 
> On [1] I found a report by Jim Cromie concerning same PCI device-id:
> 
> 00:0e.0 Ethernet controller [0200]: Marvell Technology Group Ltd.
> 88W8361 [TopDog] 802.11n Wireless [11ab:2a02] (rev 03)
> 	Subsystem: Marvell Technology Group Ltd. 88W8361 [TopDog] 802.11n Wireless [11ab:2a02]
> 
> So, let's add 0x2a02 to PCI device table.

Let's not.  There's no firmware for the 8361 that implements the
firmware interface currently implemented by the mwl8k driver, so
this is pretty useless.


> [1] http://www.spinics.net/lists/newbies/msg46601.html

>From that link:

| I have a card which modprobes, despite a PCI-ID mismatch
|
| [...]
|
| Given the pci-id mismatch shouldnt this just fail to modprobe ?

No.  That's not a bug -- you are free to load drivers for hardware
not currently in your system.


>  static DEFINE_PCI_DEVICE_TABLE(mwl8k_pci_id_table) = {
> +	{ PCI_VDEVICE(MARVELL, 0x2a02), .driver_data = MWL8363, },
>  	{ PCI_VDEVICE(MARVELL, 0x2a0a), .driver_data = MWL8363, },

A 8361 is certainly not a 8363.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH] mwl8k: Add 0x2a02 PCI device-id (Marvell 88W8361)
  2012-04-27  9:14 ` Lennert Buytenhek
@ 2012-04-27  9:22   ` Sedat Dilek
  2012-04-27  9:40     ` Lennert Buytenhek
  0 siblings, 1 reply; 28+ messages in thread
From: Sedat Dilek @ 2012-04-27  9:22 UTC (permalink / raw)
  To: Lennert Buytenhek
  Cc: John W. Linville, linux-wireless, netdev, linux-kernel, stable

On Fri, Apr 27, 2012 at 11:14 AM, Lennert Buytenhek
<buytenh@wantstofly.org> wrote:
> On Fri, Apr 27, 2012 at 11:08:31AM +0200, Sedat Dilek wrote:
>
>> User lautriv asked for belkin N-1 WLAN device support on IRC.
>>
>> Further informations from lautriv:
>> * marvell 80W8031, card-id 11ab:2a02
>> * Debian/sid 3.2.x
>>
>> On [1] I found a report by Jim Cromie concerning same PCI device-id:
>>
>> 00:0e.0 Ethernet controller [0200]: Marvell Technology Group Ltd.
>> 88W8361 [TopDog] 802.11n Wireless [11ab:2a02] (rev 03)
>>       Subsystem: Marvell Technology Group Ltd. 88W8361 [TopDog] 802.11n Wireless [11ab:2a02]
>>
>> So, let's add 0x2a02 to PCI device table.
>
> Let's not.  There's no firmware for the 8361 that implements the
> firmware interface currently implemented by the mwl8k driver, so
> this is pretty useless.
>
>
>> [1] http://www.spinics.net/lists/newbies/msg46601.html
>
> From that link:
>
> | I have a card which modprobes, despite a PCI-ID mismatch
> |
> | [...]
> |
> | Given the pci-id mismatch shouldnt this just fail to modprobe ?
>
> No.  That's not a bug -- you are free to load drivers for hardware
> not currently in your system.
>
>
>>  static DEFINE_PCI_DEVICE_TABLE(mwl8k_pci_id_table) = {
>> +     { PCI_VDEVICE(MARVELL, 0x2a02), .driver_data = MWL8363, },
>>       { PCI_VDEVICE(MARVELL, 0x2a0a), .driver_data = MWL8363, },
>
> A 8361 is certainly not a 8363.

Damn, I got confused by all the numbers. More coffee.
Thanks for the clarification. I will inform the user on IRC.
Sorry, for the noise.

Are you planning to or even working on support (for) 8361 devices?

- Sedat -

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH] mwl8k: Add 0x2a02 PCI device-id (Marvell 88W8361)
  2012-04-27  9:22   ` Sedat Dilek
@ 2012-04-27  9:40     ` Lennert Buytenhek
  2012-04-27  9:42       ` Sedat Dilek
  0 siblings, 1 reply; 28+ messages in thread
From: Lennert Buytenhek @ 2012-04-27  9:40 UTC (permalink / raw)
  To: sedat.dilek; +Cc: John W. Linville, linux-wireless, netdev, linux-kernel

On Fri, Apr 27, 2012 at 11:22:49AM +0200, Sedat Dilek wrote:

> Are you planning to or even working on support (for) 8361 devices?

I don't have any such plans, and I don't know of anyone who does.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH] mwl8k: Add 0x2a02 PCI device-id (Marvell 88W8361)
  2012-04-27  9:40     ` Lennert Buytenhek
@ 2012-04-27  9:42       ` Sedat Dilek
  2012-04-27  9:46         ` Lennert Buytenhek
  0 siblings, 1 reply; 28+ messages in thread
From: Sedat Dilek @ 2012-04-27  9:42 UTC (permalink / raw)
  To: Lennert Buytenhek; +Cc: John W. Linville, linux-wireless, netdev, linux-kernel

On Fri, Apr 27, 2012 at 11:40 AM, Lennert Buytenhek
<buytenh@wantstofly.org> wrote:
> On Fri, Apr 27, 2012 at 11:22:49AM +0200, Sedat Dilek wrote:
>
>> Are you planning to or even working on support (for) 8361 devices?
>
> I don't have any such plans, and I don't know of anyone who does.

Does 8361 require firmware support? Does a firmware file exist (name?)?
Asking just out of curiosity?

- Sedat -

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH] mwl8k: Add 0x2a02 PCI device-id (Marvell 88W8361)
  2012-04-27  9:42       ` Sedat Dilek
@ 2012-04-27  9:46         ` Lennert Buytenhek
  2012-04-27  9:56           ` Sedat Dilek
  0 siblings, 1 reply; 28+ messages in thread
From: Lennert Buytenhek @ 2012-04-27  9:46 UTC (permalink / raw)
  To: sedat.dilek; +Cc: John W. Linville, linux-wireless, netdev, linux-kernel

On Fri, Apr 27, 2012 at 11:42:54AM +0200, Sedat Dilek wrote:

> >> Are you planning to or even working on support (for) 8361 devices?
> >
> > I don't have any such plans, and I don't know of anyone who does.
> 
> Does 8361 require firmware support?

What do you mean by that?


> Does a firmware file exist (name?)?

There's firmware for the 8361 out there, however, that version of
the firmware implements a firmware API that is different from the
one that mwl8k currently implements.

You could add 8361 support to mwl8k, but then you'd have to go over
all the firmware command invocations in mwl8k and make sure that they
will work on the 8361 firmware that you're trying to support as well.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH] mwl8k: Add 0x2a02 PCI device-id (Marvell 88W8361)
  2012-04-27  9:46         ` Lennert Buytenhek
@ 2012-04-27  9:56           ` Sedat Dilek
  2012-04-27  9:58             ` Lennert Buytenhek
  0 siblings, 1 reply; 28+ messages in thread
From: Sedat Dilek @ 2012-04-27  9:56 UTC (permalink / raw)
  To: Lennert Buytenhek; +Cc: John W. Linville, linux-wireless, netdev, linux-kernel

On Fri, Apr 27, 2012 at 11:46 AM, Lennert Buytenhek
<buytenh@wantstofly.org> wrote:
> On Fri, Apr 27, 2012 at 11:42:54AM +0200, Sedat Dilek wrote:
>
>> >> Are you planning to or even working on support (for) 8361 devices?
>> >
>> > I don't have any such plans, and I don't know of anyone who does.
>>
>> Does 8361 require firmware support?
>
> What do you mean by that?
>

IIRC ath5k for example needs no external firmware file.

>
>> Does a firmware file exist (name?)?
>
> There's firmware for the 8361 out there, however, that version of
> the firmware implements a firmware API that is different from the
> one that mwl8k currently implements.
>
> You could add 8361 support to mwl8k, but then you'd have to go over
> all the firmware command invocations in mwl8k and make sure that they
> will work on the 8361 firmware that you're trying to support as well.

Without having a 8361 this will be even harder to walk through.

Anyway, thanks for your detailed explanations.

What's the alternative for such affected users?
Use ndis-wrapper?

- Sedat -

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH] mwl8k: Add 0x2a02 PCI device-id (Marvell 88W8361)
  2012-04-27  9:56           ` Sedat Dilek
@ 2012-04-27  9:58             ` Lennert Buytenhek
  2012-04-27 10:12               ` Sedat Dilek
  0 siblings, 1 reply; 28+ messages in thread
From: Lennert Buytenhek @ 2012-04-27  9:58 UTC (permalink / raw)
  To: sedat.dilek; +Cc: John W. Linville, linux-wireless, netdev, linux-kernel

On Fri, Apr 27, 2012 at 11:56:00AM +0200, Sedat Dilek wrote:

> >> >> Are you planning to or even working on support (for) 8361 devices?
> >> >
> >> > I don't have any such plans, and I don't know of anyone who does.
> >>
> >> Does 8361 require firmware support?
> >
> > What do you mean by that?
> 
> IIRC ath5k for example needs no external firmware file.

The 8361 requires firmware to be loaded into it before it'll do
anything useful.


> >> Does a firmware file exist (name?)?
> >
> > There's firmware for the 8361 out there, however, that version of
> > the firmware implements a firmware API that is different from the
> > one that mwl8k currently implements.
> >
> > You could add 8361 support to mwl8k, but then you'd have to go over
> > all the firmware command invocations in mwl8k and make sure that they
> > will work on the 8361 firmware that you're trying to support as well.
> 
> Without having a 8361 this will be even harder to walk through.
> 
> Anyway, thanks for your detailed explanations.
> 
> What's the alternative for such affected users?
> Use ndis-wrapper?

I'm not sure.  I've never tried to get a 8361 work under Linux.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH] mwl8k: Add 0x2a02 PCI device-id (Marvell 88W8361)
  2012-04-27  9:58             ` Lennert Buytenhek
@ 2012-04-27 10:12               ` Sedat Dilek
  2012-04-27 10:17                 ` Lennert Buytenhek
  0 siblings, 1 reply; 28+ messages in thread
From: Sedat Dilek @ 2012-04-27 10:12 UTC (permalink / raw)
  To: Lennert Buytenhek; +Cc: John W. Linville, linux-wireless, netdev, linux-kernel

On Fri, Apr 27, 2012 at 11:58 AM, Lennert Buytenhek
<buytenh@wantstofly.org> wrote:
> On Fri, Apr 27, 2012 at 11:56:00AM +0200, Sedat Dilek wrote:
>
>> >> >> Are you planning to or even working on support (for) 8361 devices?
>> >> >
>> >> > I don't have any such plans, and I don't know of anyone who does.
>> >>
>> >> Does 8361 require firmware support?
>> >
>> > What do you mean by that?
>>
>> IIRC ath5k for example needs no external firmware file.
>
> The 8361 requires firmware to be loaded into it before it'll do
> anything useful.
>
>
>> >> Does a firmware file exist (name?)?
>> >
>> > There's firmware for the 8361 out there, however, that version of
>> > the firmware implements a firmware API that is different from the
>> > one that mwl8k currently implements.
>> >
>> > You could add 8361 support to mwl8k, but then you'd have to go over
>> > all the firmware command invocations in mwl8k and make sure that they
>> > will work on the 8361 firmware that you're trying to support as well.
>>
>> Without having a 8361 this will be even harder to walk through.
>>
>> Anyway, thanks for your detailed explanations.
>>
>> What's the alternative for such affected users?
>> Use ndis-wrapper?
>
> I'm not sure.  I've never tried to get a 8361 work under Linux.

Just found on [1] this same wrong patch in [2] :-).
Dunno if [3] worked and from where they have stolen fw-files.

- Sedat -

[1] https://dev.openwrt.org/ticket/7209
[2] https://dev.openwrt.org/attachment/ticket/7209/mwl8k_fix_pci_id.patch
[3] https://dev.openwrt.org/attachment/ticket/7209/mwl8k_8361p.patch

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH] mwl8k: Add 0x2a02 PCI device-id (Marvell 88W8361)
  2012-04-27 10:12               ` Sedat Dilek
@ 2012-04-27 10:17                 ` Lennert Buytenhek
  2012-04-27 10:57                   ` Sedat Dilek
  0 siblings, 1 reply; 28+ messages in thread
From: Lennert Buytenhek @ 2012-04-27 10:17 UTC (permalink / raw)
  To: sedat.dilek; +Cc: John W. Linville, linux-wireless, netdev, linux-kernel

On Fri, Apr 27, 2012 at 12:12:13PM +0200, Sedat Dilek wrote:

> >> >> >> Are you planning to or even working on support (for) 8361 devices?
> >> >> >
> >> >> > I don't have any such plans, and I don't know of anyone who does.
> >> >>
> >> >> Does 8361 require firmware support?
> >> >
> >> > What do you mean by that?
> >>
> >> IIRC ath5k for example needs no external firmware file.
> >
> > The 8361 requires firmware to be loaded into it before it'll do
> > anything useful.
> >
> >
> >> >> Does a firmware file exist (name?)?
> >> >
> >> > There's firmware for the 8361 out there, however, that version of
> >> > the firmware implements a firmware API that is different from the
> >> > one that mwl8k currently implements.
> >> >
> >> > You could add 8361 support to mwl8k, but then you'd have to go over
> >> > all the firmware command invocations in mwl8k and make sure that they
> >> > will work on the 8361 firmware that you're trying to support as well.
> >>
> >> Without having a 8361 this will be even harder to walk through.
> >>
> >> Anyway, thanks for your detailed explanations.
> >>
> >> What's the alternative for such affected users?
> >> Use ndis-wrapper?
> >
> > I'm not sure.  I've never tried to get a 8361 work under Linux.
> 
> Just found on [1] this same wrong patch in [2] :-).
> Dunno if [3] worked and from where they have stolen fw-files.
> 
> - Sedat -
> 
> [1] https://dev.openwrt.org/ticket/7209
> [2] https://dev.openwrt.org/attachment/ticket/7209/mwl8k_fix_pci_id.patch
> [3] https://dev.openwrt.org/attachment/ticket/7209/mwl8k_8361p.patch

I doubt that [3] is really all that's needed to make it work.  But if
there's someone for whom it works, I'd like them to run some tests on
mwl8k + [3] on 88w8361p.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH] mwl8k: Add 0x2a02 PCI device-id (Marvell 88W8361)
  2012-04-27 10:17                 ` Lennert Buytenhek
@ 2012-04-27 10:57                   ` Sedat Dilek
  2012-04-27 13:29                     ` Sedat Dilek
  0 siblings, 1 reply; 28+ messages in thread
From: Sedat Dilek @ 2012-04-27 10:57 UTC (permalink / raw)
  To: Lennert Buytenhek; +Cc: John W. Linville, linux-wireless, netdev, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 2084 bytes --]

On Fri, Apr 27, 2012 at 12:17 PM, Lennert Buytenhek
<buytenh@wantstofly.org> wrote:
> On Fri, Apr 27, 2012 at 12:12:13PM +0200, Sedat Dilek wrote:
>
>> >> >> >> Are you planning to or even working on support (for) 8361 devices?
>> >> >> >
>> >> >> > I don't have any such plans, and I don't know of anyone who does.
>> >> >>
>> >> >> Does 8361 require firmware support?
>> >> >
>> >> > What do you mean by that?
>> >>
>> >> IIRC ath5k for example needs no external firmware file.
>> >
>> > The 8361 requires firmware to be loaded into it before it'll do
>> > anything useful.
>> >
>> >
>> >> >> Does a firmware file exist (name?)?
>> >> >
>> >> > There's firmware for the 8361 out there, however, that version of
>> >> > the firmware implements a firmware API that is different from the
>> >> > one that mwl8k currently implements.
>> >> >
>> >> > You could add 8361 support to mwl8k, but then you'd have to go over
>> >> > all the firmware command invocations in mwl8k and make sure that they
>> >> > will work on the 8361 firmware that you're trying to support as well.
>> >>
>> >> Without having a 8361 this will be even harder to walk through.
>> >>
>> >> Anyway, thanks for your detailed explanations.
>> >>
>> >> What's the alternative for such affected users?
>> >> Use ndis-wrapper?
>> >
>> > I'm not sure.  I've never tried to get a 8361 work under Linux.
>>
>> Just found on [1] this same wrong patch in [2] :-).
>> Dunno if [3] worked and from where they have stolen fw-files.
>>
>> - Sedat -
>>
>> [1] https://dev.openwrt.org/ticket/7209
>> [2] https://dev.openwrt.org/attachment/ticket/7209/mwl8k_fix_pci_id.patch
>> [3] https://dev.openwrt.org/attachment/ticket/7209/mwl8k_8361p.patch
>
> I doubt that [3] is really all that's needed to make it work.  But if
> there's someone for whom it works, I'd like them to run some tests on
> mwl8k + [3] on 88w8361p.

Just asked lautriv to do so (he will do against linux-3.3.3), lets' see.
Also, I refreshed and adapted a bit the instructions (see attachment).

- Sedat -

[-- Attachment #2: mwl8k_extract_firmware.txt --]
[-- Type: text/plain, Size: 1159 bytes --]

### HELP-1: https://forum.openwrt.org/viewtopic.php?pid=103243#p103243
### HELP-2: https://forum.openwrt.org/viewtopic.php?pid=110004#p110004

### From HELP-1:

To extract the firmware for the mwl8k driver, open your Ubuntu terminal:

sudo apt-get install cabextract unshield

mkdir mwl8k
cd mwl8k

wget -O mrv8k_extract_fw.c 'http://marc.info/?l=linux-wireless&m=126540674419330&q=p3'
wget ftp://downloads.netgear.com/files/wn311t_4_2_setup.exe

mkdir mess
cabextract -F Disk1/data*.* -d mess wn311t_4_2_setup.exe
unshield -g Driver -d mess x mess/Disk1/data1.cab
gcc -o mrv8k_extract_fw mrv8k_extract_fw.c
./mrv8k_extract_fw mess/Driver/netmw145.sys
rm -r mess

md5sum -b *.fw
mv fmimage_8XX1.fw fmimage_8363.fw
mv helper_8XX1.fw helper_8363.fw

### From HELP-2: For Marwell 8361P

md5sum -b *.fw | egrep '48c79b085f7f5a590d3dbc15647e519f|0fe11f415adbbd5e8ca03641705c4a6c'
[ OUTPUT ]
48c79b085f7f5a590d3dbc15647e519f *fmimage_8XX0.fw
0fe11f415adbbd5e8ca03641705c4a6c *helper_8XX0.fw

mv fmimage_8XX0.fw fmimage_8361p.fw
mv helper_8XX0.fw helper_8361p.fw

### PATCH: https://dev.openwrt.org/attachment/ticket/7209/mwl8k_8361p.patch


-dileks // 27-Apr-2012


^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH] mwl8k: Add 0x2a02 PCI device-id (Marvell 88W8361)
  2012-04-27 10:57                   ` Sedat Dilek
@ 2012-04-27 13:29                     ` Sedat Dilek
  2012-04-27 18:58                       ` Lennert Buytenhek
  0 siblings, 1 reply; 28+ messages in thread
From: Sedat Dilek @ 2012-04-27 13:29 UTC (permalink / raw)
  To: Lennert Buytenhek
  Cc: John W. Linville, linux-wireless, netdev, linux-kernel, lautriv,
	Jim Cromie

[-- Attachment #1: Type: text/plain, Size: 4999 bytes --]

On Fri, Apr 27, 2012 at 12:57 PM, Sedat Dilek
<sedat.dilek@googlemail.com> wrote:
> On Fri, Apr 27, 2012 at 12:17 PM, Lennert Buytenhek
> <buytenh@wantstofly.org> wrote:
>> On Fri, Apr 27, 2012 at 12:12:13PM +0200, Sedat Dilek wrote:
>>
>>> >> >> >> Are you planning to or even working on support (for) 8361 devices?
>>> >> >> >
>>> >> >> > I don't have any such plans, and I don't know of anyone who does.
>>> >> >>
>>> >> >> Does 8361 require firmware support?
>>> >> >
>>> >> > What do you mean by that?
>>> >>
>>> >> IIRC ath5k for example needs no external firmware file.
>>> >
>>> > The 8361 requires firmware to be loaded into it before it'll do
>>> > anything useful.
>>> >
>>> >
>>> >> >> Does a firmware file exist (name?)?
>>> >> >
>>> >> > There's firmware for the 8361 out there, however, that version of
>>> >> > the firmware implements a firmware API that is different from the
>>> >> > one that mwl8k currently implements.
>>> >> >
>>> >> > You could add 8361 support to mwl8k, but then you'd have to go over
>>> >> > all the firmware command invocations in mwl8k and make sure that they
>>> >> > will work on the 8361 firmware that you're trying to support as well.
>>> >>
>>> >> Without having a 8361 this will be even harder to walk through.
>>> >>
>>> >> Anyway, thanks for your detailed explanations.
>>> >>
>>> >> What's the alternative for such affected users?
>>> >> Use ndis-wrapper?
>>> >
>>> > I'm not sure.  I've never tried to get a 8361 work under Linux.
>>>
>>> Just found on [1] this same wrong patch in [2] :-).
>>> Dunno if [3] worked and from where they have stolen fw-files.
>>>
>>> - Sedat -
>>>
>>> [1] https://dev.openwrt.org/ticket/7209
>>> [2] https://dev.openwrt.org/attachment/ticket/7209/mwl8k_fix_pci_id.patch
>>> [3] https://dev.openwrt.org/attachment/ticket/7209/mwl8k_8361p.patch
>>
>> I doubt that [3] is really all that's needed to make it work.  But if
>> there's someone for whom it works, I'd like them to run some tests on
>> mwl8k + [3] on 88w8361p.
>
> Just asked lautriv to do so (he will do against linux-3.3.3), lets' see.
> Also, I refreshed and adapted a bit the instructions (see attachment).
>
> - Sedat -

[ CC Jim Cromie ]

Now, with extracted firmware files renamed & copied to
/lib/firmware/mwl8k/ and applied patch (see attachment) against
Linux-3.4-rc4+ I am seeing with modinfo:

$ sudo modinfo mwl8k
filename:
/lib/modules/3.4.0-rc4-5-generic/kernel/drivers/net/wireless/mwl8k.ko
license:        GPL
author:         Lennert Buytenhek <buytenh@marvell.com>
version:        0.13
description:    Marvell TOPDOG(R) 802.11 Wireless Network Driver
firmware:       mwl8k/fmimage_8366_ap-2.fw
firmware:       mwl8k/fmimage_8366.fw
firmware:       mwl8k/helper_8366.fw
firmware:       mwl8k/fmimage_8687.fw
firmware:       mwl8k/helper_8687.fw
firmware:       mwl8k/fmimage_8363.fw
firmware:       mwl8k/helper_8363.fw
firmware:       mwl8k/fmimage_8361p.fw
firmware:       mwl8k/helper_8361p.fw
srcversion:     9E1479A05C8D67E6AE90746
alias:          pci:v000011ABd00002A43sv*sd*bc*sc*i*
alias:          pci:v000011ABd00002A40sv*sd*bc*sc*i*
alias:          pci:v000011ABd00002A30sv*sd*bc*sc*i*
alias:          pci:v000011ABd00002A2Bsv*sd*bc*sc*i*
alias:          pci:v000011ABd00002A24sv*sd*bc*sc*i*
alias:          pci:v000011ABd00002A0Csv*sd*bc*sc*i*
alias:          pci:v000011ABd00002A0Asv*sd*bc*sc*i*
alias:          pci:v000011ABd00002A02sv*sd*bc*sc*i* <--- 8361P:
0x2a02 PCI device-id
depends:        mac80211,cfg80211
vermagic:       3.4.0-rc4-5-generic SMP mod_unload modversions
parm:           ap_mode_default:Set to 1 to make ap mode the default
instead of sta mode (bool)

$ ls -l /lib/firmware/mwl8k/
insgesamt 456
-rw-r--r-- 1 root root  75848 Apr 27 13:49 fmimage_8361p.fw <---
8361P: Firmware image
-rw-r--r-- 1 root root 101780 Mär 19 19:32 fmimage_8366_ap-1.fw
-rw-r--r-- 1 root root 101976 Mär 19 19:32 fmimage_8366_ap-2.fw
-rw-r--r-- 1 root root  96664 Mär 19 19:32 fmimage_8366.fw
-rw-r--r-- 1 root root  73252 Feb 23 20:07 fmimage_8687.fw
-rw-r--r-- 1 root root   2476 Apr 27 13:49 helper_8361p.fw <--- 8361P:
Helper image
-rw-r--r-- 1 root root   2476 Mär 19 19:32 helper_8366.fw
-rw-r--r-- 1 root root   2476 Feb 23 20:07 helper_8687.fw

As said... ***compile-tested*** only here.

I had a short query with lautriv on #linux-wireless this afternoon:
* mwl8k kernel-module was autoloaded
* wlan0 interface got fired up
* ESSID was accepted
* logs reported 802.11bgn support is active
* (he tested on Linux-3.3.3)

With WPA/WPA2 lautriv had some problems as his installation was
missing wpasupplicant.
He setup a classic /etc/network/interfaces.
After resetting his router mwl8k worked nicely.

Unfortunately, he was on the run and promised me to send logs and do
more testing this evening.

So, Lennert if you want more testing - What? How? etc.

Thanks in advance.

- Sedat -

[-- Attachment #2: 0001-mwl8k-Add-support-for-MWL8361P.patch --]
[-- Type: application/octet-stream, Size: 2171 bytes --]

From 1a586a1f21f820de0ea06c5382a69191d93d80fe Mon Sep 17 00:00:00 2001
From: Sedat Dilek <sedat.dilek@gmail.com>
Date: Fri, 27 Apr 2012 13:46:02 +0200
Subject: [PATCH] mwl8k: Add support for MWL8361P

Follow discussion in [1] for more details about adding driver
support and howto extract firmware files.

$ sudo modinfo mwl8k | egrep -i '8361p|2a02'
firmware:       mwl8k/fmimage_8361p.fw
firmware:       mwl8k/helper_8361p.fw
alias:          pci:v000011ABd00002A02sv*sd*bc*sc*i*

Compile-tested against Linux-3.4-rc4+.

[1] http://marc.info/?t=133551792600004&r=1&w=2

Signed-off-by: Sedat Dilek <sedat.dilek@gmail.com>
---
 drivers/net/wireless/mwl8k.c |    9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/drivers/net/wireless/mwl8k.c b/drivers/net/wireless/mwl8k.c
index b48674b..3ea9b8e 100644
--- a/drivers/net/wireless/mwl8k.c
+++ b/drivers/net/wireless/mwl8k.c
@@ -5225,6 +5225,7 @@ static void mwl8k_finalize_join_worker(struct work_struct *work)
 }
 
 enum {
+	MWL8361P = 0,
 	MWL8363 = 0,
 	MWL8687,
 	MWL8366,
@@ -5235,6 +5236,11 @@ enum {
 #define MWL8K_8366_AP_FW(api) _MWL8K_8366_AP_FW(api)
 
 static struct mwl8k_device_info mwl8k_info_tbl[] __devinitdata = {
+	[MWL8361P] = {
+		.part_name      = "88w8361p",
+		.helper_image   = "mwl8k/helper_8361p.fw",
+		.fw_image_sta	= "mwl8k/fmimage_8361p.fw",
+	},
 	[MWL8363] = {
 		.part_name	= "88w8363",
 		.helper_image	= "mwl8k/helper_8363.fw",
@@ -5255,6 +5261,8 @@ static struct mwl8k_device_info mwl8k_info_tbl[] __devinitdata = {
 	},
 };
 
+MODULE_FIRMWARE("mwl8k/helper_8361p.fw");
+MODULE_FIRMWARE("mwl8k/fmimage_8361p.fw");
 MODULE_FIRMWARE("mwl8k/helper_8363.fw");
 MODULE_FIRMWARE("mwl8k/fmimage_8363.fw");
 MODULE_FIRMWARE("mwl8k/helper_8687.fw");
@@ -5264,6 +5272,7 @@ MODULE_FIRMWARE("mwl8k/fmimage_8366.fw");
 MODULE_FIRMWARE(MWL8K_8366_AP_FW(MWL8K_8366_AP_FW_API));
 
 static DEFINE_PCI_DEVICE_TABLE(mwl8k_pci_id_table) = {
+	{ PCI_VDEVICE(MARVELL, 0x2a02), .driver_data = MWL8361P, },
 	{ PCI_VDEVICE(MARVELL, 0x2a0a), .driver_data = MWL8363, },
 	{ PCI_VDEVICE(MARVELL, 0x2a0c), .driver_data = MWL8363, },
 	{ PCI_VDEVICE(MARVELL, 0x2a24), .driver_data = MWL8363, },
-- 
1.7.9.5


^ permalink raw reply related	[flat|nested] 28+ messages in thread

* Re: [PATCH] mwl8k: Add 0x2a02 PCI device-id (Marvell 88W8361)
  2012-04-27 13:29                     ` Sedat Dilek
@ 2012-04-27 18:58                       ` Lennert Buytenhek
  2012-04-27 21:53                         ` Sedat Dilek
  0 siblings, 1 reply; 28+ messages in thread
From: Lennert Buytenhek @ 2012-04-27 18:58 UTC (permalink / raw)
  To: sedat.dilek
  Cc: John W. Linville, linux-wireless, netdev, linux-kernel, lautriv,
	Jim Cromie

On Fri, Apr 27, 2012 at 03:29:26PM +0200, Sedat Dilek wrote:

> >>> >> >> >> Are you planning to or even working on support (for) 8361 devices?
> >>> >> >> >
> >>> >> >> > I don't have any such plans, and I don't know of anyone who does.
> >>> >> >>
> >>> >> >> Does 8361 require firmware support?
> >>> >> >
> >>> >> > What do you mean by that?
> >>> >>
> >>> >> IIRC ath5k for example needs no external firmware file.
> >>> >
> >>> > The 8361 requires firmware to be loaded into it before it'll do
> >>> > anything useful.
> >>> >
> >>> >
> >>> >> >> Does a firmware file exist (name?)?
> >>> >> >
> >>> >> > There's firmware for the 8361 out there, however, that version of
> >>> >> > the firmware implements a firmware API that is different from the
> >>> >> > one that mwl8k currently implements.
> >>> >> >
> >>> >> > You could add 8361 support to mwl8k, but then you'd have to go over
> >>> >> > all the firmware command invocations in mwl8k and make sure that they
> >>> >> > will work on the 8361 firmware that you're trying to support as well.
> >>> >>
> >>> >> Without having a 8361 this will be even harder to walk through.
> >>> >>
> >>> >> Anyway, thanks for your detailed explanations.
> >>> >>
> >>> >> What's the alternative for such affected users?
> >>> >> Use ndis-wrapper?
> >>> >
> >>> > I'm not sure.  I've never tried to get a 8361 work under Linux.
> >>>
> >>> Just found on [1] this same wrong patch in [2] :-).
> >>> Dunno if [3] worked and from where they have stolen fw-files.
> >>>
> >>> - Sedat -
> >>>
> >>> [1] https://dev.openwrt.org/ticket/7209
> >>> [2] https://dev.openwrt.org/attachment/ticket/7209/mwl8k_fix_pci_id.patch
> >>> [3] https://dev.openwrt.org/attachment/ticket/7209/mwl8k_8361p.patch
> >>
> >> I doubt that [3] is really all that's needed to make it work.  But if
> >> there's someone for whom it works, I'd like them to run some tests on
> >> mwl8k + [3] on 88w8361p.
> >
> > Just asked lautriv to do so (he will do against linux-3.3.3), lets' see.
> > Also, I refreshed and adapted a bit the instructions (see attachment).
> >
> > - Sedat -
> 
> [ CC Jim Cromie ]
> 
> Now, with extracted firmware files renamed & copied to
> /lib/firmware/mwl8k/ and applied patch (see attachment) against
> Linux-3.4-rc4+ I am seeing with modinfo:
> 
> $ sudo modinfo mwl8k
> filename:
> /lib/modules/3.4.0-rc4-5-generic/kernel/drivers/net/wireless/mwl8k.ko
> license:        GPL
> author:         Lennert Buytenhek <buytenh@marvell.com>
> version:        0.13
> description:    Marvell TOPDOG(R) 802.11 Wireless Network Driver
> firmware:       mwl8k/fmimage_8366_ap-2.fw
> firmware:       mwl8k/fmimage_8366.fw
> firmware:       mwl8k/helper_8366.fw
> firmware:       mwl8k/fmimage_8687.fw
> firmware:       mwl8k/helper_8687.fw
> firmware:       mwl8k/fmimage_8363.fw
> firmware:       mwl8k/helper_8363.fw
> firmware:       mwl8k/fmimage_8361p.fw
> firmware:       mwl8k/helper_8361p.fw
> srcversion:     9E1479A05C8D67E6AE90746
> alias:          pci:v000011ABd00002A43sv*sd*bc*sc*i*
> alias:          pci:v000011ABd00002A40sv*sd*bc*sc*i*
> alias:          pci:v000011ABd00002A30sv*sd*bc*sc*i*
> alias:          pci:v000011ABd00002A2Bsv*sd*bc*sc*i*
> alias:          pci:v000011ABd00002A24sv*sd*bc*sc*i*
> alias:          pci:v000011ABd00002A0Csv*sd*bc*sc*i*
> alias:          pci:v000011ABd00002A0Asv*sd*bc*sc*i*
> alias:          pci:v000011ABd00002A02sv*sd*bc*sc*i* <--- 8361P:
> 0x2a02 PCI device-id
> depends:        mac80211,cfg80211
> vermagic:       3.4.0-rc4-5-generic SMP mod_unload modversions
> parm:           ap_mode_default:Set to 1 to make ap mode the default
> instead of sta mode (bool)
> 
> $ ls -l /lib/firmware/mwl8k/
> insgesamt 456
> -rw-r--r-- 1 root root  75848 Apr 27 13:49 fmimage_8361p.fw <---
> 8361P: Firmware image
> -rw-r--r-- 1 root root 101780 Mär 19 19:32 fmimage_8366_ap-1.fw
> -rw-r--r-- 1 root root 101976 Mär 19 19:32 fmimage_8366_ap-2.fw
> -rw-r--r-- 1 root root  96664 Mär 19 19:32 fmimage_8366.fw
> -rw-r--r-- 1 root root  73252 Feb 23 20:07 fmimage_8687.fw
> -rw-r--r-- 1 root root   2476 Apr 27 13:49 helper_8361p.fw <--- 8361P:
> Helper image
> -rw-r--r-- 1 root root   2476 Mär 19 19:32 helper_8366.fw
> -rw-r--r-- 1 root root   2476 Feb 23 20:07 helper_8687.fw
> 
> As said... ***compile-tested*** only here.

Which doesn't say much at all, but..


> I had a short query with lautriv on #linux-wireless this afternoon:
> * mwl8k kernel-module was autoloaded
> * wlan0 interface got fired up
> * ESSID was accepted
> * logs reported 802.11bgn support is active
> * (he tested on Linux-3.3.3)
> 
> With WPA/WPA2 lautriv had some problems as his installation was
> missing wpasupplicant.
> He setup a classic /etc/network/interfaces.
> After resetting his router mwl8k worked nicely.
> 
> Unfortunately, he was on the run and promised me to send logs and do
> more testing this evening.

..but this is pretty interesting.  I thought that the only available
8361p firmware used an incompatible firmware API, and I didn't know
of the existence of an apparently compatible firmware.


> So, Lennert if you want more testing - What? How? etc.

For one, the output of 'iw phy', please.

Also, does monitor mode work?  Do you get plausible channel/rxpower
values in tcpdump in monitor mode?

Are there any messages in the syslog about failing commands?


thanks,
Lennert

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH] mwl8k: Add 0x2a02 PCI device-id (Marvell 88W8361)
  2012-04-27 18:58                       ` Lennert Buytenhek
@ 2012-04-27 21:53                         ` Sedat Dilek
  2012-04-28 22:25                           ` Sedat Dilek
  2012-05-01 12:47                           ` Lennert Buytenhek
  0 siblings, 2 replies; 28+ messages in thread
From: Sedat Dilek @ 2012-04-27 21:53 UTC (permalink / raw)
  To: Lennert Buytenhek
  Cc: John W. Linville, linux-wireless, netdev, linux-kernel, lautriv,
	Jim Cromie

[-- Attachment #1: Type: text/plain, Size: 6523 bytes --]

On Fri, Apr 27, 2012 at 8:58 PM, Lennert Buytenhek
<buytenh@wantstofly.org> wrote:
> On Fri, Apr 27, 2012 at 03:29:26PM +0200, Sedat Dilek wrote:
>
>> >>> >> >> >> Are you planning to or even working on support (for) 8361 devices?
>> >>> >> >> >
>> >>> >> >> > I don't have any such plans, and I don't know of anyone who does.
>> >>> >> >>
>> >>> >> >> Does 8361 require firmware support?
>> >>> >> >
>> >>> >> > What do you mean by that?
>> >>> >>
>> >>> >> IIRC ath5k for example needs no external firmware file.
>> >>> >
>> >>> > The 8361 requires firmware to be loaded into it before it'll do
>> >>> > anything useful.
>> >>> >
>> >>> >
>> >>> >> >> Does a firmware file exist (name?)?
>> >>> >> >
>> >>> >> > There's firmware for the 8361 out there, however, that version of
>> >>> >> > the firmware implements a firmware API that is different from the
>> >>> >> > one that mwl8k currently implements.
>> >>> >> >
>> >>> >> > You could add 8361 support to mwl8k, but then you'd have to go over
>> >>> >> > all the firmware command invocations in mwl8k and make sure that they
>> >>> >> > will work on the 8361 firmware that you're trying to support as well.
>> >>> >>
>> >>> >> Without having a 8361 this will be even harder to walk through.
>> >>> >>
>> >>> >> Anyway, thanks for your detailed explanations.
>> >>> >>
>> >>> >> What's the alternative for such affected users?
>> >>> >> Use ndis-wrapper?
>> >>> >
>> >>> > I'm not sure.  I've never tried to get a 8361 work under Linux.
>> >>>
>> >>> Just found on [1] this same wrong patch in [2] :-).
>> >>> Dunno if [3] worked and from where they have stolen fw-files.
>> >>>
>> >>> - Sedat -
>> >>>
>> >>> [1] https://dev.openwrt.org/ticket/7209
>> >>> [2] https://dev.openwrt.org/attachment/ticket/7209/mwl8k_fix_pci_id.patch
>> >>> [3] https://dev.openwrt.org/attachment/ticket/7209/mwl8k_8361p.patch
>> >>
>> >> I doubt that [3] is really all that's needed to make it work.  But if
>> >> there's someone for whom it works, I'd like them to run some tests on
>> >> mwl8k + [3] on 88w8361p.
>> >
>> > Just asked lautriv to do so (he will do against linux-3.3.3), lets' see.
>> > Also, I refreshed and adapted a bit the instructions (see attachment).
>> >
>> > - Sedat -
>>
>> [ CC Jim Cromie ]
>>
>> Now, with extracted firmware files renamed & copied to
>> /lib/firmware/mwl8k/ and applied patch (see attachment) against
>> Linux-3.4-rc4+ I am seeing with modinfo:
>>
>> $ sudo modinfo mwl8k
>> filename:
>> /lib/modules/3.4.0-rc4-5-generic/kernel/drivers/net/wireless/mwl8k.ko
>> license:        GPL
>> author:         Lennert Buytenhek <buytenh@marvell.com>
>> version:        0.13
>> description:    Marvell TOPDOG(R) 802.11 Wireless Network Driver
>> firmware:       mwl8k/fmimage_8366_ap-2.fw
>> firmware:       mwl8k/fmimage_8366.fw
>> firmware:       mwl8k/helper_8366.fw
>> firmware:       mwl8k/fmimage_8687.fw
>> firmware:       mwl8k/helper_8687.fw
>> firmware:       mwl8k/fmimage_8363.fw
>> firmware:       mwl8k/helper_8363.fw
>> firmware:       mwl8k/fmimage_8361p.fw
>> firmware:       mwl8k/helper_8361p.fw
>> srcversion:     9E1479A05C8D67E6AE90746
>> alias:          pci:v000011ABd00002A43sv*sd*bc*sc*i*
>> alias:          pci:v000011ABd00002A40sv*sd*bc*sc*i*
>> alias:          pci:v000011ABd00002A30sv*sd*bc*sc*i*
>> alias:          pci:v000011ABd00002A2Bsv*sd*bc*sc*i*
>> alias:          pci:v000011ABd00002A24sv*sd*bc*sc*i*
>> alias:          pci:v000011ABd00002A0Csv*sd*bc*sc*i*
>> alias:          pci:v000011ABd00002A0Asv*sd*bc*sc*i*
>> alias:          pci:v000011ABd00002A02sv*sd*bc*sc*i* <--- 8361P:
>> 0x2a02 PCI device-id
>> depends:        mac80211,cfg80211
>> vermagic:       3.4.0-rc4-5-generic SMP mod_unload modversions
>> parm:           ap_mode_default:Set to 1 to make ap mode the default
>> instead of sta mode (bool)
>>
>> $ ls -l /lib/firmware/mwl8k/
>> insgesamt 456
>> -rw-r--r-- 1 root root  75848 Apr 27 13:49 fmimage_8361p.fw <---
>> 8361P: Firmware image
>> -rw-r--r-- 1 root root 101780 Mär 19 19:32 fmimage_8366_ap-1.fw
>> -rw-r--r-- 1 root root 101976 Mär 19 19:32 fmimage_8366_ap-2.fw
>> -rw-r--r-- 1 root root  96664 Mär 19 19:32 fmimage_8366.fw
>> -rw-r--r-- 1 root root  73252 Feb 23 20:07 fmimage_8687.fw
>> -rw-r--r-- 1 root root   2476 Apr 27 13:49 helper_8361p.fw <--- 8361P:
>> Helper image
>> -rw-r--r-- 1 root root   2476 Mär 19 19:32 helper_8366.fw
>> -rw-r--r-- 1 root root   2476 Feb 23 20:07 helper_8687.fw
>>
>> As said... ***compile-tested*** only here.
>
> Which doesn't say much at all, but..
>

As already pointed out, no Marwell WLAN hardware here. Marvell comics
of course :-).

>
>> I had a short query with lautriv on #linux-wireless this afternoon:
>> * mwl8k kernel-module was autoloaded
>> * wlan0 interface got fired up
>> * ESSID was accepted
>> * logs reported 802.11bgn support is active
>> * (he tested on Linux-3.3.3)
>>
>> With WPA/WPA2 lautriv had some problems as his installation was
>> missing wpasupplicant.
>> He setup a classic /etc/network/interfaces.
>> After resetting his router mwl8k worked nicely.
>>
>> Unfortunately, he was on the run and promised me to send logs and do
>> more testing this evening.
>
> ..but this is pretty interesting.  I thought that the only available
> 8361p firmware used an incompatible firmware API, and I didn't know
> of the existence of an apparently compatible firmware.
>
>
>> So, Lennert if you want more testing - What? How? etc.
>
> For one, the output of 'iw phy', please.
>
> Also, does monitor mode work?  Do you get plausible channel/rxpower
> values in tcpdump in monitor mode?
>
> Are there any messages in the syslog about failing commands?
>
>
> thanks,
> Lennert

On 1st sight, logs look fine:

[21:52:52] <lautriv> [    6.050967] ieee80211 phy0: 88w8361p v4,
00173f3bdde3, STA firmware 2.1.4.25

But WLAN connection is not that fast and stable as lautriv reports
(several abnormalities were observed).

I requested a tarball which includes:
* dmesg (Linux-3.3.3)
* e_n_a (/etc/network/interfaces)
* ifconfig output
* iwconfig output
* iw_phy output
* ps_axu (WPA) output

lautriv will be so kind to be around on #linux-wireless/Freenode the
next days (UTC+2: German/Swiss local-time).
Just ping him.

Hope you have fun, together!

- Sedat -

[-- Attachment #2: 8361p.tar.xz --]
[-- Type: application/octet-stream, Size: 10076 bytes --]

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH] mwl8k: Add 0x2a02 PCI device-id (Marvell 88W8361)
  2012-04-27 21:53                         ` Sedat Dilek
@ 2012-04-28 22:25                           ` Sedat Dilek
  2012-05-01 12:51                             ` Lennert Buytenhek
  2012-05-01 12:47                           ` Lennert Buytenhek
  1 sibling, 1 reply; 28+ messages in thread
From: Sedat Dilek @ 2012-04-28 22:25 UTC (permalink / raw)
  To: Lennert Buytenhek
  Cc: John W. Linville, linux-wireless, netdev, linux-kernel, lautriv,
	Jim Cromie

[-- Attachment #1: Type: text/plain, Size: 6908 bytes --]

On Fri, Apr 27, 2012 at 11:53 PM, Sedat Dilek
<sedat.dilek@googlemail.com> wrote:
> On Fri, Apr 27, 2012 at 8:58 PM, Lennert Buytenhek
> <buytenh@wantstofly.org> wrote:
>> On Fri, Apr 27, 2012 at 03:29:26PM +0200, Sedat Dilek wrote:
>>
>>> >>> >> >> >> Are you planning to or even working on support (for) 8361 devices?
>>> >>> >> >> >
>>> >>> >> >> > I don't have any such plans, and I don't know of anyone who does.
>>> >>> >> >>
>>> >>> >> >> Does 8361 require firmware support?
>>> >>> >> >
>>> >>> >> > What do you mean by that?
>>> >>> >>
>>> >>> >> IIRC ath5k for example needs no external firmware file.
>>> >>> >
>>> >>> > The 8361 requires firmware to be loaded into it before it'll do
>>> >>> > anything useful.
>>> >>> >
>>> >>> >
>>> >>> >> >> Does a firmware file exist (name?)?
>>> >>> >> >
>>> >>> >> > There's firmware for the 8361 out there, however, that version of
>>> >>> >> > the firmware implements a firmware API that is different from the
>>> >>> >> > one that mwl8k currently implements.
>>> >>> >> >
>>> >>> >> > You could add 8361 support to mwl8k, but then you'd have to go over
>>> >>> >> > all the firmware command invocations in mwl8k and make sure that they
>>> >>> >> > will work on the 8361 firmware that you're trying to support as well.
>>> >>> >>
>>> >>> >> Without having a 8361 this will be even harder to walk through.
>>> >>> >>
>>> >>> >> Anyway, thanks for your detailed explanations.
>>> >>> >>
>>> >>> >> What's the alternative for such affected users?
>>> >>> >> Use ndis-wrapper?
>>> >>> >
>>> >>> > I'm not sure.  I've never tried to get a 8361 work under Linux.
>>> >>>
>>> >>> Just found on [1] this same wrong patch in [2] :-).
>>> >>> Dunno if [3] worked and from where they have stolen fw-files.
>>> >>>
>>> >>> - Sedat -
>>> >>>
>>> >>> [1] https://dev.openwrt.org/ticket/7209
>>> >>> [2] https://dev.openwrt.org/attachment/ticket/7209/mwl8k_fix_pci_id.patch
>>> >>> [3] https://dev.openwrt.org/attachment/ticket/7209/mwl8k_8361p.patch
>>> >>
>>> >> I doubt that [3] is really all that's needed to make it work.  But if
>>> >> there's someone for whom it works, I'd like them to run some tests on
>>> >> mwl8k + [3] on 88w8361p.
>>> >
>>> > Just asked lautriv to do so (he will do against linux-3.3.3), lets' see.
>>> > Also, I refreshed and adapted a bit the instructions (see attachment).
>>> >
>>> > - Sedat -
>>>
>>> [ CC Jim Cromie ]
>>>
>>> Now, with extracted firmware files renamed & copied to
>>> /lib/firmware/mwl8k/ and applied patch (see attachment) against
>>> Linux-3.4-rc4+ I am seeing with modinfo:
>>>
>>> $ sudo modinfo mwl8k
>>> filename:
>>> /lib/modules/3.4.0-rc4-5-generic/kernel/drivers/net/wireless/mwl8k.ko
>>> license:        GPL
>>> author:         Lennert Buytenhek <buytenh@marvell.com>
>>> version:        0.13
>>> description:    Marvell TOPDOG(R) 802.11 Wireless Network Driver
>>> firmware:       mwl8k/fmimage_8366_ap-2.fw
>>> firmware:       mwl8k/fmimage_8366.fw
>>> firmware:       mwl8k/helper_8366.fw
>>> firmware:       mwl8k/fmimage_8687.fw
>>> firmware:       mwl8k/helper_8687.fw
>>> firmware:       mwl8k/fmimage_8363.fw
>>> firmware:       mwl8k/helper_8363.fw
>>> firmware:       mwl8k/fmimage_8361p.fw
>>> firmware:       mwl8k/helper_8361p.fw
>>> srcversion:     9E1479A05C8D67E6AE90746
>>> alias:          pci:v000011ABd00002A43sv*sd*bc*sc*i*
>>> alias:          pci:v000011ABd00002A40sv*sd*bc*sc*i*
>>> alias:          pci:v000011ABd00002A30sv*sd*bc*sc*i*
>>> alias:          pci:v000011ABd00002A2Bsv*sd*bc*sc*i*
>>> alias:          pci:v000011ABd00002A24sv*sd*bc*sc*i*
>>> alias:          pci:v000011ABd00002A0Csv*sd*bc*sc*i*
>>> alias:          pci:v000011ABd00002A0Asv*sd*bc*sc*i*
>>> alias:          pci:v000011ABd00002A02sv*sd*bc*sc*i* <--- 8361P:
>>> 0x2a02 PCI device-id
>>> depends:        mac80211,cfg80211
>>> vermagic:       3.4.0-rc4-5-generic SMP mod_unload modversions
>>> parm:           ap_mode_default:Set to 1 to make ap mode the default
>>> instead of sta mode (bool)
>>>
>>> $ ls -l /lib/firmware/mwl8k/
>>> insgesamt 456
>>> -rw-r--r-- 1 root root  75848 Apr 27 13:49 fmimage_8361p.fw <---
>>> 8361P: Firmware image
>>> -rw-r--r-- 1 root root 101780 Mär 19 19:32 fmimage_8366_ap-1.fw
>>> -rw-r--r-- 1 root root 101976 Mär 19 19:32 fmimage_8366_ap-2.fw
>>> -rw-r--r-- 1 root root  96664 Mär 19 19:32 fmimage_8366.fw
>>> -rw-r--r-- 1 root root  73252 Feb 23 20:07 fmimage_8687.fw
>>> -rw-r--r-- 1 root root   2476 Apr 27 13:49 helper_8361p.fw <--- 8361P:
>>> Helper image
>>> -rw-r--r-- 1 root root   2476 Mär 19 19:32 helper_8366.fw
>>> -rw-r--r-- 1 root root   2476 Feb 23 20:07 helper_8687.fw
>>>
>>> As said... ***compile-tested*** only here.
>>
>> Which doesn't say much at all, but..
>>
>
> As already pointed out, no Marwell WLAN hardware here. Marvell comics
> of course :-).
>
>>
>>> I had a short query with lautriv on #linux-wireless this afternoon:
>>> * mwl8k kernel-module was autoloaded
>>> * wlan0 interface got fired up
>>> * ESSID was accepted
>>> * logs reported 802.11bgn support is active
>>> * (he tested on Linux-3.3.3)
>>>
>>> With WPA/WPA2 lautriv had some problems as his installation was
>>> missing wpasupplicant.
>>> He setup a classic /etc/network/interfaces.
>>> After resetting his router mwl8k worked nicely.
>>>
>>> Unfortunately, he was on the run and promised me to send logs and do
>>> more testing this evening.
>>
>> ..but this is pretty interesting.  I thought that the only available
>> 8361p firmware used an incompatible firmware API, and I didn't know
>> of the existence of an apparently compatible firmware.
>>
>>
>>> So, Lennert if you want more testing - What? How? etc.
>>
>> For one, the output of 'iw phy', please.
>>
>> Also, does monitor mode work?  Do you get plausible channel/rxpower
>> values in tcpdump in monitor mode?
>>
>> Are there any messages in the syslog about failing commands?
>>
>>
>> thanks,
>> Lennert
>
> On 1st sight, logs look fine:
>
> [21:52:52] <lautriv> [    6.050967] ieee80211 phy0: 88w8361p v4,
> 00173f3bdde3, STA firmware 2.1.4.25
>
> But WLAN connection is not that fast and stable as lautriv reports
> (several abnormalities were observed).
>
> I requested a tarball which includes:
> * dmesg (Linux-3.3.3)
> * e_n_a (/etc/network/interfaces)
> * ifconfig output
> * iwconfig output
> * iw_phy output
> * ps_axu (WPA) output
>
> lautriv will be so kind to be around on #linux-wireless/Freenode the
> next days (UTC+2: German/Swiss local-time).
> Just ping him.
>
> Hope you have fun, together!
>
> - Sedat -

A new tarball from lautriv with same outputs as before, but now tested
with Linux-3.4-rc4.

- Sedat -

[-- Attachment #2: 8361p_3.4.0-rc4.tar.xz --]
[-- Type: application/octet-stream, Size: 9944 bytes --]

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH] mwl8k: Add 0x2a02 PCI device-id (Marvell 88W8361)
  2012-04-27 21:53                         ` Sedat Dilek
  2012-04-28 22:25                           ` Sedat Dilek
@ 2012-05-01 12:47                           ` Lennert Buytenhek
  1 sibling, 0 replies; 28+ messages in thread
From: Lennert Buytenhek @ 2012-05-01 12:47 UTC (permalink / raw)
  To: sedat.dilek
  Cc: John W. Linville, linux-wireless, netdev, linux-kernel, lautriv,
	Jim Cromie

On Fri, Apr 27, 2012 at 11:53:28PM +0200, Sedat Dilek wrote:

> >> So, Lennert if you want more testing - What? How? etc.
> >
> > For one, the output of 'iw phy', please.
> >
> > Also, does monitor mode work?  Do you get plausible channel/rxpower
> > values in tcpdump in monitor mode?
> >
> > Are there any messages in the syslog about failing commands?
> 
> On 1st sight, logs look fine:
> 
> [21:52:52] <lautriv> [    6.050967] ieee80211 phy0: 88w8361p v4,
> 00173f3bdde3, STA firmware 2.1.4.25
> 
> But WLAN connection is not that fast and stable as lautriv reports
> (several abnormalities were observed).

iwconfig saying "Bit Rate=1 Mb/s" can be safely ignored.  If there is
a bitrate indication on transmitted packets in tcpdump, then that's
bogus too, as rate control is done in hardware.  (I.e. if you want to
verify the rate at which a packet is transmitted, you'll have to sniff
from another machine.)

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH] mwl8k: Add 0x2a02 PCI device-id (Marvell 88W8361)
  2012-04-28 22:25                           ` Sedat Dilek
@ 2012-05-01 12:51                             ` Lennert Buytenhek
  2012-05-01 13:54                               ` Sedat Dilek
  2012-05-07 16:09                               ` Dan Williams
  0 siblings, 2 replies; 28+ messages in thread
From: Lennert Buytenhek @ 2012-05-01 12:51 UTC (permalink / raw)
  To: sedat.dilek
  Cc: John W. Linville, linux-wireless, netdev, linux-kernel, lautriv,
	Jim Cromie

On Sun, Apr 29, 2012 at 12:25:21AM +0200, Sedat Dilek wrote:

> > On 1st sight, logs look fine:
> >
> > [21:52:52] <lautriv> [    6.050967] ieee80211 phy0: 88w8361p v4,
> > 00173f3bdde3, STA firmware 2.1.4.25
> >
> > But WLAN connection is not that fast and stable as lautriv reports
> > (several abnormalities were observed).
> >
> > I requested a tarball which includes:
> > * dmesg (Linux-3.3.3)
> > * e_n_a (/etc/network/interfaces)
> > * ifconfig output
> > * iwconfig output
> > * iw_phy output
> > * ps_axu (WPA) output
> >
> > lautriv will be so kind to be around on #linux-wireless/Freenode the
> > next days (UTC+2: German/Swiss local-time).
> > Just ping him.
> >
> > Hope you have fun, together!
> >
> > - Sedat -
> 
> A new tarball from lautriv with same outputs as before, but now tested
> with Linux-3.4-rc4.

The output looks good enough for me to ACK adding the PCI ID.

Can the firmware being used here be submitted to the linux-firmware
git tree?

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH] mwl8k: Add 0x2a02 PCI device-id (Marvell 88W8361)
  2012-05-01 12:51                             ` Lennert Buytenhek
@ 2012-05-01 13:54                               ` Sedat Dilek
  2012-05-01 15:49                                 ` Lennert Buytenhek
                                                   ` (3 more replies)
  2012-05-07 16:09                               ` Dan Williams
  1 sibling, 4 replies; 28+ messages in thread
From: Sedat Dilek @ 2012-05-01 13:54 UTC (permalink / raw)
  To: Lennert Buytenhek
  Cc: John W. Linville, linux-wireless, netdev, linux-kernel, lautriv,
	Jim Cromie, Ben Hutchings, Hauke Mehrtens

[-- Attachment #1: Type: text/plain, Size: 2490 bytes --]

On Tue, May 1, 2012 at 2:51 PM, Lennert Buytenhek
<buytenh@wantstofly.org> wrote:
> On Sun, Apr 29, 2012 at 12:25:21AM +0200, Sedat Dilek wrote:
>
>> > On 1st sight, logs look fine:
>> >
>> > [21:52:52] <lautriv> [    6.050967] ieee80211 phy0: 88w8361p v4,
>> > 00173f3bdde3, STA firmware 2.1.4.25
>> >
>> > But WLAN connection is not that fast and stable as lautriv reports
>> > (several abnormalities were observed).
>> >
>> > I requested a tarball which includes:
>> > * dmesg (Linux-3.3.3)
>> > * e_n_a (/etc/network/interfaces)
>> > * ifconfig output
>> > * iwconfig output
>> > * iw_phy output
>> > * ps_axu (WPA) output
>> >
>> > lautriv will be so kind to be around on #linux-wireless/Freenode the
>> > next days (UTC+2: German/Swiss local-time).
>> > Just ping him.
>> >
>> > Hope you have fun, together!
>> >
>> > - Sedat -
>>
>> A new tarball from lautriv with same outputs as before, but now tested
>> with Linux-3.4-rc4.

[ CC hauke (OpenWrt) and Ben Hutchings (linux-firmware maintainer) ]

> The output looks good enough for me to ACK adding the PCI ID.
>
> Can the firmware being used here be submitted to the linux-firmware
> git tree?

I can't say much about the firmware [1] inclusion or the procedure of
it into linux-firmware [2].
Maybe, Ben can explain the procedure and what has to be considered
before inclusion in linux-firmware.
The original firmware and helper images were extracted from a Netgear
Windows driver [1].

>From what I read in the OpenWrt forum posting [3]: You wanted to care
for inclusion:

"Firmware isn't included in the kernel tree anymore, there's the
linux-firmware git tree for that these days. I will contact some
people at Marvell to ask whether 8361P firmware can be included
there."

Some more concerns...
Dunno, if [4] is really correct and how to use one and same device-id
for 8363 ***and*** 8361P:
...
{ PCI_VDEVICE(MARVELL, 0x2a02), .driver_data = MWL8363, },
...
Curious about a statement from hauke...

Adding the device-id in case of 8361P is not enough (see attached patch)

I am looking forward to having support for 8361P soon.

- Sedat -

P.S.: I have re-added Readme and patch as there are new CCs.

[1] ftp://downloads.netgear.com/files/wn311t_4_2_setup.exe
[2] http://git.kernel.org/?p=linux/kernel/git/firmware/linux-firmware.git;a=summary
[3] https://forum.openwrt.org/viewtopic.php?pid=110039#p110039
[4] https://dev.openwrt.org/changeset/21167

[-- Attachment #2: mwl8k_extract_firmware_v2.txt --]
[-- Type: text/plain, Size: 1347 bytes --]

##### HOWTO: Extract the firmware for the mwl8k Linux WLAN driver #####

### HELP-1: https://forum.openwrt.org/viewtopic.php?pid=103243#p103243
### HELP-2: https://forum.openwrt.org/viewtopic.php?pid=110004#p110004
### THREAD: http://marc.info/?t=133551792600004&r=1&w=2

### Install some tools to inspect file containing firmware blob

sudo apt-get install cabextract unshield

### Working directory

mkdir mwl8k
cd mwl8k

### Download c-file (extract firmware) and Windows setup file (incl. firmware)

mkdir files
cd files
wget -O mrv8k_extract_fw.c 'http://marc.info/?l=linux-wireless&m=126540674419330&q=p3'
wget ftp://downloads.netgear.com/files/wn311t_4_2_setup.exe

### Extract firmware blob

mkdir .tmp ../firmware
cabextract -F Disk1/data*.* -d .tmp wn311t_4_2_setup.exe
unshield -g Driver -d .tmp x .tmp/Disk1/data1.cab
gcc -o mrv8k_extract_fw mrv8k_extract_fw.c
./mrv8k_extract_fw .tmp/Driver/netmw145.sys
mv *.fw ../firmware/
rm -r -f .tmp

### Check MD5SUM and rename firmware/helper image files for 8361P/8363

[ Known MD5SUMS for 8361P ]
48c79b085f7f5a590d3dbc15647e519f *fmimage_8XX0.fw
0fe11f415adbbd5e8ca03641705c4a6c *helper_8XX0.fw

cd ../firmware
md5sum -b *.fw
mv fmimage_8XX0.fw fmimage_8361p.fw
mv helper_8XX0.fw helper_8361p.fw
mv fmimage_8XX1.fw fmimage_8363.fw
mv helper_8XX1.fw helper_8363.fw


-dileks // 27-Apr-2012


[-- Attachment #3: 0001-mwl8k-Add-support-for-MWL8361P.patch --]
[-- Type: application/octet-stream, Size: 2171 bytes --]

From 1a586a1f21f820de0ea06c5382a69191d93d80fe Mon Sep 17 00:00:00 2001
From: Sedat Dilek <sedat.dilek@gmail.com>
Date: Fri, 27 Apr 2012 13:46:02 +0200
Subject: [PATCH] mwl8k: Add support for MWL8361P

Follow discussion in [1] for more details about adding driver
support and howto extract firmware files.

$ sudo modinfo mwl8k | egrep -i '8361p|2a02'
firmware:       mwl8k/fmimage_8361p.fw
firmware:       mwl8k/helper_8361p.fw
alias:          pci:v000011ABd00002A02sv*sd*bc*sc*i*

Compile-tested against Linux-3.4-rc4+.

[1] http://marc.info/?t=133551792600004&r=1&w=2

Signed-off-by: Sedat Dilek <sedat.dilek@gmail.com>
---
 drivers/net/wireless/mwl8k.c |    9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/drivers/net/wireless/mwl8k.c b/drivers/net/wireless/mwl8k.c
index b48674b..3ea9b8e 100644
--- a/drivers/net/wireless/mwl8k.c
+++ b/drivers/net/wireless/mwl8k.c
@@ -5225,6 +5225,7 @@ static void mwl8k_finalize_join_worker(struct work_struct *work)
 }
 
 enum {
+	MWL8361P = 0,
 	MWL8363 = 0,
 	MWL8687,
 	MWL8366,
@@ -5235,6 +5236,11 @@ enum {
 #define MWL8K_8366_AP_FW(api) _MWL8K_8366_AP_FW(api)
 
 static struct mwl8k_device_info mwl8k_info_tbl[] __devinitdata = {
+	[MWL8361P] = {
+		.part_name      = "88w8361p",
+		.helper_image   = "mwl8k/helper_8361p.fw",
+		.fw_image_sta	= "mwl8k/fmimage_8361p.fw",
+	},
 	[MWL8363] = {
 		.part_name	= "88w8363",
 		.helper_image	= "mwl8k/helper_8363.fw",
@@ -5255,6 +5261,8 @@ static struct mwl8k_device_info mwl8k_info_tbl[] __devinitdata = {
 	},
 };
 
+MODULE_FIRMWARE("mwl8k/helper_8361p.fw");
+MODULE_FIRMWARE("mwl8k/fmimage_8361p.fw");
 MODULE_FIRMWARE("mwl8k/helper_8363.fw");
 MODULE_FIRMWARE("mwl8k/fmimage_8363.fw");
 MODULE_FIRMWARE("mwl8k/helper_8687.fw");
@@ -5264,6 +5272,7 @@ MODULE_FIRMWARE("mwl8k/fmimage_8366.fw");
 MODULE_FIRMWARE(MWL8K_8366_AP_FW(MWL8K_8366_AP_FW_API));
 
 static DEFINE_PCI_DEVICE_TABLE(mwl8k_pci_id_table) = {
+	{ PCI_VDEVICE(MARVELL, 0x2a02), .driver_data = MWL8361P, },
 	{ PCI_VDEVICE(MARVELL, 0x2a0a), .driver_data = MWL8363, },
 	{ PCI_VDEVICE(MARVELL, 0x2a0c), .driver_data = MWL8363, },
 	{ PCI_VDEVICE(MARVELL, 0x2a24), .driver_data = MWL8363, },
-- 
1.7.9.5


^ permalink raw reply related	[flat|nested] 28+ messages in thread

* Re: [PATCH] mwl8k: Add 0x2a02 PCI device-id (Marvell 88W8361)
  2012-05-01 13:54                               ` Sedat Dilek
@ 2012-05-01 15:49                                 ` Lennert Buytenhek
  2012-05-02  1:12                                 ` Pat Erley
                                                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 28+ messages in thread
From: Lennert Buytenhek @ 2012-05-01 15:49 UTC (permalink / raw)
  To: sedat.dilek
  Cc: John W. Linville, linux-wireless, netdev, linux-kernel, lautriv,
	Jim Cromie, Ben Hutchings, Hauke Mehrtens

On Tue, May 01, 2012 at 03:54:49PM +0200, Sedat Dilek wrote:

> Some more concerns...
> Dunno, if [4] is really correct and how to use one and same device-id
> for 8363 ***and*** 8361P:
> ...
> { PCI_VDEVICE(MARVELL, 0x2a02), .driver_data = MWL8363, },

No, you'll have to add a MWL8361P to the enum, and add a
mwl8k_device_info table entry for that, and then add the PCI ID
table entry with the MWL8361P identifier.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH] mwl8k: Add 0x2a02 PCI device-id (Marvell 88W8361)
  2012-05-01 13:54                               ` Sedat Dilek
  2012-05-01 15:49                                 ` Lennert Buytenhek
@ 2012-05-02  1:12                                 ` Pat Erley
  2012-05-02  2:38                                   ` Lennert Buytenhek
  2012-05-02  7:59                                 ` Arend van Spriel
  2012-05-02 13:53                                 ` Ben Hutchings
  3 siblings, 1 reply; 28+ messages in thread
From: Pat Erley @ 2012-05-02  1:12 UTC (permalink / raw)
  To: sedat.dilek
  Cc: Sedat Dilek, Lennert Buytenhek, John W. Linville, linux-wireless,
	netdev, linux-kernel, lautriv, Jim Cromie, Ben Hutchings,
	Hauke Mehrtens

On 05/01/2012 09:54 AM, Sedat Dilek wrote:
> --- a/drivers/net/wireless/mwl8k.c
> +++ b/drivers/net/wireless/mwl8k.c
> @@ -5225,6 +5225,7 @@ static void mwl8k_finalize_join_worker(struct work_struct *work)
>   }
>
>   enum {
> +	MWL8361P = 0,
>   	MWL8363 = 0,
>   	MWL8687,
>   	MWL8366,

I'm not an expert, but isn't this giving both 8361P and 8363 the same values in the enum?

Is that intended?

Pat Erley

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH] mwl8k: Add 0x2a02 PCI device-id (Marvell 88W8361)
  2012-05-02  1:12                                 ` Pat Erley
@ 2012-05-02  2:38                                   ` Lennert Buytenhek
  2012-05-02  8:58                                     ` Sedat Dilek
  0 siblings, 1 reply; 28+ messages in thread
From: Lennert Buytenhek @ 2012-05-02  2:38 UTC (permalink / raw)
  To: Pat Erley
  Cc: sedat.dilek, Sedat Dilek, John W. Linville, linux-wireless,
	netdev, linux-kernel, lautriv, Jim Cromie, Ben Hutchings,
	Hauke Mehrtens

On Tue, May 01, 2012 at 09:12:25PM -0400, Pat Erley wrote:

> >--- a/drivers/net/wireless/mwl8k.c
> >+++ b/drivers/net/wireless/mwl8k.c
> >@@ -5225,6 +5225,7 @@ static void mwl8k_finalize_join_worker(struct work_struct *work)
> >  }
> >
> >  enum {
> >+	MWL8361P = 0,
> >  	MWL8363 = 0,
> >  	MWL8687,
> >  	MWL8366,
> 
> I'm not an expert, but isn't this giving both 8361P and 8363 the
> same values in the enum?

Yeah, this is broken.

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH] mwl8k: Add 0x2a02 PCI device-id (Marvell 88W8361)
  2012-05-01 13:54                               ` Sedat Dilek
  2012-05-01 15:49                                 ` Lennert Buytenhek
  2012-05-02  1:12                                 ` Pat Erley
@ 2012-05-02  7:59                                 ` Arend van Spriel
  2012-05-02 13:53                                 ` Ben Hutchings
  3 siblings, 0 replies; 28+ messages in thread
From: Arend van Spriel @ 2012-05-02  7:59 UTC (permalink / raw)
  To: sedat.dilek
  Cc: Sedat Dilek, Lennert Buytenhek, John W. Linville, linux-wireless,
	netdev, linux-kernel, lautriv, Jim Cromie, Ben Hutchings,
	Hauke Mehrtens, Xose Vazquez Perez

On 05/01/2012 03:54 PM, Sedat Dilek wrote:
> On Tue, May 1, 2012 at 2:51 PM, Lennert Buytenhek
> <buytenh@wantstofly.org>  wrote:
>> On Sun, Apr 29, 2012 at 12:25:21AM +0200, Sedat Dilek wrote:
>>
>>>> On 1st sight, logs look fine:
>>>>
>>>> [21:52:52]<lautriv>  [    6.050967] ieee80211 phy0: 88w8361p v4,
>>>> 00173f3bdde3, STA firmware 2.1.4.25
>>>>
>>>> But WLAN connection is not that fast and stable as lautriv reports
>>>> (several abnormalities were observed).
>>>>
>>>> I requested a tarball which includes:
>>>> * dmesg (Linux-3.3.3)
>>>> * e_n_a (/etc/network/interfaces)
>>>> * ifconfig output
>>>> * iwconfig output
>>>> * iw_phy output
>>>> * ps_axu (WPA) output
>>>>
>>>> lautriv will be so kind to be around on #linux-wireless/Freenode the
>>>> next days (UTC+2: German/Swiss local-time).
>>>> Just ping him.
>>>>
>>>> Hope you have fun, together!
>>>>
>>>> - Sedat -
>>>
>>> A new tarball from lautriv with same outputs as before, but now tested
>>> with Linux-3.4-rc4.
>
> [ CC hauke (OpenWrt) and Ben Hutchings (linux-firmware maintainer) ]
>
>> The output looks good enough for me to ACK adding the PCI ID.
>>
>> Can the firmware being used here be submitted to the linux-firmware
>> git tree?
>
> I can't say much about the firmware [1] inclusion or the procedure of
> it into linux-firmware [2].
> Maybe, Ben can explain the procedure and what has to be considered
> before inclusion in linux-firmware.
> The original firmware and helper images were extracted from a Netgear
> Windows driver [1].
>
>  From what I read in the OpenWrt forum posting [3]: You wanted to care
> for inclusion:
>
> "Firmware isn't included in the kernel tree anymore, there's the
> linux-firmware git tree for that these days. I will contact some
> people at Marvell to ask whether 8361P firmware can be included
> there."

Basically, all firmware in linux-firmware repository should be 
accompanied with license information. Also you are signing off the patch 
to add the firmware to the repository so you are bound to the 
Developer's Certificate of Origin 1.1 in [1]. Having the firmware 
extracted from a windows driver does not fall under that statement, 
unless Marvell is ok with its redistribution. Recently a patch was 
submitted for a README in the linux-firmware repository about the 
process. It must be a binary patch. Easiest way is to use 'git 
format-patch -B'.

Gr. AvS

[1] http://lxr.linux.no/linux+v3.3.4/Documentation/SubmittingPatches
[2] https://lkml.org/lkml/2012/4/21/177


^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH] mwl8k: Add 0x2a02 PCI device-id (Marvell 88W8361)
  2012-05-02  2:38                                   ` Lennert Buytenhek
@ 2012-05-02  8:58                                     ` Sedat Dilek
  0 siblings, 0 replies; 28+ messages in thread
From: Sedat Dilek @ 2012-05-02  8:58 UTC (permalink / raw)
  To: Lennert Buytenhek
  Cc: Pat Erley, John W. Linville, linux-wireless, netdev,
	linux-kernel, lautriv, Jim Cromie, Ben Hutchings, Hauke Mehrtens

On Wed, May 2, 2012 at 4:38 AM, Lennert Buytenhek
<buytenh@wantstofly.org> wrote:
> On Tue, May 01, 2012 at 09:12:25PM -0400, Pat Erley wrote:
>
>> >--- a/drivers/net/wireless/mwl8k.c
>> >+++ b/drivers/net/wireless/mwl8k.c
>> >@@ -5225,6 +5225,7 @@ static void mwl8k_finalize_join_worker(struct work_struct *work)
>> >  }
>> >
>> >  enum {
>> >+    MWL8361P = 0,
>> >     MWL8363 = 0,
>> >     MWL8687,
>> >     MWL8366,
>>
>> I'm not an expert, but isn't this giving both 8361P and 8363 the
>> same values in the enum?
>
> Yeah, this is broken.

Before this email, Helmut pointed me to the enum thingie in a private query.
As I was busy with OverlayFS the last days, I couldn't give that
information back.

So, this should be:
...
  enum {
     MWL8361P = 0,
     MWL8363,
     MWL8687,
     MWL8366,
...

Shall I cook up a new patch with a proper history and documented
origin (original patch is from OpenWrt, I refreshed it against
upstream)?
...add some Tested-by (Helmut, Jim)...
...send that to linux-wireless ML for a review?

- Sedat -

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH] mwl8k: Add 0x2a02 PCI device-id (Marvell 88W8361)
  2012-05-01 13:54                               ` Sedat Dilek
                                                   ` (2 preceding siblings ...)
  2012-05-02  7:59                                 ` Arend van Spriel
@ 2012-05-02 13:53                                 ` Ben Hutchings
  3 siblings, 0 replies; 28+ messages in thread
From: Ben Hutchings @ 2012-05-02 13:53 UTC (permalink / raw)
  To: sedat.dilek
  Cc: Lennert Buytenhek, John W. Linville, linux-wireless, netdev,
	linux-kernel, lautriv, Jim Cromie, Hauke Mehrtens

[-- Attachment #1: Type: text/plain, Size: 2331 bytes --]

On Tue, 2012-05-01 at 15:54 +0200, Sedat Dilek wrote:
> On Tue, May 1, 2012 at 2:51 PM, Lennert Buytenhek
> <buytenh@wantstofly.org> wrote:
> > On Sun, Apr 29, 2012 at 12:25:21AM +0200, Sedat Dilek wrote:
> >
> >> > On 1st sight, logs look fine:
> >> >
> >> > [21:52:52] <lautriv> [    6.050967] ieee80211 phy0: 88w8361p v4,
> >> > 00173f3bdde3, STA firmware 2.1.4.25
> >> >
> >> > But WLAN connection is not that fast and stable as lautriv reports
> >> > (several abnormalities were observed).
> >> >
> >> > I requested a tarball which includes:
> >> > * dmesg (Linux-3.3.3)
> >> > * e_n_a (/etc/network/interfaces)
> >> > * ifconfig output
> >> > * iwconfig output
> >> > * iw_phy output
> >> > * ps_axu (WPA) output
> >> >
> >> > lautriv will be so kind to be around on #linux-wireless/Freenode the
> >> > next days (UTC+2: German/Swiss local-time).
> >> > Just ping him.
> >> >
> >> > Hope you have fun, together!
> >> >
> >> > - Sedat -
> >>
> >> A new tarball from lautriv with same outputs as before, but now tested
> >> with Linux-3.4-rc4.
> 
> [ CC hauke (OpenWrt) and Ben Hutchings (linux-firmware maintainer) ]
> 
> > The output looks good enough for me to ACK adding the PCI ID.
> >
> > Can the firmware being used here be submitted to the linux-firmware
> > git tree?
> 
> I can't say much about the firmware [1] inclusion or the procedure of
> it into linux-firmware [2].
> Maybe, Ben can explain the procedure and what has to be considered
> before inclusion in linux-firmware.
> The original firmware and helper images were extracted from a Netgear
> Windows driver [1].
[...]

Even assuming that the original driver binary is freely redistributable,
it's not at all clear that these extracted blobs would be.

If there's some difficulty in getting a sensible licence for the
firmware, you can consider providing a tool to do this extraction, as
has been done for some other drivers whose vendors don't provide the
firmware blobs alone.  However, as yet, linux-firmware doesn't include
any such extraction tools and I would need to discuss such an addition
with David (and maybe other distribution maintainers).  Hopefully that
won't be necessary, though.

Ben.

-- 
Ben Hutchings
Design a system any fool can use, and only a fool will want to use it.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 828 bytes --]

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH] mwl8k: Add 0x2a02 PCI device-id (Marvell 88W8361)
  2012-05-01 12:51                             ` Lennert Buytenhek
  2012-05-01 13:54                               ` Sedat Dilek
@ 2012-05-07 16:09                               ` Dan Williams
  2012-05-07 16:42                                 ` Dan Williams
  1 sibling, 1 reply; 28+ messages in thread
From: Dan Williams @ 2012-05-07 16:09 UTC (permalink / raw)
  To: Lennert Buytenhek
  Cc: sedat.dilek, John W. Linville, linux-wireless, netdev,
	linux-kernel, lautriv, Jim Cromie

On Tue, 2012-05-01 at 14:51 +0200, Lennert Buytenhek wrote:
> On Sun, Apr 29, 2012 at 12:25:21AM +0200, Sedat Dilek wrote:
> 
> > > On 1st sight, logs look fine:
> > >
> > > [21:52:52] <lautriv> [    6.050967] ieee80211 phy0: 88w8361p v4,
> > > 00173f3bdde3, STA firmware 2.1.4.25
> > >
> > > But WLAN connection is not that fast and stable as lautriv reports
> > > (several abnormalities were observed).
> > >
> > > I requested a tarball which includes:
> > > * dmesg (Linux-3.3.3)
> > > * e_n_a (/etc/network/interfaces)
> > > * ifconfig output
> > > * iwconfig output
> > > * iw_phy output
> > > * ps_axu (WPA) output
> > >
> > > lautriv will be so kind to be around on #linux-wireless/Freenode the
> > > next days (UTC+2: German/Swiss local-time).
> > > Just ping him.
> > >
> > > Hope you have fun, together!
> > >
> > > - Sedat -
> > 
> > A new tarball from lautriv with same outputs as before, but now tested
> > with Linux-3.4-rc4.
> 
> The output looks good enough for me to ACK adding the PCI ID.
> 
> Can the firmware being used here be submitted to the linux-firmware
> git tree?

So Marvell sent John a driver for TopDog a long time ago, which he put
up on kernel.org.  That driver was reworked by Louis and put up in a git
tree, but both were lost to the kernel.org hack.  I have git backups of
both git trees.  I put Louis' cleanup here:

http://people.redhat.com/dcbw/mrvl_cb82.tar.bz2

That driver (mrvl_cb82) has the following PCI IDs:

static const struct pci_device_id mwl_id_tbl[] __devinitdata = {
        { PCI_VDEVICE(MARVELL, 0x2a02), 0 },
        { PCI_VDEVICE(MARVELL, 0x2a03), 1 },
        { PCI_VDEVICE(MARVELL, 0x2a06), 2 },
        { PCI_VDEVICE(MARVELL, 0x2a07), 3 },
        { PCI_VDEVICE(MARVELL, 0x2a04), 4 },
        { PCI_VDEVICE(MARVELL, 0x2a08), 5 },
        { PCI_VDEVICE(MARVELL, 0x2a0a), 6 },
        { PCI_VDEVICE(MARVELL, 0x2a0b), 7 },
        { PCI_VDEVICE(MARVELL, 0x2a0c), 8 },
        { 0 }
};

and supposedly works for CB82 + CB85.  The firmware helper for CB82
looks pretty close to the mwl8k one.

The firmware API exposed by mrvl_cb82 looks very close to mwl8k
actually.  I only checked the HostCmd bits, not the structures, so I
would expect a few differences.  There are some commands that mwl8k
exposes that mrvl_cb82 does not and vice versa, but I'm not sure if the
drivers actually use those commands.

Hope this helps.

Dan


^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH] mwl8k: Add 0x2a02 PCI device-id (Marvell 88W8361)
  2012-05-07 16:09                               ` Dan Williams
@ 2012-05-07 16:42                                 ` Dan Williams
  2012-05-07 18:26                                   ` Adrian Chadd
  0 siblings, 1 reply; 28+ messages in thread
From: Dan Williams @ 2012-05-07 16:42 UTC (permalink / raw)
  To: Lennert Buytenhek
  Cc: sedat.dilek, John W. Linville, linux-wireless, netdev,
	linux-kernel, lautriv, Jim Cromie

On Mon, 2012-05-07 at 11:09 -0500, Dan Williams wrote:
> On Tue, 2012-05-01 at 14:51 +0200, Lennert Buytenhek wrote:
> > On Sun, Apr 29, 2012 at 12:25:21AM +0200, Sedat Dilek wrote:
> > 
> > > > On 1st sight, logs look fine:
> > > >
> > > > [21:52:52] <lautriv> [    6.050967] ieee80211 phy0: 88w8361p v4,
> > > > 00173f3bdde3, STA firmware 2.1.4.25
> > > >
> > > > But WLAN connection is not that fast and stable as lautriv reports
> > > > (several abnormalities were observed).
> > > >
> > > > I requested a tarball which includes:
> > > > * dmesg (Linux-3.3.3)
> > > > * e_n_a (/etc/network/interfaces)
> > > > * ifconfig output
> > > > * iwconfig output
> > > > * iw_phy output
> > > > * ps_axu (WPA) output
> > > >
> > > > lautriv will be so kind to be around on #linux-wireless/Freenode the
> > > > next days (UTC+2: German/Swiss local-time).
> > > > Just ping him.
> > > >
> > > > Hope you have fun, together!
> > > >
> > > > - Sedat -
> > > 
> > > A new tarball from lautriv with same outputs as before, but now tested
> > > with Linux-3.4-rc4.
> > 
> > The output looks good enough for me to ACK adding the PCI ID.
> > 
> > Can the firmware being used here be submitted to the linux-firmware
> > git tree?
> 
> So Marvell sent John a driver for TopDog a long time ago, which he put
> up on kernel.org.  That driver was reworked by Louis and put up in a git
> tree, but both were lost to the kernel.org hack.  I have git backups of
> both git trees.  I put Louis' cleanup here:
> 
> http://people.redhat.com/dcbw/mrvl_cb82.tar.bz2
> 
> That driver (mrvl_cb82) has the following PCI IDs:
> 
> static const struct pci_device_id mwl_id_tbl[] __devinitdata = {
>         { PCI_VDEVICE(MARVELL, 0x2a02), 0 },
>         { PCI_VDEVICE(MARVELL, 0x2a03), 1 },
>         { PCI_VDEVICE(MARVELL, 0x2a06), 2 },
>         { PCI_VDEVICE(MARVELL, 0x2a07), 3 },
>         { PCI_VDEVICE(MARVELL, 0x2a04), 4 },
>         { PCI_VDEVICE(MARVELL, 0x2a08), 5 },
>         { PCI_VDEVICE(MARVELL, 0x2a0a), 6 },
>         { PCI_VDEVICE(MARVELL, 0x2a0b), 7 },
>         { PCI_VDEVICE(MARVELL, 0x2a0c), 8 },
>         { 0 }
> };
> 
> and supposedly works for CB82 + CB85.  The firmware helper for CB82
> looks pretty close to the mwl8k one.
> 
> The firmware API exposed by mrvl_cb82 looks very close to mwl8k
> actually.  I only checked the HostCmd bits, not the structures, so I
> would expect a few differences.  There are some commands that mwl8k
> exposes that mrvl_cb82 does not and vice versa, but I'm not sure if the
> drivers actually use those commands.

As for AP mode, the Marvell Extranet does have AP-mode drivers for the
8361 and 8363, but the zipfiles are password-protected and I have no
idea what license they are supposed to be under due to that.  Thus I
cannot get the AP mode firmware for those either to submit to
linux-firmware.

Dan


^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH] mwl8k: Add 0x2a02 PCI device-id (Marvell 88W8361)
  2012-05-07 16:42                                 ` Dan Williams
@ 2012-05-07 18:26                                   ` Adrian Chadd
  2012-05-11  8:01                                     ` Helmut Stengele
  0 siblings, 1 reply; 28+ messages in thread
From: Adrian Chadd @ 2012-05-07 18:26 UTC (permalink / raw)
  To: Dan Williams
  Cc: Lennert Buytenhek, sedat.dilek, John W. Linville, linux-wireless,
	netdev, linux-kernel, lautriv, Jim Cromie

Hi,

Let me see if the topdog firmware that FreeBSD ships with supports hostap mode.

I'm having aggregation issues but I think that's driver side, not firmware side.



Adrian

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [PATCH] mwl8k: Add 0x2a02 PCI device-id (Marvell 88W8361)
  2012-05-07 18:26                                   ` Adrian Chadd
@ 2012-05-11  8:01                                     ` Helmut Stengele
  0 siblings, 0 replies; 28+ messages in thread
From: Helmut Stengele @ 2012-05-11  8:01 UTC (permalink / raw)
  To: Adrian Chadd
  Cc: Dan Williams, Lennert Buytenhek, sedat.dilek, John W. Linville,
	linux-wireless, netdev, linux-kernel, Jim Cromie

On 05/07/2012 08:26 PM, Adrian Chadd wrote:
> Hi,
>
> Let me see if the topdog firmware that FreeBSD ships with supports hostap mode.
>
> I'm having aggregation issues but I think that's driver side, not firmware side.
>
>
>
> Adrian
>
i didn't change anything since the manual addition
of the patch into 3.4-rc and it looks like only the reported
speed is worse, taking the card up with wpa_sup gives me
enought speed to transfer audiovisual content without
loss or stutter.
( card is on a mythfrontend using DVD-quality streams ).

may be comfortable to have certain commands working
or using the AP capabilities but at least the gerneric usage
is given.

Helmut

^ permalink raw reply	[flat|nested] 28+ messages in thread

end of thread, other threads:[~2012-05-11  8:09 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-04-27  9:08 [PATCH] mwl8k: Add 0x2a02 PCI device-id (Marvell 88W8361) Sedat Dilek
2012-04-27  9:14 ` Lennert Buytenhek
2012-04-27  9:22   ` Sedat Dilek
2012-04-27  9:40     ` Lennert Buytenhek
2012-04-27  9:42       ` Sedat Dilek
2012-04-27  9:46         ` Lennert Buytenhek
2012-04-27  9:56           ` Sedat Dilek
2012-04-27  9:58             ` Lennert Buytenhek
2012-04-27 10:12               ` Sedat Dilek
2012-04-27 10:17                 ` Lennert Buytenhek
2012-04-27 10:57                   ` Sedat Dilek
2012-04-27 13:29                     ` Sedat Dilek
2012-04-27 18:58                       ` Lennert Buytenhek
2012-04-27 21:53                         ` Sedat Dilek
2012-04-28 22:25                           ` Sedat Dilek
2012-05-01 12:51                             ` Lennert Buytenhek
2012-05-01 13:54                               ` Sedat Dilek
2012-05-01 15:49                                 ` Lennert Buytenhek
2012-05-02  1:12                                 ` Pat Erley
2012-05-02  2:38                                   ` Lennert Buytenhek
2012-05-02  8:58                                     ` Sedat Dilek
2012-05-02  7:59                                 ` Arend van Spriel
2012-05-02 13:53                                 ` Ben Hutchings
2012-05-07 16:09                               ` Dan Williams
2012-05-07 16:42                                 ` Dan Williams
2012-05-07 18:26                                   ` Adrian Chadd
2012-05-11  8:01                                     ` Helmut Stengele
2012-05-01 12:47                           ` Lennert Buytenhek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).