2017-05-08 144 views
2

我使用两个蓝牙适配器与BlueZ,都是相同的设备,但具有不同类型的天线,有什么方法来找出哪个USB端口标识符在BlueZ(hci0/hci1)指的是?有没有办法找出哪个蓝牙设备插入哪个USB端口?

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

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

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

+0

这是一个丑陋的解决方法:将手机或某个设备连接到其中一个蓝牙适配器,然后将照片/文件复制到计算机上,并使用在线工具来追踪文件/照片的来源。 –

+0

不幸的是,我试图找到一种自动执行此操作的方法,因为每次适配器断开连接时都需要重做。感谢您的建议 –

回答

0

我不知道这是否是你所需要的,但你应该找到通过以下命令连接的设备的详细信息: -

hciconfig -a 

这会给你足够的细节,以确定具体的设备。您可以将其添加到shell脚本中,并使用一些字符串操作和条件来找出您的设备。

就我而言,我有一个BT加密狗连接和运行hciconfig -a提供以下的输出: -

hci0: Type: BR/EDR Bus: USB 
    BD Address: 00:16:A4:06:AC:E6 ACL MTU: 310:10 SCO MTU: 64:8 
    UP RUNNING 
    RX bytes:670 acl:0 sco:0 events:46 errors:0 
    TX bytes:2495 acl:0 sco:0 commands:46 errors:0 
    Features: 0xff 0xff 0xcf 0xfe 0xdb 0xff 0x5b 0x87 
    Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3 
    Link policy: RSWITCH HOLD SNIFF PARK 
    Link mode: SLAVE ACCEPT 
    Name: 'youssif' 
    Class: 0x0c0000 
    Service Classes: Rendering, Capturing 
    Device Class: Miscellaneous, 
    HCI Version: 4.0 (0x6) Revision: 0x22bb 
    LMP Version: 4.0 (0x6) Subversion: 0x22bb 
    Manufacturer: Cambridge Silicon Radio (10) 

如果这还不够,你可以使用也可以使用的lsusbhciconfig命令的组合找出哪个设备连接到什么端口。

相关问题