USB
  EP0 Codes after enumeration

Post New Topic  Post A Reply
profile | register | preferences | faq | search

UBBFriend: Email This Page to Someone! next newest topic | next oldest topic
Author Topic:   EP0 Codes after enumeration
TomDale
New Member
posted August 11, 2010 11:10 PM     Click Here to See the Profile for TomDale   Click Here to Email TomDale     Edit/Delete Message
Is there any documentation regarding the EP0 control words generated by USBXpress device drivers after enumeration. Running XP or Win7 the enumeration appears normal. When a connection is opened (SI_OPEN) using USBXpress driver 3 EP0 codes (5 in v3.2.2) are generated. When the connection is closed 2 EP0 codes are generated. When opening, the
bmRequests/bRequest/wValue (windex & wlength all 0) are:

040h/00/0ffffh
040h/02/2 - OPEN??
040h/02/1 - FLUSH??
0c0h/ff/370b } new to version 3.2.2
040h/00/00 } new to version 3.2.2

When the connection is closed (SI_CLOSE) I get:

040h/02/1 - FLUSH??
040h/02/4 - CLOSE??

The 040h/0c0h bmRequest clearly identify these as Vendor specific.
These seem to be specific to the CP2103 functions since the same type of controls show up in SI_READLATCH etc. but in my case I'm running custom F/W on a 34x. No where in any examples that I've found is this stuff documented and most example code doesn't fully qualify the bmRequestType field so the these codes get passed into the bmRequest switch statement in the generic 'Handle_Setup()'. The ones with bmrequest = 0 will get treated as GET_STATUS functions (and probably fail other tests) but the byrequest = 2 will drop to the default Force_Stall. I was hoping to use these to advise when I have a host application that can accept data etc., but I'm somewhat hesitant to design around undocumented 'features'

IP: Logged

Tsuneo
Member
posted August 12, 2010 06:42 AM     Click Here to See the Profile for Tsuneo   Click Here to Email Tsuneo     Edit/Delete Message
> but I'm somewhat hesitant to design around undocumented 'features'

The 'features' are intentionally hidden by SiLabs, because they offer USBXpress device driver as a pair with firmware library, or CP210x devices. When you use these pairs as is, SiLabs guarantees. Just for a part of pair, no guarantee.

> but in my case I'm running custom F/W on a 34x.

Then, why don't you make a custom application on the PC side, too?
WinUSB and libusb-win32 is available for the device driver. You have to make just a custom PC application. It's much better than developing on your unreliable analysis.

Tsuneo

IP: Logged

TomDale
New Member
posted August 12, 2010 08:17 AM     Click Here to See the Profile for TomDale   Click Here to Email TomDale     Edit/Delete Message
Tsuneo
I think you've answered it, and yes, I'll probably follow the Winusb approach...

IP: Logged

All times are CT (US)

next newest topic | next oldest topic

Administrative Options: Close Topic | Archive/Move | Delete Topic
Post New Topic  Post A Reply
Hop to:

Contact Us | MCU User Forum

Have you seen our MCU Knowledge Base?


Ultimate Bulletin Board 5.47b