CMD22(CMD_802_11_DATA_RATE)failure problem

Dan Williams dcbw at redhat.com
Tue Sep 2 10:13:00 EDT 2008


On Sat, 2008-08-30 at 12:43 +0000, Cliff Cai wrote:
> >> 
> >> Hi all,
> >> 
> >> I'm porting a Murata SDIO wifi module(Marvell 8686) to my BF548-EZKIT,
> >> libertas driver is the latest one in kernel 2.6.26 tree,firmware version 9.70.3p24.
> > 
> > Hmm, 2.6.26 only tries DATA_RATE if setting the rate via rate adaptation
> > fails. It'll never try to get the data rate via DATA_RATE at all. I
> > just checked on 2.6.27 and DATA_RATE never gets sent on card insertion.
> > 
> >> After loading the driver modules,eth1 appears,but there are two CMD failures as following:
> >> 
> >> libertas_sdio: Libertas SDIO driver
> >> libertas_sdio: Copyright Pierre Ossman
> >> firmware: requesting sd8686_helper.bin
> >> firmware: requesting sd8686.bin
> >> libertas: 00:13:e0:a2:67:aa, fw 9.70.3p24, cap 0x00000303
> >> libertas: unidentified region code; using the default (USA)
> >> libertas: PREP_CMD: command 0x0022 failed: 2
> >> libertas: PREP_CMD: command 0x00a3 failed: 2
> >> libertas: PREP_CMD: command 0x00a3 failed: 2
> > 
> > These (the 0x00a3) should be harmless.
> > 
> >> libertas: eth1: Marvell WLAN 802.11 adapter
> >> 
> >> CMD22 is used to set data rate,so when I run" iwconfig eth1",it shows that bit rate is 0.
> >> and "iwconfig eth1 rate auto" also failed
> > 
> > It'll show the data rate as 0 until you transmit or receive some frames,
> > because the rate isn't actually known until (a) you've associated to
> > something and (b) you've tx/rxed some frames.
> > 
> > Setting the rate to auto shouldn't fail though, sounds like a bug. But
> > this looks like it's fixed in 2.6.27, no error is returned.
> > 
> > What's the git commit hash of the version of libertas you're using?
> > 2.6.26 vanilla?
> > 
> >> eth1 IEEE 802.11b/g ESSID:""
> >> Mode:Managed Frequency:2.412 GHz Access Point: 00:00:00:00:00:00
> >> Bit Rate:0 kb/s Tx-Power=18 dBm
> >> Retry limit:8 RTS thr=2347 B Fragment thr=2346 B
> >> Encryption key:off
> >> Power Management:off
> >> Link Quality:0 Signal level:0 Noise level:0
> >> Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
> >> Tx excessive retries:0 Invalid misc:0 Missed beacon:0
> >> 
> >> I'm able to run:
> >>>ifconfig eth1 up
> >>>iwlist eth1 scan
> >> and get the available AP information.
> >> also I successfully run
> >>>iwconfig eth1 essid myAPname
> > 
> > Does the AP use any encryption? Does an "iwconfig" show a valid BSSID
>  
> It's exactly the encryption problem!

Do you mean you've solved your issue?  If you're using WEP there are
quite a few gotchas, including the key length, the hashing algorithm
(hex, passphrase, ascii) and the authentication system (open system or
shared key) that you just have to know before trying to connect to a
WEP-enabled AP.

> Thanks Dan!
>  
> One more question,I want to know if there is available firmware support SDIO SPI mode now?
> I saw a post said it was not support that time ,how about now?
> http://lists.infradead.org/pipermail/libertas-dev/2008-March/001382.html

Various parts have had G-SPI support for a while but of course that
requires the firmware which people need to get form Marvell.  If you've
got firmware and the necessary host interface, we could try to give it a
shot.  But I have to admin I'm not familiar with how the host controller
needs to be set up to handle SPI mode.  Does it require a specific SDIO
controller type, or can most SDIO controllers handle SPI?  Does it
require changes to the kernel SDIO stack to accommodate SPI?  Basically,
changes to the actual libertas driver aren't the only thing required
here because I'm pretty sure we'd need changes to the host controller
drivers and the stack too.

Dan




More information about the libertas-dev mailing list