libertas_cf driver problems

dylan cristiani d.cristiani at idem-tech.it
Mon Jul 19 11:52:36 EDT 2010


Hi list, i'm using marvel compact flash cf8385 chip based wi-fi card,
and i get some troubles.
Scenario: i'm using a pxa270 platform based (similar to
mainstone iii) with last linux kernel 2.6.34; i compile the libertas
driver as a module (libertas_cs.ko) and i insert the module at the end
of the boot ('insmod' command inside /etc/init.d/rcS); i load the
marvell firmware (fw version 5.0.20p2, cap 0x00000393) inside the card
via hotplug system; all seems to get right: i can get to associate to my
access point and i get a dynamic ip address through dhcp server; but
when i start communications between one host and the wi-fi card,
something wrong happens and the card hangs, till i reset the device.
here follows the log of the situation from module's insertion to the
hang situation:

........
libertas_cs 0.0: firmware: requesting libertas_cs_helper.fw
buf=31 a 0loading=1buf=30 a 0loading=0
libertas_cs 0.0: firmware: requesting libertas_cs.fw
buf=31 a 0loading=1buf=30 a 0loading=0
libertas: 00:10:7a:75:5d:a2, fw 5.0.20p2, cap 0x00000393
libertas: wlan0: Marvell WLAN 802.11 adapter

libertas: command 0x001f timed out
libertas: Timeout submitting command 0x001f
------------[ cut here ]------------
WARNING: at net/sched/sch_generic.c:256 dev_watchdog+0x1a0/0x298()
NETDEV WATCHDOG: wlan0 (libertas_cs): transmit queue 0 timed out
Modules linked in: libertas_cs
Backtrace:
[<c003a8ec>] (dump_backtrace+0x0/0x108) from [<c003aa0c>]
(dump_stack+0x18/0x1c) r7:c0405e10 r6:c028234c r5:c03e1640 r4:00000100
[<c003a9f4>] (dump_stack+0x0/0x1c) from [<c005184c>]
(warn_slowpath_common+0x50/0x68) [<c00517fc>]
(warn_slowpath_common+0x0/0x68) from [<c00518b0>]
(warn_slowpath_fmt+0x30/0x38) r7:00000000 r6:00000001 r5:00000001
r4:c3edb800 [<c0051880>] (warn_slowpath_fmt+0x0/0x38) from [<c028234c>]
(dev_watchdog+0x1a0/0x298) r3:c3edb800 r2:c03e1604 [<c02821ac>]
(dev_watchdog+0x0/0x298) from [<c005bfd8>]
(run_timer_softirq+0x164/0x1d0) r8:c0405ea8 r7:c02821ac r6:00000100
r5:c0438f00 r4:c0404000 [<c005be74>] (run_timer_softirq+0x0/0x1d0) from
[<c005674c>] (__do_softirq+0x8c/0x140) [<c00566c0>]
(__do_softirq+0x0/0x140) from [<c0056a6c>] (irq_exit+0x44/0x4c)
[<c0056a28>] (irq_exit+0x0/0x4c) from [<c003607c>]
(asm_do_IRQ+0x7c/0x94) [<c0036000>] (asm_do_IRQ+0x0/0x94) from
[<c0036ab0>] (__irq_svc+0x30/0xa0) Exception stack(0xc0405f50 to
0xc0405f98) 5f40:                                     00000001 000000aa
a0000013 60000013 5f60: c0404000 c0021f3c c0021f38 c04083a8 a0020b18
69054117 a0020ae4 c0405fa4 5f80: c0405fa8 c0405f98 c0038040 c003804c
60000013 ffffffff r6:001a0000 r5:c0405f84 r4:ffffffff [<c003801c>]
(default_idle+0x0/0x34) from [<c00380b8>] (cpu_idle+0x68/0xa4)
[<c0038050>] (cpu_idle+0x0/0xa4) from [<c0310124>]
(rest_init+0x5c/0x70) r4:c043b990 [<c03100c8>] (rest_init+0x0/0x70)
from [<c0008950>] (start_kernel+0x248/0x2a0) [<c0008708>]
(start_kernel+0x0/0x2a0) from [<a0008034>] (0xa0008034) r5:c04337d8
r4:0000397d ---[ end trace 2ccb466c94cfe8b8 ]--- libertas: tx watch dog
timeout libertas: command 0x000b timed out libertas: Timeout submitting
command 0x000b libertas: PREP_CMD: command 0x000b failed: -110
libertas: tx watch dog timeout
libertas: command 0x001f timed out
libertas: Timeout submitting command 0x001f
libertas: tx watch dog timeout
.....


and the timeouts continue till i reset the device, so i cannot get
to use the card anymore.
Has anybody had similar problem? can you suggest me some solution/test
to perform?

PS when the hang situation happens, also the interrupt line associated
to the compact flash stop toggling (no more interrupts occur in
relevant interrupt line into /proc/interrupts)

thanks
dylan



More information about the libertas-dev mailing list