* [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®