mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-11-04 06:54:27 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			324 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			324 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
From 61ab9efddf51cbc0d57356a4d650785cf5721fbe Mon Sep 17 00:00:00 2001
 | 
						|
From: Ricardo Ribalda <ricardo.ribalda@gmail.com>
 | 
						|
Date: Mon, 4 Aug 2014 11:11:49 +0200
 | 
						|
Subject: [PATCH] net/usb/hso: Add support for Option GTM671WFS
 | 
						|
 | 
						|
After this patch:
 | 
						|
 | 
						|
[   32.985530] hso: drivers/net/usb/hso.c: Option Wireless
 | 
						|
[   33.000452] hso 2-1.4:1.7: Not our interface
 | 
						|
[   33.001849] usbcore: registered new interface driver hso
 | 
						|
 | 
						|
root@qt5022:~# ls /dev/ttyHS*
 | 
						|
/dev/ttyHS0  /dev/ttyHS1  /dev/ttyHS2  /dev/ttyHS3  /dev/ttyHS4
 | 
						|
/dev/ttyHS5
 | 
						|
 | 
						|
root@qt5022:~# lsusb -d 0af0: -vvv
 | 
						|
 | 
						|
Bus 002 Device 003: ID 0af0:9200 Option
 | 
						|
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           0x0af0 Option
 | 
						|
  idProduct          0x9200
 | 
						|
  bcdDevice            0.00
 | 
						|
  iManufacturer           3 Option N.V.
 | 
						|
  iProduct                2 Globetrotter HSUPA Modem
 | 
						|
  iSerial                 0
 | 
						|
  bNumConfigurations      1
 | 
						|
  Configuration Descriptor:
 | 
						|
    bLength                 9
 | 
						|
    bDescriptorType         2
 | 
						|
    wTotalLength          200
 | 
						|
    bNumInterfaces          8
 | 
						|
    bConfigurationValue     1
 | 
						|
    iConfiguration          1 Option Configuration
 | 
						|
    bmAttributes         0xe0
 | 
						|
      Self Powered
 | 
						|
      Remote Wakeup
 | 
						|
    MaxPower              100mA
 | 
						|
    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              32
 | 
						|
      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              32
 | 
						|
    Interface Descriptor:
 | 
						|
      bLength                 9
 | 
						|
      bDescriptorType         4
 | 
						|
      bInterfaceNumber        1
 | 
						|
      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     0x82  EP 2 IN
 | 
						|
        bmAttributes            2
 | 
						|
          Transfer Type            Bulk
 | 
						|
          Synch Type               None
 | 
						|
          Usage Type               Data
 | 
						|
        wMaxPacketSize     0x0200  1x 512 bytes
 | 
						|
        bInterval              32
 | 
						|
      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              32
 | 
						|
    Interface Descriptor:
 | 
						|
      bLength                 9
 | 
						|
      bDescriptorType         4
 | 
						|
      bInterfaceNumber        2
 | 
						|
      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     0x83  EP 3 IN
 | 
						|
        bmAttributes            2
 | 
						|
          Transfer Type            Bulk
 | 
						|
          Synch Type               None
 | 
						|
          Usage Type               Data
 | 
						|
        wMaxPacketSize     0x0200  1x 512 bytes
 | 
						|
        bInterval              32
 | 
						|
      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              32
 | 
						|
    Interface Descriptor:
 | 
						|
      bLength                 9
 | 
						|
      bDescriptorType         4
 | 
						|
      bInterfaceNumber        3
 | 
						|
      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     0x84  EP 4 IN
 | 
						|
        bmAttributes            2
 | 
						|
          Transfer Type            Bulk
 | 
						|
          Synch Type               None
 | 
						|
          Usage Type               Data
 | 
						|
        wMaxPacketSize     0x0200  1x 512 bytes
 | 
						|
        bInterval              32
 | 
						|
      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              32
 | 
						|
    Interface Descriptor:
 | 
						|
      bLength                 9
 | 
						|
      bDescriptorType         4
 | 
						|
      bInterfaceNumber        4
 | 
						|
      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     0x85  EP 5 IN
 | 
						|
        bmAttributes            2
 | 
						|
          Transfer Type            Bulk
 | 
						|
          Synch Type               None
 | 
						|
          Usage Type               Data
 | 
						|
        wMaxPacketSize     0x0200  1x 512 bytes
 | 
						|
        bInterval              32
 | 
						|
      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              32
 | 
						|
    Interface Descriptor:
 | 
						|
      bLength                 9
 | 
						|
      bDescriptorType         4
 | 
						|
      bInterfaceNumber        5
 | 
						|
      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     0x06  EP 6 OUT
 | 
						|
        bmAttributes            2
 | 
						|
          Transfer Type            Bulk
 | 
						|
          Synch Type               None
 | 
						|
          Usage Type               Data
 | 
						|
        wMaxPacketSize     0x0200  1x 512 bytes
 | 
						|
        bInterval              32
 | 
						|
      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              32
 | 
						|
    Interface Descriptor:
 | 
						|
      bLength                 9
 | 
						|
      bDescriptorType         4
 | 
						|
      bInterfaceNumber        6
 | 
						|
      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     0x87  EP 7 IN
 | 
						|
        bmAttributes            3
 | 
						|
          Transfer Type            Interrupt
 | 
						|
          Synch Type               None
 | 
						|
          Usage Type               Data
 | 
						|
        wMaxPacketSize     0x0040  1x 64 bytes
 | 
						|
        bInterval               5
 | 
						|
      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              32
 | 
						|
      Endpoint Descriptor:
 | 
						|
        bLength                 7
 | 
						|
        bDescriptorType         5
 | 
						|
        bEndpointAddress     0x07  EP 7 OUT
 | 
						|
        bmAttributes            2
 | 
						|
          Transfer Type            Bulk
 | 
						|
          Synch Type               None
 | 
						|
          Usage Type               Data
 | 
						|
        wMaxPacketSize     0x0200  1x 512 bytes
 | 
						|
        bInterval              32
 | 
						|
    Interface Descriptor:
 | 
						|
      bLength                 9
 | 
						|
      bDescriptorType         4
 | 
						|
      bInterfaceNumber        7
 | 
						|
      bAlternateSetting       0
 | 
						|
      bNumEndpoints           2
 | 
						|
      bInterfaceClass         8 Mass Storage
 | 
						|
      bInterfaceSubClass      6 SCSI
 | 
						|
      bInterfaceProtocol     80 Bulk-Only
 | 
						|
      iInterface              0
 | 
						|
      Endpoint Descriptor:
 | 
						|
        bLength                 7
 | 
						|
        bDescriptorType         5
 | 
						|
        bEndpointAddress     0x08  EP 8 OUT
 | 
						|
        bmAttributes            2
 | 
						|
          Transfer Type            Bulk
 | 
						|
          Synch Type               None
 | 
						|
          Usage Type               Data
 | 
						|
        wMaxPacketSize     0x0200  1x 512 bytes
 | 
						|
        bInterval               1
 | 
						|
      Endpoint Descriptor:
 | 
						|
        bLength                 7
 | 
						|
        bDescriptorType         5
 | 
						|
        bEndpointAddress     0x89  EP 9 IN
 | 
						|
        bmAttributes            2
 | 
						|
          Transfer Type            Bulk
 | 
						|
          Synch Type               None
 | 
						|
          Usage Type               Data
 | 
						|
        wMaxPacketSize     0x0200  1x 512 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:     0x0001
 | 
						|
  Self Powered
 | 
						|
 | 
						|
Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
 | 
						|
Acked-by: Dan Williams <dcbw@redhat.com>
 | 
						|
Signed-off-by: David S. Miller <davem@davemloft.net>
 | 
						|
---
 | 
						|
 drivers/net/usb/hso.c | 1 +
 | 
						|
 1 file changed, 1 insertion(+)
 | 
						|
 | 
						|
--- a/drivers/net/usb/hso.c
 | 
						|
+++ b/drivers/net/usb/hso.c
 | 
						|
@@ -469,6 +469,7 @@ static const struct usb_device_id hso_id
 | 
						|
 	{USB_DEVICE(0x0af0, 0x8800)},
 | 
						|
 	{USB_DEVICE(0x0af0, 0x8900)},
 | 
						|
 	{USB_DEVICE(0x0af0, 0x9000)},
 | 
						|
+	{USB_DEVICE(0x0af0, 0x9200)},		/* Option GTM671WFS */
 | 
						|
 	{USB_DEVICE(0x0af0, 0xd035)},
 | 
						|
 	{USB_DEVICE(0x0af0, 0xd055)},
 | 
						|
 	{USB_DEVICE(0x0af0, 0xd155)},
 |