ฉันกำลังพัฒนาอุปกรณ์ฝังตัวโดยใช้ชิป FTDI Single RS232 สำหรับการสื่อสาร usb ฉันสามารถสื่อสารกับอุปกรณ์ได้ดีโดยใช้ไลบรารี pylibftdi และ libftdi บน libusb บน Linux แม้แต่บน Windows; ฉันได้ติดตั้งไดรเวอร์ libusb บน Window ด้วย
แต่ใน Apple Mac OS X ซึ่งฉันไม่คุ้นเคยอุปกรณ์ดังกล่าวถูกอ้างสิทธิ์โดยไดรเวอร์ FTDI ของ Apple (ตาม kextstat
) และ (py) libftdi บอกฉันว่าอุปกรณ์ได้รับการอ้างสิทธิ์แล้ว (ข้อผิดพลาด -5) ถ้าฉันยกเลิกการโหลดแอปเปิ้ลไดรเวอร์ (อยู่ในรายการเป็น com.apple.FTDI...
โดย kextstat
) กำลังใช้ kextunload -bundle-id com.apple.driver.AppleUDBFTDI
หลังจากเสียบอุปกรณ์แล้ว (py) libftdi สามารถสื่อสารกับมันได้
อย่างไรก็ตามทุกครั้งที่ฉันเสียบอุปกรณ์ฉันต้องยกเลิกการโหลดแอปเปิ้ลไดรเวอร์
ฉันต้องการเขียนกฎ udev เพื่อทำสิ่งนี้และฉันรู้ว่าฉันสามารถจับคู่ผู้ขาย USB และ ID คลาสและเรียกใช้สคริปต์ภายนอกได้ แต่มันทำให้ฉันเห็นว่านี่คือสิ่งที่ udev ถูกออกแบบมาให้ทำ udev builtin เพื่อยกเลิกการโหลดเคอร์เนลไดรเวอร์?