Re: [PATCH] mwl8k: Add 0x2a02 PCI device-id (Marvell 88W8361)

From: Sedat Dilek
Date: Fri Apr 27 2012 - 17:53:30 EST


On Fri, Apr 27, 2012 at 8:58 PM, Lennert Buytenhek
<buytenh@xxxxxxxxxxxxxx> 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@xxxxxxxxxxx>
>> 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: 8361p.tar.xz
Description: Binary data