mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v1 0/1] usb: csc-acm: add Infineon/Comneon modem support
@ 2026-01-22 15:17 Svyatoslav Ryhel
  2026-01-22 15:17 ` [PATCH v1 1/1] usb: csc-acm: add Infineon/Comneon modem support (1519:0020) Svyatoslav Ryhel
  0 siblings, 1 reply; 8+ messages in thread
From: Svyatoslav Ryhel @ 2026-01-22 15:17 UTC (permalink / raw)
  To: Oliver Neukum, Greg Kroah-Hartman, Svyatoslav Ryhel
  Cc: linux-usb, linux-kernel

Add support for Infineon/Comneon XMM626X modem that used in many Tegra30
devices with GSM capablities like LG Optimus 4X (P880) and Vu (P895).

The Vendor Id is 0x1519
The Product ID is 0x0020

Output of lsusb:
Bus 001 Device 002: ID 1519:0020 Comneon HSIC Device

Svyatoslav Ryhel (1):
  usb: csc-acm: add Infineon/Comneon modem support (1519:0020)

 drivers/usb/class/cdc-acm.c | 4 ++++
 1 file changed, 4 insertions(+)

-- 
2.51.0


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH v1 1/1] usb: csc-acm: add Infineon/Comneon modem support (1519:0020)
  2026-01-22 15:17 [PATCH v1 0/1] usb: csc-acm: add Infineon/Comneon modem support Svyatoslav Ryhel
@ 2026-01-22 15:17 ` Svyatoslav Ryhel
  2026-01-22 15:58   ` Lars Melin
  0 siblings, 1 reply; 8+ messages in thread
From: Svyatoslav Ryhel @ 2026-01-22 15:17 UTC (permalink / raw)
  To: Oliver Neukum, Greg Kroah-Hartman, Svyatoslav Ryhel
  Cc: linux-usb, linux-kernel

Add support for Infineon/Comneon XMM626X modem that used in many Tegra30
devices with GSM capablities like LG Optimus 4X (P880) and Vu (P895).

The Vendor Id is 0x1519
The Product ID is 0x0020

Output of lsusb:
Bus 001 Device 002: ID 1519:0020 Comneon HSIC Device

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
---
 drivers/usb/class/cdc-acm.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c
index 73f9476774ae..2bb84b261239 100644
--- a/drivers/usb/class/cdc-acm.c
+++ b/drivers/usb/class/cdc-acm.c
@@ -2024,6 +2024,10 @@ static const struct usb_device_id acm_ids[] = {
 	.driver_info = SEND_ZERO_PACKET,
 	},
 
+	{ USB_DEVICE(0x1519, 0x0020), /* Infineon/Comneon modem */
+	.driver_info = NO_UNION_NORMAL, /* has no union descriptor */
+	},
+
 	{ }
 };
 
-- 
2.51.0


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v1 1/1] usb: csc-acm: add Infineon/Comneon modem support (1519:0020)
  2026-01-22 15:17 ` [PATCH v1 1/1] usb: csc-acm: add Infineon/Comneon modem support (1519:0020) Svyatoslav Ryhel
@ 2026-01-22 15:58   ` Lars Melin
  2026-01-22 16:17     ` Svyatoslav Ryhel
  0 siblings, 1 reply; 8+ messages in thread
From: Lars Melin @ 2026-01-22 15:58 UTC (permalink / raw)
  To: Svyatoslav Ryhel, Oliver Neukum, Greg Kroah-Hartman
  Cc: linux-usb, linux-kernel

On 2026-01-22 22:17, Svyatoslav Ryhel wrote:
> Add support for Infineon/Comneon XMM626X modem that used in many Tegra30
> devices with GSM capablities like LG Optimus 4X (P880) and Vu (P895).
> 
> The Vendor Id is 0x1519
> The Product ID is 0x0020
> 
> Output of lsusb:
> Bus 001 Device 002: ID 1519:0020 Comneon HSIC Device
> 
> Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>

Hi,
please include a full lsusb output, ie lsusb -vd 1519:0020 so we can 
verify that union descriptors are missing.
(I have seen a full lsusb output where they are included.)


thanks
Lars

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v1 1/1] usb: csc-acm: add Infineon/Comneon modem support (1519:0020)
  2026-01-22 15:58   ` Lars Melin
@ 2026-01-22 16:17     ` Svyatoslav Ryhel
  2026-01-26 13:51       ` Lars Melin
  0 siblings, 1 reply; 8+ messages in thread
From: Svyatoslav Ryhel @ 2026-01-22 16:17 UTC (permalink / raw)
  To: Lars Melin; +Cc: Oliver Neukum, Greg Kroah-Hartman, linux-usb, linux-kernel

чт, 22 січ. 2026 р. о 17:58 Lars Melin <larsm17@gmail.com> пише:
>
> On 2026-01-22 22:17, Svyatoslav Ryhel wrote:
> > Add support for Infineon/Comneon XMM626X modem that used in many Tegra30
> > devices with GSM capablities like LG Optimus 4X (P880) and Vu (P895).
> >
> > The Vendor Id is 0x1519
> > The Product ID is 0x0020
> >
> > Output of lsusb:
> > Bus 001 Device 002: ID 1519:0020 Comneon HSIC Device
> >
> > Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
>
> Hi,
> please include a full lsusb output, ie lsusb -vd 1519:0020 so we can
> verify that union descriptors are missing.
> (I have seen a full lsusb output where they are included.)
>
Hello there! Sure, here is what I get if I use lsusb -vd 1519:0020

lg-p895:~$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux 6.16.0+ ehci_hcd EHCI Host Controller
Bus 001 Device 002: ID 1519:0020 Comneon HSIC Device
lg-p895:~$ lsusb -vd 1519:0020
Bus 001 Device 001: ID 1d6b:0002 Linux 6.16.0+ ehci_hcd EHCI Host Controller
Bus 001 Device 002: ID 1519:0020 Comneon HSIC Device
lg-p895:~$ lsusb -vd 1519:0020
Bus 001 Device 001: ID 1d6b:0002 Linux 6.16.0+ ehci_hcd EHCI Host Controller
Bus 001 Device 002: ID 1519:0020 Comneon HSIC Device

regular lsusb is added for reference.

>
> thanks
> Lars

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v1 1/1] usb: csc-acm: add Infineon/Comneon modem support (1519:0020)
  2026-01-22 16:17     ` Svyatoslav Ryhel
@ 2026-01-26 13:51       ` Lars Melin
  2026-01-26 14:55         ` Svyatoslav Ryhel
  0 siblings, 1 reply; 8+ messages in thread
From: Lars Melin @ 2026-01-26 13:51 UTC (permalink / raw)
  To: Svyatoslav Ryhel
  Cc: Oliver Neukum, Greg Kroah-Hartman, linux-usb, linux-kernel

On 2026-01-22 23:17, Svyatoslav Ryhel wrote:
> чт, 22 січ. 2026 р. о 17:58 Lars Melin <larsm17@gmail.com> пише:
>>
>> On 2026-01-22 22:17, Svyatoslav Ryhel wrote:
>>> Add support for Infineon/Comneon XMM626X modem that used in many Tegra30
>>> devices with GSM capablities like LG Optimus 4X (P880) and Vu (P895).
>>>
>>> The Vendor Id is 0x1519
>>> The Product ID is 0x0020
>>>
>>> Output of lsusb:
>>> Bus 001 Device 002: ID 1519:0020 Comneon HSIC Device
>>>
>>> Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
>>
>> Hi,
>> please include a full lsusb output, ie lsusb -vd 1519:0020 so we can
>> verify that union descriptors are missing.
>> (I have seen a full lsusb output where they are included.)
>>
> Hello there! Sure, here is what I get if I use lsusb -vd 1519:0020
> 
> lg-p895:~$ lsusb
> Bus 001 Device 001: ID 1d6b:0002 Linux 6.16.0+ ehci_hcd EHCI Host Controller
> Bus 001 Device 002: ID 1519:0020 Comneon HSIC Device
> lg-p895:~$ lsusb -vd 1519:0020
> Bus 001 Device 001: ID 1d6b:0002 Linux 6.16.0+ ehci_hcd EHCI Host Controller
> Bus 001 Device 002: ID 1519:0020 Comneon HSIC Device
> lg-p895:~$ lsusb -vd 1519:0020
> Bus 001 Device 001: ID 1d6b:0002 Linux 6.16.0+ ehci_hcd EHCI Host Controller
> Bus 001 Device 002: ID 1519:0020 Comneon HSIC Device
> 
> regular lsusb is added for reference.


