Thread (28 messages) 28 messages, 8 authors, 2012-05-11

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

From: Sedat Dilek <hidden>
Date: 2012-04-28 22:25:25
Also in: linux-wireless, lkml

On Fri, Apr 27, 2012 at 11:53 PM, Sedat Dilek
[off-list ref] wrote:
On Fri, Apr 27, 2012 at 8:58 PM, Lennert Buytenhek
[off-list ref] wrote:
quoted
On Fri, Apr 27, 2012 at 03:29:26PM +0200, Sedat Dilek wrote:
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
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.

quoted
quoted
quoted
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 [off-list ref]
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 :-).
quoted
quoted
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.

quoted
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 -

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help