您好、e2e、
我们有一位客户在 Linux rootfs (Cortex A9、Linux 内核4.4.2.7、Bluez 5.18)中使用 CC2564B 来运行蓝牙 PAN 应用程序、从 CC2564B 侧连接到 PC (Windows 7)时一切正常、但从 PC 侧连接到 CC2564B 时失败。
下面是我们执行的详细步骤、从 PC 端连接到 CC2564B 时、似乎出于安全原因拒绝连接。
我们认为我们应该在 Linux rootfs 中进行一些其他安全配置,需要您的帮助。
提前感谢。
测试设置:
Cortex A9运行 Linux Kernel 4.4./27、Bluez 5.18、CC2564B EVM;
1.通过 Bluez 5.18 (Cortex A9 + CC2564B EVM)连接到 PC:
------------------------------------------------------------------
a.在 rootfs 中创建文件夹,复制 bts、配置文件和链接密钥:
mkdir -p /lib/firmware/ti-connectivity
CP /log/3365.TIInit_6.7.16.bts /lib/firmware/ti-connectivity/TIInit_6.7.16.bts //BTS 文件
mkdir -p /etc/Bluetooth //配置文件
CP /log/network.conf /etc/bluetooth
CP /log/main.conf /etc/Bluetooth
mkdir -p /var/run //创建 sdp_unix_path,用于 sdp_connect_local 的本地套接字
轻触/var/run/sdp
chmod 777 /var/run/sdp
mkdir -p /vobs/linuxrru/build/install/tools/ctxa9/sysroot/usr/var/lib/Bluetooth //创建用于本地链接密钥存储的${localstatedir}/lib/Bluetooth
hciattach /dev/ttyPS1 Texas 115200 noflow //创建 hci0,正在加载 BTS 文件
b.使用--config-file 启动 dbus 守护程序以启动 dbus 规则
dbus-daemon --config-file=/log/bluetooth.conf
d.启动 bluetoothd (如 DisableSecurity=true,Default adaper name,…)之前的配置
bluetoothd–DNC
e. Configuration profile,和扫描方法
sdptool add SP PANU NAP GATT GN
hciconfig hci0 piscan
f.从 PC 连接 CC2564B 演示板(MAC:0C_84_DC_E2_9F_BA)
/log/dbus-send --system --type=method_call --dest=org.bluez /org/bluez/hci0/dev_0C_84_DC_E2_9F_BA org.bluez.Network1.Connect 字符串:'PANU'
[结果]一切正常、我们可以成功地 telnet 至 PC;
2.从 PC 连接到 Bluez 5.18 (CPU + CC2564B EVM):
------------------------------------------------------------------
根据 Bluez 5.18文档、我们需要注册函数在 Linux 中创建桥(名称 br0)、然后执行以下命令。
/log/dbus-send --system --print-reply --type=method_call --dest=org.bluez /org/bluez/hci0 org.bluez.NetworkServer1.Register 字符串:'PANU'字符串:'br0'
但下面的错误会出现。
> HCI 事件:命令状态(0x0F) PLEN 4 [hci0] 01:44:34.787940
远程名称请求(0x01|0x0019) ncmd 1.
状态:成功(0x00)
> HCI 事件:已完成数据包数(0x13) PLEN 5 [hci0] 01:44:34.795974
数字句柄:1.
句柄:1.
数量:1.
> HCI 事件:远程名称请求完成(0x07) PLEN 255 [hci0] 01:44:34.815373
状态:成功(0x00)
地址:0C:84:DC:E2:9F:BA (OUI 0C-84-DC)
姓名:CV0027383N0
> ACL Data RX:handle 1 flags 0x02 dlen 12 [hci0] 01:44:34.815926
L2CAP:信息响应(0x0B)标识1 len 4
类型:支持的扩展功能(0x0002)
结果:不支持(0x0001)
@器件已连接:0C:84:DC:E2:9F:BA (0)标志0x0000
0C 09 43 56 30 30 32 37 33 33 4e 30 04 d 0c .CV0027383N0...
01 02
> HCI 事件:加密更改(0x08) PLEN 4 [hci0] 01:44:34.843344
状态:成功(0x00)
句柄:1.
加密:通过 E0 (0x01)启用
< HCI 命令:读取加密密钥大小(0x05|0x0008) PLEN 2 [hci0] 01:44:34.843544
句柄:1.
> ACL Data RX:handle 1 flags 0x02 dlen 12 [hci0] 01:44:34.845402
L2CAP:连接请求(0x02)标识218 len 4.
PSM:15 (0x000f)
来源 CID:64
< ACL 数据 TX:handle 1标志0x00 dlen 16 [hci0] 01:44:34.845940
L2CAP:连接响应(0x03)标识218 len 8
目标 CID:64
来源 CID:64
结果:连接挂起(0x0001)
状态:授权等待(0x0002)
< ACL 数据 TX:handle 1标志0x00 dlen 16 [hci0] 01:44:34.846923
L2CAP:连接响应(0x03)标识218 len 8
目标 CID:64
来源 CID:64
结果:连接被拒绝-安全块(0x0003)
状态:没有可用的更多信息(0x0000)
> HCI 事件:命令完成(0x0E) PLEN 7 [hci0] 01:44:34.847138
读取加密密钥大小(0x05|0x0008) ncmd 1
状态:成功(0x00)
句柄:1.
密钥大小:16.
> HCI 事件:已完成数据包数(0x13) PLEN 5 [hci0] 01:44:34.855755
数字句柄:1.
句柄:1.
数量:2.
> HCI 事件:断开连接完成(0x05) PLEN 4 [hci0] 01:44:38.033732
状态:成功(0x00)
句柄:1.
原因:远程用户终止连接(0x13)
@器件断开连接:0C:84:DC:E2:9F:BA (0)原因3.