Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save erichelgeson/b5ec1db222701a1f7fa23e7bfb310de5 to your computer and use it in GitHub Desktop.
Save erichelgeson/b5ec1db222701a1f7fa23e7bfb310de5 to your computer and use it in GitHub Desktop.
Install FTDI driver

FTDI chip and OS X 10.10 Hi All, Yesterday I got a FTDI (UART to USB) board from unknown manufacturer. I plugged in to the iMac and without a surprise, it was not working. I have tried all the possible combinations, but no luck. Then after some digging in Apple documentation and Google about kext, FTDI and related, I finally made it. Here are the steps:

  1. In order to disable the AppleUSBFTDI.kext extension (From Mac OS X 10.8 there is Apple driver implementation for the FTDI chip).

cd /System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns sudo mv AppleUSBFTDI.kext AppleUSBFTDI.disabled

  1. Downloading and installing FTDI VCP Driver. I used the Mac OS X, 64 bit version.

  2. Install the driver. Optional you can check if it is there and loaded.

ls -ld /System/Library/Extensions/FTDIUSBSerialDriver.kext kextstat | grep FTDI

  1. Run system_profiler -detailLevel full in order to find device details with a plugged in FTDI board.More info about the fields and how matching is done. “idVendor” = 0x403 “idProduct” = 0x0 “bcdDevice” = 0x600

system_profiler FTDI Info My FTDI chip info via system_profiler

  1. Open the /System/Library/Extensions/FTDIUSBSerialDriver.kext/Contents/Info.plist and add new or change existing key/dictionary under IOKitPersonalities and make sure above 3 values(idVendor, idProduct, bcdDevice) are there and correct. All values must be decimals.

IOKitPersonalities / FT232R USB UART My changes in Info.plist/IOKitPersonalities / FT232R USB UART

  1. Now with the changes, signature of the driver is not correct so you need to turn on kext dev mode in the OS. sudo nvram boot-args=”kext-dev-mode=1″

Reboot…

  1. Unload/Load the driver. You can skip this step if you just rebooted. It can be use when you do changes in the info file.

sudo kextunload /System/Library/Extensions/FTDIUSBSerialDriver.kext/ sudo kextload /System/Library/Extensions/FTDIUSBSerialDriver.kext/

  1. Plug in the FTDI to USD board and if you are lucky, you will see something likes this:

ls /dev |grep usbserial

cu.usbserial-A9GBBDLL

tty.usbserial-A9GBBDLL

Hope it helps.

Namaste!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment