Custom FTDI device ID support on Catalina?

On previous OS versions, the FTDI serial USB bridge VCP driver support came from FTDI via FTDIUSBSerialDriver.kext. This was then replaced by inbox Apple driver AppleUSBFTDI.kext.
In both of those cases, custom USB device IDs (VID/PID) could be supported by creating a wrapper kext that declared the custom IDs and referenced the actual underlying driver package/binaries.
In Catalina, AppleUSBFTDK.kext is gone, and native FTDI device IDs are now supported by DriverKit.AppleUSBFTDI.dext. The FTDI driver and/or custom ID wrapper KEXTs can be manually loaded using kextutil, but they do not automatically load when the device is plugged in. It seems that DriverKit.AppleUSBFTDI.dext is servicing all such serial USB devices now? But the Info.plist for that .dext only lists the native FTDI device IDs.

Is there any guidance on how to support custom IDs for the FTDI devices in Catalina? Creating a dext wrapper does not seem to be the right idea, as I am seeing lots of info stating that .dexts must be part of an application now, that there is no such thing as a standalone dext.

Thanks,

Rick

Replies

yep, I am not able to use my new macbook pro (2019) to code my ESP8266/32s. may have to go back to my trusty 2009 macbook pro. the new one is missing the AppleUSBFTDI.kext even when I isntalled the 2.4.2 FTDI driver, I get nothing in the /dev. my arduino IDE lists no other ports except the bluetooth

I am facing the same issue, I talked with customer service and they kept focusing on 3rd party drivers. I have exactly same issue.

Installing 3rd party drivers does not solve the issue. I tried Prolific and FTDIUSBSerialDriver_v2_4_2.

> The FTDI driver and/or custom ID wrapper KEXTs can be manually loaded using kextutil


How do you do that? I tried "kextutil DriverKit.AppleUSBFTDI.dext" but that didn't work.

Would a "codeless KEXT" be the solution that you are looking for: https://developer.apple.com/documentation/apple_silicon/implementing_drivers_system_extensions_and_kexts#3616855 ?
Actually, now that I'm looking into this more, I wonder is it at all possible to create an extension based on Apple's FTDI DEXT, with the goal of supporting FTDI devices with custom PID? Apple's documentation talks about subclassing an existing DriverKit class, but there's no class for FTDI.

yep, I am not able to use my new macbook pro (2019) to code my ESP8266/32s. may have to go back to my trusty 2009 macbook > pro. the new one is missing the AppleUSBFTDI.kext even when I isntalled the 2.4.2 FTDI driver, I get nothing in the /dev. my arduino > IDE lists no other ports except the bluetooth

Could you find a solution for this on your MBP 2019?