Actions
Bug #13979
closedsupport FTDI FT232H serial interface
Start date:
Due date:
% Done:
100%
Estimated time:
Difficulty:
Medium
Tags:
Gerrit CR:
External Bug:
Description
FTDI manufacture high-speed USB UART peripherals (e.g., the C232HD-DDHSP-0) which should work with our existing usbftdi
driver.
Related issues
Updated by Joshua M. Clulow almost 2 years ago
- Related to Support #10550: Support for FTDI FT230XQ interface added
Updated by Joshua M. Clulow almost 2 years ago
Updated by Joshua M. Clulow almost 2 years ago
- Related to Feature #13975: support for higher baud rates added
Updated by Joshua M. Clulow almost 2 years ago
By using the tunable uftdi_attach_unrecognized
, and update_drv
, I was able to confirm that the C232HD-DDHSP-0 I have appears to work correctly. I did this testing with two of the devices back-to-back, one connected to a Linux system with a known working driver, using minicom
on both ends. I was able to correctly pass characters back and forth at 115200 baud, and at 921600 baud -- the highest baud rate we support before #13975 is completed.
Updated by Joshua M. Clulow almost 2 years ago
Testing Notes¶
I built the change and rebooted into the bits to confirm that the driver now binds correctly.
Before Change¶
# mdb -ke ::prtusb INDEX DRIVER INST NODE GEN VID.PID PRODUCT 1 xhci 0 pci8086,2064 3.0 0000.0000 No Product String 2 usb_mid 1 device 2.0 8087.0a2b No Product String 3 usb_mid 2 device 2.0 0403.6014 C232HD-DDHSP-0
device, instance #2 (driver name: usb_mid) Driver properties: name='pm-components' type=string items=3 dev=none value='NAME= usb_mid2 Power' + '0=USB D3 State' + '3=USB D0 State' Hardware properties: name='driver-minor' type=int items=1 value=00000000 name='driver-major' type=int items=1 value=00000002 name='high-speed' type=boolean name='usb-product-name' type=string items=1 value='C232HD-DDHSP-0' name='usb-vendor-name' type=string items=1 value='FTDI' name='usb-serialno' type=string items=1 value='--REDACTED--' name='usb-raw-cfg-descriptors' type=byte items=32 value=09.02.20.00.01.01.00.a0.fa.09.04.00.00.02.ff.ff.ff.02.07.05.81.02.00.02.00.07.05.02.02.00.02.00 name='usb-dev-descriptor' type=byte items=18 value=12.01.00.02.00.00.00.40.03.04.14.60.00.09.01.02.03.01 name='usb-release' type=int items=1 value=00000200 name='usb-num-configs' type=int items=1 value=00000001 name='usb-revision-id' type=int items=1 value=00000900 name='usb-product-id' type=int items=1 value=00006014 name='usb-vendor-id' type=int items=1 value=00000403 name='compatible' type=string items=9 value='usb403,6014.900' + 'usb403,6014' + 'usbif403,classff.ff.ff' + 'usbif403,classff.ff' + 'usbif403,classff' + 'usbif,classff.ff.ff' + 'usbif,classff.ff' + 'usbif,classff' + 'usb,device' name='reg' type=int items=1 value=00000001 name='assigned-address' type=int items=1 value=00000003
After Change¶
# mdb -ke ::prtusb INDEX DRIVER INST NODE GEN VID.PID PRODUCT 1 xhci 0 pci8086,2064 3.0 0000.0000 No Product String 2 usbftdi 0 device 2.0 0403.6014 C232HD-DDHSP-0 3 usb_mid 1 device 2.0 8087.0a2b No Product String
device, instance #0 (driver name: usbftdi) System software properties: name='ignore-cd' type=int items=1 value=00000001 Hardware properties: name='driver-minor' type=int items=1 value=00000000 name='driver-major' type=int items=1 value=00000002 name='high-speed' type=boolean name='usb-product-name' type=string items=1 value='C232HD-DDHSP-0' name='usb-vendor-name' type=string items=1 value='FTDI' name='usb-serialno' type=string items=1 value='--REDACTED--' name='usb-raw-cfg-descriptors' type=byte items=32 value=09.02.20.00.01.01.00.a0.fa.09.04.00.00.02.ff.ff.ff.02.07.05.81.02.00.02.00.07.05.02.02.00.02.00 name='usb-dev-descriptor' type=byte items=18 value=12.01.00.02.00.00.00.40.03.04.14.60.00.09.01.02.03.01 name='usb-release' type=int items=1 value=00000200 name='usb-num-configs' type=int items=1 value=00000001 name='usb-revision-id' type=int items=1 value=00000900 name='usb-product-id' type=int items=1 value=00006014 name='usb-vendor-id' type=int items=1 value=00000403 name='compatible' type=string items=9 value='usb403,6014.900' + 'usb403,6014' + 'usbif403,classff.ff.ff' + 'usbif403,classff.ff' + 'usbif403,classff' + 'usbif,classff.ff.ff' + 'usbif,classff.ff' + 'usbif,classff' + 'usb,device' name='reg' type=int items=1 value=00000001 name='assigned-address' type=int items=1 value=00000002 Device Minor Nodes: dev=(236,0) dev_path=/pci@0,0/pci8086,2064@14/device@1:0 spectype=chr type=minor dev_link=/dev/term/0 dev=(236,131072) dev_path=/pci@0,0/pci8086,2064@14/device@1:0,cu spectype=chr type=minor dev_link=/dev/cua/0
Updated by Electric Monk almost 2 years ago
- Status changed from New to Closed
- % Done changed from 0 to 100
git commit 418edcfa14b4e9bcad9cb7f5a2c78470c516b626
commit 418edcfa14b4e9bcad9cb7f5a2c78470c516b626 Author: Joshua M. Clulow <josh@sysmgr.org> Date: 2021-07-30T07:18:56.000Z 13979 support FTDI FT232H serial interface Reviewed by: Robert Mustacchi <rm@fingolfin.org> Approved by: Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org>
Actions