有没有办法确定设备在 macOS 中连接到哪个特定的物理 USB 端口?

有没有办法确定设备在 macOS 中连接到哪个特定的物理 USB 端口?

我有一台连接到 Mac Mini 的 Nexus 7 平板电脑,我需要弄清楚它连接到哪个端口。我正在管理其他人的代码,他们在代码中对端口进行了如下定义:

/dev/tty.usbserial-A20e1sNr

此端口现已更改,并且似乎有大约 20 个不同的 USB 设备连接到此计算机。有没有办法找出与 Nexus 7 平板电脑连接的 USB 端口相对应的具体端口?

答案1

/dev/tty.usbserial是 USB 到串行连接,因此其他 USB 设备不会显示在此处。我建议usb.serial使用以下方法列出所有设备:

ls -la /dev/tty.usbserial*

如果有多个,请断开 Nexus 平板电脑的连接并再次列出 USB 连接的设备并检查哪一个消失了。

答案2

部分答案:

您可以使用ioreg -p IOUSB它来查看 USB 树是否已在 IOKit 中注册(或使用系统信息应用程序,在“硬件/USB”下)。

此外,ioreg -l -p IOUSB打印属性,其中包括USB Address(似乎是父集线器的端口号),以及locationID,根据文档

32 位数字,在系统中的所有 USB 设备中都是唯一的,并且除非总线本身的拓扑发生变化,否则在系统重启时不会改变。

返回的值IORegistryEntry获取Plane位置@在输出中显示在后面的ioreg似乎也包含某种端口路径,或者至少是一个唯一的标识符。

我没有 USB 串行设备可以在这里玩,所以我不知道这些信息与之后的标识符有何关系,或者您是否可以通过其他方式tty.usbserial获取此标识符。iokit

相关内容