SDIO and DHCP [SOLVED]

Dan Williams dcbw at redhat.com
Fri Dec 19 10:08:06 EST 2008


On Wed, 2008-12-17 at 21:00 -0700, Simon Twogood wrote:
> On 16-Dec-08, at 12:55 PM, Simon Twogood wrote:
> 
> >
> > On 16-Dec-08, at 12:25 PM, Simon Twogood wrote:
> >
> >> On 16-Dec-08, at 12:02 PM, Dan Williams wrote:
> >>
> >>> On Tue, 2008-12-16 at 13:27 -0500, Jeff Sutherland wrote:
> >>>> -----BEGIN PGP SIGNED MESSAGE-----
> >>>> Hash: SHA1
> >>>>
> >>>> On Tuesday 16 December 2008, Simon Twogood wrote:
> >>>>> Hell everyone,
> >>>>>
> >>>>> I've been having success using the a Libertas SDIO module with
> >>>>> Linux
> >>>>> 2.6.27, but only with static IP addresses. My board is an Atmel
> >>>>> AT91SAM9263. Has anyone had success obtaining an IP address  
> >>>>> through
> >>>>> DHCP on a similar board, or any other board for that matter?
> >>>>>
> >>>>> I found a old thread that mentions a similar problem here
> >>>>> http://lists.infradead.org/pipermail/libertas-dev/2008-May/001526.html
> >>>>> ,
> >>>>> but it seems it was unresolved.
> >>>>>
> >>>>> My firmware version is 9.70.3p24. Here's a sample of the the
> >>>>> procedure
> >>>>> I use to reproduce my error:
> >>>>>
> >>>>>
> >>>>> root at mydevice:~$ modprobe libertas_sdio
> >>>>> libertas_sdio: Libertas SDIO driver
> >>>>> libertas_sdio: Copyright Pierre Ossman
> >>>>> firmware: requesting sd8686_helper.bin
> >>>>> firmware: requesting sd8686.bin
> >>>>> libertas: 00:19:88:05:11:56, fw 9.70.3p24, cap 0x00000303
> >>>>> libertas: PREP_CMD: command 0x00a3 failed: 2
> >>>>> libertas: PREP_CMD: command 0x00a3 failed: 2
> >>>>> libertas: eth1: Marvell WLAN 802.11 adapter
> >>>>>
> >>>>> root at mydevice:~$ ifconfig eth1 up
> >>>>>
> >>>>> root at mydevice:~$ iwlist eth1 scan
> >>>>> eth1      Scan completed :
> >>>>>         Cell 01 - Address: 00:21:29:71:19:E8
> >>>>>                   ESSID:"emptynetwork"
> >>>>>                   Mode:Managed
> >>>>>                   Frequency:2.437 GHz (Channel 6)
> >>>>>                   Quality=92/100  Signal level=-58 dBm  Noise
> >>>>> level=-96 dBm
> >>>>>                   Encryption key:off
> >>>>>                   Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 18
> >>>>> Mb/s
> >>>>>                             24 Mb/s; 36 Mb/s; 54 Mb/s; 6 Mb/s; 9
> >>>>> Mb/s
> >>>>>                             12 Mb/s; 48 Mb/s
> >>>>>
> >>>>> root at mydevice:~$ iwconfig eth1 essid emptynetwork
> >>>>>
> >>>>> root at mydevice:~$ udhcpc -H mydevice -i eth1
> >>>>> udhcpc (v1.2.1) started
> >>>>> Sending discover...
> >>>>> Sending discover...
> >>>>> Sending discover...
> >>>>> ------------[ cut here ]------------
> >>>>> WARNING: at net/sched/sch_generic.c:219 dev_watchdog+0x154/0x240()
> >>>>> NETDEV WATCHDOG: eth1 (libertas_sdio): transmit timed out
> >>>>> Modules linked in: libertas_sdio libertas at91_mci
> >>>>> [<c0025fa0>] (dump_stack+0x0/0x14) from [<c003822c>]  
> >>>>> (warn_slowpath
> >>>>> +0x64/0x80)
> >>>>> [<c00381c8>] (warn_slowpath+0x0/0x80) from [<c0180b0c>]
> >>>>> (dev_watchdog
> >>>>> +0x154/0x240)
> >>>>> r3:c394c000 r2:c0238d80
> >>>>> r6:c01809b8 r5:c394c000 r4:c027ef34
> >>>>> [<c01809b8>] (dev_watchdog+0x0/0x240) from [<c0041440>]
> >>>>> (run_timer_softirq+0x150/0x1e8)
> >>>>> r6:c01809b8 r5:00000100 r4:c026f740
> >>>>> [<c00412f0>] (run_timer_softirq+0x0/0x1e8) from [<c003cf08>]
> >>>>> (__do_softirq+0x60/0xc8)
> >>>>> r7:c0255c80 r6:0000000a r5:c026f544 r4:00000001
> >>>>> [<c003cea8>] (__do_softirq+0x0/0xc8) from [<c003d258>] (irq_exit
> >>>>> +0x48/0x50)
> >>>>> r7:c0255c80 r6:00000000 r5:c0259ea4 r4:00000001
> >>>>> [<c003d210>] (irq_exit+0x0/0x50) from [<c0021054>]
> >>>>> (__exception_text_start+0x54/0x6c)
> >>>>> [<c0021000>] (__exception_text_start+0x0/0x6c) from [<c0021834>]
> >>>>> (__irq_svc+0x34/0x60)
> >>>>> Exception stack(0xc0253f50 to 0xc0253f98)
> >>>>> 3f40:                                     00000000 0005317f
> >>>>> 0005217f
> >>>>> 60000013
> >>>>> 3f60: c0023270 c0252000 c001eee8 c0255c80 2001d32c 41069265
> >>>>> 2001d2f8
> >>>>> c0253fa4
> >>>>> 3f80: 600000d3 c0253f98 c00232b8 c00232c4 60000013 ffffffff
> >>>>> r7:c0255c80 r6:00000001 r5:fefff000 r4:ffffffff
> >>>>> [<c0023270>] (default_idle+0x0/0x5c) from [<c002314c>] (cpu_idle
> >>>>> +0x3c/
> >>>>> 0x58)
> >>>>> [<c0023110>] (cpu_idle+0x0/0x58) from [<c01d6610>] (rest_init
> >>>>> +0x58/0x6c)
> >>>>> r5:c0269e10 r4:c0271f88
> >>>>> [<c01d65b8>] (rest_init+0x0/0x6c) from [<c0008bc8>] (start_kernel
> >>>>> +0x284/0x2dc)
> >>>>> [<c0008944>] (start_kernel+0x0/0x2dc) from [<20008034>]
> >>>>> (0x20008034)
> >>>>> r5:c026a320 r4:00053175
> >>>>> ---[ end trace 4093a6ca7302871d ]---
> >>>>> libertas: tx watch dog timeout
> >>>>> Sending select for 192.168.5.128...
> >>>>> Sending select for 192.168.5.128...
> >>>>> Sending select for 192.168.5.128...
> >>>>> libertas: tx watch dog timeout
> >>>>> Sending discover...
> >>>>> Sending discover...
> >>>>> libertas: tx watch dog timeout
> >>>>> Sending discover...
> >>>>> libertas: tx watch dog timeout
> >>>>> libertas: tx watch dog timeout
> >>>>> libertas: tx watch dog timeout
> >>>>> libertas: tx watch dog timeout
> >>>>> Sending select for 192.168.5.128...
> >>>>> Sending select for 192.168.5.128...
> >>>>> Sending select for 192.168.5.128...
> >>>>> libertas: tx watch dog timeout
> >>>>> Sending discover...
> >>>>> Sending discover...
> >>>>
> >>>> Please try one thing and let us know how you get on: turn on all
> >>>> the debugging
> >>>> for the wifi subsystem and libertas module and try again.  This
> >>>> looks
> >>>> suspiciously like a problem I encountered with this chipset on
> >>>> another
> >>>> platform.
> >>>
> >>> Yeah, in general this stuff is highly controller-dependent; there  
> >>> are
> >>> some comments in if_sdio about that sort of thing.  Some controllers
> >>> don't really support reads of certain byte widths, others require
> >>> random
> >>> alignments, etc.  I've usually tested libertas_sdio on an generic
> >>> laptop
> >>> Ricoh SD/MMC controller and that normally works well, but we
> >>> certainly
> >>> had to quirk a few things for the OLPC "Cafe" SD controller.  Also
> >>> make
> >>> sure you're using a fairly recent kernel (2.6.26 if possible) since
> >>> there have been fixes to the SDIO stack itself in the kernel since  
> >>> it
> >>> got merged in 2.6.24.
> >>>
> >>> Dan
> >>>
> >>>
> >>>
> >>> _______________________________________________
> >>> libertas-dev mailing list
> >>> libertas-dev at lists.infradead.org
> >>> http://lists.infradead.org/mailman/listinfo/libertas-dev
> >>
> >>
> >> Perhaps I'm not enabling the wireless subsystem debugging properly as
> >> nothing from it shows up in my syslog, I've said 'y' to
> >> CONFIG_MAC80211_VERBOSE_DEBUG, is that correct? Anyway, the libertas
> >> debugging is enabled and here is the output from it. Interesting to  
> >> me
> >> is that after issuing 'ifconfig eth1 up' it enters
> >> lbs_submit_command(), but I don't see any exit, and there is no more
> >> log output after running udhcp.
> >>
> >> I'm using 2.6.27 which has changes to the AT91 MMC driver. With
> >> earlier kernels I had no success at all. Could still be a problem  
> >> with
> >> the controller. Adding MMC debugging seems to mess up timings,  
> >> causing
> >> the libertas driver to fail.
> >>
> >>
> >> ### modprobe libertas libertas_debug=0x4863a7
> >> Jan  1 00:03:04 mydevice user.debug kernel: libertas enter:
> >> lbs_init_module()
> >> Jan  1 00:03:04 mydevice user.debug kernel: libertas leave:
> >> lbs_init_module()
> >>
> >> ### modprobe libertas_sdio
> >> Jan  1 00:03:42 mydevice user.debug kernel: libertas enter:
> >> if_sdio_init_module()
> >> Jan  1 00:03:42 mydevice user.info kernel: libertas_sdio: Libertas
> >> SDIO driver
> >> Jan  1 00:03:42 mydevice user.info kernel: libertas_sdio: Copyright
> >> Pierre Ossman
> >> Jan  1 00:03:42 mydevice user.debug kernel: libertas enter:
> >> if_sdio_probe()
> >> Jan  1 00:03:42 mydevice user.debug kernel: libertas sdio: class =
> >> 0x7, vendor = 0x2DF, device = 0x9103, model = 0xB, ioport = 0x10000
> >> Jan  1 00:03:42 mydevice user.debug kernel: libertas enter:
> >> if_sdio_prog_firmware()
> >> Jan  1 00:03:42 mydevice user.debug kernel: libertas enter:
> >> if_sdio_prog_helper()
> >> Jan  1 00:03:42 mydevice user.info kernel: firmware: requesting
> >> sd8686_helper.bin
> >> Jan  1 00:03:42 mydevice user.debug kernel: libertas sdio: waiting  
> >> for
> >> helper to boot...
> >> Jan  1 00:03:42 mydevice user.debug kernel: libertas leave:
> >> if_sdio_prog_helper(), ret 0
> >> Jan  1 00:03:42 mydevice user.debug kernel: libertas enter:
> >> if_sdio_prog_real()
> >> Jan  1 00:03:42 mydevice user.info kernel: firmware: requesting
> >> sd8686.bin
> >> Jan  1 00:03:43 mydevice user.debug kernel: libertas sdio: waiting  
> >> for
> >> firmware to boot...
> >> Jan  1 00:03:43 mydevice user.debug kernel: libertas leave:
> >> if_sdio_prog_real(), ret 0
> >> Jan  1 00:03:43 mydevice user.debug kernel: libertas leave:
> >> if_sdio_prog_firmware(), ret 0
> >> Jan  1 00:03:43 mydevice user.debug kernel: libertas enter:
> >> lbs_add_card()
> >> Jan  1 00:03:43 mydevice user.debug kernel: libertas enter:
> >> lbs_init_adapter()
> >> Jan  1 00:03:43 mydevice user.debug kernel: libertas enter:
> >> lbs_allocate_cmd_buffer()
> >> Jan  1 00:03:43 mydevice user.debug kernel: libertas enter:
> >> __lbs_cleanup_and_insert_cmd()
> >> Jan  1 00:03:43 mydevice user.debug kernel: libertas leave:
> >> __lbs_cleanup_and_insert_cmd()
> >> Jan  1 00:03:43 mydevice user.debug kernel: libertas enter:
> >> __lbs_cleanup_and_insert_cmd()
> >> Jan  1 00:03:43 mydevice user.debug kernel: libertas leave:
> >> __lbs_cleanup_and_insert_cmd()
> >> Jan  1 00:03:43 mydevice user.debug kernel: libertas enter:
> >> __lbs_cleanup_and_insert_cmd()
> >> Jan  1 00:03:43 mydevice user.debug kernel: libertas leave:
> >> __lbs_cleanup_and_insert_cmd()
> >> Jan  1 00:03:43 mydevice user.debug kernel: libertas enter:
> >> __lbs_cleanup_and_insert_cmd()
> >> Jan  1 00:03:43 mydevice user.debug kernel: libertas leave:
> >> __lbs_cleanup_and_insert_cmd()
> >> Jan  1 00:03:43 mydevice user.debug kernel: libertas enter:
> >> __lbs_cleanup_and_insert_cmd()
> >> Jan  1 00:03:43 mydevice user.debug kernel: libertas leave:
> >> __lbs_cleanup_and_insert_cmd()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> __lbs_cleanup_and_insert_cmd()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> __lbs_cleanup_and_insert_cmd()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> __lbs_cleanup_and_insert_cmd()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> __lbs_cleanup_and_insert_cmd()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> __lbs_cleanup_and_insert_cmd()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> __lbs_cleanup_and_insert_cmd()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> __lbs_cleanup_and_insert_cmd()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> __lbs_cleanup_and_insert_cmd()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> __lbs_cleanup_and_insert_cmd()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> __lbs_cleanup_and_insert_cmd()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> lbs_allocate_cmd_buffer(), ret 0
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> lbs_init_adapter(), ret 0
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> lbs_add_card(), priv c3a38360
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> lbs_start_card()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> lbs_setup_firmware()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> lbs_update_hw_spec()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> __lbs_cmd()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> __lbs_cmd_async()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> lbs_get_cmd_ctrl_node()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> lbs_get_cmd_ctrl_node()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas host: PREP_CMD:
> >> command 0x0003
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> lbs_queue_cmd()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas host: QUEUE_CMD:
> >> inserted command 0x0003 into cmdpendingq
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> lbs_queue_cmd()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> __lbs_cmd_async(), ret c3ab3e00
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas host:
> >> EXEC_NEXT_CMD: sending command 0x0003
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> lbs_submit_command()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas cmd: DNLD_CMD:
> >> command 0x0003, seq 1, size 46
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> if_sdio_host_to_card(type 1, bytes 46)
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> if_sdio_host_to_card(), ret 0
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> lbs_submit_command()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> if_sdio_host_to_card_worker()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> if_sdio_host_to_card_worker()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> if_sdio_interrupt()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas sdio: interrupt:
> >> 0x2
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> if_sdio_interrupt(), ret 0
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> if_sdio_interrupt()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas sdio: interrupt:
> >> 0x1
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> if_sdio_card_to_host()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas sdio: packet of
> >> type 1 and size 50 bytes
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> if_sdio_handle_cmd()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> if_sdio_handle_cmd(), ret 0
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> if_sdio_card_to_host(), ret 0
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> if_sdio_interrupt(), ret 0
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> lbs_process_command_response()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas cmd: CMD_RESP:
> >> response 0x8003, seq 1, size 46
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> lbs_process_command_response(), ret 0
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> __lbs_cleanup_and_insert_cmd()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> __lbs_cleanup_and_insert_cmd()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> __lbs_cmd(), ret 0
> >> Jan  1 00:03:44 mydevice user.info kernel: libertas:
> >> 00:19:88:05:11:56, fw 9.70.3p24, cap 0x00000303
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas cmd:  
> >> GET_HW_SPEC:
> >> hardware interface 0x2, hardware spec 0x0011
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> lbs_set_regiontable()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> lbs_get_region_cfp_table()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas main:
> >> region_cfp_table[i].region=16
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas main:
> >> region_cfp_table[i].region=32
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas main:
> >> region_cfp_table[i].region=48
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas main:
> >> region_cfp_table[i].region=49
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas main:
> >> region_cfp_table[i].region=50
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas main:
> >> region_cfp_table[i].region=64
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> lbs_get_region_cfp_table()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> lbs_set_regiontable(), ret 0
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> lbs_update_hw_spec()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> lbs_set_mac_control()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> lbs_cmd_async()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> __lbs_cmd_async()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> lbs_get_cmd_ctrl_node()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> lbs_get_cmd_ctrl_node()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas host: PREP_CMD:
> >> command 0x0028
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> lbs_queue_cmd()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas host: QUEUE_CMD:
> >> inserted command 0x0028 into cmdpendingq
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> lbs_queue_cmd()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> __lbs_cmd_async(), ret c3ab3e24
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> lbs_cmd_async()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> lbs_set_mac_control()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> lbs_setup_firmware(), ret 0
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> lbs_update_channel()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> lbs_get_channel()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> __lbs_cmd()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> __lbs_cmd_async()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> lbs_get_cmd_ctrl_node()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> lbs_get_cmd_ctrl_node()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas host: PREP_CMD:
> >> command 0x001d
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> lbs_queue_cmd()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas host: QUEUE_CMD:
> >> inserted command 0x001d into cmdpendingq
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> lbs_queue_cmd()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> __lbs_cmd_async(), ret c3ab3e48
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas host:
> >> EXEC_NEXT_CMD: sending command 0x0028
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> lbs_submit_command()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas cmd: DNLD_CMD:
> >> command 0x0028, seq 2, size 12
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> if_sdio_host_to_card(type 1, bytes 12)
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> if_sdio_host_to_card(), ret 0
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> lbs_submit_command()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> if_sdio_host_to_card_worker()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> if_sdio_host_to_card_worker()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> if_sdio_interrupt()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas sdio: interrupt:
> >> 0x2
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> if_sdio_interrupt(), ret 0
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> if_sdio_interrupt()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas sdio: interrupt:
> >> 0x1
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> if_sdio_card_to_host()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas sdio: packet of
> >> type 1 and size 16 bytes
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> if_sdio_handle_cmd()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> if_sdio_handle_cmd(), ret 0
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> if_sdio_card_to_host(), ret 0
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> if_sdio_interrupt(), ret 0
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> lbs_process_command_response()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas cmd: CMD_RESP:
> >> response 0x8028, seq 2, size 12
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> __lbs_cleanup_and_insert_cmd()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> __lbs_cleanup_and_insert_cmd()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> lbs_process_command_response(), ret 0
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas host:
> >> EXEC_NEXT_CMD: sending command 0x001d
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> lbs_submit_command()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas cmd: DNLD_CMD:
> >> command 0x001d, seq 3, size 48
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> if_sdio_host_to_card(type 1, bytes 48)
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> if_sdio_host_to_card(), ret 0
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> lbs_submit_command()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> if_sdio_host_to_card_worker()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> if_sdio_host_to_card_worker()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> if_sdio_interrupt()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas sdio: interrupt:
> >> 0x2
> >> Jan  1 00:03:44 mydevice user.debug kernel: rtas leave:
> >> if_sdio_interrupt(), ret 0
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> if_sdio_interrupt()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas sdio: interrupt:
> >> 0x1
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> if_sdio_card_to_host()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas sdio: packet of
> >> type 1 and size 52 bytes
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> if_sdio_handle_cmd()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> if_sdio_handle_cmd(), ret 0
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> if_sdio_card_to_host(), ret 0
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> if_sdio_interrupt(), ret 0
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> lbs_process_command_response()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas cmd: CMD_RESP:
> >> response 0x801d, seq 3, size 48
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> lbs_process_command_response(), ret 0
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> __lbs_cleanup_and_insert_cmd()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> __lbs_cleanup_and_insert_cmd()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> __lbs_cmd(), ret 0
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas cmd: current
> >> radio channel is 1
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> lbs_get_channel(), ret 1
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> lbs_update_channel(), ret 0
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas cmd: mesh config
> >> action 1 type 223 channel 1 SSID mesh
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> lbs_mesh_config_send()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> __lbs_cmd()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> __lbs_cmd_async()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> lbs_get_cmd_ctrl_node()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> lbs_get_cmd_ctrl_node()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas host: PREP_CMD:
> >> command 0x00a3
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> lbs_queue_cmd()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas host: QUEUE_CMD:
> >> inserted command 0x00a3 into cmdpendingq
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> lbs_queue_cmd()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> __lbs_cmd_async(), ret c3ab3e6c
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas host:
> >> EXEC_NEXT_CMD: sending command 0x00a3
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> lbs_submit_command()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas cmd: DNLD_CMD:
> >> command 0x00a3, seq 4, size 144
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> if_sdio_host_to_card(type 1, bytes 144)
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> if_sdio_host_to_card(), ret 0
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> lbs_submit_command()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> if_sdio_host_to_card_worker()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> if_sdio_host_to_card_worker()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> if_sdio_interrupt()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas sdio: interrupt:
> >> 0x2
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> if_sdio_interrupt(), ret 0
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> if_sdio_interrupt()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas sdio: interrupt:
> >> 0x1
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> if_sdio_card_to_host()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas sdio: packet of
> >> type 1 and size 148 bytes
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> if_sdio_handle_cmd()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> if_sdio_handle_cmd(), ret 0
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> if_sdio_card_to_host(), ret 0
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> if_sdio_interrupt(), ret 0
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> lbs_process_command_response()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas cmd: CMD_RESP:
> >> response 0x80a3, seq 4, size 144
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas host: CMD_RESP:
> >> error 0x0002 in command reply 0x80a3
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> lbs_process_command_response(), ret -1
> >> Jan  1 00:03:44 mydevice user.info kernel: libertas: PREP_CMD:  
> >> command
> >> 0x00a3 failed: 2
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> __lbs_cleanup_and_insert_cmd()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> __lbs_cleanup_and_insert_cmd()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> __lbs_cmd(), ret 2
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> lbs_mesh_config_send()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas cmd: mesh config
> >> action 1 type 125 channel 1 SSID mesh
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> lbs_mesh_config_send()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> __lbs_cmd()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> __lbs_cmd_async()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> lbs_get_cmd_ctrl_node()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> lbs_get_cmd_ctrl_node()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas host: PREP_CMD:
> >> command 0x00a3
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> lbs_queue_cmd()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas host: QUEUE_CMD:
> >> inserted command 0x00a3 into cmdpendingq
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> lbs_queue_cmd()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> __lbs_cmd_async(), ret c3ab3e90
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas host:
> >> EXEC_NEXT_CMD: sending command 0x00a3
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> lbs_submit_command()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas cmd: DNLD_CMD:
> >> command 0x00a3, seq 5, size 144
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> if_sdio_host_to_card(type 1, bytes 144)
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> if_sdio_host_to_card(), ret 0
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> lbs_submit_command()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> if_sdio_host_to_card_worker()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> if_sdio_host_to_card_worker()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> if_sdio_interrupt()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas sdio: interrupt:
> >> 0x2
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> if_sdio_interrupt(), ret 0
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> if_sdio_interrupt()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas sdio: interrupt:
> >> 0x1
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> if_sdio_card_to_host()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas sdio: packet of
> >> type 1 and size 148 bytes
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> if_sdio_handle_cmd()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> if_sdio_handle_cmd(), ret 0
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> if_sdio_card_to_host(), ret 0
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> if_sdio_interrupt(), ret 0
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> lbs_process_command_response()
> >> Jan  1 00:03:44 mydevice user.debug kernel:  response 0x80a3, seq 5,
> >> size 144
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas host: CMD_RESP:
> >> error 0x0002 in command reply 0x80a3
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> lbs_process_command_response(), ret -1
> >> Jan  1 00:03:44 mydevice user.info kernel: libertas: PREP_CMD:  
> >> command
> >> 0x00a3 failed: 2
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas enter:
> >> __lbs_cleanup_and_insert_cmd()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> __lbs_cleanup_and_insert_cmd()
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> __lbs_cmd(), ret 2
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> lbs_mesh_config_send()
> >> Jan  1 00:03:44 mydevice user.info kernel: libertas: eth1: Marvell
> >> WLAN 802.11 adapter
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> lbs_start_card(), ret 0
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> if_sdio_probe(), ret 0
> >> Jan  1 00:03:44 mydevice user.debug kernel: libertas leave:
> >> if_sdio_init_module(), ret 0
> >>
> >> ### ifconfig eth1 up
> >> Jan  1 00:05:09 mydevice user.debug kernel: libertas enter:
> >> lbs_cmd_async()
> >> Jan  1 00:05:09 mydevice user.debug kernel: libertas enter:
> >> __lbs_cmd_async()
> >> Jan  1 00:05:09 mydevice user.debug kernel: libertas enter:
> >> lbs_get_cmd_ctrl_node()
> >> Jan  1 00:05:09 mydevice user.debug kernel: libertas leave:
> >> lbs_get_cmd_ctrl_node()
> >> Jan  1 00:05:09 mydevice user.debug kernel: libertas host: PREP_CMD:
> >> command 0x0010
> >> Jan  1 00:05:09 mydevice user.debug kernel: libertas enter:
> >> lbs_queue_cmd()
> >> Jan  1 00:05:09 mydevice user.debug kernel: libertas host: QUEUE_CMD:
> >> inserted command 0x0010 into cmdpendingq
> >> Jan  1 00:05:09 mydevice user.debug kernel: libertas leave:
> >> lbs_queue_cmd()
> >> Jan  1 00:05:09 mydevice user.debug kernel: libertas leave:
> >> __lbs_cmd_async(), ret c3ab3eb4
> >> Jan  1 00:05:09 mydevice user.debug kernel: libertas leave:
> >> lbs_cmd_async()
> >> Jan  1 00:05:09 mydevice user.debug kernel: libertas enter:
> >> lbs_set_mac_control()
> >> Jan  1 00:05:09 mydevice user.debug kernel: libertas enter:
> >> lbs_cmd_async()
> >> Jan  1 00:05:09 mydevice user.debug kernel: libertas enter:
> >> __lbs_cmd_async()
> >> Jan  1 00:05:09 mydevice user.debug kernel: libertas enter:
> >> lbs_get_cmd_ctrl_node()
> >> Jan  1 00:05:09 mydevice user.debug kernel: libertas leave:
> >> lbs_get_cmd_ctrl_node()
> >> Jan  1 00:05:09 mydevice user.debug kernel: libertas host: PREP_CMD:
> >> command 0x0028
> >> Jan  1 00:05:09 mydevice user.debug kernel: libertas enter:
> >> lbs_queue_cmd()
> >> Jan  1 00:05:09 mydevice user.debug kernel: libertas host: QUEUE_CMD:
> >> inserted command 0x0028 into cmdpendingq
> >> Jan  1 00:05:09 mydevice user.debug kernel: libertas leave:
> >> lbs_queue_cmd()
> >> Jan  1 00:05:09 mydevice user.debug kernel: libertas leave:
> >> __lbs_cmd_async(), ret c3ab3ed8
> >> Jan  1 00:05:09 mydevice user.debug kernel: libertas leave:
> >> lbs_cmd_async()
> >> Jan  1 00:05:09 mydevice user.debug kernel: libertas leave:
> >> lbs_set_mac_control()
> >> Jan  1 00:05:09 mydevice user.debug kernel: libertas host:
> >> EXEC_NEXT_CMD: sending command 0x0010
> >> Jan  1 00:05:09 mydevice user.debug kernel: libertas enter:
> >> lbs_submit_command()
> >>
> >> ### udhcpc -H mydevice -i eth1
> >>
> >> _______________________________________________
> >> libertas-dev mailing list
> >> libertas-dev at lists.infradead.org
> >> http://lists.infradead.org/mailman/listinfo/libertas-dev
> >
> >
> > Update: Sorry, bad syslog config was the reason my logging stopped.
> > here's the output after starting udhcpc.
> >
> >  Jan  1 00:02:40 mydevice local0.info udhcpc[1239]: udhcpc (v1.2.1)
> > started
> > Jan  1 00:02:40 mydevice user.debug kernel: libertas enter:
> > lbs_cmd_async()
> > Jan  1 00:02:40 mydevice user.debug kernel: libertas enter:
> > __lbs_cmd_async()
> > Jan  1 00:02:40 mydevice user.debug kernel: libertas enter:
> > lbs_get_cmd_ctrl_node()
> > Jan  1 00:02:40 mydevice user.debug kernel: libertas leave:
> > lbs_get_cmd_ctrl_node()
> > Jan  1 00:02:40 mydevice user.debug kernel: libertas host: PREP_CMD:
> > command 0x0010
> > Jan  1 00:02:40 mydevice user.debug kernel: libertas enter:
> > lbs_queue_cmd()
> > Jan  1 00:02:40 mydevice user.debug kernel: libertas host: QUEUE_CMD:
> > inserted command 0x0010 into cmdpendingq
> > Jan  1 00:02:40 mydevice user.debug kernel: libertas leave:
> > lbs_queue_cmd()
> > Jan  1 00:02:40 mydevice user.debug kernel: libertas leave:
> > __lbs_cmd_async(), ret c3adcab4
> > Jan  1 00:02:40 mydevice user.debug kernel: libertas leave:
> > lbs_cmd_async()
> > Jan  1 00:02:40 mydevice user.debug kernel: libertas host:
> > EXEC_NEXT_CMD: sending command 0x0010
> > Jan  1 00:02:40 mydevice user.debug kernel: libertas enter:
> > lbs_submit_command()
> > Jan  1 00:02:40 mydevice user.debug kernel: libertas cmd: DNLD_CMD:
> > command 0x0010, seq 16, size 18
> > Jan  1 00:02:40 mydevice user.debug kernel: libertas enter:
> > if_sdio_host_to_card(type 1, bytes 18)
> > Jan  1 00:02:40 mydevice user.debug kernel: libertas leave:
> > if_sdio_host_to_card(), ret 0
> > Jan  1 00:02:40 mydevice user.debug kernel: libertas leave:
> > lbs_submit_command()
> > Jan  1 00:02:40 mydevice user.debug kernel: libertas enter:
> > if_sdio_host_to_card_worker()
> > Jan  1 00:02:40 mydevice user.debug kernel: libertas leave:
> > if_sdio_host_to_card_worker()
> > Jan  1 00:02:40 mydevice user.debug kernel: libertas enter:
> > if_sdio_interrupt()
> > Jan  1 00:02:40 mydevice user.debug kernel: libertas sdio: interrupt:
> > 0x2
> > Jan  1 00:02:40 mydevice user.debug kernel: libertas leave:
> > if_sdio_interrupt(), ret 0
> > Jan  1 00:02:40 mydevice user.debug kernel: libertas enter:
> > if_sdio_interrupt()
> > Jan  1 00:02:40 mydevice user.debug kernel: libertas sdio: interrupt:
> > 0x1
> > Jan  1 00:02:40 mydevice user.debug kernel: libertas enter:
> > if_sdio_card_to_host()
> > Jan  1 00:02:40 mydevice user.debug kernel: libertas sdio: packet of
> > type 1 and size 22 bytes
> > Jan  1 00:02:40 mydevice user.debug kernel: libertas enter:
> > if_sdio_handle_cmd()
> > Jan  1 00:02:40 mydevice user.debug kernel: libertas leave:
> > if_sdio_handle_cmd(), ret 0
> > Jan  1 00:02:40 mydevice user.debug kernel: libertas leave:
> > if_sdio_card_to_host(), ret 0
> > Jan  1 00:02:40 mydevice user.debug kernel: libertas leave:
> > if_sdio_interrupt(), ret 0
> > Jan  1 00:02:40 mydevice user.debug kernel: libertas enter:
> > lbs_process_command_response()
> > Jan  1 00:02:40 mydevice user.debug kernel: libertas cmd: CMD_RESP:
> > response 0x8010, seq 16, size 18
> > Jan  1 00:02:40 mydevice user.debug kernel: libertas enter:
> > __lbs_cleanup_and_insert_cmd()
> > Jan  1 00:02:40 mydevice user.debug kernel: libertas leave:
> > __lbs_cleanup_and_insert_cmd()
> > Jan  1 00:02:40 mydevice user.debug kernel: libertas leave:
> > lbs_process_command_response(), ret 0
> > Jan  1 00:02:40 mydevice local0.debug udhcpc[1239]: Sending  
> > discover...
> > Jan  1 00:02:40 mydevice user.debug kernel: libertas enter:
> > if_sdio_host_to_card(type 0, bytes 614)
> > Jan  1 00:02:40 mydevice user.debug kernel: libertas leave:
> > if_sdio_host_to_card(), ret 0
> > Jan  1 00:02:40 mydevice user.debug kernel: libertas enter:
> > if_sdio_host_to_card_worker()
> > Jan  1 00:02:40 mydevice user.debug kernel: libertas leave:
> > if_sdio_host_to_card_worker()
> > Jan  1 00:02:43 mydevice local0.debug udhcpc[1239]: Sending  
> > discover...
> > Jan  1 00:02:46 mydevice local0.debug udhcpc[1239]: Sending  
> > discover...
> > Jan  1 00:02:53 mydevice user.warn kernel: ------------[ cut
> > here ]------------
> > Jan  1 00:02:53 mydevice local0.debug udhcpc[1239]: Sending select for
> > 192.168.5.128...
> > Jan  1 00:02:53 mydevice user.warn kernel: WARNING: at net/sched/
> > sch_generic.c:219 dev_watchdog+0x154/0x240()
> > Jan  1 00:02:53 mydevice user.info kernel: NETDEV WATCHDOG: eth1
> > (libertas_sdio): transmit timed out
> > Jan  1 00:02:53 mydevice user.warn kernel: Modules linked in:
> > libertas_sdio libertas at91_mci [last unloaded: libertas]
> > Jan  1 00:02:53 mydevice user.warn kernel: [<c0026f9c>] (dump_stack
> > +0x0/0x14) from [<c0039274>] (warn_slowpath+0x64/0x80)
> > Jan  1 00:02:53 mydevice user.warn kernel: [<c0039210>] (warn_slowpath
> > +0x0/0x80) from [<c018f178>] (dev_watchdog+0x154/0x240)
> > Jan  1 00:02:53 mydevice user.warn kernel:  r3:c3a10000 r2:c0266b29
> > Jan  1 00:02:53 mydevice user.warn kernel:  r6:c018f024 r5:c3a10000
> > r4:c02b3ab4
> > Jan  1 00:02:53 mydevice user.warn kernel: [<c018f024>] (dev_watchdog
> > +0x0/0x240) from [<c004248c>] (run_timer_softirq+0x150/0x1e8)
> > Jan  1 00:02:53 mydevice user.warn kernel:  r6:c018f024 r5:00000100
> > r4:c02a0180
> > Jan  1 00:02:53 mydevice user.warn kernel: [<c004233c>]
> > (run_timer_softirq+0x0/0x1e8) from [<c003df54>] (__do_softirq 
> > +0x60/0xc8)
> > Jan  1 00:02:53 mydevice user.warn kernel:  r7:c0285c90 r6:0000000a
> > r5:c029ff84 r4:00000001
> > Jan  1 00:02:53 mydevice user.warn kernel: [<c003def4>] (__do_softirq
> > +0x0/0xc8) from [<c003e2a4>] (irq_exit+0x48/0x50)
> > Jan  1 00:02:53 mydevice user.warn kernel:  r7:c0285c90 r6:00000000
> > r5:c0289ee4 r4:00000001
> > Jan  1 00:02:53 mydevice user.warn kernel: [<c003e25c>] (irq_exit
> > +0x0/0x50) from [<c0022054>] (__exception_text_start+0x54/0x6c)
> > Jan  1 00:02:53 mydevice user.warn kernel: [<c0022000>]
> > (__exception_text_start+0x0/0x6c) from [<c0022834>] (__irq_svc
> > +0x34/0x60)
> > Jan  1 00:02:53 mydevice user.warn kernel: Exception stack(0xc0283f50
> > to 0xc0283f98)
> > Jan  1 00:02:53 mydevice user.warn kernel:
> > 3f40:                                     00000000 0005317f 0005217f
> > 60000013
> > Jan  1 00:02:53 mydevice user.warn kernel: 3f60: c0024270 c0282000
> > c001fee8 c0285c90 2001da34 41069265 2001da00 c0283fa4
> > Jan  1 00:02:53 mydevice user.warn kernel: 3f80: 600000d3 c0283f98
> > c00242b8 c00242c4 60000013 ffffffff
> > Jan  1 00:02:53 mydevice user.warn kernel:  r7:c0285c90 r6:00000001
> > r5:fefff000 r4:ffffffff
> > Jan  1 00:02:53 mydevice user.warn kernel: [<c0024270>] (default_idle
> > +0x0/0x5c) from [<c002414c>] (cpu_idle+0x3c/0x58)
> > Jan  1 00:02:53 mydevice user.warn kernel: [<c0024110>] (cpu_idle
> > +0x0/0x58) from [<c01ff3cc>] (rest_init+0x58/0x6c)
> > Jan  1 00:02:53 mydevice user.warn kernel:  r5:c029a850 r4:c02a29c8
> > Jan  1 00:02:53 mydevice user.warn kernel: [<c01ff374>] (rest_init
> > +0x0/0x6c) from [<c0008bcc>] (start_kernel+0x288/0x2e0)
> > Jan  1 00:02:53 mydevice user.warn kernel: [<c0008944>] (start_kernel
> > +0x0/0x2e0) from [<20008034>] (0x20008034)
> > Jan  1 00:02:53 mydevice user.warn kernel:  r5:c029ad60 r4:00053175
> > Jan  1 00:02:53 mydevice user.warn kernel: ---[ end trace
> > bc8156f409d24c91 ]---
> > Jan  1 00:02:53 mydevice user.err kernel: libertas: tx watch dog  
> > timeout
> > Jan  1 00:02:53 mydevice user.debug kernel: libertas enter (INT):
> > lbs_prepare_and_send_command()
> > Jan  1 00:02:53 mydevice user.debug kernel: libertas enter (INT):
> > lbs_get_cmd_ctrl_node()
> > Jan  1 00:02:53 mydevice user.debug kernel: libertas leave (INT):
> > lbs_get_cmd_ctrl_node()
> > Jan  1 00:02:53 mydevice user.debug kernel: libertas host (INT):
> > PREP_CMD: command 0x001f
> > Jan  1 00:02:53 mydevice user.debug kernel: libertas enter (INT):
> > lbs_cmd_802_11_rssi()
> > Jan  1 00:02:53 mydevice user.debug kernel: libertas leave (INT):
> > lbs_cmd_802_11_rssi()
> > Jan  1 00:02:53 mydevice user.debug kernel: libertas enter (INT):
> > lbs_queue_cmd()
> > Jan  1 00:02:53 mydevice user.debug kernel: libertas host (INT):
> > QUEUE_CMD: inserted command 0x001f into cmdpendingq
> > Jan  1 00:02:53 mydevice user.debug kernel: libertas leave (INT):
> > lbs_queue_cmd()
> > Jan  1 00:02:53 mydevice user.debug kernel: libertas leave (INT):
> > lbs_prepare_and_send_command(), ret 0
> > Jan  1 00:02:53 mydevice user.debug kernel: libertas host:
> > EXEC_NEXT_CMD: OK to send command 0x001f in psstate 0
> > Jan  1 00:02:53 mydevice user.debug kernel: libertas host:
> > EXEC_NEXT_CMD: sending command 0x001f
> > Jan  1 00:02:53 mydevice user.debug kernel: libertas enter:
> > lbs_submit_command()
> > Jan  1 00:02:53 mydevice user.debug kernel: libertas cmd: DNLD_CMD:
> > command 0x001f, seq 17, size 16
> > Jan  1 00:02:53 mydevice user.debug kernel: libertas enter:
> > if_sdio_host_to_card(type 1, bytes 16)
> > Jan  1 00:02:53 mydevice user.debug kernel: libertas leave:
> > if_sdio_host_to_card(), ret 0
> > Jan  1 00:02:53 mydevice user.debug kernel: libertas leave:
> > lbs_submit_command()
> > Jan  1 00:02:53 mydevice user.debug kernel: libertas enter:
> > if_sdio_host_to_card_worker()
> > Jan  1 00:02:53 mydevice user.debug kernel: libertas leave:
> > if_sdio_host_to_card_worker()
> > Jan  1 00:02:53 mydevice user.debug kernel: libertas enter:
> > if_sdio_interrupt()
> > Jan  1 00:02:53 mydevice user.debug kernel: libertas sdio: interrupt:
> > 0x3
> > Jan  1 00:02:53 mydevice user.debug kernel: libertas enter:
> > if_sdio_card_to_host()
> > Jan  1 00:02:53 mydevice user.debug kernel: libertas enter:
> > if_sdio_host_to_card(type 0, bytes 614)
> > Jan  1 00:02:53 mydevice user.debug kernel: libertas leave:
> > if_sdio_host_to_card(), ret 0
> > Jan  1 00:02:53 mydevice user.debug kernel: libertas sdio: packet of
> > type 0 and size 92 bytes
> > Jan  1 00:02:53 mydevice user.debug kernel: libertas enter:
> > if_sdio_handle_data()
> > Jan  1 00:02:53 mydevice user.debug kernel: libertas leave:
> > if_sdio_handle_data(), ret 0
> > Jan  1 00:02:53 mydevice user.debug kernel: libertas leave:
> > if_sdio_card_to_host(), ret 0
> > Jan  1 00:02:53 mydevice user.debug kernel: libertas leave:
> > if_sdio_interrupt(), ret 0
> > Jan  1 00:02:53 mydevice user.debug kernel: libertas enter:
> > if_sdio_interrupt()
> > Jan  1 00:02:53 mydevice user.debug kernel: libertas sdio: interrupt:
> > 0x1
> > Jan  1 00:02:53 mydevice user.debug kernel: libertas enter:
> > if_sdio_card_to_host()
> > Jan  1 00:02:53 mydevice user.debug kernel: libertas sdio: packet of
> > type 1 and size 20 bytes
> > Jan  1 00:02:53 mydevice user.debug kernel: libertas enter:
> > if_sdio_handle_cmd()
> > Jan  1 00:02:53 mydevice user.debug kernel: libertas leave:
> > if_sdio_handle_cmd(), ret 0
> > Jan  1 00:02:53 mydevice user.debug kernel: libertas leave:
> > if_sdio_card_to_host(), ret 0
> > Jan  1 00:02:53 mydevice user.debug kernel: libertas leave:
> > if_sdio_interrupt(), ret 0
> > Jan  1 00:02:53 mydevice user.debug kernel: libertas enter:
> > if_sdio_interrupt()
> > Jan  1 00:02:53 mydevice user.debug kernel: libertas sdio: interrupt:
> > 0x1
> > Jan  1 00:02:53 mydevice user.debug kernel: libertas enter:
> > if_sdio_card_to_host()
> > Jan  1 00:02:53 mydevice user.debug kernel: libertas enter:
> > lbs_process_command_response()
> > Jan  1 00:02:53 mydevice user.debug kernel: libertas cmd: CMD_RESP:
> > response 0x801f, seq 17, size 16
> > Jan  1 00:02:53 mydevice user.debug kernel: libertas enter:
> > handle_cmd_response()
> > Jan  1 00:02:53 mydevice user.debug kernel: libertas enter:
> > lbs_ret_802_11_rssi()
> > Jan  1 00:02:53 mydevice user.debug kernel: libertas cmd: RSSI: beacon
> > 201, avg 0
> > Jan  1 00:02:53 mydevice user.debug kernel: libertas leave:
> > lbs_ret_802_11_rssi()
> > Jan  1 00:02:53 mydevice user.debug kernel: libertas leave:
> > handle_cmd_response()
> > Jan  1 00:02:53 mydevice user.debug kernel: libertas enter:
> > __lbs_cleanup_and_insert_cmd()
> > Jan  1 00:02:53 mydevice user.debug kernel: libertas leave:
> > __lbs_cleanup_and_insert_cmd()
> > Jan  1 00:02:53 mydevice user.debug kernel: libertas leave:
> > lbs_process_command_response(), ret 0
> > Jan  1 00:02:53 mydevice user.debug kernel: libertas sdio: packet of
> > type 0 and size 622 bytes
> > Jan  1 00:02:53 mydevice user.debug kernel: libertas enter:
> > if_sdio_handle_data()
> > Jan  1 00:02:53 mydevice user.debug kernel: libertas leave:
> > if_sdio_handle_data(), ret 0
> > Jan  1 00:02:53 mydevice user.debug kernel: libertas leave:
> > if_sdio_card_to_host(), ret 0
> > Jan  1 00:02:53 mydevice user.debug kernel: libertas leave:
> > if_sdio_interrupt(), ret 0
> > Jan  1 00:02:53 mydevice user.debug kernel: libertas enter:
> > if_sdio_host_to_card_worker()
> > Jan  1 00:02:53 mydevice user.debug kernel: libertas leave:
> > if_sdio_host_to_card_worker()
> > Jan  1 00:02:55 mydevice local0.debug udhcpc[1239]: Sending select for
> > 192.168.5.128...
> > Jan  1 00:02:57 mydevice local0.debug udhcpc[1239]: Sending select for
> > 192.168.5.128...
> > Jan  1 00:03:03 mydevice user.err kernel: libertas: tx watch dog  
> > timeout
> >
> >
> >
> >
> >
> >
> > _______________________________________________
> > libertas-dev mailing list
> > libertas-dev at lists.infradead.org
> > http://lists.infradead.org/mailman/listinfo/libertas-dev
> 
> Everything seems to work well now after making changes found here: http://lists.arm.linux.org.uk/lurker/message/20080717.093402.16ba20d7.en.html 

Gah!  Hardware strikes again :)  Thanks for posting the "fix".

Dan





More information about the libertas-dev mailing list