This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

USB0 problem

Other Parts Discussed in Thread: OMAPL138

Hi,

I've been having a problem with my USB0 on my omapl138 board using the linux-omapl from the arago staging tree.

My USB0 (musb) driver is configured as host only. I can use USB mass storage sticks in both of USB0 and USB1 without any problems (did plenty of both reading and writing). I am trying to use USB Wi-Fi cards but so far they only work correctly when using USB1.

So far I tested 2 different models the D-Link DWA160A2 (AR9170) and the Linksys WUSB600N V2 (RT3572USB). I got each of them working with the full speed USB1, but the driver either crashes or stalls when using the hi speed USB0. The debug traces are listed further below for reference. I have tried the D-Link with a hawkboard I have here and I had the similar behavior. Unfortunately I don't have a EVM board anymore to test it on.

After doing some more tests, I have discovered that the cards work with USB0 but only if I disable the DMA using CONFIG_MUSB_PIO_ONLY.

I have found a report of 2 other users having problems with the musb and wi-fi chips: http://old.nabble.com/musb-crashes-under-load-td27211694.html

They seem to have problems relating to the load but in my case it seems more than this. The most I managed to do with DMA enabled was a 50% packet loss on pings before crashing. With DMA disabled I am able to download at close to 3MB/s.

Thanks
Marc

D-Link DWA160A2
usb 1-1: no command feedback received (-110).
Backtrace:
[<c002c730>] (dump_backtrace+0x0/0x114) from [<c034da28>] (dump_stack+0x18/0x1c)
r7:c1c0ca4c r6:ffffff92 r5:c1c0c8a0 r4:c1e36f00
[<c034da10>] (dump_stack+0x0/0x1c) from [<c01f83e8>]
(ar9170_usb_exec_cmd+0x1d0/

0x264)
[<c01f8218>] (ar9170_usb_exec_cmd+0x0/0x264) from [<c01fc118>]
(ar9170_set_qos+0x190/0x22c)
[<c01fbf88>] (ar9170_set_qos+0x0/0x22c) from [<c01f9070>]
(ar9170_conf_tx+0x58/0x70)
[<c01f9018>] (ar9170_conf_tx+0x0/0x70) from [<c0345080>]
(ieee80211_set_wmm_default+0x144/0x15c)
 r7:0000000e r6:00000000 r5:c1c0c1e0 r4:00000000
 [<c0344f3c>] (ieee80211_set_wmm_default+0x0/0x15c) from [<c0335bd8>]
(ieee80211_set_disassoc+0x124/0x230)
 r6:c1c0c1e0 r5:c1e12ae0 r4:00000000
 [<c0335ab4>] (ieee80211_set_disassoc+0x0/0x230) from [<c03388c0>]
(ieee80211_sta_work+0x9c4/0x13c8)
 r7:c1e12de0 r6:c1e12d84 r5:c1e62000 r4:c1e63eb8
 [<c0337efc>] (ieee80211_sta_work+0x0/0x13c8) from [<c004fd88>]
(worker_thread+0x194/0x25c)
 [<c004fbf4>] (worker_thread+0x0/0x25c) from [<c00536f0>] (kthread+0x88/0x90)
 [<c0053668>] (kthread+0x0/0x90) from [<c003fd3c>] (do_exit+0x0/0x6b4)
 r7:00000000 r6:00000000 r5:00000000 r4:00000000

Linksys WUSB600N V2 (These messages come from the ralink driver)
BulkIn IRP Pending!!!
BulkIn IRP Pending!!!
BulkIn IRP Pending!!!
BIRIdx(0): RXDMALen not multiple of 4.[16566], BulkInBufLen = 8364)
BulkIn IRP Pending!!!
BIRIdx(3): RXDMALen not multiple of 4.[2049], BulkInBufLen = 6912)
BulkIn IRP Pending!!!