SDIO and DHCP

Simon Twogood stwogood at siconix.com
Tue Dec 16 14:25:45 EST 2008


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



More information about the libertas-dev mailing list