OSX FTDI/USB Serial adapter only creates new /dev/cu.* for each USB port/reboot

Dsplay Kexts

kextstat | grep -v apple # all non-apple kexts

kextstat | grep FTDI


 171    0 0xffffff7f83efe000 0x8000     0x8000     com.FTDI.driver.FTDIUSBSerialDriver (2.2.18) 638ECCC3-375D-CD1A-C2EC-0DC14740FC9C <137 52 5 4 3 1>


Un/Reload FTDI Kext

sudo kextunload -b com.FTDI.driver.FTDIUSBSerialDriver
sudo kextload -b com.FTDI.driver.FTDIUSBSerialDriver

Result from kextunload:

kernel) Can't unload kext com.FTDI.driver.FTDIUSBSerialDriver; classes have instances:
(kernel)     Kext com.FTDI.driver.FTDIUSBSerialDriver class FTDIUSBSerialDriver has 2 instances.
Failed to unload com.FTDI.driver.FTDIUSBSerialDriver - (libkern/kext) kext is in use or retained (cannot unload).


Kext instances

Other kexts are using the FTDI kext
The first number (115) is the id of the kernel extension.

At the end, the set of numbers <114 5 4 3 1> are the other kernel extension ids that are being referenced by this particular kext.
``` 1

In this case the kexts 137 and 52 are blocking the unloading of the FTDI driver, and they are:
* 137: com.apple.iokit.IOSerialFamily
* 52: com.apple.iokit.IOUSBFamily


Liked it? Take a second to support adminjane on Patreon!

Leave a Reply

Your email address will not be published. Required fields are marked *