Re: Commit 8a7bf7510d1f ("USB: serial: pl2303: amend and tighten type detection") broke pl2303 driver for my adapter
From: Vasily Khoruzhick <anarsoul@gmail.com>
Date: 2021-07-29 17:37:30
On Thu, Jul 29, 2021 at 3:02 AM Johan Hovold [off-list ref] wrote:
On Tue, Jul 27, 2021 at 05:00:20PM -0700, Vasily Khoruzhick wrote:quoted
Hey, My PL2303 adapter isn't working after I upgraded to 5.13. Looks like the culprit is commit 8a7bf7510d1f ("USB: serial: pl2303: amend and tighten type detection"). It used to work fine in 5.12.x. Now it fails like this: [246872.298632] usb 1-1: new full-speed USB device number 14 using xhci_hcd [246872.440065] usb 1-1: New USB device found, idVendor=067b, idProduct=23c3, bcdDevice= 3.05 [246872.440079] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [246872.440085] usb 1-1: Product: USB-Serial Controller [246872.440089] usb 1-1: Manufacturer: Prolific Technology Inc. [246872.440093] usb 1-1: SerialNumber: CMA>b103Y23 [246872.445098] pl2303 1-1:1.0: pl2303 converter detected [246872.445114] pl2303 1-1:1.0: unknown device type, please report to linux-usb@vger.kernel.orgThanks for the report. Can you please post the output of lsusb -v for this device?
Here it is:
Bus 001 Device 024: ID 067b:23c3 Prolific Technology, Inc. USB-Serial
Controller
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x067b Prolific Technology, Inc.
idProduct 0x23c3
bcdDevice 3.05
iManufacturer 1 Prolific Technology Inc.
iProduct 2 USB-Serial Controller
iSerial 3 CMA>b103Y23
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x0027
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xa0
(Bus Powered)
Remote Wakeup
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 255 Vendor Specific Class
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
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
quoted
Any ideas on how to fix it properly? Should I send a patch that handles bcdDevice == 0x305 and returns TYPE_HX for it from pl2303_detect_type()?The device id indicates that this is in fact a PL2303GT so we may need to amend the HXN type detection.
What's the difference between HX and HXN?
Johan