Project

General

Profile

Actions

Bug #13979

closed

support FTDI FT232H serial interface

Added by Joshua M. Clulow 3 months ago. Updated 3 months ago.

Status:
Closed
Priority:
Normal
Category:
driver - device drivers
Start date:
Due date:
% Done:

100%

Estimated time:
Difficulty:
Medium
Tags:
Gerrit CR:

Description

FTDI manufacture high-speed USB UART peripherals (e.g., the C232HD-DDHSP-0) which should work with our existing usbftdi driver.


Related issues

Related to illumos gate - Support #10550: Support for FTDI FT230XQ interfaceClosed2019-03-13

Actions
Related to illumos gate - Feature #13975: support for higher baud ratesClosedJoshua M. Clulow

Actions
Actions #1

Updated by Joshua M. Clulow 3 months ago

Actions #3

Updated by Joshua M. Clulow 3 months ago

Actions #4

Updated by Joshua M. Clulow 3 months 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.

Actions #5

Updated by Joshua M. Clulow 3 months 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
Actions #6

Updated by Electric Monk 3 months 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

Also available in: Atom PDF