Bug #303
LPA3588_Ubuntu 20.04.5_dtb id ubuntu下修改,重启切换有时不成功
0%
Description
测试步骤:
1、烧录RK3588_UBUNTU_V1_230519.img,进入命令行;
2、读取dtb id:
dd if=/dev/mmcblk0p1 bs=1 count=1 2>/dev/null | xxd
3、使用命令切换为8:echo -n -e "\x8" | dd of=/dev/mmcblk0p1 bs=1 seek=0 count=1 conv=notrunc 2>/dev/null && sync
4、重启,开机log里可以看到对应的BoardConfig & dts为rk3588-neardi-linux-lpa3588-f0.dts
5、或者使用命令cat /proc/device-tree/compatible:查看是否切换成功
实际测试结果:烧录的固件,偶尔第一次切换不成功;有时候切换成功后再次进行切换,重启也会出现不成功的现象
期望结果:dtb id ubuntu下修改,重启切换成功
出现概率:偶尔
Updated by sun over 1 year ago
1.版本已更新,下次版本会加入log信息,帮助定位问题,初步判断应该是1810位置为0导致,导致实际没有写入动作
如果在ubuntu下出现该问题,在目前版本下通过ctrlc+上电 切换方式 或者在1810位置处写入1
Updated by 培旭 over 1 year ago
- Status changed from New to Closed
- 固件版本 changed from RK3588_UBUNTU_V1_230519.img to LZ160_LPA3588_ubuntu20.04_v2.0_20230712_2049.img
固件:LZ160_LPA3588_ubuntu20.04_v2.0_20230712_2049.img,只有一个核(lpa3588-linux-f0);
解决,通过以下方法:
dtb id 存储位置为第1块,即起始位置为0
dtb enable 为第16块(按每块大小为512字节),即8192 ,dtb enable 决定dtb id设定是否生效
读取:dtb id和dtb enable
dd if=/dev/mmcblk0p1 bs=1 count=1 2>/dev/null | xxd && dd if=/dev/mmcblk0p1 bs=1 skip=8192 count=1 2>/dev/null | xxd
设定:dtb id和DTB enable,
echo -n -e "\xa" | dd of=/dev/mmcblk0p1 bs=1 seek=0 count=1 conv=notrunc 2>/dev/null && echo -n -e "\x1" | dd of=/dev/mmcblk0p1 bs=1 seek=8192 count=1 conv=notrunc 2>/dev/null && sync
如设定dtb id直接修改该命令(echo -n -e "\xa"....)中的a为自己需要的dtb id即可
例如:echo -n -e "\x8" | dd of=/dev/mmcblk0p1 bs=1 seek=0 count=1 conv=notrunc 2>/dev/null && echo -n -e "\x1" | dd of=/dev/mmcblk0p1 bs=1 seek=8192 count=1 conv=notrunc 2>/dev/null && sync
恢复00:echo -n -e "\x0" | dd of=/dev/mmcblk0p1 bs=1 seek=0 count=1 conv=notrunc 2>/dev/null && echo -n -e "\x0" | dd of=/dev/mmcblk0p1 bs=1 seek=8192 count=1 conv=notrunc 2>/dev/null && sync
查看是否切换成功:cat /proc/device-tree/compatible
---------------------------------------------------------------------------
还可以在开机log里找到切换成功的标志
注意每次写入切换要重启一下;
也可以reboot后立即CTRL+C直接去选,然后切换;