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).
sudo mv AppleUSBFTDI.kext AppleUSBFTDI.disabled
2. Downloading and installing FTDI VCP Driver. I used the Mac OS X, 64 bit version.
3. Install the driver. Optional you can check if it is there and loaded.
ls -ld `/System/Library/Extensions/FTDIUSBSerialDriver.kext`
kextstat | grep FTDI
4. 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
My FTDI chip info via system_profiler
5. 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.
My changes in Info.plist/IOKitPersonalities / FT232R USB UART
6. 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″
7. 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/
8. Plug in the FTDI to USD board and if you are lucky, you will see something likes this:
ls /dev |grep usbserial
Hope it helps.