问题
I'm exchanging data between a bare-bone Arduino and openFrameworks via a serial UART FTDI connection. I'm using a patched FTDI driver to achieve higher BAUD rates on OSX. FTDIChip calls it "Aliasing VCP Baud Rates".
See:
- http://spin.atomicobject.com/2013/06/23/baud-rates-ftdi-driver-mac/
- https://github.com/arminbw/wiretouch/blob/v0.21/perl/modify-ftdi-driver-settings.pl
This worked until recently. Since upgrading to OSX 10.10 I have to manually unload and reload the kext to make it work:
sudo kextload -b com.FTDI.driver.FTDIUSBSerialDriver
sudo kextunload -b com.FTDI.driver.FTDIUSBSerialDriver
kextstat tells me that the kext is loaded. It just doesn't function correctly until I reload it. Has anyone had similar issues with kext-loading? Has anyone any idea what the problem could be?
Thanks! Armin
回答1:
It would depend on the specifics of the kext in question, but generally speaking, it probably depends on a subsystem that isn't up yet by the time it gets matched to the hardware. For example, the BSD subsystem might be required to present the device file for the serial port, but the kext gets loaded before then; if that's the case, you can instruct the system to only create an instance of your driver once BSD is up using a IOResourceMatch
property of IOBSD
in your personality's dictionary in the Info.plist. (don't forget to re-codesign the kext after modifying the Info.plist)
来源:https://stackoverflow.com/questions/26798032/patched-ftdiusbserialdriver-kext-has-to-be-unloaded-reloaded-after-reboot-osx-1