[PATCH] CDC-ACM : Add Icom PMR F3400 support (0c26:0020)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



>From cf6471caeee7ac7d92bfa4ceaaa16ab461846e65 Mon Sep 17 00:00:00 2001
From: Thierry GUIBERT <thierry.guibert@xxxxxxxxxxxxxx>
Date: Tue, 16 Aug 2022 00:46:01 +0200
Subject: [PATCH] CDC-ACM : Add Icom PMR F3400 support (0c26:0020)

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@xxxxxxxxxxxxxx>
---
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 9b9aea24d58c..091fcfac3717 100644
--- a/drivers/usb/class/cdc-acm.c
+++ b/drivers/usb/class/cdc-acm.c
@@ -1813,6 +1813,10 @@ 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



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux