Опитвам се избирателно да скринирам и деактивирам определени USB устройства. За тази цел написах IOUSBInterface
драйвер, който указва заместващи знаци за idProduct
, idVendor
и bcdDevice
. Всеки път, когато не искам да деактивирам дадено устройство, задавам probeScore
на 0 и се връщам.
Подходът probeScore
работи в почти всички случаи и мога да видя как драйверът ми разглежда всяко USB устройство на свой ред в system.log
. Но в случая на Bluetooth USB хост контролера, ядрото прикачва моя драйвер към него въпреки резултата ми от сондата 0. За сравнение, ако моят драйвер не присъства, Bluetooth USB хост контролерът съвпада с резултат от сондата от 90 000.
Вярно е, че драйверът ми посочва OSBundleRequired
като Root
, но Bluetooth USB хост контролерът посочва OSBundleRequired
като Safe Boot
, което изглежда ги поставя на една и съща основа. От друга страна, имам същите проблеми с Bluetooth на Yosemite като другите и моята Bluetooth мишка не реагира, докато не вляза, което предполага, че Bluetooth USB хост контролерът може да не се зарежда до момента на зареждане.
/System /Library/Extensions/IOBluetoothFamily.kext/Contents/PlutIns/BroadcomBluetoothHostControllerUSBTransport.kext
, получавам грешка при невалиден подпис, въпреки че системата няма проблем със зареждането на този драйвер, след като вляза. Може би трябва да задам този въпрос на Попитайте различно. - person Neil Steiner   schedule 01.10.2015kextcache
има флаг-print-diagnostics
, който може да помогне да се определи проблема. - person pmdj   schedule 02.10.2015sudo kextcache -system-caches -print-diagnostics -v 6
и някои други опции, но наистина не намерих това, което търсех. Каква употреба имахте предвид? - person Neil Steiner   schedule 05.10.2015