Using an FT2232H minimodule to debug an ESP32 board

Regarding the FTDI drivers on the Mac:

There are three different FTDI drivers:

Vendor Type Installation Location on system
Apple User-space driver Preinstalled on macOS 10.15 (Catalina) /System/Library/DriverExtensions/
Apple Kernel driver Preinstalled on macOS from 10.9 to 10.14 /System/Library/Extensions
FTDI Kernel driver Manually installed by user /Library/Extensions

All three drivers are USB-to-Serial drivers. They enable UART functionality of the FTDI chips but they are in the way for everything else. In particular, they prevent using an FTDI board as a JTAG adapter.

Generally, it’s not necessary to uninstall the drivers. For the Apple drivers it’s even difficult as they live in the protected directory /System/Library. Instead, it is better to temporarily deactivate them. If anything, the FTDI drivers from FTDI could be uninstalled.

The command for deactivation is kextunload:

# FTDI user-space driver from Apple
sudo kextunload /System/Library/DriverExtensions/DriverKit.AppleUSBFTDI.dext

# FTDI kernel driver from Apple
sudo kexunload /System/Library/Extensions/AppleUSBFTDI.kext

# FTDI kernel driver from FTDI
sudo kextunload /Library/Extensions/FTDIUSBSerialDriver.kext

The same command with kextload instead of kextunload will reactivate the driver. A reboot will also reactivate them.

3 Likes