[dropped lkml from cc] On Sat, Apr 28, 2012 at 4:25 PM, Sedat Dilek <sedat.dilek@xxxxxxxxxxxxxx> wrote: > On Fri, Apr 27, 2012 at 11:53 PM, Sedat Dilek > <sedat.dilek@xxxxxxxxxxxxxx> wrote: >> 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 - > > A new tarball from lautriv with same outputs as before, but now tested > with Linux-3.4-rc4. > > - Sedat - heres my logs, using firmware extracted by Sedat's script, and the patch on mwl8k.c bottom-line, it appears to be working. its contents are a bit more pedantic, and includes data for another wifi card (rtl8180 based) also in the box. It was obtained by this script: #!/bin/bash # dmesg (Linux-3.3.3) # e_n_a (/etc/network/interfaces) # ifconfig output # iwconfig output # iw_phy output # ps_axu (WPA) output devs="wlan0 wlan1" apmac=00:14:d1:e8:65:0a loudly () { echo "# $@" fname=`echo $@ | sed -e 's/ /-/g'` $@ 2> $fname-err | tee $fname [ $? != 0 ] && echo non-zero exit on $fname: $? [ -s $fname-err ] || rm $fname-err } ( iw --debug event -f > iw-event-f )& pid_event=$! for N in 0 1 ; do loudly iw dev wlan$N interface add fish$N type monitor # flags none loudly iw dev fish$N set channel 8 loudly ifconfig fish$N up ( tcpdump -i fish$N -s 65000 -p -U -w fish$N.dump )& pid_dump_fish$N=$! done loudly iw list #loudly iwspy # gives: Interface doesn't support wireless statistic collection for dev in $devs ; do loudly ifconfig $dev loudly iwconfig $dev loudly iwlist $dev scan loudly iw dev $dev info loudly iw dev $dev link loudly iw dev $dev scan loudly iw dev $dev survey dump done for phy in $phys ; do loudly iw phy $phy info done # these are unsupported on wlan0 loudly iw dev wlan1 survey dump loudly iw dev wlan1 station dump loudly iw dev wlan1 station get $apmac for N in 0 1 ; do loudly iw dev fish$N del done kill $pid_dump_fish0 $pid_dump_fish0 kill $pid_event dmesg > dmesg grep -vE '^#|key' /etc/network/interfaces > e_n_a exit
Attachment:
mwl8k-8361p-logs.tgz
Description: GNU Zip compressed data