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
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
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.
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.