On Sunday 28 December 2008, Oliver Neukum wrote: > Am Sonntag, 28. Dezember 2008 21:25:49 schrieb Tilman Schmidt: > > On Sun, 28 Dec 2008 15:38:25 +0100, Oliver Neukum wrote: > > > You cannot do this this way. Sharing an interface is against the spec. > > > > I see. Thanks for that information. So a device advertising an > > interface with: > > > > bInterfaceNumber 2 > > bNumEndpoints 3 > > bInterfaceClass 2 Communications > > bInterfaceSubClass 2 Abstract (modem) > > bInterfaceProtocol 1 AT-commands (v.25ter) > > CDC Union: > > bMasterInterface 2 > > bSlaveInterface 2 > > > > would not be conforming to the USB standard? > > Quote from CDC spec: > Although this specification defines both the Communications Interface Class > and Data Interface Class, they are two different classes. All communications > devices shall have an interface using the Communications Class to manage the > device and optionally specify themselves as communications devices by using > the Communications Device Class code. Additionally, the device has some > number of other interfaces used for actual data transmission. > ---- > > "Other interfaces" is pretty clear. Extremely clear, IMO. But it seems that some Microsoft's engineers couldn't read, and that's why some CDC ACM devices don't adhere to that clear language: if they conform to the industry standard specification about how to implement multiple ACM functions per device, they can't use the standard MS-Windows ACM driver. A single function with two interfaces ... OK. Two functions with two interfaces each ... fail. - Dave -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html