Hi, I've got some problems with EHCI on an AMD Geode LX platform with the CS5536 companion: Some facts: - The problem only occurs when using EHCI with the USB-Ports from the CS5536. - When I rmmod the ehci-hcd and just use ohci, everything works well. - When I use EHCI with another USB 2.0 PCI-Controller on the same mainboard, everything works well. I can also reproduce this on 3 different mainboards from different manufacturers, which all use this same chipset. So this must have something to do with the CS5536 EHCI combination. I'm using linux-2.6.31.4, but have also tested linux-2.6.34.4 in openSUSE 11.3 with the same results. The USB devices I use are all 3G mPCIe Modules with USB 2.0 support from different Vendors. The one, with which I can reproduce the error the easiest way is a Sierra Wireless MC8790. I only start a simple perl script (using CPAN module Device::SerialPort), which does nothing else than open and close one serial port of the modem in an infinit loop. After a few seconds the script hangs and can't be killed any more. Only a reboot can fix it. Here are the DEBUG messages of ehci-hcd (with VERBOSE_DEBUG and EHCI_URB_TRACE enabled): ----------------------------------------------------------------------------------------------------------------------------------- ... Sep 17 11:27:09 C1500 kernel: ehci_hcd 0000:00:0f.5: submit_async 2 urb cd5bf9e0 ep0out len 0, qtd cfb162a0 [qh cfb17080] Sep 17 11:27:09 C1500 kernel: ehci_hcd 0000:00:0f.5: irq status 8009 Async FLR INT Sep 17 11:27:09 C1500 kernel: ehci_hcd 0000:00:0f.5: ehci_urb_done 2 urb cd5bf9e0 ep0out status 0 len 0/0 Sep 17 11:27:09 C1500 kernel: ehci_hcd 0000:00:0f.5: submit_async 2 urb cd5bf5e0 ep5in len 4096, qtd cfb16360 [qh cfb17100] Sep 17 11:27:09 C1500 kernel: ehci_hcd 0000:00:0f.5: submit_async 2 urb cd5bf660 ep5in len 4096, qtd cfb16060 [qh cfb17100] Sep 17 11:27:09 C1500 kernel: ehci_hcd 0000:00:0f.5: submit_async 2 urb cd5bf6e0 ep5in len 4096, qtd cfb16480 [qh cfb17100] Sep 17 11:27:09 C1500 kernel: ehci_hcd 0000:00:0f.5: submit_async 2 urb cd5bf760 ep5in len 4096, qtd cfb164e0 [qh cfb17100] Sep 17 11:27:09 C1500 kernel: ehci_hcd 0000:00:0f.5: submit_async 2 urb cd5bf7e0 ep5in len 4096, qtd cfb163c0 [qh cfb17100] Sep 17 11:27:09 C1500 kernel: ehci_hcd 0000:00:0f.5: submit_async 2 urb cd5bf860 ep5in len 4096, qtd cfb16300 [qh cfb17100] Sep 17 11:27:09 C1500 kernel: ehci_hcd 0000:00:0f.5: submit_async 2 urb cd5bf8e0 ep5in len 4096, qtd cfb165a0 [qh cfb17100] Sep 17 11:27:09 C1500 kernel: ehci_hcd 0000:00:0f.5: submit_async 2 urb cd441920 ep5in len 4096, qtd cfb16420 [qh cfb17100] Sep 17 11:27:09 C1500 kernel: ehci_hcd 0000:00:0f.5: reused qh cfb17180 schedule Sep 17 11:27:09 C1500 kernel: usb 1-2: link qh2-0001/cfb17180 start 1 [2/0 us] Sep 17 11:27:09 C1500 kernel: ehci_hcd 0000:00:0f.5: submit_async 2 urb cd5bf9e0 ep0out len 0, qtd cfb161e0 [qh cfb17080] Sep 17 11:27:09 C1500 kernel: ehci_hcd 0000:00:0f.5: irq status 8009 Async FLR INT Sep 17 11:27:09 C1500 kernel: ehci_hcd 0000:00:0f.5: ehci_urb_done 2 urb cd5bf9e0 ep0in status 0 len 0/0 Sep 17 11:27:09 C1500 kernel: ehci_hcd 0000:00:0f.5: irq status e009 Async Periodic Recl FLR INT Sep 17 11:27:09 C1500 kernel: ehci_hcd 0000:00:0f.5: ehci_urb_done 2 urb cfb4bb20 ep4in status 0 len 10/64 Sep 17 11:27:09 C1500 kernel: ehci_hcd 0000:00:0f.5: submit_async 2 urb cd5bf9e0 ep0out len 0, qtd cfb16180 [qh cfb17080] Sep 17 11:27:09 C1500 kernel: ehci_hcd 0000:00:0f.5: irq status e009 Async Periodic Recl FLR INT Sep 17 11:27:09 C1500 kernel: ehci_hcd 0000:00:0f.5: ehci_urb_done 2 urb cd5bf9e0 ep0in status 0 len 0/0 Sep 17 11:27:09 C1500 kernel: ehci_hcd 0000:00:0f.5: irq status e009 Async Periodic Recl FLR INT Sep 17 11:27:09 C1500 kernel: ehci_hcd 0000:00:0f.5: ehci_urb_done 2 urb cfb4bb20 ep4in status 0 len 10/64 Sep 17 11:27:09 C1500 kernel: ehci_hcd 0000:00:0f.5: irq status c028 Async Periodic IAA FLR Sep 17 11:27:09 C1500 kernel: ehci_hcd 0000:00:0f.5: submit_async 2 urb cd5bf9e0 ep0out len 0, qtd cfb16540 [qh cfb17080] Sep 17 11:27:09 C1500 kernel: ehci_hcd 0000:00:0f.5: irq status e009 Async Periodic Recl FLR INT Sep 17 11:27:09 C1500 kernel: ehci_hcd 0000:00:0f.5: ehci_urb_done 2 urb cd5bf9e0 ep0in status 0 len 0/0 Sep 17 11:27:09 C1500 kernel: ehci_hcd 0000:00:0f.5: irq status e009 Async Periodic Recl FLR INT Sep 17 11:27:09 C1500 kernel: ehci_hcd 0000:00:0f.5: ehci_urb_done 2 urb cfb4bb20 ep4in status 0 len 10/64 Sep 17 11:27:09 C1500 kernel: ehci_hcd 0000:00:0f.5: irq status e028 Async Periodic Recl IAA FLR Sep 17 11:27:09 C1500 kernel: ehci_hcd 0000:00:0f.5: submit_async 2 urb cd5bf9e0 ep0out len 0, qtd cfb160c0 [qh cfb17080] Sep 17 11:27:09 C1500 kernel: ehci_hcd 0000:00:0f.5: irq status c009 Async Periodic FLR INT Sep 17 11:27:09 C1500 kernel: ehci_hcd 0000:00:0f.5: ehci_urb_done 2 urb cd5bf9e0 ep0in status 0 len 0/0 Sep 17 11:27:09 C1500 kernel: ehci_hcd 0000:00:0f.5: irq status c028 Async Periodic IAA FLR Sep 17 11:27:09 C1500 kernel: ehci_hcd 0000:00:0f.5: ehci_urb_done 2 urb cd5bf5e0 ep5in status -115 len 0/4096 Sep 17 11:27:09 C1500 kernel: ehci_hcd 0000:00:0f.5: irq status c028 Async Periodic IAA FLR Sep 17 11:27:09 C1500 kernel: ehci_hcd 0000:00:0f.5: ehci_urb_done 2 urb cd5bf660 ep5in status -115 len 0/4096 Sep 17 11:27:09 C1500 kernel: ehci_hcd 0000:00:0f.5: irq status c028 Async Periodic IAA FLR Sep 17 11:27:09 C1500 kernel: ehci_hcd 0000:00:0f.5: ehci_urb_done 2 urb cd5bf6e0 ep5in status -115 len 0/4096 Sep 17 11:27:09 C1500 kernel: ehci_hcd 0000:00:0f.5: irq status c028 Async Periodic IAA FLR Sep 17 11:27:09 C1500 kernel: ehci_hcd 0000:00:0f.5: ehci_urb_done 2 urb cd5bf760 ep5in status -115 len 0/4096 Sep 17 11:27:09 C1500 kernel: ehci_hcd 0000:00:0f.5: irq status e028 Async Periodic Recl IAA FLR Sep 17 11:27:09 C1500 kernel: ehci_hcd 0000:00:0f.5: irq status c028 Async Periodic IAA FLR Sep 17 11:27:09 C1500 kernel: ehci_hcd 0000:00:0f.5: ehci_urb_done 2 urb cd5bf7e0 ep5in status -115 len 0/4096 Sep 17 11:27:09 C1500 kernel: ehci_hcd 0000:00:0f.5: irq status c028 Async Periodic IAA FLR Sep 17 11:27:09 C1500 kernel: ehci_hcd 0000:00:0f.5: ehci_urb_done 2 urb cd5bf860 ep5in status -115 len 0/4096 Sep 17 11:27:09 C1500 kernel: ehci_hcd 0000:00:0f.5: irq status c028 Async Periodic IAA FLR Sep 17 11:27:09 C1500 kernel: ehci_hcd 0000:00:0f.5: ehci_urb_done 2 urb cd5bf8e0 ep5in status -115 len 0/4096 Sep 17 11:27:09 C1500 kernel: ehci_hcd 0000:00:0f.5: irq status c028 Async Periodic IAA FLR Sep 17 11:27:09 C1500 kernel: ehci_hcd 0000:00:0f.5: ehci_urb_done 2 urb cd441920 ep5in status -115 len 0/4096 Sep 17 11:27:09 C1500 kernel: usb 1-2: unlink qh2-0001/cfb17180 start 1 [2/0 us] Sep 17 11:27:09 C1500 kernel: ehci_hcd 0000:00:0f.5: ehci_urb_done 2 urb cfb4bb20 ep4in status -115 len 0/64 Sep 17 11:27:09 C1500 kernel: ehci_hcd 0000:00:0f.5: submit_async 2 urb cd441920 ep0out len 0, qtd cfb162a0 [qh cfb17080] Sep 17 11:27:13 C1500 kernel: ehci_hcd 0000:00:0f.5: IAA watchdog: status c008 cmd 10069 Sep 17 11:27:13 C1500 kernel: ehci_hcd 0000:00:0f.5: ehci_urb_done 2 urb cd441920 ep0in status -115 len 0/0 Sep 17 11:27:13 C1500 kernel: usb 1-2: test.pl timed out on ep0out len=0/0 Sep 17 11:27:13 C1500 kernel: ehci_hcd 0000:00:0f.5: submit_async 2 urb cd5bf9e0 ep0out len 0, qtd cfb165a0 [qh cfb17080] Sep 17 11:27:18 C1500 kernel: ehci_hcd 0000:00:0f.5: IAA watchdog: status c008 cmd 10069 Sep 17 11:27:18 C1500 kernel: ehci_hcd 0000:00:0f.5: ehci_urb_done 2 urb cd5bf9e0 ep0out status -115 len 0/0 Sep 17 11:27:18 C1500 kernel: usb 1-2: test.pl timed out on ep0out len=0/0 Sep 17 11:27:18 C1500 kernel: ehci_hcd 0000:00:0f.5: submit_async 2 urb cd441920 ep5in len 4096, qtd cfb160c0 [qh cfb17100] Sep 17 11:27:18 C1500 kernel: ehci_hcd 0000:00:0f.5: submit_async 2 urb cd5bf8e0 ep5in len 4096, qtd cfb162a0 [qh cfb17100] Sep 17 11:27:18 C1500 kernel: ehci_hcd 0000:00:0f.5: submit_async 2 urb cd5bf860 ep5in len 4096, qtd cfb16300 [qh cfb17100] Sep 17 11:27:18 C1500 kernel: ehci_hcd 0000:00:0f.5: submit_async 2 urb cd5bf7e0 ep5in len 4096, qtd cfb163c0 [qh cfb17100] Sep 17 11:27:18 C1500 kernel: ehci_hcd 0000:00:0f.5: submit_async 2 urb cd5bf760 ep5in len 4096, qtd cfb164e0 [qh cfb17100] Sep 17 11:27:18 C1500 kernel: ehci_hcd 0000:00:0f.5: submit_async 2 urb cd5bf6e0 ep5in len 4096, qtd cfb16480 [qh cfb17100] Sep 17 11:27:18 C1500 kernel: ehci_hcd 0000:00:0f.5: submit_async 2 urb cd5bf660 ep5in len 4096, qtd cfb16060 [qh cfb17100] Sep 17 11:27:18 C1500 kernel: ehci_hcd 0000:00:0f.5: submit_async 2 urb cd5bf5e0 ep5in len 4096, qtd cfb16360 [qh cfb17100] Sep 17 11:27:18 C1500 kernel: ehci_hcd 0000:00:0f.5: reused qh cfb17180 schedule Sep 17 11:27:18 C1500 kernel: usb 1-2: link qh2-0001/cfb17180 start 1 [2/0 us] Sep 17 11:27:18 C1500 kernel: ehci_hcd 0000:00:0f.5: force halt; handhake d0a0e014 00004000 00000000 -> -110 Sep 17 11:27:18 C1500 kernel: sierra ttyUSB3: sierra_submit_rx_urbs: submit intr urb failed: -110 Sep 17 11:27:18 C1500 kernel: ehci_hcd 0000:00:0f.5: submit_async 2 urb cd5bf9e0 ep0out len 0, qtd cfb16240 [qh cfb17080] Sep 17 11:27:18 C1500 kernel: ehci_hcd 0000:00:0f.5: submit_async 2 urb cd5bf9e0 ep0out len 0, qtd cfb16180 [qh cfb17080] Sep 17 11:27:18 C1500 kernel: ehci_hcd 0000:00:0f.5: submit_async 2 urb cd5bf9e0 ep0out len 0, qtd cfb16240 [qh cfb17080] Sep 17 11:27:18 C1500 kernel: ehci_hcd 0000:00:0f.5: submit_async 2 urb cd5bf9e0 ep0out len 0, qtd cfb16180 [qh cfb17080] Sep 17 11:27:18 C1500 kernel: ehci_hcd 0000:00:0f.5: ehci_urb_done 2 urb cd441920 ep5in status -108 len 0/4096 Sep 17 11:27:18 C1500 kernel: ehci_hcd 0000:00:0f.5: ehci_urb_done 2 urb cd5bf8e0 ep5in status -108 len 0/4096 Sep 17 11:27:18 C1500 kernel: ehci_hcd 0000:00:0f.5: ehci_urb_done 2 urb cd5bf860 ep5in status -108 len 0/4096 Sep 17 11:27:18 C1500 kernel: ehci_hcd 0000:00:0f.5: ehci_urb_done 2 urb cd5bf7e0 ep5in status -108 len 0/4096 Sep 17 11:27:18 C1500 kernel: ehci_hcd 0000:00:0f.5: ehci_urb_done 2 urb cd5bf760 ep5in status -108 len 0/4096 Sep 17 11:27:18 C1500 kernel: ehci_hcd 0000:00:0f.5: ehci_urb_done 2 urb cd5bf6e0 ep5in status -108 len 0/4096 Sep 17 11:27:18 C1500 kernel: ehci_hcd 0000:00:0f.5: ehci_urb_done 2 urb cd5bf660 ep5in status -108 len 0/4096 Sep 17 11:27:18 C1500 kernel: ehci_hcd 0000:00:0f.5: ehci_urb_done 2 urb cd5bf5e0 ep5in status -108 len 0/4096 Sep 17 11:27:18 C1500 kernel: ehci_hcd 0000:00:0f.5: submit_async 2 urb cd5bf5e0 ep0out len 0, qtd cfb16060 [qh cfb17080] Sep 17 11:27:18 C1500 kernel: ehci_hcd 0000:00:0f.5: submit_async 2 urb cd5bf9e0 ep0out len 0, qtd cfb16480 [qh cfb17080] Sep 17 11:27:18 C1500 kernel: ehci_hcd 0000:00:0f.5: submit_async 2 urb cd5bf5e0 ep5in len 4096, qtd cfb16060 [qh cfb17100] Sep 17 11:27:18 C1500 kernel: sierra ttyUSB3: sierra_submit_rx_urbs: submit urb failed: -108 Sep 17 11:27:18 C1500 kernel: ehci_hcd 0000:00:0f.5: submit_async 2 urb cd5bf660 ep5in len 4096, qtd cfb16060 [qh cfb17100] Sep 17 11:27:18 C1500 kernel: sierra ttyUSB3: sierra_submit_rx_urbs: submit urb failed: -108 Sep 17 11:27:18 C1500 kernel: ehci_hcd 0000:00:0f.5: submit_async 2 urb cd5bf6e0 ep5in len 4096, qtd cfb16060 [qh cfb17100] Sep 17 11:27:18 C1500 kernel: sierra ttyUSB3: sierra_submit_rx_urbs: submit urb failed: -108 Sep 17 11:27:18 C1500 kernel: ehci_hcd 0000:00:0f.5: submit_async 2 urb cd5bf760 ep5in len 4096, qtd cfb16060 [qh cfb17100] Sep 17 11:27:18 C1500 kernel: sierra ttyUSB3: sierra_submit_rx_urbs: submit urb failed: -108 Sep 17 11:27:18 C1500 kernel: ehci_hcd 0000:00:0f.5: submit_async 2 urb cd5bf7e0 ep5in len 4096, qtd cfb16060 [qh cfb17100] Sep 17 11:27:18 C1500 kernel: sierra ttyUSB3: sierra_submit_rx_urbs: submit urb failed: -108 Sep 17 11:27:18 C1500 kernel: ehci_hcd 0000:00:0f.5: submit_async 2 urb cd5bf860 ep5in len 4096, qtd cfb16060 [qh cfb17100] Sep 17 11:27:18 C1500 kernel: sierra ttyUSB3: sierra_submit_rx_urbs: submit urb failed: -108 Sep 17 11:27:18 C1500 kernel: ehci_hcd 0000:00:0f.5: submit_async 2 urb cd5bf8e0 ep5in len 4096, qtd cfb16060 [qh cfb17100] Sep 17 11:27:18 C1500 kernel: sierra ttyUSB3: sierra_submit_rx_urbs: submit urb failed: -108 Sep 17 11:27:18 C1500 kernel: ehci_hcd 0000:00:0f.5: submit_async 2 urb cd441920 ep5in len 4096, qtd cfb16060 [qh cfb17100] Sep 17 11:27:18 C1500 kernel: sierra ttyUSB3: sierra_submit_rx_urbs: submit urb failed: -108 ----------------------------------------------------------------------------------------------------------------------------------- And here are some register dumps of the EHCI: This one is after clean bootup: ---------------------------------------------------------------------- root@C1500:~# cat /sys/kernel/debug/usb/ehci/0000:00:0f.5/registers bus pci, device 0000:00:0f.5 EHCI Host Controller EHCI 1.00, hcd state 1 ownership 00000001 SMI sts/enable 0x00000000 structural params 0x00001414 capability params 0x00005012 status 0008 FLR command 010009 (park)=0 ithresh=1 period=256 RUN intrenable 37 IAA FATAL PCD ERR INT uframe 0bbb port 1 status 001000 POWER sig=se0 port 2 status 001005 POWER sig=se0 PE CONNECT port 3 status 001000 POWER sig=se0 port 4 status 001000 POWER sig=se0 irq normal 43 err 1 reclaim 17 (lost 0) complete 33 unlink 0 This one is between the IAA watchdog and the ehci_hcd force halt: ---------------------------------------------------------------------- root@C1500:~# cat /sys/kernel/debug/usb/ehci/0000:00:0f.5/registers bus pci, device 0000:00:0f.5 EHCI Host Controller EHCI 1.00, hcd state 1 ownership 00000001 SMI sts/enable 0x00000000 structural params 0x00001414 capability params 0x00005012 status c008 Async Periodic FLR command 010029 (park)=0 ithresh=1 Async period=256 RUN intrenable 37 IAA FATAL PCD ERR INT uframe 3afa port 1 status 001000 POWER sig=se0 port 2 status 001005 POWER sig=se0 PE CONNECT port 3 status 001000 POWER sig=se0 port 4 status 001000 POWER sig=se0 irq normal 1203 err 1 reclaim 1111 (lost 0) complete 1203 unlink 1097 This one is after the ehci_hcd force halt: ---------------------------------------------------------------------- root@C1500:~# cat /sys/kernel/debug/usb/ehci/0000:00:0f.5/registers bus pci, device 0000:00:0f.5 EHCI Host Controller EHCI 1.00, hcd state 0 ownership 00000001 SMI sts/enable 0x00000000 structural params 0x00001414 capability params 0x00005012 status c008 Async Periodic FLR command 010028 (park)=0 ithresh=1 Async period=256 HALT intrenable 00 uframe 2109 port 1 status 001000 POWER sig=se0 port 2 status 001005 POWER sig=se0 PE CONNECT port 3 status 001000 POWER sig=se0 port 4 status 001000 POWER sig=se0 irq normal 1203 err 1 reclaim 1111 (lost 0) complete 1210 unlink 1099 So what can we do, to find the reason for this? - Martin TDT GmbH - Siemensstrasse 18 - Gewerbegebiet Altheim - 84051 Essenbach - Germany Geschäftsführer: Elisabeth Pickhardt, Michael Pickhardt Registergericht Landshut, HRB 1193 This e-mail (including any attachments) is confidential and may be privileged. If you have received it by mistake, please notify the sender by e-mail and delete this message from your system. Any unauthorised use or dissemination of this e-mail in whole or in part is strictly prohibited. Please note that e-mails are susceptible to change. TDT GmbH shall not be liable for the improper or incomplete transmission of the information contained in this communication nor for any delay in its receipt. TDT GmbH does not guarantee that the integrity of this communication has been maintained nor that this communication is free of viruses, interceptions or interference. -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html