drivers/usb/class/cdc-acm.c | 3 +++ 1 file changed, 3 insertions(+)
Supports for ICOM F3400 and ICOM F4400 PMR radios in CDC-ACM driver
enabling the AT serial port.
The Vendor Id is 0x0C26
The Product ID is 0x0020
Output of lsusb :
Bus 001 Device 009: ID 0c26:0020 Prolific Technology Inc. ICOM Radio
Couldn't open device, some information will be missing
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 2 Communications
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x0c26 Prolific Technology Inc.
idProduct 0x0020
bcdDevice 0.00
iManufacturer 1 ICOM Inc.
iProduct 2 ICOM Radio
iSerial 3 *obfuscated*
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x0030
bNumInterfaces 2
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Self Powered
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 2 Communications
bInterfaceSubClass 2 Abstract (modem)
bInterfaceProtocol 1 AT-commands (v.25ter)
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 12
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 10 CDC Data
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Signed-off-by: Thierry GUIBERT <thierry.guibert@croix-rouge.fr>
---
drivers/usb/class/cdc-acm.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c
index 9b9aea24d58c..7735c6edce73 100644
--- a/drivers/usb/class/cdc-acm.c
+++ b/drivers/usb/class/cdc-acm.c
@@ -1813,6 +1813,9 @@ static const struct usb_device_id acm_ids[] = {
{ USB_DEVICE(0x0ca6, 0xa050), /* Castles VEGA3000 */
.driver_info = NO_UNION_NORMAL, /* reports zero length descriptor */
},
+ { USB_DEVICE(0x0c26, 0x0020), /* Icom ICF3400 Serie */
+ .driver_info = NO_UNION_NORMAL, /* reports zero length descriptor */
+ },
{ USB_DEVICE(0x2912, 0x0001), /* ATOL FPrint */
.driver_info = CLEAR_HALT_CONDITIONS,
--
2.37.2
On Wed, Aug 17, 2022 at 12:24:40PM +0200, Thierry GUIBERT wrote:
> Supports for ICOM F3400 and ICOM F4400 PMR radios in CDC-ACM driver
> enabling the AT serial port.
> The Vendor Id is 0x0C26
> The Product ID is 0x0020
>
> Output of lsusb :
> Bus 001 Device 009: ID 0c26:0020 Prolific Technology Inc. ICOM Radio
> Couldn't open device, some information will be missing
> Device Descriptor:
> bLength 18
> bDescriptorType 1
> bcdUSB 2.00
> bDeviceClass 2 Communications
> bDeviceSubClass 0
> bDeviceProtocol 0
> bMaxPacketSize0 64
> idVendor 0x0c26 Prolific Technology Inc.
> idProduct 0x0020
> bcdDevice 0.00
> iManufacturer 1 ICOM Inc.
> iProduct 2 ICOM Radio
> iSerial 3 *obfuscated*
> bNumConfigurations 1
> Configuration Descriptor:
> bLength 9
> bDescriptorType 2
> wTotalLength 0x0030
> bNumInterfaces 2
> bConfigurationValue 1
> iConfiguration 0
> bmAttributes 0xc0
> Self Powered
> MaxPower 0mA
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 0
> bAlternateSetting 0
> bNumEndpoints 1
> bInterfaceClass 2 Communications
> bInterfaceSubClass 2 Abstract (modem)
> bInterfaceProtocol 1 AT-commands (v.25ter)
> iInterface 0
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x83 EP 3 IN
> bmAttributes 3
> Transfer Type Interrupt
> Synch Type None
> Usage Type Data
> wMaxPacketSize 0x0040 1x 64 bytes
> bInterval 12
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 1
> bAlternateSetting 0
> bNumEndpoints 2
> bInterfaceClass 10 CDC Data
> bInterfaceSubClass 0
> bInterfaceProtocol 0
> iInterface 0
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x82 EP 2 IN
> bmAttributes 2
> Transfer Type Bulk
> Synch Type None
> Usage Type Data
> wMaxPacketSize 0x0200 1x 512 bytes
> bInterval 0
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x02 EP 2 OUT
> bmAttributes 2
> Transfer Type Bulk
> Synch Type None
> Usage Type Data
> wMaxPacketSize 0x0200 1x 512 bytes
> bInterval 0
>
> Signed-off-by: Thierry GUIBERT <thierry.guibert@croix-rouge.fr>
> ---
> drivers/usb/class/cdc-acm.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c
> index 9b9aea24d58c..7735c6edce73 100644
> --- a/drivers/usb/class/cdc-acm.c
> +++ b/drivers/usb/class/cdc-acm.c
> @@ -1813,6 +1813,9 @@ static const struct usb_device_id acm_ids[] = {
> { USB_DEVICE(0x0ca6, 0xa050), /* Castles VEGA3000 */
> .driver_info = NO_UNION_NORMAL, /* reports zero length descriptor */
> },
> + { USB_DEVICE(0x0c26, 0x0020), /* Icom ICF3400 Serie */
> + .driver_info = NO_UNION_NORMAL, /* reports zero length descriptor */
> + },
These were all in sorted order, until your entry :(
Can you fix this up to be in the correct order and resend a v2?
thanks,
greg k-h
Hi Greg,
Do you expect me to reorder the whole structure by VendorId / ProductId ?
I can place my node after Castles VEGA 3000, but nodes "MARETRON USB100"
"Alcatel OT-I650" and "DATECS FP-2000" are misplaced too in that case.
Regards,
On 18/08/2022 17:04, Greg KH wrote:
> On Wed, Aug 17, 2022 at 12:24:40PM +0200, Thierry GUIBERT wrote:
>> Supports for ICOM F3400 and ICOM F4400 PMR radios in CDC-ACM driver
>> enabling the AT serial port.
>> The Vendor Id is 0x0C26
>> The Product ID is 0x0020
>>
>> Output of lsusb :
>> Bus 001 Device 009: ID 0c26:0020 Prolific Technology Inc. ICOM Radio
>> Couldn't open device, some information will be missing
>> Device Descriptor:
>> bLength 18
>> bDescriptorType 1
>> bcdUSB 2.00
>> bDeviceClass 2 Communications
>> bDeviceSubClass 0
>> bDeviceProtocol 0
>> bMaxPacketSize0 64
>> idVendor 0x0c26 Prolific Technology Inc.
>> idProduct 0x0020
>> bcdDevice 0.00
>> iManufacturer 1 ICOM Inc.
>> iProduct 2 ICOM Radio
>> iSerial 3 *obfuscated*
>> bNumConfigurations 1
>> Configuration Descriptor:
>> bLength 9
>> bDescriptorType 2
>> wTotalLength 0x0030
>> bNumInterfaces 2
>> bConfigurationValue 1
>> iConfiguration 0
>> bmAttributes 0xc0
>> Self Powered
>> MaxPower 0mA
>> Interface Descriptor:
>> bLength 9
>> bDescriptorType 4
>> bInterfaceNumber 0
>> bAlternateSetting 0
>> bNumEndpoints 1
>> bInterfaceClass 2 Communications
>> bInterfaceSubClass 2 Abstract (modem)
>> bInterfaceProtocol 1 AT-commands (v.25ter)
>> iInterface 0
>> Endpoint Descriptor:
>> bLength 7
>> bDescriptorType 5
>> bEndpointAddress 0x83 EP 3 IN
>> bmAttributes 3
>> Transfer Type Interrupt
>> Synch Type None
>> Usage Type Data
>> wMaxPacketSize 0x0040 1x 64 bytes
>> bInterval 12
>> Interface Descriptor:
>> bLength 9
>> bDescriptorType 4
>> bInterfaceNumber 1
>> bAlternateSetting 0
>> bNumEndpoints 2
>> bInterfaceClass 10 CDC Data
>> bInterfaceSubClass 0
>> bInterfaceProtocol 0
>> iInterface 0
>> Endpoint Descriptor:
>> bLength 7
>> bDescriptorType 5
>> bEndpointAddress 0x82 EP 2 IN
>> bmAttributes 2
>> Transfer Type Bulk
>> Synch Type None
>> Usage Type Data
>> wMaxPacketSize 0x0200 1x 512 bytes
>> bInterval 0
>> Endpoint Descriptor:
>> bLength 7
>> bDescriptorType 5
>> bEndpointAddress 0x02 EP 2 OUT
>> bmAttributes 2
>> Transfer Type Bulk
>> Synch Type None
>> Usage Type Data
>> wMaxPacketSize 0x0200 1x 512 bytes
>> bInterval 0
>>
>> Signed-off-by: Thierry GUIBERT <thierry.guibert@croix-rouge.fr>
>> ---
>> drivers/usb/class/cdc-acm.c | 3 +++
>> 1 file changed, 3 insertions(+)
>>
>> diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c
>> index 9b9aea24d58c..7735c6edce73 100644
>> --- a/drivers/usb/class/cdc-acm.c
>> +++ b/drivers/usb/class/cdc-acm.c
>> @@ -1813,6 +1813,9 @@ static const struct usb_device_id acm_ids[] = {
>> { USB_DEVICE(0x0ca6, 0xa050), /* Castles VEGA3000 */
>> .driver_info = NO_UNION_NORMAL, /* reports zero length descriptor */
>> },
>> + { USB_DEVICE(0x0c26, 0x0020), /* Icom ICF3400 Serie */
>> + .driver_info = NO_UNION_NORMAL, /* reports zero length descriptor */
>> + },
> These were all in sorted order, until your entry :(
>
> Can you fix this up to be in the correct order and resend a v2?
>
> thanks,
>
> greg k-h
On Thu, Aug 18, 2022 at 06:54:15PM +0200, Thierry GUIBERT wrote: > Hi Greg, > > Do you expect me to reorder the whole structure by VendorId / ProductId ? No. > I can place my node after Castles VEGA 3000, but nodes "MARETRON USB100" > "Alcatel OT-I650" and "DATECS FP-2000" are misplaced too in that case. Just move your entry up one and that should be good enough, right? thanks, greg k-h
© 2016 - 2026 Red Hat, Inc.