TL;DR - How do I make a USB Serial cable work on Catalina?
I work as an embedded software developer. I write software on small circuit boards like an Arduino or BeagleBone or RaspberryPi. You might know or hear the phrase: "JTAG DEBUGGER"
Every day I use various USB serial converters to do my work.
I just got a new (Nov 2019) MacBook Pro 1 week ago with a real escape key.
I can get SOME, but not all, USB serial things to work.
Knowns:
A) (TYPE_CDC_DEVICES) Some development boards (from ST Microsystems and Texas Instruments) implement what is known as a "USB CDC ACM" Serial port:
These CDC type devices seem to work.
B) (TYPE_CHIP_DEVICES) Others are what you would describe as a "USB Serial Cable" in some cases, the usb-chip that makes this work is built into the main board and is used to as a debugger.
This is an APPLE supplied driver.
These chips come from companies like: FTDI, and PROLIFIC (Apple has a driver for this), and MICROCHIP, and SILABS.
For example the FTDI driver FROM APPLE is here:
/System/Library/DriverExtensions/DriverKit.AppleUSBFTDI.dext
These CHIP type cables and boards DO NOT WORK.
I cannot open the serial device with my TERMINAL programs. Such as: Screen, and CoolTerm and others.
C) I know the device is present, and the driver is loaded - I can see the device, but when I try to open the device I get various different errors. (The exact error depends on the application I am using).
foo@bar /dev % ls -l /dev/*usb*
crw-rw-rw- 1 root wheel 18, 27 Dec 1 16:33 /dev/cu.usbserial-534400
crw-rw-rw- 1 root wheel 18, 29 Dec 1 16:33 /dev/cu.usbserial-534401
crw-rw-rw- 1 root wheel 18, 26 Dec 1 16:33 /dev/tty.usbserial-534400
crw-rw-rw- 1 root wheel 18, 28 Dec 1 16:33 /dev/tty.usbserial-534401
foo@bar /dev %
D) Others have problems too - I am not alone.
- http://community.m5stack.com/topic/1369/m5stickc-usb-driver-and-catalina
- https://community.platformio.org/t/mac-usb-port-detected-but-wont-upload/8756
Trying to run screen as root does not help.
E) Tried "sudo chmod a+rwx /dev/tty.usb*"
PART 2 ....
Often these USB chips have 2 interfaces, more specifically the FTDI2232.
Interface #0 - tends to be the JTAG debugger interface.
Interface #1 - tends to be the UART debug terminal.
I need both to work. But if I can't get the basic UART to work - I can't even start with the JTAG part.
I am stuck.