CN / EN
CN / EN

提问

设计支持

您的项目私密技术问题如需获得一对一支持,请点击下方联系我们。

Android14 OTA升级报MTU交换错误案例及解决方案分享 GR551x

Ping

汇顶员工
2024-01-05 16:08

1. 问题现象

使用Android_14 手机OTA升级时报如下错误;

onDfuError [SetMtu]: Failed to change MTU to 247 , now it's 512, com.goodix.ble.libcomx.task.TaskError: [SetMtu]: Failed to change MTU to 247 , now it's 512

2. 原因分析

Android DFU SDK在升级时需要将MTU设置成247,但在调用Android 14提供的requestMtu接口时,该接口不让配置成247(原生接口如下图所示),从固件端的LOG分析,最终被强制限制成了最大值512,但是OTA协议还是按247适配的,所以导致OTA报错;

3. 解决方案

(1) 固件端解决方案:在连接时输出给到手端的MTU信息最大限定为247,具体方法参考《 蓝牙MTU设置不生效 》中提供的设置方法。

(2) APP端解决方案:基于开源架构的DFU SDK,定位到 libcom中的BlockingBle.java 中的onMtuChanged 方法,修改代码逻辑,当mtu大于247时,则重新赋值为247,如下图所示(Android_GoodixBleDFU_V2.0.2_20240305.zip版本已更新):

public final static int DFU_MAX_MTU_IN_ANDROID_SIDE = 247;

PS:如果是旧的非开源SDK,可以更新GR5515X_Android_DFUSDK_20240306.7z解决。

参考资料:

1. Android DFU SDK: GR551X Android & IOS系统APP OTA应用开发SDK分享

0收藏

0赞成

Ping

汇顶员工
2024-01-05 16:09

有任何问题可在本帖下直接回复~

0条评论

0赞成

0收藏

您的评论

wangzhi

汇顶员工
2024-02-20 17:07

在Goodix DFU SDK android 侧 也可以解决此问题。

1. 定位到 libcom中的BlockingBle.java 中的onMtuChanged 方法。

2. 添加代码:当mtu大于247时,则重新赋值为247。如下图所示。

附件是修复的GRToolBox APK临时版本。

GRToolbox_V2.0.2_临时版本.apk.7z

0条评论

0赞成

0收藏

您的评论

Iwown_Zheng

2024-03-05 18:13

Android14 在使用GR5515X_Android_DFUSDK_20221104 OTA升级时也遇到了此问题

1.问题现象

使用Android_14 手机OTA升级时报如下错误:

onDfuError [SetMtu]: Failed to change MTU to 247 , now it's 512, com.goodix.ble.libcomx.task.TaskError: [SetMtu]: Failed to change MTU to 247 , now it's 512

2.OTA环境

手机端系统:Android14

手机端SDK:GR5515X_Android_DFUSDK_20221104.7z https://developers.goodix.com/zh/bbs/download/question/32869e79a7c84917b32ecb4ab10acac8/upload_773c575642f9ccb99cea034f82c56f86

固件端SDK:GR551x SDK V1.6.12

https://www.goodix.com/zh/download?objectId=1&objectType=design_resource&version=6

3.尝试更换手机端SDK,发现任何手机系统上都会OTA升级失败

手机端SDK改为Android_GoodixBleDFU_V2.0.1_20240110 https://developers.goodix.com/zh/bbs/download/question/32869e79a7c84917b32ecb4ab10acac8/upload_1ea6ecc1dca95a53363ed9173037eb00

无法进入固件文件写入流程,OTA升级时报如下错误:

rcvCmd():Failed to get header of cmd.

附上SDK Demo OTA升级时报错截图:

4.诉求

贵司可否在对固件和手机端影响最小的条件下,对GR5515X_Android_DFUSDK_20221104进行更新,修复在Android14 OTA升级时遇到的MTU交换错误的异常

1条评论

0赞成

0收藏

您的评论

yun****com

2024-03-05 19:31

这个问题也是我们公司近期遇到了一项紧迫的挑战,与贵公司所提供的SDK紧密相关。我们GR5515的智能手表产品在全球范围内已经售出100,000余只,受到了广大用户的喜爱。然而,随着Android 14系统的普及,我们收到了大量的用户反馈和投诉,指出他们的手表因系统兼容性问题无法正常升级固件。

具体来说,由于海外用户占比较大,他们无法通过固件更新的常规方式来解决这一问题,因为升级过程需要借助非Android 14系统的手机。这使得他们在享受手表的全部功能时面临障碍,对我们产品的满意度和信任度造成了严重影响。

这一问题不仅对我们的品牌形象和客户忠诚度构成了威胁,更进一步地,它已经开始影响到我们与潜在合作伙伴的新项目洽谈。合作方对产品的稳定性和兼容性提出了更高的要求,而当前的固件升级难题无疑成为了我们合作进程中的一大障碍。

因此,我们恳请贵公司能够重视这一问题,并考虑对SDK进行必要的更新和优化,以确保我们的产品能够在Android 14系统上顺畅运行。我们相信,通过双方的努力和合作,我们一定能够找到解决方案,进一步提升产品的用户体验,增强市场竞争力,并为未来的合作奠定更加坚实的基础。

期待您的回复,并感谢您对我们产品和合作的重视与支持。

0条评论

0赞成

0收藏

您的评论

zhongchengzhi

汇顶员工
2024-03-05 19:42

您好,已收到您的反馈,我门非常重视这个问题,我们正在分析这个问题,有任何更新会立刻回复您;

1条评论

0赞成

0收藏

您的评论

登录后可回答问题,请 注册

我们时刻倾听您的声音
联系销售

扫描关注公众号

打开微信,使用“扫一扫”即可关注