Search Linux Wireless

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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



[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


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux