Problem with Windows CE 5.0 USB OHCI Host Controller driver



Hi all,

I am running Windows CE 5.0 with all available QFEs (including January 2008)
on a Samsung SMDK2410 CPU.

I have a problem with the USB OHCI (1.1) Host Controler:
-start device with a USB device attached to the single OHCI (USB 1.1) Host
Controller port
-occasionally (approximately 5-10 times out of 400 starts) the USB device is
not recognized

The problem occurs in the CHub::AttachDevice() function
(…\DRIVERS\USB\HCD\COMMON\cdevice.cpp):
-in the state machine in the
DEVICE_CONFIG_STATUS_SCHEDULING_GET_DEVICE_DESCRIPTOR_TEST step, I get an
USB_DEVICE_NOT_RESPONDING_ERROR (= 0x5).
-now the state machine goes back to the
DEVICE_CONFIG_STATUS_RESET_AND_ENABLE_PORT state and tries 2 more times
-ultimately after the 3 reties get the same error message the attach fails

The only way that I found to fix that problem is:
-physically unplugging the USB device and plugging it back in
-rebooting the system

Both solutions are not an option for me!

I also tried:
-more reties (10)
-timeout (100ms) before each retry
-powering off and repowering USB port between the reties
-making CHub::HubStatusChangeThread() belief the device was unplugged so do
a DetachDevice() and then (even after powering off and repowering the USB
port) let CHub::HubStatusChangeThread() do the AttachDevice() again

With all of these attempts the problem persisted: the device descriptor
could not be retrieved and the attach failed.

Any help is appreciated

Thanks
-Jochen

.



Relevant Pages