Message ID | 20190711103457.GA17414@lisa.dawes.za.net (mailing list archive) |
---|---|
State | Mainlined |
Commit | 552573e42aab5f75aff9bab855a9677979d9a7d5 |
Headers | show |
Series | USB: serial: option: add D-Link DWM-222 device ID [version 2] | expand |
On Thu, Jul 11, 2019 at 12:34:57PM +0200, Rogan Dawes wrote: > Add device id for D-Link DWM-222. > > Cc: stable@vger.kernel.org > Signed-Off-By: Rogan Dawes <rogan@dawes.za.net> > --- > Apologies, a typo crept in when submitting this previously. Thanks for the patch, all looks good, but next time add the version information inside the "[PATCH v2]" prefix so that it doesn't end up the commit logs. Would you mind posting also the output of usb-devices (or lsusb -v) for this device for completeness? The former is compact enough to be included in the commit message. No need to resend unless you prefer to. I'll apply this one after the merge window closes. Thanks, Johan
I have a gist with all of the relevant information here: https://gist.github.com/RoganDawes/afcc0aa1d12b53b540afc94ffc8e4494 lsusb -v is at: https://gist.githubusercontent.com/RoganDawes/afcc0aa1d12b53b540afc94ffc8e4494/raw/de31775e4a8048a0f06362fe59bb4f98a54b3c16/lsusb%2520-v%2520-d%25202001:7e3d%2520after Or: After binding the Option driver, lsusb -v -d 2001:7e3d Bus 001 Device 062: ID 2001:7e3d D-Link Corp. Mobile Connect Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.01 bDeviceClass 0 bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x2001 D-Link Corp. idProduct 0x7e3d bcdDevice 2.28 iManufacturer 1 Mobile Connect iProduct 2 Mobile Connect iSerial 3 0123456789ABCDEF bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 0x00e8 bNumInterfaces 6 bConfigurationValue 1 iConfiguration 0 bmAttributes 0x80 (Bus Powered) MaxPower 500mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 255 Vendor Specific Subclass bInterfaceProtocol 255 Vendor Specific Protocol iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 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 0x0200 1x 512 bytes bInterval 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 3 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 ** UNRECOGNIZED: 05 24 00 10 01 ** UNRECOGNIZED: 05 24 01 00 00 ** UNRECOGNIZED: 04 24 02 02 ** UNRECOGNIZED: 05 24 06 00 00 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x000a 1x 10 bytes bInterval 9 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x02 EP 2 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 0 bNumEndpoints 3 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 ** UNRECOGNIZED: 05 24 00 10 01 ** UNRECOGNIZED: 05 24 01 00 00 ** UNRECOGNIZED: 04 24 02 02 ** UNRECOGNIZED: 05 24 06 00 00 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x85 EP 5 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x000a 1x 10 bytes bInterval 9 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x84 EP 4 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x03 EP 3 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 0 bNumEndpoints 3 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 ** UNRECOGNIZED: 05 24 00 10 01 ** UNRECOGNIZED: 05 24 01 00 00 ** UNRECOGNIZED: 04 24 02 02 ** UNRECOGNIZED: 05 24 06 00 00 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x87 EP 7 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x000a 1x 10 bytes bInterval 9 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x86 EP 6 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x04 EP 4 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 4 bAlternateSetting 0 bNumEndpoints 3 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 255 Vendor Specific Subclass bInterfaceProtocol 255 Vendor Specific Protocol iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x89 EP 9 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0008 1x 8 bytes bInterval 9 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x88 EP 8 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x05 EP 5 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 5 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 8 Mass Storage bInterfaceSubClass 6 SCSI bInterfaceProtocol 80 Bulk-Only iInterface 4 Mass Storage Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x8a EP 10 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x06 EP 6 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 1 Binary Object Store Descriptor: bLength 5 bDescriptorType 15 wTotalLength 0x000c bNumDeviceCaps 1 USB 2.0 Extension Device Capability: bLength 7 bDescriptorType 16 bDevCapabilityType 2 bmAttributes 0x00000002 HIRD Link Power Management (LPM) Supported can't get debug descriptor: Resource temporarily unavailable Device Status: 0x0000 (Bus Powered) On Tue, Jul 16, 2019 at 11:11 AM Johan Hovold <johan@kernel.org> wrote: > > On Thu, Jul 11, 2019 at 12:34:57PM +0200, Rogan Dawes wrote: > > Add device id for D-Link DWM-222. > > > > Cc: stable@vger.kernel.org > > Signed-Off-By: Rogan Dawes <rogan@dawes.za.net> > > --- > > Apologies, a typo crept in when submitting this previously. > > Thanks for the patch, all looks good, but next time add the version > information inside the "[PATCH v2]" prefix so that it doesn't end up the > commit logs. > > Would you mind posting also the output of usb-devices (or lsusb -v) for > this device for completeness? The former is compact enough to be > included in the commit message. > > No need to resend unless you prefer to. I'll apply this one after the > merge window closes. > > Thanks, > Johan
On Tue, Jul 16, 2019 at 12:55:17PM +0200, Rogan Dawes wrote: > After binding the Option driver, lsusb -v -d 2001:7e3d > > Bus 001 Device 062: ID 2001:7e3d D-Link Corp. Mobile Connect > Device Descriptor: > bLength 18 > bDescriptorType 1 > bcdUSB 2.01 > bDeviceClass 0 > bDeviceSubClass 0 > bDeviceProtocol 0 > bMaxPacketSize0 64 > idVendor 0x2001 D-Link Corp. > idProduct 0x7e3d > bcdDevice 2.28 > iManufacturer 1 Mobile Connect > iProduct 2 Mobile Connect > iSerial 3 0123456789ABCDEF > bNumConfigurations 1 > Configuration Descriptor: > bLength 9 > bDescriptorType 2 > wTotalLength 0x00e8 > bNumInterfaces 6 > bConfigurationValue 1 > iConfiguration 0 > bmAttributes 0x80 > (Bus Powered) > MaxPower 500mA > Interface Descriptor: > bLength 9 > bDescriptorType 4 > bInterfaceNumber 0 > bAlternateSetting 0 > bNumEndpoints 2 > bInterfaceClass 255 Vendor Specific Class > bInterfaceSubClass 255 Vendor Specific Subclass > bInterfaceProtocol 255 Vendor Specific Protocol > iInterface 0 > Endpoint Descriptor: > bLength 7 > bDescriptorType 5 > bEndpointAddress 0x81 EP 1 IN > bmAttributes 2 > Transfer Type Bulk > Synch Type None > Usage Type Data > wMaxPacketSize 0x0200 1x 512 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 0x0200 1x 512 bytes > bInterval 0 > Interface Descriptor: > bLength 9 > bDescriptorType 4 > bInterfaceNumber 1 > bAlternateSetting 0 > bNumEndpoints 3 > bInterfaceClass 255 Vendor Specific Class > bInterfaceSubClass 0 > bInterfaceProtocol 0 > iInterface 0 > ** UNRECOGNIZED: 05 24 00 10 01 > ** UNRECOGNIZED: 05 24 01 00 00 > ** UNRECOGNIZED: 04 24 02 02 > ** UNRECOGNIZED: 05 24 06 00 00 > Endpoint Descriptor: > bLength 7 > bDescriptorType 5 > bEndpointAddress 0x83 EP 3 IN > bmAttributes 3 > Transfer Type Interrupt > Synch Type None > Usage Type Data > wMaxPacketSize 0x000a 1x 10 bytes > bInterval 9 > Endpoint Descriptor: > bLength 7 > bDescriptorType 5 > bEndpointAddress 0x82 EP 2 IN > bmAttributes 2 > Transfer Type Bulk > Synch Type None > Usage Type Data > wMaxPacketSize 0x0200 1x 512 bytes > bInterval 0 > Endpoint Descriptor: > bLength 7 > bDescriptorType 5 > bEndpointAddress 0x02 EP 2 OUT > bmAttributes 2 > Transfer Type Bulk > Synch Type None > Usage Type Data > wMaxPacketSize 0x0200 1x 512 bytes > bInterval 0 > Interface Descriptor: > bLength 9 > bDescriptorType 4 > bInterfaceNumber 2 > bAlternateSetting 0 > bNumEndpoints 3 > bInterfaceClass 255 Vendor Specific Class > bInterfaceSubClass 0 > bInterfaceProtocol 0 > iInterface 0 > ** UNRECOGNIZED: 05 24 00 10 01 > ** UNRECOGNIZED: 05 24 01 00 00 > ** UNRECOGNIZED: 04 24 02 02 > ** UNRECOGNIZED: 05 24 06 00 00 > Endpoint Descriptor: > bLength 7 > bDescriptorType 5 > bEndpointAddress 0x85 EP 5 IN > bmAttributes 3 > Transfer Type Interrupt > Synch Type None > Usage Type Data > wMaxPacketSize 0x000a 1x 10 bytes > bInterval 9 > Endpoint Descriptor: > bLength 7 > bDescriptorType 5 > bEndpointAddress 0x84 EP 4 IN > bmAttributes 2 > Transfer Type Bulk > Synch Type None > Usage Type Data > wMaxPacketSize 0x0200 1x 512 bytes > bInterval 0 > Endpoint Descriptor: > bLength 7 > bDescriptorType 5 > bEndpointAddress 0x03 EP 3 OUT > bmAttributes 2 > Transfer Type Bulk > Synch Type None > Usage Type Data > wMaxPacketSize 0x0200 1x 512 bytes > bInterval 0 > Interface Descriptor: > bLength 9 > bDescriptorType 4 > bInterfaceNumber 3 > bAlternateSetting 0 > bNumEndpoints 3 > bInterfaceClass 255 Vendor Specific Class > bInterfaceSubClass 0 > bInterfaceProtocol 0 > iInterface 0 > ** UNRECOGNIZED: 05 24 00 10 01 > ** UNRECOGNIZED: 05 24 01 00 00 > ** UNRECOGNIZED: 04 24 02 02 > ** UNRECOGNIZED: 05 24 06 00 00 > Endpoint Descriptor: > bLength 7 > bDescriptorType 5 > bEndpointAddress 0x87 EP 7 IN > bmAttributes 3 > Transfer Type Interrupt > Synch Type None > Usage Type Data > wMaxPacketSize 0x000a 1x 10 bytes > bInterval 9 > Endpoint Descriptor: > bLength 7 > bDescriptorType 5 > bEndpointAddress 0x86 EP 6 IN > bmAttributes 2 > Transfer Type Bulk > Synch Type None > Usage Type Data > wMaxPacketSize 0x0200 1x 512 bytes > bInterval 0 > Endpoint Descriptor: > bLength 7 > bDescriptorType 5 > bEndpointAddress 0x04 EP 4 OUT > bmAttributes 2 > Transfer Type Bulk > Synch Type None > Usage Type Data > wMaxPacketSize 0x0200 1x 512 bytes > bInterval 0 > Interface Descriptor: > bLength 9 > bDescriptorType 4 > bInterfaceNumber 4 > bAlternateSetting 0 > bNumEndpoints 3 > bInterfaceClass 255 Vendor Specific Class > bInterfaceSubClass 255 Vendor Specific Subclass > bInterfaceProtocol 255 Vendor Specific Protocol > iInterface 0 > Endpoint Descriptor: > bLength 7 > bDescriptorType 5 > bEndpointAddress 0x89 EP 9 IN > bmAttributes 3 > Transfer Type Interrupt > Synch Type None > Usage Type Data > wMaxPacketSize 0x0008 1x 8 bytes > bInterval 9 > Endpoint Descriptor: > bLength 7 > bDescriptorType 5 > bEndpointAddress 0x88 EP 8 IN > bmAttributes 2 > Transfer Type Bulk > Synch Type None > Usage Type Data > wMaxPacketSize 0x0200 1x 512 bytes > bInterval 0 > Endpoint Descriptor: > bLength 7 > bDescriptorType 5 > bEndpointAddress 0x05 EP 5 OUT > bmAttributes 2 > Transfer Type Bulk > Synch Type None > Usage Type Data > wMaxPacketSize 0x0200 1x 512 bytes > bInterval 0 > Interface Descriptor: > bLength 9 > bDescriptorType 4 > bInterfaceNumber 5 > bAlternateSetting 0 > bNumEndpoints 2 > bInterfaceClass 8 Mass Storage > bInterfaceSubClass 6 SCSI > bInterfaceProtocol 80 Bulk-Only > iInterface 4 Mass Storage > Endpoint Descriptor: > bLength 7 > bDescriptorType 5 > bEndpointAddress 0x8a EP 10 IN > bmAttributes 2 > Transfer Type Bulk > Synch Type None > Usage Type Data > wMaxPacketSize 0x0200 1x 512 bytes > bInterval 0 > Endpoint Descriptor: > bLength 7 > bDescriptorType 5 > bEndpointAddress 0x06 EP 6 OUT > bmAttributes 2 > Transfer Type Bulk > Synch Type None > Usage Type Data > wMaxPacketSize 0x0200 1x 512 bytes > bInterval 1 > Binary Object Store Descriptor: > bLength 5 > bDescriptorType 15 > wTotalLength 0x000c > bNumDeviceCaps 1 > USB 2.0 Extension Device Capability: > bLength 7 > bDescriptorType 16 > bDevCapabilityType 2 > bmAttributes 0x00000002 > HIRD Link Power Management (LPM) Supported > can't get debug descriptor: Resource temporarily unavailable > Device Status: 0x0000 > (Bus Powered) Ok, thanks. Do you have any idea what all those vendor interface are for? Some of the other D-Link entries blacklist a speech and debug port for example. We can always do that later if we need to, but perhaps you or someone already know (also adding Lars and Dan on CC). Johan
On 7/16/2019 18:17, Johan Hovold wrote: snip > Ok, thanks. Do you have any idea what all those vendor interface are > for? Some of the other D-Link entries blacklist a speech and debug port > for example. > > We can always do that later if we need to, but perhaps you or someone > already know (also adding Lars and Dan on CC). > > Johan > This is the interface composition: MI_00 D-Link HS-USB Diagnostics MI_01 D-Link HS-USB Modem MI_02 D-Link HS-USB AT Port MI_03 D-Link HS-USB NMEA MI_04 D-Link HS-USB WWAN Adapter (qmi_wwan) MI_05 USB Mass Storage Device rgds /Lars
On Tue, Jul 16, 2019 at 09:34:56PM +0700, Lars Melin wrote: > On 7/16/2019 18:17, Johan Hovold wrote: > > snip > > > Ok, thanks. Do you have any idea what all those vendor interface are > > for? Some of the other D-Link entries blacklist a speech and debug port > > for example. > > > > We can always do that later if we need to, but perhaps you or someone > > already know (also adding Lars and Dan on CC). > > > > Johan > > > > This is the interface composition: > > MI_00 D-Link HS-USB Diagnostics > MI_01 D-Link HS-USB Modem > MI_02 D-Link HS-USB AT Port > MI_03 D-Link HS-USB NMEA > MI_04 D-Link HS-USB WWAN Adapter (qmi_wwan) > MI_05 USB Mass Storage Device Thanks, Lars. Then interface 0 and 4 should be blacklisted, right? Rogan, would you mind doing that in a v3? You can include above composition details in the commit message as well. Thanks, Johan
I have no idea how to do that, I'm afraid. I'm mostly a cargo cult C-programmer :-) I can copy and paste, but that's about it! On Tue, Jul 16, 2019 at 8:05 PM Johan Hovold <johan@kernel.org> wrote: > > On Tue, Jul 16, 2019 at 09:34:56PM +0700, Lars Melin wrote: > > On 7/16/2019 18:17, Johan Hovold wrote: > > > > snip > > > > > Ok, thanks. Do you have any idea what all those vendor interface are > > > for? Some of the other D-Link entries blacklist a speech and debug port > > > for example. > > > > > > We can always do that later if we need to, but perhaps you or someone > > > already know (also adding Lars and Dan on CC). > > > > > > Johan > > > > > > > This is the interface composition: > > > > MI_00 D-Link HS-USB Diagnostics > > MI_01 D-Link HS-USB Modem > > MI_02 D-Link HS-USB AT Port > > MI_03 D-Link HS-USB NMEA > > MI_04 D-Link HS-USB WWAN Adapter (qmi_wwan) > > MI_05 USB Mass Storage Device > > Thanks, Lars. > > Then interface 0 and 4 should be blacklisted, right? > > Rogan, would you mind doing that in a v3? You can include above > composition details in the commit message as well. > > Thanks, > Johan
On Tue, Jul 16, 2019 at 8:40 PM Rogan Dawes <rogan@dawes.za.net> wrote: > > I have no idea how to do that, I'm afraid. > > I'm mostly a cargo cult C-programmer :-) I can copy and paste, but > that's about it! That said, I think that I have already blacklisted interface 4, as it was also blacklisted in the DWM-222 A1 hardware. Rogan
diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c index a0aaf0635359..267111b1f431 100644 --- a/drivers/usb/serial/option.c +++ b/drivers/usb/serial/option.c @@ -1951,6 +1951,8 @@ static const struct usb_device_id option_ids[] = { .driver_info = RSVD(4) }, { USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7e35, 0xff), /* D-Link DWM-222 */ .driver_info = RSVD(4) }, + { USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7e3d, 0xff), /* D-Link DWM-222 A2 */ + .driver_info = RSVD(4) }, { USB_DEVICE_AND_INTERFACE_INFO(0x07d1, 0x3e01, 0xff, 0xff, 0xff) }, /* D-Link DWM-152/C1 */ { USB_DEVICE_AND_INTERFACE_INFO(0x07d1, 0x3e02, 0xff, 0xff, 0xff) }, /* D-Link DWM-156/C1 */ { USB_DEVICE_AND_INTERFACE_INFO(0x07d1, 0x7e11, 0xff, 0xff, 0xff) }, /* D-Link DWM-156/A3 */
Add device id for D-Link DWM-222. Cc: stable@vger.kernel.org Signed-Off-By: Rogan Dawes <rogan@dawes.za.net> --- Apologies, a typo crept in when submitting this previously. drivers/usb/serial/option.c | 2 ++ 1 file changed, 2 insertions(+)