Libertas: Timeout issue with iperf and ping

Shriharsh shriharsh.datar at mavensystems.com
Wed Jun 9 07:33:57 EDT 2010


Hello All,

We have interfaced Marvell chip on MMC1 of DM365. 
We are using linux 2.6.32 and the libertas and libertas_sdio are
compiled as module.
After inserting the modules the chip firmware gets downloaded properly
on to the chip and we are able to detect the "wlan0: Marvell WLAN 802.11
adapter". 

Log for this as below:
**************************************************************************
root at dm365-evm:~# insmod /mnt/usb/libertas.ko 
root at dm365-evm:~# insmod /mnt/usb/libertas_sdio.ko &
root at dm365-evm:~# libertas_sdio: Libertas SDIO driver
libertas_sdio: Copyright Pierre Ossman
libertas: unable to identify card model
if_sdio_probe:: suHas... This is hack... 
request_firmware:: Enter
request_firmware:: name [sd8686_helper.bin]
_request_firmware:: Enter
libertas_sdio mmc1:0001:1: firmware: requesting sd8686_helper.bin
        fw_setup_device:: suHas ===> fw_name = [sd8686_helper.bin]
    dev_set_name ====> mmc1:0001:1
        fw_setup_device:: suHas ===> attr_data = [data]
   suHas ===> fw_setup_device: RetVal = [0]
request_firmware:: REturn [0] 
request_firmware:: Enter
request_firmware:: name [sd8686.bin]
_request_firmware:: Enter
libertas_sdio mmc1:0001:1: firmware: requesting sd8686.bin
        fw_setup_device:: suHas ===> fw_name = [sd8686.bin]
    dev_set_name ====> mmc1:0001:1
        fw_setup_device:: suHas ===> attr_data = [data]
   suHas ===> fw_setup_device: RetVal = [0]
request_firmware:: REturn [0] 
libertas: 00:24:23:17:bd:77, fw 9.70.3p24, cap 0x00000303
libertas: wlan0: Marvell WLAN 802.11 adapter
**************************************************************************


After this we are able to scan the wireless network. The network
connection is done with iwconfig utility. 
When we try to ping any device on the network, this working successfully
for sometime after this the device dumps the following warning and
timeout's with CMD_802_11_RSSI(0x001f) command.

Log for this as below:
**************************************************************************
------------[ cut here ]------------
WARNING: at net/sched/sch_generic.c:261 dev_watchdog+0x198/0x2ac()
NETDEV WATCHDOG: wlan0 (libertas_sdio): transmit queue 0 timed out
Modules linked in: libertas_sdio libertas dm365mmap irqk edmak cmemk drv
csl
Backtrace: 
[<c00316d0>] (dump_backtrace+0x0/0x110) from [<c0031814>] (dump_stack
+0x18/0x1c)
 r6:c02d7424 r5:c046b15c r4:00000105
[<c00317fc>] (dump_stack+0x0/0x1c) from [<c004213c>]
(warn_slowpath_common+0x50/0x68)
[<c00420ec>] (warn_slowpath_common+0x0/0x68) from [<c00421a0>]
(warn_slowpath_fmt+0x30/0x38)
 r7:00000001 r6:c04f3ba8 r5:c2df8000 r4:00000000
[<c0042170>] (warn_slowpath_fmt+0x0/0x38) from [<c02d7424>]
(dev_watchdog+0x198/0x2ac)
 r3:c2df8000 r2:c046b1dc
[<c02d728c>] (dev_watchdog+0x0/0x2ac) from [<c004c650>]
(run_timer_softirq+0x1c4/0x280)
[<c004c48c>] (run_timer_softirq+0x0/0x280) from [<c0047670>]
(__do_softirq+0x90/0x120)
[<c00475e0>] (__do_softirq+0x0/0x120) from [<c00479fc>] (irq_exit
+0x4c/0xa0)
[<c00479b0>] (irq_exit+0x0/0xa0) from [<c002d074>] (asm_do_IRQ
+0x74/0x8c)
[<c002d000>] (asm_do_IRQ+0x0/0x8c) from [<c002da6c>] (__irq_svc
+0x4c/0x90)
Exception stack(0xc0497f48 to 0xc0497f90)
7f40:                   00000000 0005317f 0005217f 60000013 c0496000
c049a540 
7f60: c049a3e0 c04ca184 80025034 41069265 80025000 c0497f9c 600000d3
c0497f90 
7f80: c002ef00 c002ef0c 60000013
ffffffff                                     
 r5:fec48000 r4:ffffffff
[<c002eedc>] (default_idle+0x0/0x34) from [<c002edd4>] (cpu_idle
+0x74/0xdc)
[<c002ed60>] (cpu_idle+0x0/0xdc) from [<c03770a4>] (rest_init+0x6c/0x80)
 r7:c049a3d8 r6:c0026e14 r5:c04ca15c r4:c04de738
[<c0377038>] (rest_init+0x0/0x80) from [<c0008a74>] (start_kernel
+0x278/0x2d8)
[<c00087fc>] (start_kernel+0x0/0x2d8) from [<80008034>] (0x80008034)
---[ end trace ad9ae4cdcac1416e ]---
libertas: tx watch dog timeout
libertas: command 0x001f timed out
libertas: requeueing command 0x001f due to timeout (#1)
libertas: tx watch dog timeout
libertas: command 0x001f timed out
libertas: requeueing command 0x001f due to timeout (#2)
libertas: command 0x001f timed out
libertas: requeueing command 0x001f due to timeout (#3)
libertas: command 0x001f timed out
libertas: Excessive timeouts submitting command 0x001f
libertas: tx watch dog timeout
libertas: command 0x001f timed out
libertas: requeueing command 0x001f due to timeout (#1)
libertas: tx watch dog timeout
libertas: command 0x001f timed out
libertas: requeueing command 0x001f due to timeout (#2)
libertas: command 0x001f timed out
libertas: requeueing command 0x001f due to timeout (#3)
libertas: command 0x001f timed out
libertas: Excessive timeouts submitting command 0x001f
libertas: tx watch dog timeout


What is the possible solution for this?

Regards,
Shriharsh Datar
Software Engg
Maven Systems
www.mavensystems.com




More information about the libertas-dev mailing list