BLE bug:使用gatt_security_server工程,手机连接每次都需配对

joseph_ji
Posts: 70
Joined: Thu Jun 17, 2021 1:26 am

BLE bug:使用gatt_security_server工程,手机连接每次都需配对

Postby joseph_ji » Tue Dec 28, 2021 7:07 am

硬件环境:ESP32-C3-DevKitM-1开发板、三星手机S20plus(Android版本11)
软件环境:开发板载esp_idf的example demo:gatt_security_server;手机使用第三方调试工具nRF Connect app
idf环境:ESP-IDF v4.3
预期现象:手机蓝牙连接esp32c3(server),第一次连接配对,后续连接不需再次配对
BUG现象:实际使用三星S20plus security连接时,每次手机的配对信息会丢掉,每次连接都需要重新配对;而且有时候会连接失败,多次连接失败会导致开发板崩溃重启;

esp32c3开发板log打印详见附件;
Attachments
gatt_security_server_三星s20+.txt
esp32c3开发板运行日志
(7.51 KiB) Downloaded 740 times

ESP_XuLZ
Posts: 173
Joined: Fri Mar 26, 2021 6:04 am

Re: BLE bug:使用gatt_security_server工程,手机连接每次都需配对

Postby ESP_XuLZ » Tue Jan 04, 2022 3:01 am

你好,请问你有更改过 gatt_security_server 中应用层的代码吗,请提供下你所使用的具体 IDF commit 版本号和 demo 固件及 elf 文件,我使用 4.3 并没有复现出来,看着这个是绑定了三个设备,其他手机也会有这种情况吗

joseph_ji
Posts: 70
Joined: Thu Jun 17, 2021 1:26 am

Re: BLE bug:使用gatt_security_server工程,手机连接每次都需配对

Postby joseph_ji » Tue Jan 04, 2022 8:39 am

ESP_XuLZ wrote:
Tue Jan 04, 2022 3:01 am
你好,请问你有更改过 gatt_security_server 中应用层的代码吗,请提供下你所使用的具体 IDF commit 版本号和 demo 固件及 elf 文件,我使用 4.3 并没有复现出来,看着这个是绑定了三个设备,其他手机也会有这种情况吗
应用层代码没有动过,你说的IDF commit版本号是指什么?怎么查看?用idf.py --version查看吗?
IDF-version.PNG
IDF-version.PNG (16.8 KiB) Viewed 20071 times
Attachments
bin固件elf文件.rar
(3.04 MiB) Downloaded 683 times

joseph_ji
Posts: 70
Joined: Thu Jun 17, 2021 1:26 am

Re: BLE bug:使用gatt_security_server工程,手机连接每次都需配对

Postby joseph_ji » Tue Jan 04, 2022 8:44 am

ESP_XuLZ wrote:
Tue Jan 04, 2022 3:01 am
你好,请问你有更改过 gatt_security_server 中应用层的代码吗,请提供下你所使用的具体 IDF commit 版本号和 demo 固件及 elf 文件,我使用 4.3 并没有复现出来,看着这个是绑定了三个设备,其他手机也会有这种情况吗
你好,另外,这个现象是这把手机三星Galaxy S20+(Android11)才有的,另外绑定的手机暂时没有测出来

ESP_XuLZ
Posts: 173
Joined: Fri Mar 26, 2021 6:04 am

Re: BLE bug:使用gatt_security_server工程,手机连接每次都需配对

Postby ESP_XuLZ » Tue Jan 04, 2022 9:06 am

好的,我们先测试和排查下,IDF 的commit 信息可以 git log 后截图发一下

joseph_ji
Posts: 70
Joined: Thu Jun 17, 2021 1:26 am

Re: BLE bug:使用gatt_security_server工程,手机连接每次都需配对

Postby joseph_ji » Tue Jan 04, 2022 9:13 am

ESP_XuLZ wrote:
Tue Jan 04, 2022 9:06 am
好的,我们先测试和排查下,IDF 的commit 信息可以 git log 后截图发一下
你好,git log 截图:
IDF-git log.PNG
IDF-git log.PNG (47.16 KiB) Viewed 20057 times

ESP_XuLZ
Posts: 173
Joined: Fri Mar 26, 2021 6:04 am

Re: BLE bug:使用gatt_security_server工程,手机连接每次都需配对

Postby ESP_XuLZ » Fri Jan 07, 2022 6:37 am

你首次提供的log 和后面提供的 elf 是不是同一次编译出的?这边看 crash 的原因是 “解引用某个 NULL 指针导致的”, 使用 elf 反汇编后 找不到log 中 MEPC 的地址,不知道是跑飞了还是 log 与 elf 不对应的原因;你提供的 bin 我也进行烧录测试了,按照log 中的行为逐一多次配对 三个手机,没出现问题;三个手机有一款是 三星的,但是没找到 这个 S20+ 的型号
希望你可以再复现一次,提供本次的 log \ elf \ bin

joseph_ji
Posts: 70
Joined: Thu Jun 17, 2021 1:26 am

Re: BLE bug:使用gatt_security_server工程,手机连接每次都需配对

Postby joseph_ji » Fri Jan 14, 2022 3:21 am

ESP_XuLZ wrote:
Fri Jan 07, 2022 6:37 am
你首次提供的log 和后面提供的 elf 是不是同一次编译出的?这边看 crash 的原因是 “解引用某个 NULL 指针导致的”, 使用 elf 反汇编后 找不到log 中 MEPC 的地址,不知道是跑飞了还是 log 与 elf 不对应的原因;你提供的 bin 我也进行烧录测试了,按照log 中的行为逐一多次配对 三个手机,没出现问题;三个手机有一款是 三星的,但是没找到 这个 S20+ 的型号
希望你可以再复现一次,提供本次的 log \ elf \ bin
感谢回复,因为您这边测试说没复现bug,我怀疑是不是我的idf环境的问题,后来换了个idf环境,三星 galaxy s20+这把手机一直反复配对的bug确实没有了;但是我在测试手机兼容性测试时,个别手机在配对阶段,还是会有概率导致重启(每次都手动清除配对,然后重连,并不是每次都出现重启)。

joseph_ji
Posts: 70
Joined: Thu Jun 17, 2021 1:26 am

Re: BLE bug:使用gatt_security_server工程,手机连接每次都需配对

Postby joseph_ji » Fri Jan 14, 2022 3:29 am

ESP_XuLZ wrote:
Fri Jan 07, 2022 6:37 am
你首次提供的log 和后面提供的 elf 是不是同一次编译出的?这边看 crash 的原因是 “解引用某个 NULL 指针导致的”, 使用 elf 反汇编后 找不到log 中 MEPC 的地址,不知道是跑飞了还是 log 与 elf 不对应的原因;你提供的 bin 我也进行烧录测试了,按照log 中的行为逐一多次配对 三个手机,没出现问题;三个手机有一款是 三星的,但是没找到 这个 S20+ 的型号
希望你可以再复现一次,提供本次的 log \ elf \ bin
我这次将build/删除了,重新编译烧写,测试log、elf、bin附在附件里,麻烦再帮忙看看,测试机型有华为,三星,小米,魅族若干手机,目前在你们的demo上重启的是小米4这把,在我们的工程上,小米和三星都会重启
Attachments
gatt_security_server小米4.rar
(2.81 MiB) Downloaded 582 times

Who is online

Users browsing this forum: No registered users and 78 guests