rk3399_android7.1读写sn和eth mac地址
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地址相关推荐
- Android Studio的代码笔记--SN序列号、MAC地址、IP地址学习
关于获取设备SN序列号.MAC地址.IP地址的学习代码 SN序列号 获取SN序列号 MAC地址 获取MAC地址 IP.wlanIP.wlanMAC.网络.ping 获取以太网的IP地址 获取设备wla ...
- Mac地址自动生成器核心处理类
1.更新MAC地址 将注册表中的键值添加上MAC地址 2.重新连接网络 试过了3个方法: ManagementClass最新提供了Disable,Enable方法,但只支持Vista操作系统 ...
- mac地址修改_优酷路由宝救砖时MAC和无线参数及SN恢复方法
科普:成砖和救砖 路由器刷机时如果中途断电或者其他特殊情况,可能导致路由器无法启动,也就是俗称成砖.这时候就需要用编程器直接对路由器闪存进行读写,重新刷入固件称为救砖. 一般的救砖办法是,用编程器写入 ...
- 黑群晖找不到设备_黑群晖洗白算号器SN、MAC地址
可算DX3615xs及DS3617xs SN号与MAC号 运行程序 每次执行生成20组SN号,选其中一个即可.祝你好运!!! 生成DS3615xs SN序列号: [1] 生成DS3617xs SN序列 ...
- [RK3568 Android11] 教程之使用RKDevInfoWriteTool工具烧录SN和MAC地址等
目录 前言 一.RKDevInfoWriteTool工具 二.SN序列号填写和烧录 三.LAN MAC地址填写和烧录
- 如何在黑群晖中修改服务器名字,如何在安装前及安装后修改黑群晖的Mac地址和Sn系列号...
现在网上购买的很多装好系统的黑群晖的Mac地址和Sn系列号都是一样的,如果你在同一个局域网使用2个有相同Mac地址和Sn系列号的黑群晖,会出现以下情况 1.synology assistant 群晖 ...
- SN及Mac地址烧录
platform:RK3399 OS:Android 7.1 参考: 1.比特人生 https://blog.csdn.net/ielife/article/details/86719313 2.Kr ...
- 用C#操作类读写WinCE平台Mac地址代码祥解(转叶帆)
前段时间在测试我们触摸屏联网性能的时候,由于屏的Mac地址通过注册表设置,而PB定制WinCE内核的时候就有一个默认值,所以一批下来Mac地址都一样,两台以上的机器一联网准出问题,通过注册表软件去修改 ...
- RK3568 Android12 MAC地址生成简析
Platform: RK3568 OS: Android 12 Kernel: v4.19.206 SDK Version:android-12.0-mid-rkr1 Module: MAC Addr ...
- java 取cpuid、主板id、硬盘id、mac地址
import java.io.BufferedReader; import java.io.File; import java.io.FileWriter; import java.io.InputS ...
最新文章
- Akka in JAVA(三)
- html页面怎样禁止复制粘贴,javascript中如何禁止复制粘贴?
- [NOIP 2015]运输计划-[树上差分+二分答案]-解题报告
- Android开发:第四日番外——Assets文件夹和RAW文件夹区别
- php 时间 (年,月,星期,天,小时,秒)的查找
- 基于Spring+SpringMVC+Mybatis的分布式敏捷开发系统架构(附源码)
- skimage函数记录之measure.label和measure.regionprops
- 20160411作业
- java format 补足空格_11 个简单的 Java 性能调优技巧
- MFC开发-待整理 --VS调试 不会命中断点,源代码与原始版本不同的解决办法
- Java开发的发展前景和未来规划方向
- NFT平台Chair.finance获得Polygon Grant及生态支持
- 虚幻引擎中蓝图间的几种通信方式
- 微信公众号文章怎么添加附件|详细教程讲解,太实用了!
- Windows10不用任何软件实现手机投屏到电脑
- 新手入门,想用VB给班上写一个自动播放上下课铃声的程序,求教
- project导出html格式,前端导出xslx.html
- linux云主机安全加固
- 2019浙江大学计算机考研复试线,2019考研浙江大学考研复试分数线已公布
- Discuz!应用中心开发者后台在移动线路下无法打开的解决办法