You are using a stripped down version of lsusb which doesn't give a 
verbose output, please install the full version and try again.
If you don't have the full lsusb, how do you then know that your
device has a faulty union descriptor?
The full lsusb listing that I have for 1519:0020 has a correct
union descriptor so doesn't need a quirk.

thanks
Lars

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v1 1/1] usb: csc-acm: add Infineon/Comneon modem support (1519:0020)
  2026-01-26 13:51       ` Lars Melin
@ 2026-01-26 14:55         ` Svyatoslav Ryhel
  2026-01-27  1:12           ` Lars Melin
  0 siblings, 1 reply; 8+ messages in thread
From: Svyatoslav Ryhel @ 2026-01-26 14:55 UTC (permalink / raw)
  To: Lars Melin; +Cc: Oliver Neukum, Greg Kroah-Hartman, linux-usb, linux-kernel

пн, 26 січ. 2026 р. о 15:51 Lars Melin <larsm17@gmail.com> пише:
>
> On 2026-01-22 23:17, Svyatoslav Ryhel wrote:
> > чт, 22 січ. 2026 р. о 17:58 Lars Melin <larsm17@gmail.com> пише:
> >>
> >> On 2026-01-22 22:17, Svyatoslav Ryhel wrote:
> >>> Add support for Infineon/Comneon XMM626X modem that used in many Tegra30
> >>> devices with GSM capablities like LG Optimus 4X (P880) and Vu (P895).
> >>>
> >>> The Vendor Id is 0x1519
> >>> The Product ID is 0x0020
> >>>
> >>> Output of lsusb:
> >>> Bus 001 Device 002: ID 1519:0020 Comneon HSIC Device
> >>>
> >>> Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
> >>
> >> Hi,
> >> please include a full lsusb output, ie lsusb -vd 1519:0020 so we can
> >> verify that union descriptors are missing.
> >> (I have seen a full lsusb output where they are included.)
> >>
> > Hello there! Sure, here is what I get if I use lsusb -vd 1519:0020
> >
> > lg-p895:~$ lsusb
> > Bus 001 Device 001: ID 1d6b:0002 Linux 6.16.0+ ehci_hcd EHCI Host Controller
> > Bus 001 Device 002: ID 1519:0020 Comneon HSIC Device
> > lg-p895:~$ lsusb -vd 1519:0020
> > Bus 001 Device 001: ID 1d6b:0002 Linux 6.16.0+ ehci_hcd EHCI Host Controller
> > Bus 001 Device 002: ID 1519:0020 Comneon HSIC Device
> > lg-p895:~$ lsusb -vd 1519:0020
> > Bus 001 Device 001: ID 1d6b:0002 Linux 6.16.0+ ehci_hcd EHCI Host Controller
> > Bus 001 Device 002: ID 1519:0020 Comneon HSIC Device
> >
> > regular lsusb is added for reference.
>
>
> You are using a stripped down version of lsusb which doesn't give a
> verbose output, please install the full version and try again.
> If you don't have the full lsusb, how do you then know that your
> device has a faulty union descriptor?
> The full lsusb listing that I have for 1519:0020 has a correct
> union descriptor so doesn't need a quirk.
>

Bus 001 Device 002: ID 1519:0020 Comneon HSIC Device
Couldn't open device, some information will be missing
Negotiated speed: High Speed (480Mbps)
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            2 [unknown]
  bDeviceSubClass         0 [unknown]
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x1519 Comneon
  idProduct          0x0020 HSIC Device
  bcdDevice           12.74
  iManufacturer           1 Comneon
  iProduct                2 HSIC Device
  iSerial                 3 0123456789
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0111
    bNumInterfaces          8
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xc0
      Self Powered
    MaxPower              100mA
    Interface Association:
      bLength                 8
      bDescriptorType        11
      bFirstInterface         0
      bInterfaceCount         2
      bFunctionClass          2 [unknown]
      bFunctionSubClass       2 [unknown]
      bFunctionProtocol       1
      iFunction               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         2 [unknown]
      bInterfaceSubClass      2 [unknown]
      bInterfaceProtocol      1
      iInterface              4
      CDC Header:
        bcdCDC               1.10
      CDC Union:
        bMasterInterface        0
        bSlaveInterface         1
      CDC Call Management:
        bmCapabilities       0x00
        bDataInterface          1
      CDC ACM:
        bmCapabilities       0x07
          sends break
          line coding and serial state
          get/set/clear comm features
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x85  EP 5 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               4
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass        10 [unknown]
      bInterfaceSubClass      0 [unknown]
      bInterfaceProtocol      0
      iInterface              5
      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         2
      bInterfaceCount         2
      bFunctionClass          2 [unknown]
      bFunctionSubClass       2 [unknown]
      bFunctionProtocol       1
      iFunction               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         2 [unknown]
      bInterfaceSubClass      2 [unknown]
      bInterfaceProtocol      1
      iInterface              6
      CDC Header:
        bcdCDC               1.10
      CDC Union:
        bMasterInterface        2
        bSlaveInterface         3
      CDC Call Management:
        bmCapabilities       0x00
        bDataInterface          3
      CDC ACM:
        bmCapabilities       0x07
          sends break
          line coding and serial state
          get/set/clear comm features
      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               4
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        3
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass        10 [unknown]
      bInterfaceSubClass      0 [unknown]
      bInterfaceProtocol      0
      iInterface              7
      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     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         4
      bInterfaceCount         2
      bFunctionClass          2 [unknown]
      bFunctionSubClass       2 [unknown]
      bFunctionProtocol       1
      iFunction               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        4
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         2 [unknown]
      bInterfaceSubClass      2 [unknown]
      bInterfaceProtocol      1
      iInterface              8
      CDC Header:
        bcdCDC               1.10
      CDC Union:
        bMasterInterface        4
        bSlaveInterface         5
      CDC Call Management:
        bmCapabilities       0x00
        bDataInterface          5
      CDC ACM:
        bmCapabilities       0x07
          sends break
          line coding and serial state
          get/set/clear comm features
      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               4
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        5
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass        10 [unknown]
      bInterfaceSubClass      0 [unknown]
      bInterfaceProtocol      0
      iInterface              9
      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     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         6
      bInterfaceCount         2
      bFunctionClass          2 [unknown]
      bFunctionSubClass       2 [unknown]
      bFunctionProtocol       1
      iFunction               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        6
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         2 [unknown]
      bInterfaceSubClass      2 [unknown]
      bInterfaceProtocol      1
      iInterface             10
      CDC Header:
        bcdCDC               1.10
      CDC Union:
        bMasterInterface        6
        bSlaveInterface         7
      CDC Call Management:
        bmCapabilities       0x00
        bDataInterface          7
      CDC ACM:
        bmCapabilities       0x07
          sends break
          line coding and serial state
          get/set/clear comm features
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x88  EP 8 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               4
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        7
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass        10 [unknown]
      bInterfaceSubClass      0 [unknown]
      bInterfaceProtocol      0
      iInterface             11
      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     0x04  EP 4 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0

> thanks
> Lars

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v1 1/1] usb: csc-acm: add Infineon/Comneon modem support (1519:0020)
  2026-01-26 14:55         ` Svyatoslav Ryhel
