Macos – How to release/reset serial port FTDI devices – Mac OSX

ftdimacosMATLABusb

I am trying to work with a custom PCB that uses an FTDI FT232RL to talk to my computer (MacBookPro running OSX 10.11 El Capitan) for a hardware project. I am using Matlab to send serial commands, running into some problems there with ClearToSend (CTS) pin apparently 'high' (off), but that's another story.

However my problem right now is that my Mac won't "release" (not sure what else to call this) the device after I unplug it. I can unplug the device and put it on another USB bus, but I can really only do this once, because the same thing happens again if I unplug — this makes my development difficult, because the only way I've found to fix this is to restart the whole computer. How can I release/reset/clear these devices?

If I open System Information>Hardware>USB, I can essentially see the same device listed twice on the device tree.

enter image description here

This makes it so that when I try ls /dev/tty.* (in either Matlab or Terminal) the device is not listed, it's essentially blocked, even though it's plugged in and shows up twice on the device tree. What should I do?

I have installed the version 2.3 FTDI driver, and it seems to work otherwise. Please let me know what other information I can provide to get to the bottom of this. Thanks

Best Answer

I had the same issue, albeit on Sierra, talking to an Arduino Nano clone (which also uses a FTDI FT232RL bridge).

What seems to have worked for me is actually removing the FTDI driver (/Library/Extensions/FTDIUSBSerialDriver.kext), after finding that Apple ships an FTDI driver with the OS itself (/System/Library/Extensions/AppleUSBFTDI.kext).

I think having both drivers active at the same time causes a conflict, which ties up the USB port.

Related Question