Ports
May 20, 2013, 08:19:37 am *
Welcome, Guest. Please login or register.

Login with username, password and session length
News: SMF - Just Installed!
 
   Home   Help Search Login Register  
Welcome to the PORTS Forum. Please post your questions, answers, and comments relating to USB and other hardware interfaces in the appropriate forums below. - Jan
Pages: [1]
  Print  
Author Topic: Problem enumerating a composite device  (Read 1590 times)
wlcolman
Member
*
Posts: 3


« on: October 13, 2010, 11:10:04 am »

Hello,

I'm developing an embedded host using the LPC1758. It uses the OHCI specification. My device is the Nokia CS-18 Internet modem.

When I request the configuration the device only returns the mass-storage interface and related endpoint descriptors. I tried setting the configuration and then requesting the configuration again hoping that the other interfaces would be enabled. I get the same result.

I must be missing something. How do I get the complete configuration?

Thanks.
Logged
Jan Axelson
Administrator
Frequent Contributor
*****
Posts: 1625


WWW
« Reply #1 on: October 13, 2010, 12:03:23 pm »

Does the device descriptor report multiple interfaces? If so, do you request enough bytes to hold all of the data?

Jan
Logged
wlcolman
Member
*
Posts: 3


« Reply #2 on: October 13, 2010, 05:42:01 pm »

I've snooped the bus while attaching the device to a Windows computer. Windows requests device and configuration descriptors. I've attached the first device and configuration descriptors (A). The only interface available at connection is the mass storage interface. Windows selects the configuration and chatters with the mass storage function. 8 seconds later Windows seems to restart the device. It again requests device and configuration descriptors. I've attached the second device and configuration descriptors (B). At this time the configuration returned is complete.

When used with Windows this device will attempt to auto load device drivers. There seems to be a special sequence to make the complete configuration available. Otherwise, only the mass storage is available.

Thanks.
Logged
Jan Axelson
Administrator
Frequent Contributor
*****
Posts: 1625


WWW
« Reply #3 on: October 13, 2010, 09:18:56 pm »

So the device supports two device descriptors, each with one configuration. Device A's configuration has a mass-storage interface. Device B's configuration has mass-storage and CDC interfaces.

It looks like the host enumerates device A, communicates via the mass-storage interface (maybe writing something to the drive?) to tell the device to enumerate next time as device B, and re-enumerates the device. If you want to do the same with your host, you need to decode and duplicate the communications with device A, or obtain documentation from the device vendor about how to do it.

Jan

« Last Edit: October 13, 2010, 09:33:44 pm by Jan Axelson » Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006-2009, Simple Machines LLC Valid XHTML 1.0! Valid CSS!