On Thursday 08 June 2006 12:50 am, rakesh kn wrote: > 1) When a OTG hard disk(Self Powered) was connected, there was no > interrupt and my ehci_irq interrupt handler was not invoked. > When i power on the device i get a DISCONNECT event from the device and the > PORTSCx value changes to 0x8c001002 (CCS = 0,CSC =1) and > "IRQ IS GENERATED" . > STATUS register shows Port Change Detect Interrupt (STS = 0x8C). > So when the hub_events() tries to do a GetPortStatus, it does not find > connection(CCS =0) and the hub_port_connect_change() function returns. > Also PORT-ENABLE bit in PORTSCx is not 1. That means that even though > a device was connected, the port is not enabled.
At a guess, this disk was using SRP to wake the host? That's kind of messy in the code today ... OHCI was faking it in the root hub with help from an external OTG transceiver, but I suspect that you'll need a different approach with EHCI and an integrated one. > 2) When a USB2.0 HS speed device(thumb drive or Camera) was connected > to the board, > there is no interrupt genearated. This is visible from cat /proc/interrupts. > > How can interpret the above 2 observations. I am getting PCD > interrupts for disconnect event from a device(OTG) ," after that was > connected and powered on. " > For other devices i am not getting interrupt. Is the port powered on? Remember, an OTG host might be kind of aggressive about turning off VBUS. Plus there are at least two different ways to connect a device to an OTG host: - plug cable into B-device, then Mini-A into A-device. --> should get an IRQ for "ID pin grounded", which is handled by turning on VBUS and then enumerating - Plug Mini-A into A-device, then Mini-B into B-Device --> "ID pin grounded" irq will fail enumeration since there's no device. In that case the B-device must use SRP to restart enumeration Some non-OTG devcies will work with both schemes; others won't. _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel