gpt4 book ai didi

linux - 有没有办法找出哪个蓝牙设备插入哪个USB端口?

转载 作者:太空狗 更新时间:2023-10-29 12:25:11 25 4
gpt4 key购买 nike

我在 BlueZ 上使用了两个蓝牙适配器,它们是同一设备但天线类型不同,有没有什么方法可以找出 BlueZ (hci0/hci1) 上的标识符指的是哪个 USB 端口?

我可以通过 hcitool dev 发现设备的 MAC 地址,所以如果有办法发现具有该 MAC 地址的适配器连接到哪个 USB 端口,那也可以解决我的问题。

由于两个适配器的型号相同,lsusb 没有提供任何我可以使用的识别信息。

使用 Ubuntu 16.04。我正在寻找任何形式的解决方案,无论是 shell 命令还是 java/C/python/等。

最佳答案

这个答案应该会为您指明正确的方向,但不会为您提供完整的解决方案。

您应该能够使用 /sys/class/bluetooth 下的“sys”文件系统的内容:

$ ls -lA /sys/class/bluetooth/
total 0
lrwxrwxrwx 1 root root 0 Dec 8 09:35 hci0 -> ../../devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3/1-1.3:1.0/bluetooth/hci0
lrwxrwxrwx 1 root root 0 Dec 8 09:35 hci1 -> ../../devices/platform/soc/3f201000.serial/tty/ttyAMA0/hci1

这是我的 Raspberry Pi,在/dev/ttyAMA0 UART 接口(interface)上有一个内置适配器,在 USB 上有一个附加的蓝牙适配器。符号链接(symbolic link)目标中的信息从技术上告诉您适配器插入哪个物理端口。

如果您不熟悉 USB 设备编号的约定(形成节点树,因为一个端口可以有一个带有多个附加端口的 USB 集线器等),请查看/sys/bus/usb/devices ,并将其与“lsusb”输出相匹配,您应该弄清楚。在我的例子中,“lsusb”显示该适配器为“Bus 001 Device 004:ID 0a5c:21e8 Broadcom Corp. BCM20702A0 Bluetooth 4.0”,如果我记得它对应于/sys/class/bluetooth 中的“1-3”内容路径(不幸的是,总线值使用索引原点 1,而设备编号使用索引原点 0,因此 4 在那里变成了 3)。

如果您尝试将 USB 适配器移动到不同的物理端口,您应该能够找出规律。

关于linux - 有没有办法找出哪个蓝牙设备插入哪个USB端口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43855812/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com