How to Fix FTDI Driver Issue on Mac and macOS
Ongoing macOS FTDI driver issues plague many users connecting the Arduino IDE to boards that use an FTDI chip. Since our boards use an FTDI chip for USB-to-serial communication, we have witnessed some of these issues when working with our boards using Mac and macOS.
The symptoms we have observed generally include the spontaneous loss of the USB serial port connection to the board or loss of the port after disconnecting and then reconnecting the board from the USB programming cable.
Rebooting the system can temporarily restore the port, but the problem eventually comes back. Since we’ve seen this issue pop up internally and with many customers, we decided to share what solution has been working for us so far.
The exact cause of this problem is not certain, but it seems to be related to Apple’s support, or lack thereof, for FTDI drivers in the operating system. Earlier versions of Mac OS X did not support FTDI drivers, so users would have to install third-party FTDI drivers. Somewhere around the release of macOS 10.12 Sierra (and maybe earlier), native support for FTDI drivers was included.
So, if you have followed an upgrade path from an older version of the OS without native FTDI support to a new version that has it, there can be contention between the native and third-party drivers. This potentially leads to the mysterious port disappearance issue.
We have found uninstalling the third-party drivers to be a solution. The instructions below have seemed to work for anyone here at Alorium Technology that was observing the FTDI issues.
- To uninstall FTDI drivers you must be logged on to your computer as a root user. Follow Apple’s directions if this needs to be enabled on your computer.
- Be careful! By enabling root, you have privileges to change and delete files that are required by your computer.
- Follow steps 4.1 and 4.2 in FTDI Chip’s “FTDI Driver Installation Guide” to uninstall all third-party drivers on your computer.
- Disable root on your computer. Follow Apple’s directions below.
- Reboot your system