主题中讨论的其他器件:AM5708
工具/软件:Linux
您好!
我在基于 AM5708处理器的电路板上安装了 WL18xx BT + WiFi 模块。
我将使用以下命令在 HCI UART 模式下配置蓝牙(gpio199上的 BT_EN)、并在/lib/firmware/ti-connectivity 目录中使用 TIInit_11.8.32.bts。
Echo 199 >/sys/class/gpio/export
回显>/sys/class/gpio/gpio199/direction
echo 0 >/sys/class/gpio/gpio199/value
睡眠1
Echo 1 >/sys/class/gpio/gpio199/value
睡眠5.
hciattach -s 115200 /dev/ttyS9 Texas 3000000 0
然后、我正在运行为 BT 创建 HCI 套接字的应用、
套接字(AF_Bluetooth、SOCK_RAW、BTPROTO_HCI);
并配置事件、
HCI_FILTER_SET_TYPE (HCI_EVENT_PKT、&sHCIFilter);
HCI_FILTER_SET_EVENT (EVT_PIN_CODE_REQ、&sHCIFilter);
HCI_FILTER_SET_EVENT (EVT_LINK_KEY_REQ、&sHCIFilter);
HCI_FILTER_SET_EVENT (EVT_LINK_KEY_NOTIY、&sHCIFilter);
HCI_FILTER_SET_EVENT (EVT_CONN_REQUEST、&sHCIFilter);
HCI_FILTER_SET_EVENT (EVT_CONN_COMPLETE、&sHCIFilter);
HCI_FILTER_SET_EVENT (EVT_DISCONN_COMPLETE、&sHCIFilter);
然后在 piscan 和 auth 模式上配置 hci0。
hci0: 类型:主 总线:UART
BD 地址:50:8C:B1:42:FA:1B ACL MTU:1021:6 SCO MTU:180:4
正在运行 PSCAN ISCAN AUTH
RX 字节:1437 ACL:0 SCO:0事件:83错误:0
TX 字节:1549 ACL:0 SCO:0命令:78错误:0
特性:0xFF 0xFE 0x2D 0xFE 0xdb 0xff 0x7B 0x87
数据包类型:Dm1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
链接策略:RSWITCH 保持监听
链接模式:从器件接受
我还在处理命令和事件时收到“PIN 码请求”,我将向请求设备发送 PIN 码。
现在、当我尝试从 Android 移动设备连接到 Linux 设备上的蓝牙时、会发生以下事件、
>HCI 事件:连接请求(0x04) PLEN 10.
bdaddr 5C:51:88:2F:D3:60类0x5a020c 类型 ACL
< HCI 命令:接受连接请求(0x01|0x0009) PLEN 7.
bdaddr 5C:51:88:2F:D3:60角色0x00
角色:Master
> HCI 事件:命令状态(0x0F) PLEN 4.
接受连接请求(0x01|0x0009)状态0x00 ncmd 1
>HCI 事件:角色更改(0x12) PLEN 8.
状态0x00 bdaddr 5C:51:88:2F:D3:60角色0x00
角色:Master
> HCI 事件:链路密钥请求(0x17) PLEN 6.
bdaddr 5C:51:88:2F:D3:60
< HCI 命令:链路密钥请求应答(0x01|0x000b) PLEN 22
bdaddr 5C:51:88:2F:D3:60 KEY 6AE6DD18A86738E2228EEAFE28373BF37
> HCI 事件:命令完成(0x0E) PLEN 10.
链路密钥请求应答(0x01|0x000b) ncmd 1.
状态0x00 bdaddr 5C:51:88:2F:D3:60
< HCI 命令:链路密钥请求否定应答(0x01|0x000c) PLEN 6.
bdaddr 5C:51:88:2F:D3:60
> HCI 事件:命令完成(0x0E) PLEN 10.
链路密钥请求否定应答(0x01|0x000c) ncmd 1.
状态0x0c bdaddr 5C:51:88:2F:D3:60
错误:命令被禁止
> HCI 事件:引脚代码请求(0x16) PLEN 6.
bdaddr 5C:51:88:2F:D3:60
< HCI 命令:引脚代码请求负响应(0x01|0x000e) PLEN 6.
bdaddr 5C:51:88:2F:D3:60
> HCI 事件:命令完成(0x0E) PLEN 10.
引脚代码请求负响应(0x01|0x000e) ncmd 1.
状态0x00 bdaddr 5C:51:88:2F:D3:60
< HCI 命令:引脚代码请求应答(0x01|0x000d) PLEN 23
bdaddr 5C:51:88:2F:D3:60 len 4引脚'1111'
> HCI 事件:命令完成(0x0E) PLEN 10.
引脚代码请求应答(0x01|0x000d) ncmd 1.
状态0x0c bdaddr 5C:51:88:2F:D3:60
错误:命令被禁止
*********** 连接完成事件******
> HCI 事件:连接完成(0x03) PLEN 11
状态0x18 handle 1 bdaddr 5C:51:88:2F:D3:60类型 ACL 加密0x00
错误:不允许配对
我在这里看到、在接收到"链路密钥请求"和" PIN 码请求"时、它会发送两个响应、一个默认响应、另一个响应来自我的应用。
如果我禁用从通信发送响应、那么我不知道如何将 PIN 代码发送到请求的器件。
我有 Bluemoon 配置实用程序版本5.43。
那么、我如何配置设备、以便能够通过移动蓝牙与设备配对?
谢谢、
Gunjal