Re: [PATCH] USB: serial: option: Add Telit FT980-KS composition

2020-10-04 Thread Lars Melin

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


Re: [PATCH] USB: serial: option: Add Telit FT980-KS composition

2020-10-04 Thread Leonid Bloch

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
 

Re: [PATCH] USB: serial: option: Add Telit FT980-KS composition

2020-10-04 Thread Lars Melin

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

Re: [PATCH] USB: serial: option: Add Telit FT980-KS composition

2020-10-04 Thread Lars Melin

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
   

Re: [PATCH] USB: serial: option: Add Telit FT980-KS composition

2020-10-04 Thread Leonid Bloch

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:
  bLength18
  bDescriptorType 1
  bcdUSB   2.10
  bDeviceClass0
  bDeviceSubClass 0
  bDeviceProtocol 0
  bMaxPacketSize064
  idVendor   0x1bc7 Telit Wireless Solutions
  idProduct  0x1054
  bcdDevice4.14
  iManufacturer   1 Telit Wireless Solutions
  iProduct2 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
  bDescriptorType11
  bFirstInterface 0
  bInterfaceCount 2
  bFunctionClass239 Miscellaneous Device
  bFunctionSubClass   4
  bFunctionProtocol   1
  iFunction   7 RNDIS
Interface Descriptor:
  bLength 9
  bDescriptorType 4
  bInterfaceNumber0
  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
bmAttributes3
  Transfer TypeInterrupt
  Synch Type   None
  Usage Type   Data
wMaxPacketSize 0x0008  1x 8 bytes
bInterval   9
Interface Descriptor:
  bLength 9
  bDescriptorType 4
  bInterfaceNumber1
  bAlternateSetting   0
  bNumEndpoints   2
  bInterfaceClass10 CDC Data
  bInterfaceSubClass  0
  bInterfaceProtocol  0
  iInterface  6 RNDIS Ethernet Data
  Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x8e  EP 14 IN
bmAttributes2
  Transfer TypeBulk
  Synch Type   None
  Usage Type   Data
wMaxPacketSize 0x0200  1x 512 bytes
bInterval   0
  Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x0f  EP 15 OUT
bmAttributes2
  Transfer TypeBulk
  Synch Type   None
  Usage Type   Data
wMaxPacketSize 0x0200  1x 512 bytes
bInterval   0
Interface Descriptor:
  bLength 9
  bDescriptorType 4
  bInterfaceNumber2
  bAlternateSetting   0
  bNumEndpoints   2
  bInterfaceClass   255 Vendor Specific Class
  bInterfaceSubClass255 Vendor Specific Subclass
  bInterfaceProtocol 48
  iInterface  0
  Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82  EP 2 IN
bmAttributes2
  Transfer TypeBulk
  Synch Type   None
  Usage Type   Data
wMaxPacketSize 0x0200  1x 512 bytes
bInterval   0
  Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01  EP 1 OUT
bmAttributes2
  Transfer TypeBulk
  Synch Type   None
  Usage Type   Data
wMaxPacketSize 0x0200  1x 512 bytes
bInterval   0
Interface Descriptor:
  bLength 9
  bDescriptorType 4
  bInterfaceNumber3
  bAlternateSetting   0
  bNumEndpoints   2
  bInterfaceClass   255 Vendor Specific Class
  

Re: [PATCH] USB: serial: option: Add Telit FT980-KS composition

2020-10-04 Thread Lars Melin

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



[PATCH] USB: serial: option: Add Telit FT980-KS composition

2020-10-04 Thread 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 
---

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