Ping

使用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

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

(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分享
Ping

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

1. 定位到 libcom中的BlockingBle.java 中的onMtuChanged 方法。
2. 添加代码:当mtu大于247时,则重新赋值为247。如下图所示。

附件是修复的GRToolBox APK临时版本。
Iwown_Zheng
使用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手机端系统: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
手机端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升级时报错截图:

贵司可否在对固件和手机端影响最小的条件下,对GR5515X_Android_DFUSDK_20221104进行更新,修复在Android14 OTA升级时遇到的MTU交换错误的异常
yun****com
这个问题也是我们公司近期遇到了一项紧迫的挑战,与贵公司所提供的SDK紧密相关。我们GR5515的智能手表产品在全球范围内已经售出100,000余只,受到了广大用户的喜爱。然而,随着Android 14系统的普及,我们收到了大量的用户反馈和投诉,指出他们的手表因系统兼容性问题无法正常升级固件。
具体来说,由于海外用户占比较大,他们无法通过固件更新的常规方式来解决这一问题,因为升级过程需要借助非Android 14系统的手机。这使得他们在享受手表的全部功能时面临障碍,对我们产品的满意度和信任度造成了严重影响。
这一问题不仅对我们的品牌形象和客户忠诚度构成了威胁,更进一步地,它已经开始影响到我们与潜在合作伙伴的新项目洽谈。合作方对产品的稳定性和兼容性提出了更高的要求,而当前的固件升级难题无疑成为了我们合作进程中的一大障碍。
因此,我们恳请贵公司能够重视这一问题,并考虑对SDK进行必要的更新和优化,以确保我们的产品能够在Android 14系统上顺畅运行。我们相信,通过双方的努力和合作,我们一定能够找到解决方案,进一步提升产品的用户体验,增强市场竞争力,并为未来的合作奠定更加坚实的基础。
期待您的回复,并感谢您对我们产品和合作的重视与支持。
zhongchengzhi

您好,已收到您的反馈,我门非常重视这个问题,我们正在分析这个问题,有任何更新会立刻回复您;
打开微信,使用“扫一扫”即可关注