I’m working on an integrated device that uses a USB connection for the serial transfer of data.
USBSER_Class
inside of HKEY_LOCAL_MACHINE/Drivers/USB/FunctionalDrivers
is set, and it does work on Windows using a certain driver, but it’s not recognised as a serial port on Linux.
I have changed the VID and PID to a few FTDI and CH340 driver providers, and while both do provide us with two serial interfaces, none of them works.
If we run lsusb
, we detect the device as
Bus 003 Device 006: ID 045e:0079 Microsoft Corp. IXI Ogo CT-17 handheld device
and if we run the verbose version, we get the following:
Bus 003 Device 006: ID 045e:0079 Microsoft Corp. IXI Ogo CT-17 handheld device
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 32
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x045e Microsoft Corp.
idProduct 0x0079 IXI Ogo CT-17 handheld device
bcdDevice 0.90
iManufacturer 1 Generic Manufacturer (PROTOTYPE--Remember to change idVendor)
iProduct 2 Generic Serial (PROTOTYPE--Remember to change idVendor)
iSerial 3 00001400-a32d-cdc1-0000-000000000000
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x0027
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Self Powered
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 2 Communications
bInterfaceSubClass 255
bInterfaceProtocol 255
iInterface 0
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 0x02 EP 2 OUT
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 0x83 EP 3 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 12
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 32
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
bNumConfigurations 1
can't get debug descriptor: Resource temporarily unavailable
Device Status: 0x0001
Self Powered