Hi, I'm trying to get USB working on a custom board. The processor is an IBM 405EP. The USB controller is a VIA VT6212. The situation is that the board was designed for my customer by a supplier who is not being very cooperative about testing or supporting it. So, I'm trying to figure out what's going on.
There are two external USB ports, and two internal devices hardwired onto the bus: A Genesys Logic GL811USB ATA to USB bridge, and an MC68HC08 microcontroller. Right now, USB basically doesn't work at all. It appears that it sometimes detects when USB devices are plugged in, but not always. In either case, it's unable to get the device working. I believe I have the pci_irq_table set up correctly, and /proc/pci/devices appears to contain the right information, but the interrupts behave strangely. Sometimes when the system boots up, it'll list a few thousand interrupts for the uhci device. Sometimes it'll list none. In both cases, unplugging and replugging in devices doesn't cause the number to change. I'm not using loadable modules. I've tried with both the normal and the JE uhci drivers, and nothing's worked so far. I've also tried running with and without the ehci and ohci drivers compiled in. I took a look at the interrupt line on a scope, and the interrupts just don't appear to be being generated. Grounding the interrupt lines does cause the processor to register tons of interrupts on the correct line though. I understand that the "not accepting new address" error is usually caused by interrupts from the USB controller not working, but I'm at a lot as to what I can do to get them working. I'm using a penguinppc.org 2.4.27 kernel tree. Because of driver issues, I'd like to avoid changing kernels if possible, but it can be done if needed. I've appended some sample dmesg outputs. No two test runs ever seem to be exactly the same. Any thoughts or advice would be appreciated. Jacques Fortier dmesg output with normal uhci driver compiled in ================================================ usb.c: registered new driver usbdevfs usb.c: registered new driver hub ehci_hcd 00:0a.2: VIA Technologies, Inc. USB 2.0 ehci_hcd 00:0a.2: irq 31, pci mem c580df00 usb.c: new USB bus registered, assigned bus number 1 ehci_hcd 00:0a.2: USB 2.0 enabled, EHCI 1.00, driver 2003-Dec-29/2.4 hub.c: USB hub found hub.c: 4 ports detected host/usb-uhci.c: $Revision: 1.275 $ time 12:00:22 Mar 15 2005 host/usb-uhci.c: High bandwidth mode enabled host/usb-uhci.c: USB UHCI at I/O 0xffe0, IRQ 26 host/usb-uhci.c: Detected 2 ports usb.c: new USB bus registered, assigned bus number 2 hub.c: USB hub found hub.c: 2 ports detected host/usb-uhci.c: USB UHCI at I/O 0xffc0, IRQ 29 host/usb-uhci.c: Detected 2 ports usb.c: new USB bus registered, assigned bus number 3 hub.c: USB hub found hub.c: 2 ports detected host/usb-uhci.c: v1.275:USB Universal Host Controller Interface driver usb.c: registered new driver hid hid-core.c: v1.8.1 Andreas Gal, Vojtech Pavlik <[EMAIL PROTECTED]> hid-core.c: USB HID support drivers Initializing USB Mass Storage driver... usb.c: registered new driver usb-storage USB Mass Storage support registered. hub.c: new USB device 00:0a.0-1, assigned address 2 host/usb-uhci.c: interrupt, status 2, frame# 1547 usb.c: USB device not accepting new address=2 (error=-110) hub.c: Cannot enable port 1 of hub 1, disabling port. hub.c: Maybe the USB cable is bad? hub.c: new USB device 00:0a.2-2, assigned address 2 usb.c: USB device not accepting new address=2 (error=-71) hub.c: new USB device 00:0a.2-2, assigned address 3 usb.c: USB device not accepting new address=3 (error=-71) dmesg output with alternate (JE) uhci driver =========================================== usb.c: registered new driver usbdevfs usb.c: registered new driver hub ehci_hcd 00:0a.2: VIA Technologies, Inc. USB 2.0 ehci_hcd 00:0a.2: irq 31, pci mem c580df00 usb.c: new USB bus registered, assigned bus number 1 ehci_hcd 00:0a.2: USB 2.0 enabled, EHCI 1.00, driver 2003-Dec-29/2.4 hub.c: USB hub found hub.c: 4 ports detected host/uhci.c: USB Universal Host Controller Interface driver v1.1 host/uhci.c: USB UHCI at I/O 0xffe0, IRQ 26 usb.c: new USB bus registered, assigned bus number 2 host/uhci.c: ffe0: host controller process error. something bad happened host/uhci.c: ffe0: host controller halted. very bad hub.c: USB hub found hub.c: 2 ports detected host/uhci.c: USB UHCI at I/O 0xffc0, IRQ 29 usb.c: new USB bus registered, assigned bus number 3 hub.c: USB hub found host/uhci.c: ffc0: host controller process error. something bad happened host/uhci.c: ffc0: host controller halted. very bad hub.c: 2 ports detected hid-core.c: v1.8.1 Andreas Gal, Vojtech Pavlik <[EMAIL PROTECTED]> hid-core.c: USB HID support drivers Initializing USB Mass Storage driver... usb.c: registered new driver usb-storage USB Mass Storage support registered. host/uhci.c: ffe0: host controller process error. something bad happened host/uhci.c: ffe0: host controller halted. very bad hub.c: Cannot enable port 1 of hub 1, disabling port. hub.c: Maybe the USB cable is bad? hub.c: new USB device 00:0a.2-2, assigned address 2 usb.c: USB device not accepting new address=2 (error=-71) -- Jacques Fortier <[EMAIL PROTECTED]> Williams Consulting, Inc. ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click _______________________________________________ [email protected] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-users
