Jump-start your project by learning from devs who
write Windows drivers and file systems every day.
Take an OSR seminar!

Upcoming OSR Seminars:
WDM Lab, Seattle, WA 16 August 2010
WDF Lab, Santa Clara, CA 27 September 2010
Debug Lab, Portland, OR 18 October 2010
Windows Internals & Software Drivers Lab, Santa Clara, CA 15 November 2010


Go Back   OSR Online Lists > ntdev
Welcome, Guest
You must login to post to this list
  Message 1 of 8  
18 Aug 06 09:58
Krzysztof Uchronski
xxxxxx@o2.pl
Join Date: 25 Apr 2006
Posts To This List: 60
MSC and composite devices

Hi, I have a question regarding USB multifunction devices: is it possible to combine mass storage interface (MSC) and modem interface (CDC) to work in the same time? Does composite driver (usbccgp.sys) provided by Microsoft support such configurations? Thanks in advance Krzysiek
  Message 2 of 8  
18 Aug 06 10:58
Doron Holan
xxxxxx@microsoft.com
Join Date: 08 Sep 2005
Posts To This List: 5313
RE: MSC and composite devices

It depends on the device and the OS. The heart of the matter here is that you have one interface (CDC) which consumes multiple interfaces. So the composite driver has to know how to group interfaces together generically. The USBIF recently (in the past 2 years) approved the IAD (interface association descriptor) which describes this grouping. If the version of the composite driver you are using has IAD support, it will work. Otherwise, it will not. I will ask what versions support IAD and get back to you d -----Original Message----- From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@o2.pl Sent: Friday, August 18, 2006 6:59 AM To: Windows System Software Devs Interest List Subject: [ntdev] MSC and composite devices Hi, I have a question regarding USB multifunction devices: is it possible to combine mass storage interface (MSC) and modem interface (CDC) to work in the same time? Does composite driver (usbccgp.sys) provided by Microsoft support such configurations? Thanks in advance Krzysiek --- Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256 To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
  Message 3 of 8  
18 Aug 06 14:21
Doron Holan
xxxxxx@microsoft.com
Join Date: 08 Sep 2005
Posts To This List: 5313
RE: MSC and composite devices

I was told that IAD support is in XPSP2 and later. Thx d -----Original Message----- From: Doron Holan Sent: Friday, August 18, 2006 7:54 AM To: Windows System Software Devs Interest List Subject: RE: [ntdev] MSC and composite devices It depends on the device and the OS. The heart of the matter here is that you have one interface (CDC) which consumes multiple interfaces. So the composite driver has to know how to group interfaces together generically. The USBIF recently (in the past 2 years) approved the IAD (interface association descriptor) which describes this grouping. If the version of the composite driver you are using has IAD support, it will work. Otherwise, it will not. I will ask what versions support IAD and get back to you d -----Original Message----- From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@o2.pl Sent: Friday, August 18, 2006 6:59 AM To: Windows System Software Devs Interest List Subject: [ntdev] MSC and composite devices Hi, I have a question regarding USB multifunction devices: is it possible to combine mass storage interface (MSC) and modem interface (CDC) to work in the same time? Does composite driver (usbccgp.sys) provided by Microsoft support such configurations? Thanks in advance Krzysiek --- Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256 To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
  Message 4 of 8  
23 Aug 06 06:33
Krzysztof Uchronski
xxxxxx@o2.pl
Join Date: 25 Apr 2006
Posts To This List: 60
RE: MSC and composite devices

Doron, thanks for your reply. I would like to ask what about the case of combining MSC interface, modem interface and serial port interface (vendor specific, not CDC) in one physical device? Will such configuration be working ok? Thanks Krzysiek
  Message 5 of 8  
23 Aug 06 12:52
Tim Roberts
xxxxxx@probo.com
Join Date: 28 Jan 2005
Posts To This List: 5070
Re: MSC and composite devices

xxxxx@o2.pl wrote: >Doron, thanks for your reply. I would like to ask what about the case of combining MSC interface, >modem interface and serial port interface (vendor specific, not CDC) in one physical device? >Will such configuration be working ok? > > Assuming that no INF file matches the combined device, the operating system treats each USB interface as an independent device, and will load a separate driver for each one. What I mean is, if there is no INF for VID_1234&PID_5678, then it will search for VID_1234&PID_5678&MI_0 (which is interface 0), and if that is not found, it will search for a generic driver matching the device class of that one interface. -- Tim Roberts, xxxxx@probo.com Providenza & Boekelheide, Inc.
  Message 6 of 8  
23 Aug 06 13:19
Doron Holan
xxxxxx@Microsoft.com
Join Date: 08 Sep 2005
Posts To This List: 5313
RE: MSC and composite devices

It would work if you used the IAD and ran on a usb core that supported it. Otherwise, each function will be split into its own device, so functions which have multiple interfaces grouped together would not work d
  Message 7 of 8  
29 Aug 06 13:43
Janusz Dziedzic
xxxxxx@op.pl
Join Date: 24 Feb 2006
Posts To This List: 2
Re: MSC and composite devices

<xxxxx@Microsoft.com> wrote in message news:81088@ntdev... > It would work if you used the IAD and ran on a usb core that supported it. > Otherwise, each function will be split into its own device, so functions > which have multiple interfaces grouped together would not work > So, in case of two interfaces (without IAD): - first one - class MSC in inteface descriptor - second - vendor specyfic (0xFF in interface class) I will see three drivers loaded by windows: composite driver, next MSC microsoft driver and one my own vendor specyfic driver? Correct? Or there will not be any composite driver, only MSC microsoft driver? What in case of two intefaces (without IAD): - first one - vendor specyfic - second one - MSC class? When windows load composite driver? - more than one interface in configuration descriptor? - more than one interface in configuration descriptor and each one is vendor specyfic? Janusz
  Message 8 of 8  
29 Aug 06 14:15
Doron Holan
xxxxxx@Microsoft.com
Join Date: 08 Sep 2005
Posts To This List: 5313
RE: MSC and composite devices

the generic parent driver is matched based on a compatible ID that is given to usb devices with more then one interface (alternate settings on an interface do not count as a separate interface for this distinction). it has nothing to do with the class in the interface the generic parent will load and it will enumerate a device for each individual interface on the device. So if MSC has one interface, then you will have the composite driver loading and it will enumerate 2 PDOs. One for MSC, one for vendor. That will lead to the MSC driver loading and your driver to load (if there is a matching INF). The order of enumeration and installation is not deterministic. What IAD does is tell the generic parent how to group interfaces together. Without IAD, the assumption is that one interface is a single function (represented by a PDO). IAD lets the generic parent group multiple interfaces into one function (e.g. a PDO). d
Posting Rules  
You may not post new threads
You may not post replies
You may not post attachments
You must login to OSR Online AND be a member of the ntdev list to be able to post.

All times are GMT -5. The time now is 13:51.


Copyright ©2005, OSR Open Systems Resourcs, Inc.
Based on vBulletin Copyright ©2000 - 2005, Jelsoft Enterprises Ltd.
Modified under license