MacOS – FTDI High speed serial on MacOS

driverkernel-extensionsmacos

I have a FTDI serial cable (C232HD-DDHSP-0) which also supports high speeds (I need 3500000). I want to use this on MacOS with eg picocom (and later on a library). Picocom is build with support for higher baud rates.

$ picocom --help
picocom v3.1

Compiled-in options:
TTY_Q_SZ is 0
HIGH_BAUD is enabled
USE_FLOCK is enabled
LINENOISE is enabled
HISTFILE is: .picocom_history
USE_CUSTOM_BAUD is enabled

I've installed the FTDI drivers, and using kextstat I can also see the ftdi driver is being used (I need to unload the AppleUSBFTDI driver).
But somehow higher speeds are not accepted. Using stty to set the speed results in an error (for both drivers).

$ stty -f /dev/cu.usbserial-FT1UD0JP 3500000
stty: tcsetattr: Invalid argument

I've also found an old blog post and technical note detailing how to add aliasses for the baud rate. But with recent versions of MacOS, unsigned drivers are not allowed. Since updating the Info.plist changes the driver, it is not trusted anymore.

The cable (and device is needs to be connected to) do work fine when using a Linux setup. So the problem is somewhere on the MacOS side of things.

How can I get support for the higher baud rates on MacOS?
And to try things, how can I load unsigned/untrusted kernel drivers?

Best Answer

To answer my own question, currently the only way is to use the baud rate aliasing as described in the technical note.

Since that results in a changed driver, it either needs resigning, or disabling of SIP.