qingfeng623 发表于 2016-11-22 13:29:51

[求助]rk3288的序列号要怎么修改?到底有几个序列号,怎么区分?

本帖最后由 qingfeng623 于 2018-4-19 10:41 编辑

这几天领导让修改下产品序列号,开启了各种百度。看到的序列号有这么几个情况:
1,查看cpuinfo 最后一行。
cat /proc/cpuinfo | busybox tail
我这里得到的结果是:Serial                : ab5084299c78f3ef

2,查看cmdline中有没有serial值
cat /proc/cmdline | grep -i serial
我的cmdline里没有这个值。结果为空。

3,adb devices -l 看到的结果
adb devices -l
我这里得到的结果是:OUGRYS28NA             device usb:3-1.3 product:rk3288 model:rk3288 device:rk3288

4,在android设备上,开机后进入setting->about devices->status->Serial number.
我这里得到的结果是:INITC748LINE.
这个结果,是我修改了system/core/init/init.c +748,得到的结果。
{ "ro.boot.serialno", "ro.serialno", "INITC748LINE", },

5,查看iSerial文件内容:cat sys/class/android_usb/android0/iSerial
结果与adb所得到的结果一致。OUGRYS28NA。


网上有介绍过方法5的,修改iSerial后,去看了3中,序列号并没有被改,而且4中的,也没有被改。

我认为4和5应该是保持一致的。我要达到的目标是,4中,实际用户看到的序列号,是唯一的,与我有没有更新固件没有关系。当然,我是可以修改的,我要按照一定的规则生成。

谁有这方面的经验,给提点一下。


qingfeng623 发表于 2016-11-23 16:47:37

1,修改drmservice.c
system/core/drmservice/drmservice.c
#define SERIALNO_FROM_IDB 1//if 1 read sn from idb3;if 0 generate sn auto
read sn from idb3,接下来,就是怎么改这个问题了。

2,idb3
按照我的理解,idb3应该是指,idblock的sector3的意思。
在机器开机时,boot会打印出sn号,sn:XXXXXXXX
这里的sn号,就是boot读取了sector3的数据得到的。
在以下文件中有描述:
u-boot/board/rockchip/common/rkloader/idblock.c +617
以下文件中有更多SDM_Read的信息,读取到全局变量gIdDataBuf中。
u-boot/board/rockchip/common/mediaboot/sdmmcBoot.c +114

3,关于序列号的读写功能,有rk提供的工具。
UpgradeDllTool_Release_v1.35。
工具地址点:http://developer.t-firefly.com/forum.php?mod=viewthread&tid=11194 (出处: Firefly开源社区)]传送门

另外
kernel/drivers/mtd/rknand/rknand_base_ko.c +321 这里有描述kernel获取sn号的方式

zhansb 发表于 2016-11-25 09:07:23

/proc/cpuinfo的序列号是读取烧写在RK3288 EFUSE上的唯一性编号信息
楼主可以把IDB或者efuse上的信息写进ro.serialno,设置里面的应该就可以显示对应的序列号信息

qingfeng623 发表于 2016-11-25 10:36:07

zhansb 发表于 2016-11-25 09:07
/proc/cpuinfo的序列号是读取烧写在RK3288 EFUSE上的唯一性编号信息
楼主可以把IDB或者efuse上的信息写进r ...

怎么把IDB或者efuse上的信息写进ro.serialno?这是要写在system/core/init/init.c +748中吗?
另外,请教一下,怎么一下读出来idb上的所以二进制数据?还有就是从哪可以获取到efuse信息?

wohuainiandeshi 发表于 2018-3-20 10:35:59

你好,我用的是RK3399,但是这个/system/core/xxx.c什么的怎么改,没看到core这个目录啊?

qingfeng623 发表于 2018-3-22 17:39:08

wohuainiandeshi 发表于 2018-3-20 10:35
你好,我用的是RK3399,但是这个/system/core/xxx.c什么的怎么改,没看到core这个目录啊?

systemno /system

诸子墨墨 发表于 2018-12-20 10:14:19

谢谢分享

YONGBIN 发表于 2019-5-17 13:53:32

谢谢分享

zz66562345 发表于 2019-12-17 03:49:17

请求分享

zz66562345 发表于 2019-12-17 05:19:05

qingfeng623 发表于 2016-11-23 16:47
1,修改drmservice.c
system/core/drmservice/drmservice.c
#define SERIALNO_FROM_IDB 1//if 1 read sn ...

在吗 为什么总是读取失败
页: [1] 2
查看完整版本: [求助]rk3288的序列号要怎么修改?到底有几个序列号,怎么区分?