@ 2026-01-27  1:12           ` Lars Melin
  2026-01-27  6:50             ` Svyatoslav Ryhel
  0 siblings, 1 reply; 8+ messages in thread
From: Lars Melin @ 2026-01-27  1:12 UTC (permalink / raw)
  To: Svyatoslav Ryhel
  Cc: Oliver Neukum, Greg Kroah-Hartman, linux-usb, linux-kernel

On 2026-01-26 21:55, Svyatoslav Ryhel wrote:
/snip
> 
> Bus 001 Device 002: ID 1519:0020 Comneon HSIC Device
> Couldn't open device, some information will be missing
> Negotiated speed: High Speed (480Mbps)
> Device Descriptor:
>    bLength                18
>    bDescriptorType         1
>    bcdUSB               2.00
>    bDeviceClass            2 [unknown]
>    bDeviceSubClass         0 [unknown]
>    bDeviceProtocol         0
>    bMaxPacketSize0        64
>    idVendor           0x1519 Comneon
>    idProduct          0x0020 HSIC Device
>    bcdDevice           12.74
>    iManufacturer           1 Comneon
>    iProduct                2 HSIC Device
>    iSerial                 3 0123456789
>    bNumConfigurations      1
>    Configuration Descriptor:
>      bLength                 9
>      bDescriptorType         2
>      wTotalLength       0x0111
>      bNumInterfaces          8
>      bConfigurationValue     1
>      iConfiguration          0
>      bmAttributes         0xc0
>        Self Powered
>      MaxPower              100mA
>      Interface Association:
>        bLength                 8
>        bDescriptorType        11
>        bFirstInterface         0
>        bInterfaceCount         2
>        bFunctionClass          2 [unknown]
>        bFunctionSubClass       2 [unknown]
>        bFunctionProtocol       1
>        iFunction               0
>      Interface Descriptor:
>        bLength                 9
>        bDescriptorType         4
>        bInterfaceNumber        0
>        bAlternateSetting       0
>        bNumEndpoints           1
>        bInterfaceClass         2 [unknown]
>        bInterfaceSubClass      2 [unknown]
>        bInterfaceProtocol      1
>        iInterface              4
>        CDC Header:
>          bcdCDC               1.10
>        CDC Union:
>          bMasterInterface        0
>          bSlaveInterface         1
>        CDC Call Management:
>          bmCapabilities       0x00
>          bDataInterface          1
>        CDC ACM:
>          bmCapabilities       0x07
>            sends break
>            line coding and serial state
>            get/set/clear comm features
>        Endpoint Descriptor:
>          bLength                 7
>          bDescriptorType         5
>          bEndpointAddress     0x85  EP 5 IN
>          bmAttributes            3
>            Transfer Type            Interrupt
>            Synch Type               None
>            Usage Type               Data
>          wMaxPacketSize     0x0040  1x 64 bytes
>          bInterval               4
>      Interface Descriptor:
>        bLength                 9
>        bDescriptorType         4
>        bInterfaceNumber        1
>        bAlternateSetting       0
>        bNumEndpoints           2
>        bInterfaceClass        10 [unknown]
>        bInterfaceSubClass      0 [unknown]
>        bInterfaceProtocol      0
>        iInterface              5
>        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         2
>        bInterfaceCount         2
>        bFunctionClass          2 [unknown]
>        bFunctionSubClass       2 [unknown]
>        bFunctionProtocol       1
>        iFunction               0
>      Interface Descriptor:
>        bLength                 9
>        bDescriptorType         4
>        bInterfaceNumber        2
>        bAlternateSetting       0
>        bNumEndpoints           1
>        bInterfaceClass         2 [unknown]
>        bInterfaceSubClass      2 [unknown]
>        bInterfaceProtocol      1
>        iInterface              6
>        CDC Header:
>          bcdCDC               1.10
>        CDC Union:
>          bMasterInterface        2
>          bSlaveInterface         3
>        CDC Call Management:
>          bmCapabilities       0x00
>          bDataInterface          3
>        CDC ACM:
>          bmCapabilities       0x07
>            sends break
>            line coding and serial state
>            get/set/clear comm features
>        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               4
>      Interface Descriptor:
>        bLength                 9
>        bDescriptorType         4
>        bInterfaceNumber        3
>        bAlternateSetting       0
>        bNumEndpoints           2
>        bInterfaceClass        10 [unknown]
>        bInterfaceSubClass      0 [unknown]
>        bInterfaceProtocol      0
>        iInterface              7
>        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     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         4
>        bInterfaceCount         2
>        bFunctionClass          2 [unknown]
>        bFunctionSubClass       2 [unknown]
>        bFunctionProtocol       1
>        iFunction               0
>      Interface Descriptor:
>        bLength                 9
>        bDescriptorType         4
>        bInterfaceNumber        4
>        bAlternateSetting       0
>        bNumEndpoints           1
>        bInterfaceClass         2 [unknown]
>        bInterfaceSubClass      2 [unknown]
>        bInterfaceProtocol      1
>        iInterface              8
>        CDC Header:
>          bcdCDC               1.10
>        CDC Union:
>          bMasterInterface        4
>          bSlaveInterface         5
>        CDC Call Management:
>          bmCapabilities       0x00
>          bDataInterface          5
>        CDC ACM:
>          bmCapabilities       0x07
>            sends break
>            line coding and serial state
>            get/set/clear comm features
>        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               4
>      Interface Descriptor:
>        bLength                 9
>        bDescriptorType         4
>        bInterfaceNumber        5
>        bAlternateSetting       0
>        bNumEndpoints           2
>        bInterfaceClass        10 [unknown]
>        bInterfaceSubClass      0 [unknown]
>        bInterfaceProtocol      0
>        iInterface              9
>        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     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         6
>        bInterfaceCount         2
>        bFunctionClass          2 [unknown]
>        bFunctionSubClass       2 [unknown]
>        bFunctionProtocol       1
>        iFunction               0
>      Interface Descriptor:
>        bLength                 9
>        bDescriptorType         4
>        bInterfaceNumber        6
>        bAlternateSetting       0
>        bNumEndpoints           1
>        bInterfaceClass         2 [unknown]
>        bInterfaceSubClass      2 [unknown]
>        bInterfaceProtocol      1
>        iInterface             10
>        CDC Header:
>          bcdCDC               1.10
>        CDC Union:
>          bMasterInterface        6
>          bSlaveInterface         7
>        CDC Call Management:
>          bmCapabilities       0x00
>          bDataInterface          7
>        CDC ACM:
>          bmCapabilities       0x07
>            sends break
>            line coding and serial state
>            get/set/clear comm features
>        Endpoint Descriptor:
>          bLength                 7
>          bDescriptorType         5
>          bEndpointAddress     0x88  EP 8 IN
>          bmAttributes            3
>            Transfer Type            Interrupt
>            Synch Type               None
>            Usage Type               Data
>          wMaxPacketSize     0x0040  1x 64 bytes
>          bInterval               4
>      Interface Descriptor:
>        bLength                 9
>        bDescriptorType         4
>        bInterfaceNumber        7
>        bAlternateSetting       0
>        bNumEndpoints           2
>        bInterfaceClass        10 [unknown]
>        bInterfaceSubClass      0 [unknown]
>        bInterfaceProtocol      0
>        iInterface             11
>        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     0x04  EP 4 OUT
>          bmAttributes            2
>            Transfer Type            Bulk
>            Synch Type               None
>            Usage Type               Data
>          wMaxPacketSize     0x0200  1x 512 bytes
>          bInterval               0
> 
Hi,

