Poor libertas WiFi performance & delays

Dan Williams dcbw at redhat.com
Tue Jan 18 14:12:55 EST 2011


On Tue, 2011-01-18 at 13:03 +0000, John Swarbrick wrote:
> 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.

What SD host controller are you using, and does it have any known errata
WRT block sizes, interrupt/polling, and non-4-byte transfers?  If so,
are those errata handled properly by the driver?

Dan

> 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
> 
> 
> 
> 
> 
> 
> 
>       
> 
> _______________________________________________
> libertas-dev mailing list
> libertas-dev at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/libertas-dev





More information about the libertas-dev mailing list