Estou desenvolvendo um dispositivo embarcado usando um chip RS232 Single FTDI para comunicações USB. Eu posso me comunicar com o dispositivo muito bem usando as bibliotecas pylibftdi e libftdi sobre o libusb, no Linux, mesmo no Windows; Eu instalei os drivers da libusb no Windows também.
Mas, no Apple Mac OS X, com o qual não estou familiarizado, o dispositivo é reivindicado pelo driver Apple FTDI (de acordo com kextstat
) e (py) libftdi informa que o dispositivo já foi reivindicado (erro - 5). Se eu descarregar o driver da Apple (listado como com.apple.FTDI...
por kextstat
) usando kextunload -bundle-id com.apple.driver.AppleUDBFTDI
após o dispositivo ser conectado, então (py) libftdi poderá se comunicar com ele.
No entanto, toda vez que eu conecto o dispositivo, devo descarregar o driver da Apple.
Eu gostaria de escrever uma regra do udev para fazer isso, e sei que posso apenas combinar o fornecedor USB e IDs de classe e executar um script externo, mas acho que é isso que o udev foi projetado para fazer, então certamente existe um udev embutido para descarregar um driver de kernel?