Oliver Neukum <oliver@xxxxxxxxxx> writes: > Am Mittwoch 25 Februar 2009 05:01:03 schrieb Dmitriy Taychenachev: >> The Motorola MOTOMAGX phones (Z6, E8, Zn5 so far) are providing >> combined combined ACM/BLAN USB configuration. Since it has Vendor >> Specific class, the corresponding drivers (cdc-acm, zaurus) can't find >> it just by interface info. This patch adds usb id so the cdc-acm >> driver can properly handle this combined device. > > In this case for which interface is cdc-acm called? This > looks odd. Please post lsusb -v for your device. > > Regards > Oliver I have attached lsusb output. As i mentioned in patch comment, this device has enough interfaces for both functions, but it has vendor specific class. The comment in usb matching subroutine clearly says: /* The interface class, subclass, and protocol should never be * checked for a match if the device class is Vendor Specific, * unless the match record specifies the Vendor ID. */ and this makes sense. So cdc-acm driver will not even get this device for probing, because device would not be matched by generic interface pattern.
Bus 002 Device 105: ID 22b8:6425 Motorola PCS Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 255 Vendor Specific Class bDeviceSubClass 255 Vendor Specific Subclass bDeviceProtocol 255 Vendor Specific Protocol bMaxPacketSize0 64 idVendor 0x22b8 Motorola PCS idProduct 0x6425 bcdDevice 1.01 iManufacturer 3 Motorola Inc. iProduct 2 Motorola TTY-MDLM/BLAN Network Composite Demo (Class = 0xff) iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 150 bNumInterfaces 3 bConfigurationValue 1 iConfiguration 6 Motorola ACM BLAN Configuration bmAttributes 0xc0 Self Powered MaxPower 500mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 2 Communications bInterfaceSubClass 2 Abstract (modem) bInterfaceProtocol 1 AT-commands (v.25ter) iInterface 7 Motorola Communication Interface CDC Header: bcdCDC 1.10 CDC Call Management: bmCapabilities 0x03 call management use DataInterface bDataInterface 1 CDC Union: bMasterInterface 0 bSlaveInterface 1 CDC ACM: bmCapabilities 0x02 line coding and serial state Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 4 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 10 CDC Data bInterfaceSubClass 0 Unused bInterfaceProtocol 0 iInterface 8 Motorola Data Interface Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x01 EP 1 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 0 bNumEndpoints 3 bInterfaceClass 2 Communications bInterfaceSubClass 10 Mobile Direct Line bInterfaceProtocol 0 iInterface 9 Belcarra USBLAN - MDLM/BLAN CDC Header: bcdCDC 1.10 CDC MDLM: bcdCDC 1.00 bGUID {74f03dbd-1ec1-4470-a367-7134c9f55437} CDC MDLM detail: bGuidDescriptorType 01 bDetailData 00 01 00 CDC Ethernet: iMacAddress 4 000000000000 bmEthernetStatistics 0x00000000 wMaxSegmentSize 1514 wNumberMCFilters 0x0000 bNumberPowerFilters 0 Network Channel Terminal: bEntityId 0 iName 5 (none) bChannelIndex 0 bPhysicalInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x02 EP 2 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x84 EP 4 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 1 Device Qualifier (for other device speed): bLength 10 bDescriptorType 6 bcdUSB 2.00 bDeviceClass 255 Vendor Specific Class bDeviceSubClass 255 Vendor Specific Subclass bDeviceProtocol 255 Vendor Specific Protocol bMaxPacketSize0 64 bNumConfigurations 1 Device Status: 0x0000 (Bus Powered)