* [PATCH] option: added support for Thales Cinterion MV31 option port.
@ 2020-11-19 11:59 Giacinto Cifelli
2020-11-20 9:41 ` Johan Hovold
2020-11-23 8:20 ` Lars Melin
0 siblings, 2 replies; 7+ messages in thread
From: Giacinto Cifelli @ 2020-11-19 11:59 UTC (permalink / raw)
To: linux-usb; +Cc: Giacinto Cifelli
There is a single option port in this modem, and it is used as debug port
Signed-off-by: Giacinto Cifelli <gciofono@gmail.com>
---
drivers/usb/serial/option.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c
index 54ca85cc920d..3ad86a6e8487 100644
--- a/drivers/usb/serial/option.c
+++ b/drivers/usb/serial/option.c
@@ -424,6 +424,7 @@ static void option_instat_callback(struct urb *urb);
#define CINTERION_PRODUCT_AHXX_2RMNET 0x0084
#define CINTERION_PRODUCT_AHXX_AUDIO 0x0085
#define CINTERION_PRODUCT_CLS8 0x00b0
+#define CINTERION_PRODUCT_EXS82 0x006c
/* Olivetti products */
#define OLIVETTI_VENDOR_ID 0x0b3c
@@ -1908,6 +1909,8 @@ static const struct usb_device_id option_ids[] = {
{ USB_DEVICE(SIEMENS_VENDOR_ID, CINTERION_PRODUCT_HC25_MDMNET) },
{ USB_DEVICE(SIEMENS_VENDOR_ID, CINTERION_PRODUCT_HC28_MDM) }, /* HC28 enumerates with Siemens or Cinterion VID depending on FW revision */
{ USB_DEVICE(SIEMENS_VENDOR_ID, CINTERION_PRODUCT_HC28_MDMNET) },
+ { USB_DEVICE_INTERFACE_CLASS(CINTERION_VENDOR_ID, CINTERION_PRODUCT_EXS82, 0xff),
+ .driver_info = RSVD(1) | RSVD(2) | RSVD(3) },
{ USB_DEVICE(OLIVETTI_VENDOR_ID, OLIVETTI_PRODUCT_OLICARD100),
.driver_info = RSVD(4) },
{ USB_DEVICE(OLIVETTI_VENDOR_ID, OLIVETTI_PRODUCT_OLICARD120),
--
2.17.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH] option: added support for Thales Cinterion MV31 option port.
2020-11-19 11:59 [PATCH] option: added support for Thales Cinterion MV31 option port Giacinto Cifelli
@ 2020-11-20 9:41 ` Johan Hovold
2020-11-23 7:45 ` Giacinto Cifelli
2020-11-23 8:20 ` Lars Melin
1 sibling, 1 reply; 7+ messages in thread
From: Johan Hovold @ 2020-11-20 9:41 UTC (permalink / raw)
To: Giacinto Cifelli; +Cc: linux-usb
On Thu, Nov 19, 2020 at 12:59:31PM +0100, Giacinto Cifelli wrote:
> There is a single option port in this modem, and it is used as debug port
>
> Signed-off-by: Giacinto Cifelli <gciofono@gmail.com>
Can you post the output of "lsusb -v" for this device?
Johan
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] option: added support for Thales Cinterion MV31 option port.
2020-11-20 9:41 ` Johan Hovold
@ 2020-11-23 7:45 ` Giacinto Cifelli
0 siblings, 0 replies; 7+ messages in thread
From: Giacinto Cifelli @ 2020-11-23 7:45 UTC (permalink / raw)
To: Johan Hovold; +Cc: linux-usb
Hi Johan,
here is the short version: bus 1, dev 2 is the EXS82:
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
|__ Port 1: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 12M
|__ Port 2: Dev 3, If 0, Class=Hub, Driver=hub/7p, 12M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/6p, 480M
|__ Port 1: Dev 2, If 0, Class=Vendor Specific Class, Driver=option, 480M
|__ Port 1: Dev 2, If 1, Class=Communications, Driver=cdc_acm, 480M
|__ Port 1: Dev 2, If 2, Class=CDC Data, Driver=cdc_acm, 480M
|__ Port 1: Dev 2, If 3, Class=Communications, Driver=cdc_acm, 480M
|__ Port 1: Dev 2, If 4, Class=CDC Data, Driver=cdc_acm, 480M
|__ Port 1: Dev 2, If 5, Class=Communications, Driver=cdc_ether, 480M
|__ Port 1: Dev 2, If 6, Class=CDC Data, Driver=cdc_ether, 480M
and here the long version (only the part concerning the device):
Bus 001 Device 002: ID 1e2d:006c
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 239 Miscellaneous Device
bDeviceSubClass 2 ?
bDeviceProtocol 1 Interface Association
bMaxPacketSize0 64
idVendor 0x1e2d
idProduct 0x006c
bcdDevice 0.00
iManufacturer 4
iProduct 3
iSerial 5
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 243
bNumInterfaces 7
bConfigurationValue 1
iConfiguration 2
bmAttributes 0xe0
Self Powered
Remote Wakeup
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 Association:
bLength 8
bDescriptorType 11
bFirstInterface 1
bInterfaceCount 2
bFunctionClass 2 Communications
bFunctionSubClass 2 Abstract (modem)
bFunctionProtocol 1 AT-commands (v.25ter)
iFunction 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 2 Communications
bInterfaceSubClass 2 Abstract (modem)
bInterfaceProtocol 1 AT-commands (v.25ter)
iInterface 0
CDC Header:
bcdCDC 1.10
CDC ACM:
bmCapabilities 0x02
line coding and serial state
CDC Call Management:
bmCapabilities 0x03
call management
use DataInterface
bDataInterface 2
CDC Union:
bMasterInterface 1
bSlaveInterface 2
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 5
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 10 CDC Data
bInterfaceSubClass 0 Unused
bInterfaceProtocol 0
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 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 Association:
bLength 8
bDescriptorType 11
bFirstInterface 3
bInterfaceCount 2
bFunctionClass 2 Communications
bFunctionSubClass 2 Abstract (modem)
bFunctionProtocol 1 AT-commands (v.25ter)
iFunction 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 3
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 2 Communications
bInterfaceSubClass 2 Abstract (modem)
bInterfaceProtocol 1 AT-commands (v.25ter)
iInterface 0
CDC Header:
bcdCDC 1.10
CDC ACM:
bmCapabilities 0x02
line coding and serial state
CDC Call Management:
bmCapabilities 0x03
call management
use DataInterface
bDataInterface 4
CDC Union:
bMasterInterface 3
bSlaveInterface 4
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x84 EP 4 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 5
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 4
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 10 CDC Data
bInterfaceSubClass 0 Unused
bInterfaceProtocol 0
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 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 Association:
bLength 8
bDescriptorType 11
bFirstInterface 5
bInterfaceCount 2
bFunctionClass 2 Communications
bFunctionSubClass 2 Abstract (modem)
bFunctionProtocol 1 AT-commands (v.25ter)
iFunction 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 5
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 2 Communications
bInterfaceSubClass 6 Ethernet Networking
bInterfaceProtocol 0
iInterface 0
CDC Header:
bcdCDC 1.10
CDC Ethernet:
iMacAddress 1 (??)
bmEthernetStatistics 0x00000000
wMaxSegmentSize 16384
wNumberMCFilters 0x0001
bNumberPowerFilters 0
CDC Union:
bMasterInterface 5
bSlaveInterface 6
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x86 EP 6 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 5
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 6
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 10 CDC Data
bInterfaceSubClass 0 Unused
bInterfaceProtocol 0
iInterface 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 6
bAlternateSetting 1
bNumEndpoints 2
bInterfaceClass 10 CDC Data
bInterfaceSubClass 0 Unused
bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x87 EP 7 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
I did make a mistake on the name of the patch. It should read EXS82
and not MV31 (which will come a bit later, as soon as they make their
mind for the final enumeration).
Please let me know of any further comments, and I will re-submit with
the right subject.
Shall I add the lsusb output above in the patch comment?
Thank you,
Giacinto
On Fri, Nov 20, 2020 at 10:41 AM Johan Hovold <johan@kernel.org> wrote:
>
> On Thu, Nov 19, 2020 at 12:59:31PM +0100, Giacinto Cifelli wrote:
> > There is a single option port in this modem, and it is used as debug port
> >
> > Signed-off-by: Giacinto Cifelli <gciofono@gmail.com>
>
> Can you post the output of "lsusb -v" for this device?
>
> Johan
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] option: added support for Thales Cinterion MV31 option port.
2020-11-19 11:59 [PATCH] option: added support for Thales Cinterion MV31 option port Giacinto Cifelli
2020-11-20 9:41 ` Johan Hovold
@ 2020-11-23 8:20 ` Lars Melin
2020-11-23 8:33 ` Lars Melin
1 sibling, 1 reply; 7+ messages in thread
From: Lars Melin @ 2020-11-23 8:20 UTC (permalink / raw)
To: Giacinto Cifelli, linux-usb
On 11/19/2020 18:59, Giacinto Cifelli wrote:
> There is a single option port in this modem, and it is used as debug port
>
> Signed-off-by: Giacinto Cifelli <gciofono@gmail.com>
> ---
> drivers/usb/serial/option.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c
> index 54ca85cc920d..3ad86a6e8487 100644
> --- a/drivers/usb/serial/option.c
> +++ b/drivers/usb/serial/option.c
> @@ -424,6 +424,7 @@ static void option_instat_callback(struct urb *urb);
> #define CINTERION_PRODUCT_AHXX_2RMNET 0x0084
> #define CINTERION_PRODUCT_AHXX_AUDIO 0x0085
> #define CINTERION_PRODUCT_CLS8 0x00b0
> +#define CINTERION_PRODUCT_EXS82 0x006c
>
> /* Olivetti products */
> #define OLIVETTI_VENDOR_ID 0x0b3c
> @@ -1908,6 +1909,8 @@ static const struct usb_device_id option_ids[] = {
> { USB_DEVICE(SIEMENS_VENDOR_ID, CINTERION_PRODUCT_HC25_MDMNET) },
> { USB_DEVICE(SIEMENS_VENDOR_ID, CINTERION_PRODUCT_HC28_MDM) }, /* HC28 enumerates with Siemens or Cinterion VID depending on FW revision */
> { USB_DEVICE(SIEMENS_VENDOR_ID, CINTERION_PRODUCT_HC28_MDMNET) },
> + { USB_DEVICE_INTERFACE_CLASS(CINTERION_VENDOR_ID, CINTERION_PRODUCT_EXS82, 0xff),
> + .driver_info = RSVD(1) | RSVD(2) | RSVD(3) },
> { USB_DEVICE(OLIVETTI_VENDOR_ID, OLIVETTI_PRODUCT_OLICARD100),
> .driver_info = RSVD(4) },
> { USB_DEVICE(OLIVETTI_VENDOR_ID, OLIVETTI_PRODUCT_OLICARD120),
>
There is only one interface in this device that should be driven by
optiom, the first interface which likely is a diag interface.
All other interfaces are driven by CDC drivers and they will not be
taken by option so no need for the blacklisting of them.
Remove the .driver_info line from the patch.
thanks
Lars
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] option: added support for Thales Cinterion MV31 option port.
2020-11-23 8:20 ` Lars Melin
@ 2020-11-23 8:33 ` Lars Melin
0 siblings, 0 replies; 7+ messages in thread
From: Lars Melin @ 2020-11-23 8:33 UTC (permalink / raw)
To: Giacinto Cifelli, linux-usb, Johan Hovold
+ johan
On 11/23/2020 15:20, Lars Melin wrote:
> On 11/19/2020 18:59, Giacinto Cifelli wrote:
>> There is a single option port in this modem, and it is used as debug port
>>
>> Signed-off-by: Giacinto Cifelli <gciofono@gmail.com>
>> ---
>> drivers/usb/serial/option.c | 3 +++
>> 1 file changed, 3 insertions(+)
>>
>> diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c
>> index 54ca85cc920d..3ad86a6e8487 100644
>> --- a/drivers/usb/serial/option.c
>> +++ b/drivers/usb/serial/option.c
>> @@ -424,6 +424,7 @@ static void option_instat_callback(struct urb *urb);
>> #define CINTERION_PRODUCT_AHXX_2RMNET 0x0084
>> #define CINTERION_PRODUCT_AHXX_AUDIO 0x0085
>> #define CINTERION_PRODUCT_CLS8 0x00b0
>> +#define CINTERION_PRODUCT_EXS82 0x006c
>> /* Olivetti products */
>> #define OLIVETTI_VENDOR_ID 0x0b3c
>> @@ -1908,6 +1909,8 @@ static const struct usb_device_id option_ids[] = {
>> { USB_DEVICE(SIEMENS_VENDOR_ID, CINTERION_PRODUCT_HC25_MDMNET) },
>> { USB_DEVICE(SIEMENS_VENDOR_ID, CINTERION_PRODUCT_HC28_MDM) },
>> /* HC28 enumerates with Siemens or Cinterion VID depending on FW
>> revision */
>> { USB_DEVICE(SIEMENS_VENDOR_ID, CINTERION_PRODUCT_HC28_MDMNET) },
>> + { USB_DEVICE_INTERFACE_CLASS(CINTERION_VENDOR_ID,
>> CINTERION_PRODUCT_EXS82, 0xff),
>> + .driver_info = RSVD(1) | RSVD(2) | RSVD(3) },
>> { USB_DEVICE(OLIVETTI_VENDOR_ID, OLIVETTI_PRODUCT_OLICARD100),
>> .driver_info = RSVD(4) },
>> { USB_DEVICE(OLIVETTI_VENDOR_ID, OLIVETTI_PRODUCT_OLICARD120),
>>
>
> There is only one interface in this device that should be driven by
> optiom, the first interface which likely is a diag interface.
> All other interfaces are driven by CDC drivers and they will not be
> taken by option so no need for the blacklisting of them.
> Remove the .driver_info line from the patch.
>
> thanks
> Lars
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH] option: added support for Thales Cinterion MV31 option port.
@ 2020-11-19 10:58 Giacinto Cifelli
2020-11-19 11:44 ` Greg KH
0 siblings, 1 reply; 7+ messages in thread
From: Giacinto Cifelli @ 2020-11-19 10:58 UTC (permalink / raw)
To: linux-serial; +Cc: Giacinto Cifelli
There is a single option port in this modem, and it is used as debug port
Signed-off-by: Giacinto Cifelli <gciofono@gmail.com>
---
drivers/usb/serial/option.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c
index 54ca85cc920d..3ad86a6e8487 100644
--- a/drivers/usb/serial/option.c
+++ b/drivers/usb/serial/option.c
@@ -424,6 +424,7 @@ static void option_instat_callback(struct urb *urb);
#define CINTERION_PRODUCT_AHXX_2RMNET 0x0084
#define CINTERION_PRODUCT_AHXX_AUDIO 0x0085
#define CINTERION_PRODUCT_CLS8 0x00b0
+#define CINTERION_PRODUCT_EXS82 0x006c
/* Olivetti products */
#define OLIVETTI_VENDOR_ID 0x0b3c
@@ -1908,6 +1909,8 @@ static const struct usb_device_id option_ids[] = {
{ USB_DEVICE(SIEMENS_VENDOR_ID, CINTERION_PRODUCT_HC25_MDMNET) },
{ USB_DEVICE(SIEMENS_VENDOR_ID, CINTERION_PRODUCT_HC28_MDM) }, /* HC28 enumerates with Siemens or Cinterion VID depending on FW revision */
{ USB_DEVICE(SIEMENS_VENDOR_ID, CINTERION_PRODUCT_HC28_MDMNET) },
+ { USB_DEVICE_INTERFACE_CLASS(CINTERION_VENDOR_ID, CINTERION_PRODUCT_EXS82, 0xff),
+ .driver_info = RSVD(1) | RSVD(2) | RSVD(3) },
{ USB_DEVICE(OLIVETTI_VENDOR_ID, OLIVETTI_PRODUCT_OLICARD100),
.driver_info = RSVD(4) },
{ USB_DEVICE(OLIVETTI_VENDOR_ID, OLIVETTI_PRODUCT_OLICARD120),
--
2.17.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH] option: added support for Thales Cinterion MV31 option port.
2020-11-19 10:58 Giacinto Cifelli
@ 2020-11-19 11:44 ` Greg KH
0 siblings, 0 replies; 7+ messages in thread
From: Greg KH @ 2020-11-19 11:44 UTC (permalink / raw)
To: Giacinto Cifelli; +Cc: linux-serial
On Thu, Nov 19, 2020 at 11:58:37AM +0100, Giacinto Cifelli wrote:
> There is a single option port in this modem, and it is used as debug port
>
> Signed-off-by: Giacinto Cifelli <gciofono@gmail.com>
> ---
> drivers/usb/serial/option.c | 3 +++
Odd that you sent it to this list, when the kernel says to send this
patch to:
$ ./scripts/get_maintainer.pl --file drivers/usb/serial/option.c
Johan Hovold <johan@kernel.org> (maintainer:USB SERIAL SUBSYSTEM)
Greg Kroah-Hartman <gregkh@linuxfoundation.org> (supporter:USB SUBSYSTEM)
linux-usb@vger.kernel.org (open list:USB SERIAL SUBSYSTEM)
linux-kernel@vger.kernel.org (open list)
Please fix up and resend to the proper developers and list.
thanks,
greg k-h
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2020-11-23 8:34 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-19 11:59 [PATCH] option: added support for Thales Cinterion MV31 option port Giacinto Cifelli
2020-11-20 9:41 ` Johan Hovold
2020-11-23 7:45 ` Giacinto Cifelli
2020-11-23 8:20 ` Lars Melin
2020-11-23 8:33 ` Lars Melin
-- strict thread matches above, loose matches on Subject: below --
2020-11-19 10:58 Giacinto Cifelli
2020-11-19 11:44 ` Greg KH
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.