我试图连接到嵌入式Linux上的蓝牙设备。
使用描述的方法 this page在Desktop Linux Mint 17 x64和RiotBoard(i.MX6)Linaro Ubuntu上运行良好。
但是,我无法获得i.MX25板(嵌入式自定义Linux)来连接目标设备。 仅扫描。
rfcomm.conf
rfcomm0 {
# Automatically bind the device at startup
bind yes;
# Bluetooth address of the device
device 00:07:80:5A:48:93;
# RFCOMM channel for the connection
channel 1;
# Description of the connection
comment "Example Bluetooth device";
}
hciconfig -a输出
hci0: Type: BR/EDR Bus: USB
BD Address: 00:15:83:44:39:E2 ACL MTU: 384:8 SCO MTU: 64:8
UP RUNNING PSCAN
RX bytes:28633 acl:0 sco:0 events:204 errors:0
TX bytes:899 acl:0 sco:0 commands:60 errors:0
Features: 0xff 0xff 0x8f 0xfe 0x9b 0xff 0x59 0x83
Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
Link policy: RSWITCH HOLD SNIFF PARK
Link mode: SLAVE ACCEPT
Name: 'Bluetooth2.1+EDR CLASS1'
Class: 0x000000
Service Classes: Unspecified
Device Class: Miscellaneous,
HCI Version: 2.1 (0x4) Revision: 0x149c
LMP Version: 2.1 (0x4) Subversion: 0x149c
Manufacturer: Cambridge Silicon Radio (10)
rfcomm连接输出
# rfcomm connect 0
Can't connect RFCOMM socket: Operation now in progress
hcitool cc输出
# hcitool cc 00:07:80:5A:48:93
Can't create connection: Connection timed out
l2ping输出
# l2ping 00:07:80:5A:48:93
Can't connect: Invalid exchange
谷歌搜索时,我能找到的唯一相关的thread表明rfcomm连接输出可能是由于内核2.6.27回归,但我的是3.10.28(使用uname -r)。 /> 我尝试了另外两个目标蓝牙设备(不同类型),问题依旧。
感谢任何帮助,谢谢!
修改
Rfkill阻止/解锁似乎没有任何改变。
答案 0 :(得分:3)
事实证明目标设备正在从我的i.MX25主板请求身份验证 通常,PIN代码处理是通过使用蓝牙代理完成的 但是这个代理实际上没有安装在主板上(我以为是......),所以我不得不手动提供所要求的PIN码。
我就这样做了:
00:15:83:44:39:E2 是本地设备的蓝牙地址 00:07:80:5A:48:93 是目标设备的蓝牙地址 045678 是目标设备PIN码。
l2ping工作:
# l2ping 00:07:80:5A:48:93
Ping: 00:07:80:5A:48:93 from 00:15:83:44:39:E2 (data size 44) ...
4 bytes from 00:07:80:5A:48:93 id 0 time 13.14ms
4 bytes from 00:07:80:5A:48:93 id 1 time 26.34ms
rfcomm connect有效:
# rfcomm connect 0
Connected /dev/rfcomm0 to 00:07:80:5A:48:93 on channel 1
Press CTRL-C for hangup
更新06.15.2015
今天我再次尝试在目标设备上进行l2ping,如前所述。出于某种原因,它会让我失去一个" Permission denied"错误。
这就是我想出的解决方法:
答案 1 :(得分:0)
我每天都使用BT设备(智能手机)通过blueman-applet 2.0.4进行联网
今天由于某种原因,它始终无法投掷。
“无法连接rfcomm套接字”。
我尝试了
直到我执行以下操作:
以前(今天)使用“ Blueman-applet>右键单击设备>连接到网络访问点”失败。我认为这不应该有所作为,但确实可以。如果有人可以说些什么,我将不胜感激。
[S]
service bluetooth stop
service network-manager stop
service networking stop
service networking restart
service network-manager restart
service bluetooth restart