USB: serial: pl2303: add Delock Infrared device id
Quoted 77 lines · Ebrahim Byagowi
Quoted 9 lines · Johan Hovold
Quoted 7 lines · On Sat, Feb 09, 2019 at 12:18:40PM +0330, [email protected] wrote:
From: Ebrahim Byagowi <[email protected]>
This makes Delock Infrared adapter to work as a USB to Serial device.
--- drivers/usb/serial/pl2303.c | 1 + drivers/usb/serial/pl2303.h | 3 +++ 2 files changed, 4 insertions(+)Quoted 5 lines
Review
Quoted 3 lines
(quoted diff) +3
-0+/* Delock Infrared Adapter */ +#define DELOCK_VENDOR_ID 0x1685 +#define DELOCK_PRODUCT_ID 0x2000Please post the output of lsusb -v for this device, and perhaps also a log from when connecting the device with driver debugging enabled.
lsusb -v -d 1685:0200
Bus 002 Device 019: ID 1685:0200 Delock Infrared adapter Couldn't open device, some information will be missing Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 255 Vendor Specific Class bDeviceSubClass 1
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor0x1685Delock
idProduct0x0200Infrared adapter bcdDevice 0.08
iManufacturer 0
iProduct 0
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength0x0027
bNumInterfaces 1 bConfigurationValue 1
iConfiguration 0
bmAttributes0x80
(Bus Powered)
MaxPower 440mA
Interface Descriptor:
bLength 9
bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 0 bInterfaceSubClass 0 bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3
Transfer Type Interrupt Synch Type None
Usage Type Data wMaxPacketSize 0x000a 1x 10 bytes bInterval 1
Endpoint Descriptor:
bLength 7 bDescriptorType 5 bEndpointAddress 0x02 EP 2 OUT bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0
Endpoint Descriptor:
bLength 7
Quoted 8 lines
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
These descriptors do no look like they come from a pl2303 device (e.g. the device descriptor class and protocol is 255/1/0 and not 0/0/0).
Quoted 3 lines
I've uploaded a screenshot here
https://commons.wikimedia.org/wiki/File:A_modified_kernel_screenshot_on_QEMU.png
which shows it understands a remote control commands also.
It shows that you receive something over the bulk-in endpoint at the default line speed, but those -EPIPE errors also tells us that this is not a pl2303 device.
I suspect there are further errors in the log after you've opened the device which can involve setting the baudrate.
Quoted 6 lines
Quoted 1 line
How did you determine that this a pl2303 device?
I tried to find a compatible driver from different IR adapters I have around, one of them a 0df7:0620 which identifies itself as a
Mobile Action Technology, Inc. MA-620 Infrared Adapter, enlisted on the same header, uses the driver and I found the same driver works for this dongle.
Some quick searching for the MA-620 descriptors show that those are indeed from a pl2303 and are quite different from the ones you posted above:
https://sparcher.blogspot.com/2016/11/howto-some-experience-with-usb-irda.html
There are other usb-serial chips that can be found in other ir-devices too.
Would you be able to open the device to see if you can identify a generic usb-serial chip inside?
Johan