All Forums
 Microsoft Windows CE
 CE Drivers
 USB re-enumeration keys on VGX 5.00.42 and higher
 Forum Locked
 Send Topic to a Friend
 Printer Friendly
Author Topic  

jjoseph

47 Posts

Posted - 14 Aug 2007 :  14:54:11  Show Profile
Using the VGX USB Re-emumeration keys

This issue only affects you if you are connecting a powered USB hub to your VGX.

On the VGX some powered USB Hubs had a problem re-enumerating. The system would boot, or wake from sleep and the USB hub and any downstream devices would not be accessible.

We addressed this problem in build 5.00.42 by adding functionality to the boot and wake process to toggle the USB power line. The USB VCC line is brought low for a period of time. This forces the USB hub to initialize. For this approach to work, CPLD logic Rev8 must be installed on the board. VGX boards shipped after 4/5/07 should already have this CPLD revision.

The keys affecting affecting this re-enumeration behavior are as follows. The keys defined below have conservative values. For faster response you can decrease the _Pulse_Duration value.

;====================================================================
; USB re-enumeration pulse settings
; Values have a 10 second maximum.
; Zero duration removes pulse
;====================================================================
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\SMI501USB]
"USB_Enumeration_Pulse_Startup_Delay"=dword:3e8 ;1 second
"USB_Enumeration_Pulse_Wake_Delay"=dword:3e8 ;1 second
"USB_Enumeration_Pulse_Duration"=dword:BB8 ;3 seconds, 0 means no pulse


Some powered USB hubs have greater capacitance and thus the voltage does not drop below the required 1.0V during the USB_Enumeration_Pulse_Duration delay period. To fine tune this value, connect a data scope to the USB VCC line and determine how long it takes for the voltage during the toggle to drop below 1.0V.

The other two keys are designed to force the pulse to happen after the required drivers have been loaded and initialized by Windows CE. These keys should not be modified on build 5.00.42.

casner

8 Posts

Posted - 06 Aug 2009 :  14:10:45  Show Profile  Email Poster
Is this also a problem on the Turbo IXP when mounted on a custom board and powered up with the CE board?
Go to Top of Page

grenierm

133 Posts

Posted - 06 Aug 2009 :  14:46:57  Show Profile  Email Poster
Hi Casner,

Thanks for your question.

This issue has only been reported for the VGX; given your note, should we assume that you have reproduced the issue on the Turbo IXP?
Go to Top of Page

grenierm

133 Posts

Posted - 06 Aug 2009 :  14:54:56  Show Profile  Email Poster
After confirming with our hardware engineering team, we have not seen this issue on the Turbo IXP.

Moreover, USB is controlled from different sources on the two boards:
- VGX: USB comes from the SM501
- Turbo IXP: USB comes from the processor

Go to Top of Page

casner

8 Posts

Posted - 06 Aug 2009 :  16:11:56  Show Profile  Email Poster
We needed to add a hub to our design. Eurotech kindly supplied us with a schematic subset showing a hub and power sequencer chip which has worked with your drivers, and we included this on our board to which the Turbo IXP is mounted. The hub does not enumerate - in fact it goes into Suspend 6ms after coming out of reset. I don't know if the driver supplied with the Turbo IXP can support a GPIO driving the Reset pin to cause the hub to re-enumerate, or if that would even work.
Go to Top of Page

grenierm

133 Posts

Posted - 06 Aug 2009 :  16:54:39  Show Profile  Email Poster
Due to the specific nature of this discussion, we are continuing the dialogue directly with the customer.
Go to Top of Page

casner

8 Posts

Posted - 07 Aug 2009 :  10:35:02  Show Profile  Email Poster
Solution - do NOT connect the Suspend signal from the TUSB2046B to the Overcurrent input on the IXP465.
Go to Top of Page
  Topic  
 Forum Locked
 Send Topic to a Friend
 Printer Friendly
Jump To:
Eurotech Support Forums © Eurotech Inc. Go To Top Of Page
This page was generated in 0.03 seconds. Snitz Forums 2000