有没有办法唯一标识主机设备上的特定 USB 端口?

Is there a way to uniquely identify a specific usb port on a host device?

这个问题可能非常广泛,但我试图让它与平台无关。

如果我将设备连接到计算机上的 USB 端口,有没有办法让该设备唯一标识它所连接的端口?

例如我有一台带 10 个 USB 端口的 PC。我有一个智能 phone,它被编程为 运行 函数 A 如果它连接到 端口 1函数 B 如果它连接到 端口 2,等等...

smartphone(本例中的外围设备)是否可以识别主机上的特定端口?

有没有办法将主机设备识别为一个整体?

基本上,外设是否知道主机的任何信息?

Is there a way that the smartphone (the peripheral in this case) can identify the specific port on the host?

没有,只有主机知道设备连接到哪个端口。从手机的角度来看,它们看起来都一样。

Is there a way it can identify the host device as a whole? Basically, does the peripheral know anything about the host?

USB 本身不是,但您可以在更高的协议中实现一些识别。

查看 android 调试协议的后续实现,例如:主机向设备发送一个 ID,除非它在设备数据库中匹配,否则将询问用户:"Do you want PC (ID) to be able to debug this device?"