I can't see anything wrong with the union descriptor in your listing. 
What is your reason for adding this device to cdc-acm?

thanks
Lars

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v1 1/1] usb: csc-acm: add Infineon/Comneon modem support (1519:0020)
  2026-01-27  1:12           ` Lars Melin
@ 2026-01-27  6:50             ` Svyatoslav Ryhel
  0 siblings, 0 replies; 8+ messages in thread
From: Svyatoslav Ryhel @ 2026-01-27  6:50 UTC (permalink / raw)
  To: Lars Melin; +Cc: Oliver Neukum, Greg Kroah-Hartman, linux-usb, linux-kernel

вт, 27 січ. 2026 р. о 03:12 Lars Melin <larsm17@gmail.com> пише:
>
> On 2026-01-26 21:55, Svyatoslav Ryhel wrote:
> /snip
> >
> > Bus 001 Device 002: ID 1519:0020 Comneon HSIC Device
> > Couldn't open device, some information will be missing
> > Negotiated speed: High Speed (480Mbps)
> > Device Descriptor:
> >    bLength                18
> >    bDescriptorType         1
> >    bcdUSB               2.00
> >    bDeviceClass            2 [unknown]
> >    bDeviceSubClass         0 [unknown]
> >    bDeviceProtocol         0
> >    bMaxPacketSize0        64
> >    idVendor           0x1519 Comneon
> >    idProduct          0x0020 HSIC Device
> >    bcdDevice           12.74
> >    iManufacturer           1 Comneon
> >    iProduct                2 HSIC Device
> >    iSerial                 3 0123456789
> >    bNumConfigurations      1
> >    Configuration Descriptor:
> >      bLength                 9
> >      bDescriptorType         2
> >      wTotalLength       0x0111
> >      bNumInterfaces          8
> >      bConfigurationValue     1
> >      iConfiguration          0
> >      bmAttributes         0xc0
> >        Self Powered
> >      MaxPower              100mA
> >      Interface Association:
> >        bLength                 8
> >        bDescriptorType        11
> >        bFirstInterface         0
> >        bInterfaceCount         2
> >        bFunctionClass          2 [unknown]
> >        bFunctionSubClass       2 [unknown]
> >        bFunctionProtocol       1
> >        iFunction               0
> >      Interface Descriptor:
> >        bLength                 9
> >        bDescriptorType         4
> >        bInterfaceNumber        0
> >        bAlternateSetting       0
> >        bNumEndpoints           1
> >        bInterfaceClass         2 [unknown]
> >        bInterfaceSubClass      2 [unknown]
> >        bInterfaceProtocol      1
> >        iInterface              4
> >        CDC Header:
> >          bcdCDC               1.10
> >        CDC Union:
> >          bMasterInterface        0
> >          bSlaveInterface         1
> >        CDC Call Management:
> >          bmCapabilities       0x00
> >          bDataInterface          1
> >        CDC ACM:
> >          bmCapabilities       0x07
> >            sends break
> >            line coding and serial state
> >            get/set/clear comm features
> >        Endpoint Descriptor:
> >          bLength                 7
> >          bDescriptorType         5
> >          bEndpointAddress     0x85  EP 5 IN
> >          bmAttributes            3
> >            Transfer Type            Interrupt
> >            Synch Type               None
> >            Usage Type               Data
> >          wMaxPacketSize     0x0040  1x 64 bytes
> >          bInterval               4
> >      Interface Descriptor:
> >        bLength                 9
> >        bDescriptorType         4
> >        bInterfaceNumber        1
> >        bAlternateSetting       0
> >        bNumEndpoints           2
> >        bInterfaceClass        10 [unknown]
> >        bInterfaceSubClass      0 [unknown]
> >        bInterfaceProtocol      0
> >        iInterface              5
> >        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         2
> >        bInterfaceCount         2
> >        bFunctionClass          2 [unknown]
> >        bFunctionSubClass       2 [unknown]
> >        bFunctionProtocol       1
> >        iFunction               0
> >      Interface Descriptor:
> >        bLength                 9
> >        bDescriptorType         4
> >        bInterfaceNumber        2
> >        bAlternateSetting       0
> >        bNumEndpoints           1
> >        bInterfaceClass         2 [unknown]
> >        bInterfaceSubClass      2 [unknown]
> >        bInterfaceProtocol      1
> >        iInterface              6
> >        CDC Header:
> >          bcdCDC               1.10
> >        CDC Union:
> >          bMasterInterface        2
> >          bSlaveInterface         3
> >        CDC Call Management:
> >          bmCapabilities       0x00
> >          bDataInterface          3
> >        CDC ACM:
> >          bmCapabilities       0x07
> >            sends break
> >            line coding and serial state
> >            get/set/clear comm features
> >        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               4
> >      Interface Descriptor:
> >        bLength                 9
> >        bDescriptorType         4
> >        bInterfaceNumber        3
> >        bAlternateSetting       0
> >        bNumEndpoints           2
> >        bInterfaceClass        10 [unknown]
> >        bInterfaceSubClass      0 [unknown]
> >        bInterfaceProtocol      0
> >        iInterface              7
> >        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     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         4
> >        bInterfaceCount         2
> >        bFunctionClass          2 [unknown]
> >        bFunctionSubClass       2 [unknown]
> >        bFunctionProtocol       1
> >        iFunction               0
> >      Interface Descriptor:
> >        bLength                 9
> >        bDescriptorType         4
> >        bInterfaceNumber        4
> >        bAlternateSetting       0
> >        bNumEndpoints           1
> >        bInterfaceClass         2 [unknown]
> >        bInterfaceSubClass      2 [unknown]
> >        bInterfaceProtocol      1
> >        iInterface              8
> >        CDC Header:
> >          bcdCDC               1.10
> >        CDC Union:
> >          bMasterInterface        4
> >          bSlaveInterface         5
> >        CDC Call Management:
> >          bmCapabilities       0x00
> >          bDataInterface          5
> >        CDC ACM:
> >          bmCapabilities       0x07
> >            sends break
> >            line coding and serial state
> >            get/set/clear comm features
> >        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               4
> >      Interface Descriptor:
> >        bLength                 9
> >        bDescriptorType         4
> >        bInterfaceNumber        5
> >        bAlternateSetting       0
> >        bNumEndpoints           2
> >        bInterfaceClass        10 [unknown]
> >        bInterfaceSubClass      0 [unknown]
> >        bInterfaceProtocol      0
> >        iInterface              9
> >        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     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         6
> >        bInterfaceCount         2
> >        bFunctionClass          2 [unknown]
> >        bFunctionSubClass       2 [unknown]
> >        bFunctionProtocol       1
> >        iFunction               0
> >      Interface Descriptor:
> >        bLength                 9
> >        bDescriptorType         4
> >        bInterfaceNumber        6
> >        bAlternateSetting       0
> >        bNumEndpoints           1
> >        bInterfaceClass         2 [unknown]
> >        bInterfaceSubClass      2 [unknown]
> >        bInterfaceProtocol      1
> >        iInterface             10
> >        CDC Header:
> >          bcdCDC               1.10
> >        CDC Union:
> >          bMasterInterface        6
> >          bSlaveInterface         7
> >        CDC Call Management:
> >          bmCapabilities       0x00
> >          bDataInterface          7
> >        CDC ACM:
> >          bmCapabilities       0x07
> >            sends break
> >            line coding and serial state
> >            get/set/clear comm features
> >        Endpoint Descriptor:
> >          bLength                 7
> >          bDescriptorType         5
> >          bEndpointAddress     0x88  EP 8 IN
> >          bmAttributes            3
> >            Transfer Type            Interrupt
> >            Synch Type               None
> >            Usage Type               Data
> >          wMaxPacketSize     0x0040  1x 64 bytes
> >          bInterval               4
> >      Interface Descriptor:
> >        bLength                 9
> >        bDescriptorType         4
> >        bInterfaceNumber        7
> >        bAlternateSetting       0
> >        bNumEndpoints           2
> >        bInterfaceClass        10 [unknown]
> >        bInterfaceSubClass      0 [unknown]
> >        bInterfaceProtocol      0
> >        iInterface             11
> >        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     0x04  EP 4 OUT
> >          bmAttributes            2
> >            Transfer Type            Bulk
> >            Synch Type               None
> >            Usage Type               Data
> >          wMaxPacketSize     0x0200  1x 512 bytes
> >          bInterval               0
> >
> Hi,
>
> I can't see anything wrong with the union descriptor in your listing.
> What is your reason for adding this device to cdc-acm?
>

Oh, that is good to hear. I have LG Optimus Vu (P895) Tegra30 based
smartphone, it uses this modem which is placed on HSIC usb line and I
have recently made it appear.

Original LG downstream sources[1] add this device to acm_ids with
NO_UNION_NORMAL so I transferred this change to mainline.

[1] https://github.com/clamor-s/android_kernel_lge_p895/blob/master/drivers/usb/class/cdc-acm.c#L1837-L1839

> thanks
> Lars

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2026-01-27  6:51 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-01-22 15:17 [PATCH v1 0/1] usb: csc-acm: add Infineon/Comneon modem support Svyatoslav Ryhel
2026-01-22 15:17 ` [PATCH v1 1/1] usb: csc-acm: add Infineon/Comneon modem support (1519:0020) Svyatoslav Ryhel
2026-01-22 15:58   ` Lars Melin
2026-01-22 16:17     ` Svyatoslav Ryhel
2026-01-26 13:51       ` Lars Melin
2026-01-26 14:55         ` Svyatoslav Ryhel
2026-01-27  1:12           ` Lars Melin
2026-01-27  6:50             ` Svyatoslav Ryhel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®