开发者

USB device shows twice in IORegistryExplorer when unplugged - as live and as terminated

开发者 https://www.devze.com 2023-04-10 17:37 出处:网络
I have a USB device that I have developed a codeless kext for to keep OS X from preemptively capturing it. The kext just makes the device match with a different kext in the IOBluetoothFamily.kext.

I have a USB device that I have developed a codeless kext for to keep OS X from preemptively capturing it. The kext just makes the device match with a different kext in the IOBluetoothFamily.kext.

I am noticing an odd behavior when I perform the following:

  • Reboot just to clear the IO Registry.
  • Start IORegistryExplorer.
  • Plug a device in, get: registered, matched, active with retain 10, busy 0.
  • Unplug device, entry goes red (terminated object).
  • Update the registry: Terminated object remains (as expected). Also a non-terminated object shows up with the same contents as the terminated, except not registered, not matched, not acti开发者_StackOverflowve, retain 4, busy 2.
  • Clear terminated objects - only the red entry will go away. The other entry remains.

I am not running any other application that would access the device.

Is it possible that the kext I am matching to has a bug?


From my experience IORegistryExplorer (and USB Prober) have a tendency to keep objects alive (often making it impossible to unload kexts), closing IORegistryExplorer tends sorts out the problem.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号