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

Reply via email to