Bug #117797
【BSP】【EVT3】【ST】【OTA】0090-OTA升级至 0095,通过日志观察到MCU升级时异常断电,重新上电设备无法启动,一直重复UEFI阶段反复重启
Status: | CLOSED | Start date: | 2023-05-06 | |
---|---|---|---|---|
Priority: | High | Due date: | ||
Assignee: | 移动测试一组_CDTS 刘强 | % Done: | 0% | |
Category: | BSP | |||
Target version: | - | |||
Need_Info: | -- | Found Version: | 0095 | |
Resolution: | -- | Degrated: | -- | |
Severity: | Major | Verified Version: | ||
Reproducibility: | Every time | Fixed Version: | ||
Test Type: | ST | Root cause: | MCU升级之前会从OTA压缩包里解压bin文件写入到data分区,如果断电会导致数据写入不完整,data分区损坏导致无法开机。 |
Description
【前提条件】
None
【测试步骤】
1. 烧写0090版本
2. 上电开机,push OTA 0095 包
3. 通过*#149# 开始进行OTA升级
4. 通过logcat -b all | grep "send data buf" 查看MCU升级过程,升级时断电
5. 重新上电开机
【预期结果】
4.设备正常开机
【实际结果】
4 设备启动失败,一直重复UEFI阶段反复重启
History
#1 Updated by 移动测试一组_CDTS 刘强 about 2 years ago
0090-升级0094,相同操作和板子,未复现问题
#2 Updated by CD TPM-王祥林 about 2 years ago
- Assignee changed from CD TPM-王祥林 to BSP组-RD3_CDTS 陈宙贤
#3 Updated by BSP组-RD3_CDTS 陈宙贤 about 2 years ago
- Assignee changed from BSP组-RD3_CDTS 陈宙贤 to 移动测试一组_CDTS 刘强
已复现,在0090的版本OTA到0095时,当观察到在打印升级MCU日志时断电,断电重启后,看日志MCU能正常启动,但MPU未能成功启动。
#4 Updated by CDTS-TEST 周婷 about 2 years ago
- Assignee changed from 移动测试一组_CDTS 刘强 to CD BSP 叶鹏
fota相关 请及时对应
#5 Updated by CD BSP 叶鹏 about 2 years ago
在升级app上面看到update_engine提示reboot的时候重启的设备,但是这个时候拔掉电源设备在uefi阶段一直循环;
从后续抓出来的tlog分析,只看到update_engine在verify的阶段的70%阶段;tlog日志应该是没有包含完整的日志;
祥林哥将编译一个app,在升级mpu之后延迟几秒,用于测试mpu提示升级完成后断电是否会出现该情况
#7 Updated by CD BSP 叶鹏 about 2 years ago
通过调查发现:是在需要升级mcu的升级条件下,mpu升级提示reboot之后等三秒给设备掉电,设备会出现一直不断重启的情况
是由于metadata损坏导致的,日志显示如下:
[ 9.075506] init: [libfs_mgr]superblock s_max_mnt_count:65535,/dev/block/platform/soc/1d84000.ufshc/by-name/metadata
[ 9.086328] init: [libfs_mgr]Filesystem on /dev/block/platform/soc/1d84000.ufshc/by-name/metadata was not cleanly shutdown; state flags: 0x1, incompat feature flags: 0x46
[ 9.101953] init: [libfs_mgr]check_fs(): mount(/dev/block/platform/soc/1d84000.ufshc/by-name/metadata,/metadata,ext4)=-1: No such file or directory
[ 9.116722] e2fsck: e2fsck 1.45.4 (23-Sep-2019)
[ 9.121423] e2fsck: /dev/block/platform/soc/1d84000.ufshc/by-name/metadata: recovering journal
[ 9.130341] e2fsck: Pass 1: Checking inodes, blocks, and sizes
[ 9.138130] e2fsck: Pass 2: Checking directory structure
[ 9.143600] e2fsck: Pass 3: Checking directory connectivity
[ 9.149337] e2fsck: Pass 4: Checking reference counts
[ 9.154563] e2fsck: Pass 5: Checking group summary information
[ 9.160587] e2fsck: Free blocks count wrong (2889, counted=2890).
[ 9.160732] i2c_geni 980000.i2c: i2c error :-107
[ 9.166864] e2fsck: Fix? yes
[ 9.171614] [MAX975X:heartbeat_work_func] ERROR Failed to read dev:0x40 addr:0x0013 ret:-107
[ 9.183450] e2fsck:
[ 9.187528] EXT4-fs (sda11): mounted filesystem with ordered data mode. Opts: discard
[ 9.202044] device-mapper: verity: sha256 using implementation "sha256-ce"
[ 9.212150] device-mapper: verity-fec: 252:2: FEC: recursion too deep
[ 9.218817] device-mapper: verity: 252:2: metadata block 361203 is corrupted
[ 9.226150] NPU_INFO: npu_reboot_handler: 760 Device is rebooting with code 1
[ 9.234575] sd 0:0:0:4: [sde] Synchronizing SCSI cache
[ 9.240847] sd 0:0:0:0: [sda] Synchronizing SCSI cache
[ 9.251679] reboot: Restarting system with command 'dm-verity device corrupted'
[ 9.259214] Going down for restart now
#8 Updated by CD BSP 叶鹏 about 2 years ago
- Status changed from New to RESOLVED
调查到是metadata损坏之后,通过重新刷metadata但是设备还是无法启动;擦掉userdata之后设备反而重新启动成功了。
根据上面现象分区,应该是解压出来的mcu镜像然后关机导致的设备镜像损坏。
使用祥林哥修改的添加sync操作的程序测试,发现升级mpu成功之后断电,设备重新上电后升级mcu成功,没有出现反复重启的问题了。
#9 Updated by IoT scm about 2 years ago
ID | Project | Branch | Uploader |
201252 | general/platform/vendor/thundercomm/apps/TCService | Pre_figure_turbox-c2130c-la1.1-qssi12-dev | wangxl0510@thundersoft.com |
AF:MCU-OTA:Device can not boot after OTA. If power off device when upgrading mcu, the meta data will be broken. So we excute sync after writing mcu bin file. TC-RID: 1201-0200401 IssueID: TS-R-BUG-117797 Change-Id: Ie35ba632277b0ecb10c8509ada27e140d0d856b5 |
#10 Updated by CD TPM-王祥林 about 2 years ago
- Assignee changed from CD BSP 叶鹏 to 移动测试一组_CDTS 刘强
- Root cause set to MCU升级之前会从OTA压缩包里解压bin文件写入到data分区,如果断电会导致数据写入不完整,data分区损坏导致无法开机。
#11 Updated by 移动测试一组_CDTS 刘强 about 2 years ago
- Status changed from RESOLVED to VERIFIED
验证版本:0521db-》升级到0102
验证结果:VX\VC 升级时断电后,重新上电,升级成功
#12 Updated by 移动测试一组_CDTS 刘强 about 2 years ago
- Status changed from VERIFIED to CLOSED