【问题标题】:Bluez: pairing issue with iOSBluez:与 iOS 的配对问题
【发布时间】:2019-06-10 20:59:42
【问题描述】:

我有一个在嵌入式设备上运行并使用 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 以禁用配对。所有特征均不受保护。

【问题讨论】:

  • 您能否在 iPhone 的常规蓝牙“设备”列表中看到您的嵌入式设备?
  • 当您说“我将我的服务设置为不可配对”时,您的意思是什么?这是您的 BLE Gatt 服务中的设置吗?或通过 btmgmt 进行一般外围设置。我看到了同样的问题,但下面的修复对我不起作用。

标签: bluetooth-lowenergy bluez


【解决方案1】:

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

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 设置中忘记了该设备,因为这可能会产生一些影响。

【讨论】:

  • 非常感谢这个评论,它就像一个魅力!唯一的小问题是 btmgmt 使用“bondable”而不是“bonding”。
猜你喜欢
  • 2014-09-02
  • 1970-01-01
  • 2018-12-26
  • 2020-05-13
  • 2020-09-17
  • 2019-08-31
  • 2022-12-06
  • 1970-01-01
  • 2017-12-24
相关资源
最近更新 更多