* [PATCH] USB: serial: option: Add Telit FT980-KS composition
@ 2020-10-04 9:57 Leonid Bloch
2020-10-04 10:58 ` Lars Melin
0 siblings, 1 reply; 8+ messages in thread
From: Leonid Bloch @ 2020-10-04 9:57 UTC (permalink / raw)
To: linux-kernel; +Cc: linux-usb, Greg Kroah-Hartman, Johan Hovold, Leonid Bloch
This commit adds the following Telit FT980-KS composition:
0x1054: rndis, diag, adb, nmea, modem, modem, aux
AT commands can be sent to /dev/ttyUSB5.
Signed-off-by: Leonid Bloch <lb.workbox@gmail.com>
---
The full composition is not tested, and it is the default one according
to Telit support. What is tested, is that this commit makes
/dev/ttyUSB{1..7} appear upon connection of the FT980-KS, and allows
sending AT commands to /dev/ttyUSB5.
drivers/usb/serial/option.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c
index 0c6f160a214a..e7a98435ac29 100644
--- a/drivers/usb/serial/option.c
+++ b/drivers/usb/serial/option.c
@@ -301,6 +301,7 @@ static void option_instat_callback(struct urb *urb);
#define TELIT_PRODUCT_LE920A4_1212 0x1212
#define TELIT_PRODUCT_LE920A4_1213 0x1213
#define TELIT_PRODUCT_LE920A4_1214 0x1214
+#define TELIT_PRODUCT_FT980_KS 0x1054
/* ZTE PRODUCTS */
#define ZTE_VENDOR_ID 0x19d2
@@ -1164,6 +1165,7 @@ static const struct usb_device_id option_ids[] = {
{ USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_CC864_SINGLE) },
{ USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_DE910_DUAL) },
{ USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_UE910_V2) },
+ { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_FT980_KS) },
{ USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1031, 0xff), /* Telit LE910C1-EUX */
.driver_info = NCTRL(0) | RSVD(3) },
{ USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1033, 0xff), /* Telit LE910C1-EUX (ECM) */
--
2.28.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH] USB: serial: option: Add Telit FT980-KS composition
2020-10-04 9:57 [PATCH] USB: serial: option: Add Telit FT980-KS composition Leonid Bloch
@ 2020-10-04 10:58 ` Lars Melin
2020-10-04 13:29 ` Leonid Bloch
0 siblings, 1 reply; 8+ messages in thread
From: Lars Melin @ 2020-10-04 10:58 UTC (permalink / raw)
To: Leonid Bloch, linux-kernel
Cc: linux-usb, Greg Kroah-Hartman, Johan Hovold, Leonid Bloch
On 10/4/2020 16:57, Leonid Bloch wrote:
> This commit adds the following Telit FT980-KS composition:
>
> 0x1054: rndis, diag, adb, nmea, modem, modem, aux
>
> AT commands can be sent to /dev/ttyUSB5.
>
Please submit a verbose lsusb listing for the device, I can't imagine
that the adb interface should be handled by the option serial driver so
there will never be a ttyUSB5.
thanks
Lars
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] USB: serial: option: Add Telit FT980-KS composition
2020-10-04 10:58 ` Lars Melin
@ 2020-10-04 13:29 ` Leonid Bloch
2020-10-04 14:16 ` Lars Melin
2020-10-19 17:02 ` [tip: perf/urgent] " tip-bot2 for Leonid Bloch
0 siblings, 2 replies; 8+ messages in thread
From: Leonid Bloch @ 2020-10-04 13:29 UTC (permalink / raw)
To: Lars Melin, Leonid Bloch, linux-kernel
Cc: linux-usb, Greg Kroah-Hartman, Johan Hovold
On 10/4/20 1:58 PM, Lars Melin wrote:
> On 10/4/2020 16:57, Leonid Bloch wrote:
>> This commit adds the following Telit FT980-KS composition:
>>
>> 0x1054: rndis, diag, adb, nmea, modem, modem, aux
>>
>> AT commands can be sent to /dev/ttyUSB5.
>>
>
> Please submit a verbose lsusb listing for the device, I can't imagine
> that the adb interface should be handled by the option serial driver so
> there will never be a ttyUSB5.
Please see below.
Thanks,
Leonid.
```
Bus 001 Device 005: ID 1bc7:1054 Telit Wireless Solutions
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.10
bDeviceClass 0
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x1bc7 Telit Wireless Solutions
idProduct 0x1054
bcdDevice 4.14
iManufacturer 1 Telit Wireless Solutions
iProduct 2 FT980-KS
iSerial 3 cb42f61
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x013d
bNumInterfaces 8
bConfigurationValue 1
iConfiguration 4 RNDIS_DIAG_ADB_NMEA_DUN_DUN_SER
bmAttributes 0xa0
(Bus Powered)
Remote Wakeup
MaxPower 500mA
Interface Association:
bLength 8
bDescriptorType 11
bFirstInterface 0
bInterfaceCount 2
bFunctionClass 239 Miscellaneous Device
bFunctionSubClass 4
bFunctionProtocol 1
iFunction 7 RNDIS
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 239 Miscellaneous Device
bInterfaceSubClass 4
bInterfaceProtocol 1
iInterface 5 RNDIS Communications Control
** UNRECOGNIZED: 05 24 00 10 01
** UNRECOGNIZED: 05 24 01 00 01
** UNRECOGNIZED: 04 24 02 00
** UNRECOGNIZED: 05 24 06 00 01
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 9
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 10 CDC Data
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 6 RNDIS Ethernet Data
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x8e EP 14 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 0x0f EP 15 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 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 48
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 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 3
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 66
bInterfaceProtocol 1
iInterface 8 ADB Interface
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
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 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 4
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 5
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 6
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 0x89 EP 9 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 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 7
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 0x8b EP 11 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 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 0
Binary Object Store Descriptor:
bLength 5
bDescriptorType 15
wTotalLength 0x002a
bNumDeviceCaps 3
USB 2.0 Extension Device Capability:
bLength 7
bDescriptorType 16
bDevCapabilityType 2
bmAttributes 0x00000006
BESL Link Power Management (LPM) Supported
SuperSpeed USB Device Capability:
bLength 10
bDescriptorType 16
bDevCapabilityType 3
bmAttributes 0x00
wSpeedsSupported 0x000f
Device can operate at Low Speed (1Mbps)
Device can operate at Full Speed (12Mbps)
Device can operate at High Speed (480Mbps)
Device can operate at SuperSpeed (5Gbps)
bFunctionalitySupport 1
Lowest fully-functional device speed is Full Speed (12Mbps)
bU1DevExitLat 1 micro seconds
bU2DevExitLat 500 micro seconds
SuperSpeedPlus USB Device Capability:
bLength 20
bDescriptorType 16
bDevCapabilityType 10
bmAttributes 0x00000001
Sublink Speed Attribute count 1
Sublink Speed ID count 0
wFunctionalitySupport 0x1100
bmSublinkSpeedAttr[0] 0x000a4030
Speed Attribute ID: 0 10Gb/s Symmetric RX SuperSpeedPlus
bmSublinkSpeedAttr[1] 0x000a40b0
Speed Attribute ID: 0 10Gb/s Symmetric TX SuperSpeedPlus
Device Status: 0x0000
(Bus Powered)
```
>
>
> thanks
> Lars
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] USB: serial: option: Add Telit FT980-KS composition
2020-10-04 13:29 ` Leonid Bloch
@ 2020-10-04 14:16 ` Lars Melin
2020-10-04 14:32 ` Lars Melin
2020-10-19 17:02 ` [tip: perf/urgent] " tip-bot2 for Leonid Bloch
1 sibling, 1 reply; 8+ messages in thread
From: Lars Melin @ 2020-10-04 14:16 UTC (permalink / raw)
To: Leonid Bloch, Leonid Bloch, linux-kernel
Cc: linux-usb, Greg Kroah-Hartman, Johan Hovold
On 10/4/2020 20:29, Leonid Bloch wrote:
> On 10/4/20 1:58 PM, Lars Melin wrote:
>> On 10/4/2020 16:57, Leonid Bloch wrote:
>>> This commit adds the following Telit FT980-KS composition:
>>>
>>> 0x1054: rndis, diag, adb, nmea, modem, modem, aux
>>>
>>> AT commands can be sent to /dev/ttyUSB5.
>>>
>>
>> Please submit a verbose lsusb listing for the device, I can't imagine
>> that the adb interface should be handled by the option serial driver so
>> there will never be a ttyUSB5.
>
> Please see below.
>
> Thanks,
> Leonid.
>
> ```
> Bus 001 Device 005: ID 1bc7:1054 Telit Wireless Solutions
> Device Descriptor:
> bLength 18
> bDescriptorType 1
> bcdUSB 2.10
> bDeviceClass 0
> bDeviceSubClass 0
> bDeviceProtocol 0
> bMaxPacketSize0 64
> idVendor 0x1bc7 Telit Wireless Solutions
> idProduct 0x1054
> bcdDevice 4.14
> iManufacturer 1 Telit Wireless Solutions
> iProduct 2 FT980-KS
> iSerial 3 cb42f61
> bNumConfigurations 1
> Configuration Descriptor:
> bLength 9
> bDescriptorType 2
> wTotalLength 0x013d
> bNumInterfaces 8
> bConfigurationValue 1
> iConfiguration 4 RNDIS_DIAG_ADB_NMEA_DUN_DUN_SER
> bmAttributes 0xa0
> (Bus Powered)
> Remote Wakeup
> MaxPower 500mA
> Interface Association:
> bLength 8
> bDescriptorType 11
> bFirstInterface 0
> bInterfaceCount 2
> bFunctionClass 239 Miscellaneous Device
> bFunctionSubClass 4
> bFunctionProtocol 1
> iFunction 7 RNDIS
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 0
> bAlternateSetting 0
> bNumEndpoints 1
> bInterfaceClass 239 Miscellaneous Device
> bInterfaceSubClass 4
> bInterfaceProtocol 1
> iInterface 5 RNDIS Communications Control
> ** UNRECOGNIZED: 05 24 00 10 01
> ** UNRECOGNIZED: 05 24 01 00 01
> ** UNRECOGNIZED: 04 24 02 00
> ** UNRECOGNIZED: 05 24 06 00 01
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x81 EP 1 IN
> bmAttributes 3
> Transfer Type Interrupt
> Synch Type None
> Usage Type Data
> wMaxPacketSize 0x0008 1x 8 bytes
> bInterval 9
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 1
> bAlternateSetting 0
> bNumEndpoints 2
> bInterfaceClass 10 CDC Data
> bInterfaceSubClass 0
> bInterfaceProtocol 0
> iInterface 6 RNDIS Ethernet Data
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x8e EP 14 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 0x0f EP 15 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 2
> bInterfaceClass 255 Vendor Specific Class
> bInterfaceSubClass 255 Vendor Specific Subclass
> bInterfaceProtocol 48
> 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 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 3
> bAlternateSetting 0
> bNumEndpoints 2
> bInterfaceClass 255 Vendor Specific Class
> bInterfaceSubClass 66
> bInterfaceProtocol 1
> iInterface 8 ADB Interface
> 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
> 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 0
//snip
Interface #3 for ADB must be blacklisted in the option entry for the
device, by using .driver_info = RSVD(3)
thanks
Lars
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] USB: serial: option: Add Telit FT980-KS composition
2020-10-04 14:16 ` Lars Melin
@ 2020-10-04 14:32 ` Lars Melin
2020-10-04 16:03 ` Leonid Bloch
0 siblings, 1 reply; 8+ messages in thread
From: Lars Melin @ 2020-10-04 14:32 UTC (permalink / raw)
To: Leonid Bloch, Leonid Bloch, linux-kernel
Cc: linux-usb, Greg Kroah-Hartman, Johan Hovold
On 10/4/2020 21:16, Lars Melin wrote:
> On 10/4/2020 20:29, Leonid Bloch wrote:
>> On 10/4/20 1:58 PM, Lars Melin wrote:
>>> On 10/4/2020 16:57, Leonid Bloch wrote:
>>>> This commit adds the following Telit FT980-KS composition:
>>>>
>>>> 0x1054: rndis, diag, adb, nmea, modem, modem, aux
>>>>
>>>> AT commands can be sent to /dev/ttyUSB5.
>>>>
>>>
>>> Please submit a verbose lsusb listing for the device, I can't imagine
>>> that the adb interface should be handled by the option serial driver so
>>> there will never be a ttyUSB5.
>>
>> Please see below.
>>
>> Thanks,
>> Leonid.
>>
>> ```
>> Bus 001 Device 005: ID 1bc7:1054 Telit Wireless Solutions
>> Device Descriptor:
>> bLength 18
>> bDescriptorType 1
>> bcdUSB 2.10
>> bDeviceClass 0
>> bDeviceSubClass 0
>> bDeviceProtocol 0
>> bMaxPacketSize0 64
>> idVendor 0x1bc7 Telit Wireless Solutions
>> idProduct 0x1054
>> bcdDevice 4.14
>> iManufacturer 1 Telit Wireless Solutions
>> iProduct 2 FT980-KS
>> iSerial 3 cb42f61
>> bNumConfigurations 1
>> Configuration Descriptor:
>> bLength 9
>> bDescriptorType 2
>> wTotalLength 0x013d
>> bNumInterfaces 8
>> bConfigurationValue 1
>> iConfiguration 4 RNDIS_DIAG_ADB_NMEA_DUN_DUN_SER
>> bmAttributes 0xa0
>> (Bus Powered)
>> Remote Wakeup
>> MaxPower 500mA
>> Interface Association:
>> bLength 8
>> bDescriptorType 11
>> bFirstInterface 0
>> bInterfaceCount 2
>> bFunctionClass 239 Miscellaneous Device
>> bFunctionSubClass 4
>> bFunctionProtocol 1
>> iFunction 7 RNDIS
>> Interface Descriptor:
>> bLength 9
>> bDescriptorType 4
>> bInterfaceNumber 0
>> bAlternateSetting 0
>> bNumEndpoints 1
>> bInterfaceClass 239 Miscellaneous Device
>> bInterfaceSubClass 4
>> bInterfaceProtocol 1
>> iInterface 5 RNDIS Communications Control
>> ** UNRECOGNIZED: 05 24 00 10 01
>> ** UNRECOGNIZED: 05 24 01 00 01
>> ** UNRECOGNIZED: 04 24 02 00
>> ** UNRECOGNIZED: 05 24 06 00 01
>> Endpoint Descriptor:
>> bLength 7
>> bDescriptorType 5
>> bEndpointAddress 0x81 EP 1 IN
>> bmAttributes 3
>> Transfer Type Interrupt
>> Synch Type None
>> Usage Type Data
>> wMaxPacketSize 0x0008 1x 8 bytes
>> bInterval 9
>> Interface Descriptor:
>> bLength 9
>> bDescriptorType 4
>> bInterfaceNumber 1
>> bAlternateSetting 0
>> bNumEndpoints 2
>> bInterfaceClass 10 CDC Data
>> bInterfaceSubClass 0
>> bInterfaceProtocol 0
>> iInterface 6 RNDIS Ethernet Data
>> Endpoint Descriptor:
>> bLength 7
>> bDescriptorType 5
>> bEndpointAddress 0x8e EP 14 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 0x0f EP 15 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 2
>> bInterfaceClass 255 Vendor Specific Class
>> bInterfaceSubClass 255 Vendor Specific Subclass
>> bInterfaceProtocol 48
>> 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 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 3
>> bAlternateSetting 0
>> bNumEndpoints 2
>> bInterfaceClass 255 Vendor Specific Class
>> bInterfaceSubClass 66
>> bInterfaceProtocol 1
>> iInterface 8 ADB Interface
>> 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
>> 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 0
>
> //snip
>
> Interface #3 for ADB must be blacklisted in the option entry for the
> device, by using .driver_info = RSVD(3)
>
When looking at the entries for other Telit deices in the option driver
I see that their diag interface always has
the NCTRL flag so it is likely that you need that for this device also.
See the entry for PID 1052
thanks
Lars
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] USB: serial: option: Add Telit FT980-KS composition
2020-10-04 14:32 ` Lars Melin
@ 2020-10-04 16:03 ` Leonid Bloch
2020-10-05 2:04 ` Lars Melin
0 siblings, 1 reply; 8+ messages in thread
From: Leonid Bloch @ 2020-10-04 16:03 UTC (permalink / raw)
To: Lars Melin, Leonid Bloch, linux-kernel
Cc: linux-usb, Greg Kroah-Hartman, Johan Hovold
Lars,
Thank you for your review! The changes which you have suggested also
made ModemManager to recognize the device (which it didn't do before).
Please check out the v2.
Cheers,
Leonid.
___
On 10/4/20 5:32 PM, Lars Melin wrote:
> On 10/4/2020 21:16, Lars Melin wrote:
>> On 10/4/2020 20:29, Leonid Bloch wrote:
>>> On 10/4/20 1:58 PM, Lars Melin wrote:
>>>> On 10/4/2020 16:57, Leonid Bloch wrote:
>>>>> This commit adds the following Telit FT980-KS composition:
>>>>>
>>>>> 0x1054: rndis, diag, adb, nmea, modem, modem, aux
>>>>>
>>>>> AT commands can be sent to /dev/ttyUSB5.
>>>>>
>>>>
>>>> Please submit a verbose lsusb listing for the device, I can't imagine
>>>> that the adb interface should be handled by the option serial driver so
>>>> there will never be a ttyUSB5.
>>>
>>> Please see below.
>>>
>>> Thanks,
>>> Leonid.
>>>
>>> ```
>>> Bus 001 Device 005: ID 1bc7:1054 Telit Wireless Solutions
>>> Device Descriptor:
>>> bLength 18
>>> bDescriptorType 1
>>> bcdUSB 2.10
>>> bDeviceClass 0
>>> bDeviceSubClass 0
>>> bDeviceProtocol 0
>>> bMaxPacketSize0 64
>>> idVendor 0x1bc7 Telit Wireless Solutions
>>> idProduct 0x1054
>>> bcdDevice 4.14
>>> iManufacturer 1 Telit Wireless Solutions
>>> iProduct 2 FT980-KS
>>> iSerial 3 cb42f61
>>> bNumConfigurations 1
>>> Configuration Descriptor:
>>> bLength 9
>>> bDescriptorType 2
>>> wTotalLength 0x013d
>>> bNumInterfaces 8
>>> bConfigurationValue 1
>>> iConfiguration 4 RNDIS_DIAG_ADB_NMEA_DUN_DUN_SER
>>> bmAttributes 0xa0
>>> (Bus Powered)
>>> Remote Wakeup
>>> MaxPower 500mA
>>> Interface Association:
>>> bLength 8
>>> bDescriptorType 11
>>> bFirstInterface 0
>>> bInterfaceCount 2
>>> bFunctionClass 239 Miscellaneous Device
>>> bFunctionSubClass 4
>>> bFunctionProtocol 1
>>> iFunction 7 RNDIS
>>> Interface Descriptor:
>>> bLength 9
>>> bDescriptorType 4
>>> bInterfaceNumber 0
>>> bAlternateSetting 0
>>> bNumEndpoints 1
>>> bInterfaceClass 239 Miscellaneous Device
>>> bInterfaceSubClass 4
>>> bInterfaceProtocol 1
>>> iInterface 5 RNDIS Communications Control
>>> ** UNRECOGNIZED: 05 24 00 10 01
>>> ** UNRECOGNIZED: 05 24 01 00 01
>>> ** UNRECOGNIZED: 04 24 02 00
>>> ** UNRECOGNIZED: 05 24 06 00 01
>>> Endpoint Descriptor:
>>> bLength 7
>>> bDescriptorType 5
>>> bEndpointAddress 0x81 EP 1 IN
>>> bmAttributes 3
>>> Transfer Type Interrupt
>>> Synch Type None
>>> Usage Type Data
>>> wMaxPacketSize 0x0008 1x 8 bytes
>>> bInterval 9
>>> Interface Descriptor:
>>> bLength 9
>>> bDescriptorType 4
>>> bInterfaceNumber 1
>>> bAlternateSetting 0
>>> bNumEndpoints 2
>>> bInterfaceClass 10 CDC Data
>>> bInterfaceSubClass 0
>>> bInterfaceProtocol 0
>>> iInterface 6 RNDIS Ethernet Data
>>> Endpoint Descriptor:
>>> bLength 7
>>> bDescriptorType 5
>>> bEndpointAddress 0x8e EP 14 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 0x0f EP 15 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 2
>>> bInterfaceClass 255 Vendor Specific Class
>>> bInterfaceSubClass 255 Vendor Specific Subclass
>>> bInterfaceProtocol 48
>>> 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 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 3
>>> bAlternateSetting 0
>>> bNumEndpoints 2
>>> bInterfaceClass 255 Vendor Specific Class
>>> bInterfaceSubClass 66
>>> bInterfaceProtocol 1
>>> iInterface 8 ADB Interface
>>> 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
>>> 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 0
>>
>> //snip
>>
>> Interface #3 for ADB must be blacklisted in the option entry for the
>> device, by using .driver_info = RSVD(3)
>>
>
>
> When looking at the entries for other Telit deices in the option driver
> I see that their diag interface always has
> the NCTRL flag so it is likely that you need that for this device also.
> See the entry for PID 1052
>
>
> thanks
> Lars
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] USB: serial: option: Add Telit FT980-KS composition
2020-10-04 16:03 ` Leonid Bloch
@ 2020-10-05 2:04 ` Lars Melin
0 siblings, 0 replies; 8+ messages in thread
From: Lars Melin @ 2020-10-05 2:04 UTC (permalink / raw)
To: Leonid Bloch, Leonid Bloch, linux-kernel
Cc: linux-usb, Greg Kroah-Hartman, Johan Hovold
On 10/4/2020 23:03, Leonid Bloch wrote:
> Lars,
>
>
> Thank you for your review! The changes which you have suggested also
> made ModemManager to recognize the device (which it didn't do before).
> Please check out the v2.
>
>
> Cheers,
> Leonid.
The v2 looks good to me
br
Lars
^ permalink raw reply [flat|nested] 8+ messages in thread
* [tip: perf/urgent] USB: serial: option: Add Telit FT980-KS composition
2020-10-04 13:29 ` Leonid Bloch
2020-10-04 14:16 ` Lars Melin
@ 2020-10-19 17:02 ` tip-bot2 for Leonid Bloch
1 sibling, 0 replies; 8+ messages in thread
From: tip-bot2 for Leonid Bloch @ 2020-10-19 17:02 UTC (permalink / raw)
To: linux-tip-commits
Cc: Leonid Bloch, stable, Johan Hovold, Greg Kroah-Hartman, x86, LKML
The following commit has been merged into the perf/urgent branch of tip:
Commit-ID: da6f40842515774026d5bfad297491eb513c40cc
Gitweb: https://git.kernel.org/tip/da6f40842515774026d5bfad297491eb513c40cc
Author: Leonid Bloch <lb.workbox@gmail.com>
AuthorDate: Sun, 04 Oct 2020 18:58:13 +03:00
Committer: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
CommitterDate: Sat, 17 Oct 2020 08:31:21 +02:00
USB: serial: option: Add Telit FT980-KS composition
commit 924a9213358fb92fa3c3225d6d042aa058167405 upstream.
This commit adds the following Telit FT980-KS composition:
0x1054: rndis, diag, adb, nmea, modem, modem, aux
AT commands can be sent to /dev/ttyUSB2.
Signed-off-by: Leonid Bloch <lb.workbox@gmail.com>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/ce86bc05-f4e2-b199-0cdc-792715e3f275@asocscloud.com
Link: https://lore.kernel.org/r/20201004155813.2342-1-lb.workbox@gmail.com
Signed-off-by: Johan Hovold <johan@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/usb/serial/option.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c
index a65e620..2a3bfd6 100644
--- a/drivers/usb/serial/option.c
+++ b/drivers/usb/serial/option.c
@@ -1187,6 +1187,8 @@ static const struct usb_device_id option_ids[] = {
.driver_info = NCTRL(2) | RSVD(3) },
{ USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1053, 0xff), /* Telit FN980 (ECM) */
.driver_info = NCTRL(0) | RSVD(1) },
+ { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1054, 0xff), /* Telit FT980-KS */
+ .driver_info = NCTRL(2) | RSVD(3) },
{ USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_ME910),
.driver_info = NCTRL(0) | RSVD(1) | RSVD(3) },
{ USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_ME910_DUAL_MODEM),
^ permalink raw reply related [flat|nested] 8+ messages in thread
end of thread, other threads:[~2020-10-19 17:03 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-04 9:57 [PATCH] USB: serial: option: Add Telit FT980-KS composition Leonid Bloch
2020-10-04 10:58 ` Lars Melin
2020-10-04 13:29 ` Leonid Bloch
2020-10-04 14:16 ` Lars Melin
2020-10-04 14:32 ` Lars Melin
2020-10-04 16:03 ` Leonid Bloch
2020-10-05 2:04 ` Lars Melin
2020-10-19 17:02 ` [tip: perf/urgent] " tip-bot2 for Leonid Bloch
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).