首页 > 解决方案 > Bluez:与 iOS 的配对问题

问题描述

我有一个在嵌入式设备上运行并使用 Bluez 5.48 的外围应用程序。我将我的服务设置为不可配对。当我尝试从 Android 设备连接到服务时,一切正常,但使用 iOS 时,连接会在一段时间后丢失,并且在 btmon 工具中有以下日志:

> ACL Data RX: Handle 68 flags 0x02 dlen 9              #1050 [hci0] 398.940027
  ATT: Error Response (0x01) len 4
    Read Request (0x0a)
    Handle: 0x0016
    Error: Insufficient Authentication (0x05)
< ACL Data TX: Handle 68 flags 0x00 dlen 7              #1051 [hci0] 398.940268
      ATT: Read Request (0x0a) len 2
        Handle: 0x0016
> ACL Data RX: Handle 68 flags 0x02 dlen 9              #1052 [hci0] 398.991500
      ATT: Error Response (0x01) len 4
        Read Request (0x0a)
        Handle: 0x0016
        Error: Insufficient Authentication (0x05)

请告知如何重新配置​​应用程序或重建 Bluez 以禁用配对。所有特征均不受保护。

标签: bluetooth-lowenergybluez

解决方案


尝试重新配置应用程序以禁用经典蓝牙和绑定,如下所示:-

btmgmt power off
btmgmt bredr off
btmgmt bonding off
btmgmt io-cap 0
btmgmt power on

请注意,io-cap 0将您的 IO 功能设置为“DisplayOnly”。如果这不起作用,请尝试将 io-cap 设置为 3 (NoInputNoOutput) 以查看是否得到不同的结果。

还要确保您忘记了 iOS 设备上的 iOS 设置中的设备,因为这可能会产生一些影响。


推荐阅读