修改adb devices列表中设备串号名称

在adb devices列表中的devices name 或使用 adb get-serialno得到的串口名称

修改文件:system\core\init\init.c

struct {
        const char *src_prop;
        const char *dest_prop;
        const char *def_val;
    } prop_map[] = {
        { "ro.boot.serialno", "ro.serialno", "0123456789ABCDEF", },
        { "ro.boot.mode", "ro.bootmode", "unknown", },
        { "ro.boot.baseband", "ro.baseband", "unknown", },
        { "ro.boot.bootloader", "ro.bootloader", "unknown", },

修改ro.serialno 的属性值 即可  0123456789ABCDEF 是默认的串号名称,修改这个值即可


例:

更改serialno为开机时间,

增加头文件 #include <time.h>

增加函数 static char* getSystemTime(){
time_t timer; 
struct tm* t_tm; 
char nowTimer[32];

time(&timer); 
t_tm = localtime(&timer); 

memset(nowTimer, 0, sizeof(char)*32);
sprintf(nowTimer,"%4d-%02d-%02d-%02d-%02d-%02d", t_tm->tm_year+1900, t_tm->tm_mon+1, t_tm->tm_mday, t_tm->tm_hour, t_tm->tm_min, t_tm->tm_sec); 

return nowTimer; 
}

修改init.c 函数 

static int read_serialno(){

char serialno[32];
memset(serialno, 0, sizeof(char)*32);

memcpy(serialno, getSystemTime(), 32);

xlog_printf(ANDROID_LOG_WARN, LOG_TAG, "serial number=%s\n",serialno);

property_set("ro.boot.serialno", serialno);

}

修改函数 static void export_kernel_boot_props(void){

for (i = 0; i < ARRAY_SIZE(prop_map); i++) {
   if(i == 0){
char serialno[32]={0};
memcpy(serialno, getSystemTime(), 32);
property_set(prop_map[i].dest_prop, serialno);

}else

     {
        pval = property_get(prop_map[i].src_prop);
        property_set(prop_map[i].dest_prop, pval ?: prop_map[i].def_val);
        }
    }


mtk 使用 CONFIG_MTK_USB  宏使串口唯一(使用ic设备号)

文件:./mediatek/platform/mt6589/kernel/core/mt_devs.c  

函数 init int mt6589_board_init(void)

#if defined(CONFIG_MTK_USB_UNIQUE_SERIAL)
		key = get_devinfo_with_index(13);
		key = (key << 32) | get_devinfo_with_index(12);
#else
		key = 0;
#endif
可以使用下面的代码使只有再正常模式时串口唯一,meta模式或其他模式启动时串号相同以便以产线校准板子
#if defined(CONFIG_MTK_USB_UNIQUE_SERIAL)
    	if(get_boot_mode() == 0){	// NORMAL_BOOT =0

		key = get_devinfo_with_index(13);
		key = (key << 32) | get_devinfo_with_index(12);
    	
	}else{
		key = 0;
    	}
	
#else
		key = 0;
#endif



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值