|
|
|
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)},
|