在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);
#elsekey = 0;
#endif

可以使用下面的代码使只有再正常模式时串口唯一,meta模式或其他模式启动时串号相同以便以产线校准板子

#if defined(CONFIG_MTK_USB_UNIQUE_SERIAL)if(get_boot_mode() == 0){ // NORMAL_BOOT =0key = get_devinfo_with_index(13);key = (key << 32) | get_devinfo_with_index(12);}else{key = 0;}#elsekey = 0;
#endif

修改adb devices列表中设备串号名称相关推荐

  1. adb devices 不显示设备,原因你都猜不到

    adb devices 不显示设备,记录排查过程 软硬件环境 问题现象 排查 总结 记录时间:2021-10-21 软硬件环境 电脑:惠普 HP ProBook 440 G5 笔记本电脑 主板:惠普 ...

  2. Ubuntu12.04不能连接小米开发,adb devices不能看到设备

    发现Ubuntu12.04不能连接小米开发,adb devices不能看到设备!  搞了一个上午才搞成功! 小米手机利用USB连接到Ubuntu 12.04系统.运行下面的命令: longskywan ...

  3. 电脑安装了金山毒霸,手机连接电脑,输入adb devices 无法获取设备信息的解决方法

    打开金山毒霸软件,点击右上角的"设置中心" 点击"实用工具" 3.点击"手机助手",勾选"禁止手机助手组件" 4.重启电 ...

  4. 驱动安装成功 adb devices无法找到设备 解决方法

    出现的问题描述: 最近公司的一台电脑出现了奇怪问题: adb驱动已经安装成功,但是adb devices却无法找到设备,USB大容量存储也是正常: 以前如果出现此种情况,我能想到的原因如下: 1.杀毒 ...

  5. php获取设备串号,检测手机串号 js, php

    //检测手机串号 public function is_IMEI($s) { $pat = '/^[0-9]{15}$/'; if(!preg_match($pat, $s)) { return fa ...

  6. python去掉列表中的单引号_从Python中的列表中删除单引号

    我有一个输入字符串: result = '"testing","0.8841","642000.0","80.014521&quo ...

  7. 修改打开方式的程序列表中列出程序的名称

    在WindowsXP.2003系统下 在运行中输入REGEDIT,回车,找到路径: HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam\M ...

  8. android 获取设备串号,Android获取设备IMEI和Mac地址

    释放双眼,带上耳机,听听看~! public static boolean checkPermission(Context context, String permission) { boolean ...

  9. 修改adb shell在pc端显示的名称

    点击打开链接 软件:android4.4,硬件:lc1860evb2 通常adb shell之后,输入busybox vi /system/build.prop 修改ro.product.device ...

最新文章

  1. 2021-04-12MYSQL修改密码报错
  2. u盘无法复制文件进去_U盘无法复制超过4GB的大文件怎么办?
  3. 【计组实验】P4 Verilog多周期处理器微系统 MIPS指令集
  4. ftp上传图片出现550_FtpClient 实现文件上传
  5. CAN笔记(3) 错误状态
  6. ANR 问题一般解决思路
  7. 这辈子最难忘的一顿饭是什么?
  8. MySQL(12)-----多表查询(内连接和外连接)
  9. 扇贝python多少钱_扇贝多少钱一斤?扇贝多少钱一斤2017?
  10. 中国三四线城市有哪些创业机会?
  11. 特种劳动防护用品安全标志证书
  12. 微信小程序实现举报功能
  13. windows 10 vs2017 x264的编译和使用测试
  14. 2022年全球市场自行车零配件总体规模、主要企业、主要地区、产品和应用细分研究报告
  15. Swift学习笔记-1
  16. 不花钱一样可以引流获客?这6招功劳不小
  17. 第二证券|紧盯“有诺不行”隐疾 补齐上市公司高质量发展“短板”
  18. Python爬虫requests模块在线生成请求头
  19. 二总线技术为什么下行采用电压信号,上行采用电流信号?是什么传输的
  20. 短网址解答:短信里面的短网址可以唤醒app吗?

热门文章

  1. 如何实现RS485串口通讯采集模拟量
  2. 2018.电子系统综合设计报告
  3. VMware 15 上Mac虚拟机不能全屏问题的解决
  4. C语言:使用指针,封装一个函数, // 使输入的奇数从小到大排列,奇数排列完毕之后,再把偶数从大到小进行排列, // 最终输出整个
  5. 中级微观经济学:Chap 31 行为经济学
  6. C# 之 System.Diagnostics.Process.Start 的妙用
  7. IoT 物联网设备端 SDK 架构设计参考
  8. 死亡之雨新的僵尸病毒中文破解版 v1.0绿色免安装版
  9. 《汇编语言》王爽(第四版) 第十二章 实验12
  10. 什么是 Toll-Free Bridging