在darwin上找到USB设备的驱动程序

时间:2016-06-30 10:51:08

标签: macos usb iokit darwin kernel-extension

我在mac OS X 10.11上面临this问题 - 即。某些kext已经接管了我的设备,我无法使用libusb声明它。有可能找出哪一个?这是有问题的设备:

$ system_profiler SPUSBDataType
[...]
        mEDBG CMSIS-DAP:

          Product ID: 0x2145
          Vendor ID: 0x03eb  (Atmel Corporation)
          Version: 10.00
          Serial Number: ATML2323040200017792
          Speed: Up to 12 Mb/sec
          Manufacturer: ATMEL
          Location ID: 0x14130000 / 13
          Current Available (mA): 1000
          Current Required (mA): 100
          Extra Operating Current (mA): 0

1 个答案:

答案 0 :(得分:5)

用户最友好的方式可能是使用Apple的IORegistryExplorer应用程序。 (或开源克隆,IOJones)您可以在Apple开发者网站的“更多下载”部分的“硬件工具”下载中找到IORegistryExplorer。 (需要免费登录。)您可以在服务树中找到设备的IOUSBDevice和可能的IOUSBInterface设备对象,并查看声明它的驱动程序创建了哪些客户端对象。这些对象应该有一个CFBundleIdentifier属性,用于识别负责的kext。

您也可以使用命令行ioreg实用程序执行此操作。一个很好的起点是命令ioreg -irc IOUSBHostDevice,它显示所有USB设备及其客户端。 (对于OS X 10.10及更早版本,请使用IOUSBDevice。)