Poor libertas WiFi performance & delays

John Swarbrick just_bytesize at yahoo.co.uk
Tue Jan 18 08:03:18 EST 2011


Hi all,

I have an Overo Air running kernel 2.6.34 on a Summit board with the Libertas SDIO driver and a Marvell wireless adapter.

The Overo has connected to my access point fine, but there are regular pauses where the network becomes unresponsive before it seems to continue as if nothing happened.

Generally there are no error messages, but there was one stack trace which I've pasted below. This may or may not be relevant to the performance problem because I see very regular network stalls, but only one or two of these stacktraces.

Previously I was experiencing very high ping times of up to 3500 ms, but disabled power management in the WiFi driver (iwconfig wlan0 power off) has given me average ping times of 2 - 3 ms.

Does anyone know why this is happening, and how to fix it? Google isn't giving up the answer, and the Gumstix guys pointed me in this direction.

Thanks,

John


root at overo:~/software# uname -a
Linux overo 2.6.34 #1 Thu Dec 30 01:06:43 GMT 2010 armv7l unknown

root at overo:~/software# iwconfig wlan0
wlan0     IEEE 802.11b/g ESSID:"LOCALNET"  
          Mode:Managed 
Frequency:2.427 GHz  Access Point:00:04:ED:7A:DC:4F   
          Bit Rate:36Mb/s   Tx-Power=15 dBm   
          Retry shortlimit:8   RTS thr=2347B   Fragment thr=2346 B   
          Encryption key:<toobig>   Security mode:open
          Power Management:off
          Link Quality=54/100  Signal level=-72 dBm  Noise level=-91 dBm
          Rx invalid nwid:0 Rx invalid crypt:42  Rx invalid frag:0
          Tx excessive retries:2018  Invalid misc:4791   Missed beacon:0

Jan 17 21:02:56 overo ------------[ cut here ]------------
Jan 17 21:02:56 overo WARNING: at
net/sched/sch_generic.c:256 dev_watchdog+0x140/0x220()
Jan 17 21:02:56 overo NETDEV WATCHDOG: wlan0
(libertas_sdio): transmit queue 0 timed out
Jan 17 21:02:56 overo Modules linked in: ipv6 libertas_sdio
option libertas usbserial lib80211 ads7846
Jan 17 21:02:56 overo [<c00f75c8>]
(unwind_backtrace+0x0/0xec) from [<c0119b50>]
(warn_slowpath_common+0x4c/0x80)
Jan 17 21:02:56 overo [<c0119b50>]
(warn_slowpath_common+0x4c/0x80) from [<c0119bc0>]
(warn_slowpath_fmt+0x28/0x38)
Jan 17 21:02:56 overo [<c0119bc0>]
(warn_slowpath_fmt+0x28/0x38) from [<c03de648>]
(dev_watchdog+0x140/0x220)
Jan 17 21:02:56 overo [<c03de648>]
(dev_watchdog+0x140/0x220) from [<c01228b4>]
(run_timer_softirq+0x188/0x204)
Jan 17 21:02:56 overo [<c01228b4>]
(run_timer_softirq+0x188/0x204) from [<c011ea98>]
(__do_softirq+0x78/0x100)
Jan 17 21:02:56 overo [<c011ea98>]
(__do_softirq+0x78/0x100) from [<c011eb60>]
(irq_exit+0x40/0x94)
Jan 17 21:02:56 overo [<c011eb60>]
(irq_exit+0x40/0x94) from [<c00f2078>]
(asm_do_IRQ+0x78/0x98)
Jan 17 21:02:56 overo [<c00f2078>]
(asm_do_IRQ+0x78/0x98) from [<c00f2ab4>]
(__irq_svc+0x34/0x80)
Jan 17 21:02:56 overo Exception stack(0xc061bf70 to
0xc061bfb8)
Jan 17 21:02:56 overo bf60:       
               
         
   00000000 40000013 40000013 c065a0e8
Jan 17 21:02:56 overo bf80: c061a000 c061df54 c061dd88
c065968c 8002a5c0 411fc083 0000001f 00000000
Jan 17 21:02:56 overo bfa0: c062bca8 c061bfbc c0101e60
c0101e98 60000013 ffffffff
Jan 17 21:02:56 overo [<c00f2ab4>]
(__irq_svc+0x34/0x80) from [<c0101e98>]
(omap3_pm_idle+0x4c/0x50)
Jan 17 21:02:56 overo [<c0101e98>]
(omap3_pm_idle+0x4c/0x50) from [<00000000>] (0x0)
Jan 17 21:02:56 overo ---[ end trace 0499df56a66c33c7 ]---


dmesg
libertas_sdio: Libertas SDIO driver
libertas_sdio: Copyright Pierre Ossman
libertas_sdio mmc1:0001:1: firmware: requesting sd8686_helper.bin
libertas_sdio mmc1:0001:1: firmware: requesting sd8686.bin
NET: Registered protocol family 10
libertas: 00:19:88:3a:b0:08, fw 9.70.7p0, cap 0x00000303
libertas: wlan0: Marvell WLAN 802.11 adapter







      



More information about the libertas-dev mailing list