Project

General

Profile

Bug #303

LPA3588_Ubuntu 20.04.5_dtb id ubuntu下修改,重启切换有时不成功

Added by 培旭 over 1 year ago. Updated about 1 year ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Driver
Start date:
05/26/2023
Due date:
% Done:

0%

Estimated time:
型号:
LP160
CPU:
RK3588
产品:
扩展/功能板硬件版本:
02
核心板硬件版本:
01
底板/一体板硬件版本:
03
固件版本:
LZ160_LPA3588_ubuntu20.04_v2.0_20230712_2049.img
系统:
Ubuntu
内核版本:
Linux LPA3588 5.10.110
APP版本:
复现概率:

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下修改,重启切换成功

出现概率:偶尔

#1

Updated by sun over 1 year ago

1.版本已更新,下次版本会加入log信息,帮助定位问题,初步判断应该是1810位置为0导致,导致实际没有写入动作
如果在ubuntu下出现该问题,在目前版本下通过ctrlc+上电 切换方式 或者在1810位置处写入1

#2

Updated by 培旭 about 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直接去选,然后切换;

Also available in: Atom PDF