rk3399 android7.1两种方式读取sn和eth mac地址(这里只列出关键接口,详细代码可以到具体目录文件查看)。他们分别对应读写在不同的地方:idb和vendor storage;

具体代码在uboot下board/rockchip/rk33xx/rk33xx.c实现,,如果没有使用vendor_storage_read读取的代码可自行添加上去:

1、使用rkidb_get_sn读取,具体代码如下:

sn部分:

       char tmp_buf[32];/* rk sn size 30bytes, zero buff */memset(tmp_buf, 0, 32);if (rkidb_get_sn(tmp_buf)) {setenv("fbt_sn#", tmp_buf);}

eth mac部分:

        memset(ethaddr, sizeof(ethaddr), 0);printf("MAC: boot init with mac address:[ %s ]\n", env_str);if (rkidb_get_mac_address(macaddr) == true) {sprintf(ethaddr, "%02X:%02X:%02X:%02X:%02X:%02X",macaddr[0], macaddr[1], macaddr[2], macaddr[3], macaddr[4], macaddr[5]);printf("mac address: %s\n", ethaddr);

2、使用vendor_storage_read读取,具体代码如下:

#define SN_ID 1
#define LAN_MAC_ID 3sn部分:memset(sn2_buf, 0, 32);ret = vendor_storage_init(); //初始化vendor storage分区if (ret) {printf("SN:  vendor_storage_init failed %d\n", ret);return -ENODEV;}ret = vendor_storage_read(SN_ID, sn2_buf, 32); //get sn from vendor storageif (ret < 0) {printf("SN: read size %d\n", ret);return -EINVAL;} else if(strncmp(env_sn, sn2_buf, strlen(sn2_buf)) != 0) {printf("SN: sn from vendor storage: %s\n", sn2_buf);}eth mac部分:ret = vendor_storage_init();if (ret) {printf("LAN MAC:  vendor_storage_init failed %d\n", ret);return -ENODEV;}ret = vendor_storage_read(LAN_MAC_ID, lanmac, 6);if (ret < 0) {printf("LAN MAC: read size %d\n", ret);return -EINVAL;}sprintf(ethaddr, "%02X:%02X:%02X:%02X:%02X:%02X",lanmac[0], lanmac[1], lanmac[2], lanmac[3], lanmac[4], lanmac[5]);printf("MAC: get mac from vendor storage: %s\n\n", ethaddr);

写号工具:
1、如果代码使用rkidb_get_sn接口读的话,对应使用以下烧写工具写号:
UpgradeDllTool_1.37

2、如果代码使用vendor_storage_read接口读的话,对应使用以下烧写工具写号:
RKDevInfoWriteTool

参考RK SDK技术文档:
Rockchip Vendor Storage Application Note.pdf

rk3399_android7.1读写sn和eth mac地址相关推荐

  1. Android Studio的代码笔记--SN序列号、MAC地址、IP地址学习

    关于获取设备SN序列号.MAC地址.IP地址的学习代码 SN序列号 获取SN序列号 MAC地址 获取MAC地址 IP.wlanIP.wlanMAC.网络.ping 获取以太网的IP地址 获取设备wla ...

  2. Mac地址自动生成器核心处理类

    1.更新MAC地址 将注册表中的键值添加上MAC地址 2.重新连接网络 试过了3个方法: ManagementClass最新提供了Disable,Enable方法,但只支持Vista操作系统      ...

  3. mac地址修改_优酷路由宝救砖时MAC和无线参数及SN恢复方法

    科普:成砖和救砖 路由器刷机时如果中途断电或者其他特殊情况,可能导致路由器无法启动,也就是俗称成砖.这时候就需要用编程器直接对路由器闪存进行读写,重新刷入固件称为救砖. 一般的救砖办法是,用编程器写入 ...

  4. 黑群晖找不到设备_黑群晖洗白算号器SN、MAC地址

    可算DX3615xs及DS3617xs SN号与MAC号 运行程序 每次执行生成20组SN号,选其中一个即可.祝你好运!!! 生成DS3615xs SN序列号: [1] 生成DS3617xs SN序列 ...

  5. [RK3568 Android11] 教程之使用RKDevInfoWriteTool工具烧录SN和MAC地址等

    目录 前言 一.RKDevInfoWriteTool工具 二.SN序列号填写和烧录 三.LAN MAC地址填写和烧录

  6. 如何在黑群晖中修改服务器名字,如何在安装前及安装后修改黑群晖的Mac地址和Sn系列号...

    现在网上购买的很多装好系统的黑群晖的Mac地址和Sn系列号都是一样的,如果你在同一个局域网使用2个有相同Mac地址和Sn系列号的黑群晖,会出现以下情况 1.synology assistant 群晖 ...

  7. SN及Mac地址烧录

    platform:RK3399 OS:Android 7.1 参考: 1.比特人生 https://blog.csdn.net/ielife/article/details/86719313 2.Kr ...

  8. 用C#操作类读写WinCE平台Mac地址代码祥解(转叶帆)

    前段时间在测试我们触摸屏联网性能的时候,由于屏的Mac地址通过注册表设置,而PB定制WinCE内核的时候就有一个默认值,所以一批下来Mac地址都一样,两台以上的机器一联网准出问题,通过注册表软件去修改 ...

  9. RK3568 Android12 MAC地址生成简析

    Platform: RK3568 OS: Android 12 Kernel: v4.19.206 SDK Version:android-12.0-mid-rkr1 Module: MAC Addr ...

  10. java 取cpuid、主板id、硬盘id、mac地址

    import java.io.BufferedReader; import java.io.File; import java.io.FileWriter; import java.io.InputS ...

最新文章

  1. Akka in JAVA(三)
  2. html页面怎样禁止复制粘贴,javascript中如何禁止复制粘贴?
  3. [NOIP 2015]运输计划-[树上差分+二分答案]-解题报告
  4. Android开发:第四日番外——Assets文件夹和RAW文件夹区别
  5. php 时间 (年,月,星期,天,小时,秒)的查找
  6. 基于Spring+SpringMVC+Mybatis的分布式敏捷开发系统架构(附源码)
  7. skimage函数记录之measure.label和measure.regionprops
  8. 20160411作业
  9. java format 补足空格_11 个简单的 Java 性能调优技巧
  10. MFC开发-待整理 --VS调试 不会命中断点,源代码与原始版本不同的解决办法
  11. Java开发的发展前景和未来规划方向
  12. NFT平台Chair.finance获得Polygon Grant及生态支持
  13. 虚幻引擎中蓝图间的几种通信方式
  14. 微信公众号文章怎么添加附件|详细教程讲解,太实用了!
  15. Windows10不用任何软件实现手机投屏到电脑
  16. 新手入门,想用VB给班上写一个自动播放上下课铃声的程序,求教
  17. project导出html格式,前端导出xslx.html
  18. linux云主机安全加固
  19. 2019浙江大学计算机考研复试线,2019考研浙江大学考研复试分数线已公布
  20. Discuz!应用中心开发者后台在移动线路下无法打开的解决办法

热门文章

  1. codeforces 1B 模拟
  2. 通用数据链接(UDL)的用法
  3. 小组级Windows下架设git服务器
  4. Excel 如何使多组数据的饼状图大小一致
  5. 【EI 快速检索 | 九月特邀】经济与计算机多主题国际会议
  6. 阿里多语言翻译模型的前沿探索及技术实践
  7. ACL2020 | 词向量性别偏见
  8. python数据结构6 -二叉树
  9. 数据预处理之独热编码
  10. Kubernetes学习指南,轻松拥抱云原生