Hi Laurent, Thanks for your explanation. Ok, it seems that the EP93XX OHCI driver may not work properly. I've just noticed that the hcd_ep93xx_init() and hcd_ep93xx_start() were called, but usb_hcd_ep93xx_probe() was not called. Could that be the problem? The ohci_ep93xx is configurated as built-in kernel module. Should the usb_hcd_ep93xx_probe() be called during host controller driver init stage, or should the usb_hcd_ep93xx_probe() be called after the host controller detects the new plugged in device?
Thank you. Jim Laurent Pinchart wrote: > Hi Jim, > > >>I am coding a usb host driver on an embedded ARM processor (ep93xx), the >>ohci-ep93xx started fine (please see following messages) with bus number >>1. Then, after plugging a device to the host, it detected the device and >>started a hub init process. But the hub.c printed out an error of >>"device not accepting address 2". Why the ep93xx started with bus >>address 1 while the hub was looking for bus address 2? What I was >>missing here? Because the device can be detected by the usb host, can I >>say at least the hardware and device driver level works? Any tips to >>help me debug are appreciated. > > > Bus number and device addresses are different things. As a system can have > several USB busses, each bus gets assigned a number. Your bus is the first > USB bus to be detected on the system, so it gets assigned number 1. > > When you plugged the device on the bus, the host controller detected the plug > event and reported it to the kernel. The USB subsystem then assigns an > address to the device. The hub got address 1, so your device gets address 2. > Nothing surprising there. > > >>ep93xx usb: init >>ep93xxusb ep93xxusb0: new USB bus registered, assigned bus number 1 >>ep93xx usb: start >>usb usb1: Product: EP93XX OHCI >>usb usb1: SerialNumber: ep93xx_usb >>hub 1-0:1.0: USB hub found >>hub 1-0:1.0: 3 ports detected >> >> >>usb 1-3: new full speed USB device using address 2 >>usb 1-3: device not accepting address 2, error -110 >>usb 1-3: new full speed USB device using address 3 >>usb 1-3: device not accepting address 3, error -110 > > > -110 means -ETIMEOUT. The USB subsystem tried to sent a SET_ADDRESS request > to > the device, but not response was received. This either means that the device > didn't answer, or that the host controller did something wrong. The second is > unfortunately much more likely, so this means your driver still needs > debugging :-) > > Cheers, > > Laurent Pinchart > ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ [email protected] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
