Mac os区别_SN及Mac地址烧录

platform:RK3399
OS:Android 7.1
参考:
1.比特人生 https://blog.csdn.net/ielife/article/details/86719313
2.KrisFei https://blog.csdn.net/kris_fei/article/details/79447343?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522158883304619726869022990%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=158883304619726869022990&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_v2~rank_v25-4

1. 概述

对于一台运行Android系统的终端设备,一般会有许多出厂就已经确定的属性,这些属性唯一且具有特殊的作用。其中SN,MAC,IMEI(有通信模块)是最基础的几个属性,这些属性一般在出厂之前就会使用工具写到设备中,和设备绑定。

1.1 SN号

SN码是Serial Number的缩写,有时也叫SerialNo,也就是产品序列号,产品序列是为了验证“产品的合法身份”而引入的一个概念,它是用来保障用户的正版权益,享受合法服务的;一套正版的产品只对应一组产品序列号。SN码别称:机器码、认证码、注册申请码等。

SN号可以根据产品要求或者公司统一的编码规范进行编码,但是Android仍然对SN号有一定的限制要求,具体要求如下:

1. 英文字符和数字(a~z,A~Z,0~9)
2. 6~20个字符

1.2 mac地址

MAC地址是一个用来确认网络设备位置的位址。在OSI模型中,第三层网络层负责IP地址,第二层数据链路层则负责MAC位址 。MAC地址用于在网络中唯一标示一个网卡,一台设备若有一或多个网卡,则每个网卡都需要并会有一个唯一的MAC地址。

网络设备制造商生产时烧录在网卡(Network lnterface Card)的EPROM中,所以如果网络设备制造商已经烧录好了MAC地址,那么我们就不需要再次烧录。如果没有提前烧录,那就需要采购MAC地址池并在生产时将MAC地址烧录到设备中。一般OEM工厂可以提供MAC地址。

终端设备常见的MAC地址有:WIFI MAC,LAN MAC,BT MAC;这个需要根据产品具体确定,比如有的产品就可能没有LAN MAC.相应的也不需要烧录LAN MAC。

2. 烧录及测试

瑞芯微提供写号工具,请联系FAE获取最新的写号工具,SDK旧版本的工具可能存在问题.

2.1 烧录

2.1.1 设备方式

两种设备模式: maskrom 和 loader 模式 maskrom 进入方式:短接 FLASH CLK 引脚,在该模式下面写号,必须要选择正确的 MiniLoaderAll.bin。 loader 进入方式:开机时候按住“音量+”或者 adb reboot loader 命令,在该模式下面写号, 设备必须是已经有烧写过固件。

2.1.2 写号模式

827ab4fca65298a00461f81eac473b8e.png

如果不清楚使用那种模式,可以逐一尝试.注意错误勾选可能导致写号失败.

2.1.3 配置

1.代码配置

diff 

2.软件配置

bb0dd602cac91d8dea72f5d6cb76842b.png

写号工具支持同时写入 7 个项,其中五个是预定义的(ID 是固定的,不能修改),剩下两个 用户可以通过修改 ID 自定义写入。 uboot、内核是通过 ID 来区别用户写入的内容的。用户可以 选择三种输入方式写号: 1) 手动模式 直接在主界面从键盘或者扫描枪输入要写入的数据项。 2) 自增模式 用户设定起始项,前缀和后缀,按十进制,或者十六进制递增生成写入数据项。 3) 文件模式 从文件获取写入的数据项,如果勾选“Bin 文件”,则会把整个文件写入;不勾选的话,则把选 择的文件当做文本文件,一次写入一行.

2.1.3 烧录

配置完成后,在首页点击写入,等待设备写入成功即可.

2.2 查看

有多种方式查看是否写入成功.

方式一:使用上面的写号软件读取.

方式二:使用串口抓取开机log

#Boot ver: 0000-00-00#0.00
12345678 //SN号
normal boot.
checkKey

方法三:传给Kernel的启动参数

mtdparts=rk29xxnand:0x00002000@0x00002000(uboot),0x00002000@0x00004000(trust),0x00002000@0x00006000(uboot_ro),0x00002000@0x00008000(trust_ro),0x00002000@0x0000A000(misc),0x00008000@0x0000C000(resource),0x0000C000@0x00014000(kernel),0x00010000@0x00020000(boot),0x00020000@0x00030000(recovery),0x00038000@0x00050000(backup),0x00040000@0x00088000(cache),0x00600000@0x000C8000(system),0x00008000@0x006C8000(metadata),0x00000040@0x006D0000(verity_mode),0x00002000@0x006D0040(reserved),0x00000400@0x006D2040(frp),-@0x006D2440(userdata) storagemedia=emmc androidboot.oem_unlocked=0 uboot_logo=0x02000000@0x7dc00000 loader.timestamp=2020-04-24_12:20:44 SecureBootCheckOk=0 androidboot.serialno=12345678

方法四:使用adb

#adb devices
12345678 device

方法五:查看系统属性

getprop ro.serialno
getprop ro.boot.serialno

2.3 有效情况

在不擦除flash的情况下,SN号均有效,具体场景见下表.

操作|SN有效情况 -|- 单分区烧录|有效 整包烧录|无效 OTA差分升级|有效 OTA整包升级|有效 擦除Flash后烧录|无效 恢复出厂设置|有效

3. 获取串号(SN)

APK:

android.os.Build.SERIAL

ro.boot.serialno:

/system/core/init/init.cpp:

static 

通过cmdline获取串号ro.boot.serialno,cmdline见上一小节方法三:

androidboot.serialno=12345678

sys.serialno:

system/core/drmservice/drmservice.c

if

由于是写入的SN,所以从idb中获取SN.

ro.serialno:

init.rk30board.rc:

//运行drmservice
service drmservice /system/bin/drmserviceclass mainoneshot# set ro.serialno
on property:sys.serialno=*setprop ro.serialno ${sys.serialno}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/539521.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux 查看数据库和表 mysql 命令

2019独角兽企业重金招聘Python工程师标准>>> 查看是否有安装数据库 :rpm -qa|grep -i mysql 如图已安装: 未安装: 查看MySQL版本的四种方法 1 在终端下执行 mysql -V 2 在help中查找 mysql --help |grep Distrib 3 在mysql 里查看…

php mvc 逻辑层在哪,mvc的业务逻辑应该放哪里?

背景: 基于laravel的后台管理系统,CURD密集型业务问题:当直接在控制器方法中调用orm处理业务逻辑时,代码复用性差,控制器层很肥尝试解决1:新建一个model层,将原先在控制器中的处理逻辑移到mode…

servlet/filter/listener/interceptor区别与联系

下面从几个方面阐述一下题目中四个概念的区别与联系: 1、概念 2、生命周期 3、职责 4、执行过程 一、概念: 1、servlet:servlet是一种运行服务器端的Java应用程序,具有独立于平台和协议的特性,并且可以动态的生成web页…

电脑系统哪个最好用_袪痘袪痘印哪个产品最好 祛痘印最好用的产品十大推荐...

原标题:袪痘袪痘印哪个产品最好 祛痘印最好用的产品十大推荐痘痘下去了,痘印却顽固不化。有些痘印如果不及时修复,会留下疤痕和坑。我们真的不敢去想他们。所以有痘印痘印的时候一定要及时使用护肤品,不要在脸上留下什么遗憾&…

python中集合符号,Python 集合符号

Android SDK Manager 无法下载更新,或者更新速度超慢,或者待安装包列表不显示解决方法: 转自 http://www.cnblogs.com/tc310/archive/2012/12/21/2828450.html http://jingyan.baidu.com/artic ...AJAX学习AJAX即“Asynchronous Javascript And XML”(异…

五阿哥钢铁电商平台Docker容器云平台建设实践——你想知道的都在这里!

前言 五阿哥钢铁电商平台(www.wuage.com)是由钢铁行业第一的中国五矿与互联网第一的阿里巴巴联手打造,并充分运用双方股东优势资源,即:阿里巴巴在大数据、电商运营、互联网产品技术上的巨大优势,尤其是在B2…

oracle数据导入导出

一、exp/imp与expdp/impdp的区别 1:把用户usera的对象导到用户userb,用法区别在于fromuserusera touseruserb ,remap_schemausera:usera 。例如 imp system/passwd fromuserusera touseruserb file/oracle/exp.dmp log/oracle/exp.log; impdp system/passwd directo…

web浏览器_Web上的分享(Share)API

我认为Web Share API非常酷,简而言之,它会利用您所使用的平台上的原生共享功能(如果该平台支持的话)。我喜欢这个:在iOS上激活的Web Share API远远不止这些东西:为什么?Web Share API只是几行代码。简单!没…

Oracle视图添加约束,Oracle创建视图的语法

Oracle创建视图的语法导读:就爱阅读网友为大家分享了多篇关于 "oracle 创建序列语法" 资料,内容精辟独到,非常感谢网友的分享,希望从中能找到对您有所帮助的内容。相关资料一 : Oracle 创建视图的语法Oracle 创建视图的…

linux压缩和解压缩命令

tar命令解包:tar zxvf FileName.tar打包:tar czvf FileName.tar DirNamegz命令解压1:gunzip FileName.gz解压2:gzip -d FileName.gz压缩:gzip FileName.tar.gz 和 .tgz解压:tar zxvf FileName.tar.gz压缩&a…

【Java进阶】Java Lambda 表达式、Stream API完整梳理

一、Lambda表达式 Lambda 表达式是一种匿名函数,它可以用来定义函数式接口的实现。Lambda 表达式可以用来简化代码,提高代码的可读性和可维护性。 1、Lambda 表达式 1.1、语法介绍 Lambda 表达式的语法如下: (parameters) -> express…

使用T-SQL语句操作数据表-删除数据

1.使用 delete 语句删除表中的数据&#xff1a;语法&#xff1a;delete from <表名> [where <删除条件>]delete 是删除的意思 where是选填内容可以不加&#xff0c;但是不加条件的话是删除整个表 例子&#xff1a;delete from 成绩表 where 姓名张三含义&#xff1…

Oracle expdp/impdp导出导入命令及数据库备份

经常报错&#xff1a; ORA-39002: invalid operation ORA-39070: Unable to open the log file. ORA-29283: invalid file operation ORA-06512: at "SYS.UTL_FILE", line 536 ORA-29283: invalid file operation 解决方法&#xff1a; 1、 CREATE OR REPLACE DI…

exfat单元分配要设置多少_微软宣布,支持往Linux内核里添加exFAT存储了!跨系统存储的福音...

栗子 发自 凹非寺 量子位 报道 | 公众号 QbitAIexFAT&#xff0c;是微软开发的文件系统&#xff0c;为闪存而生。你的U盘、SD卡、手机等等存储设备&#xff0c;能存4G以上的大文件&#xff0c;很大程度上是它的功劳。可exFAT一直是专有的&#xff0c;微软手握多项专利。所以&am…

在linux中安装oracle中文包,在Linux命令行下安装Oracle 10g

Oracle 10g支持在命令行下用静默模式(Silent)安装&#xff0c;给那些没有安装图形界面的Linux系统提供了极大的便利。下面以Fedora Core 6为例&#xff0c;介绍在命令行下安装OracleOracle 10g的方法。1 安装前的准备准备工作要用登录为root用户来进行。1.1 选择安装环境的语言…

Jetbrains 系 IDE 编辑器的代码提示功能

著名的 Jetbrains 可谓编程界的一大福音&#xff0c;众多有名代码编辑器比如 ItelliJ IDEA、PHPStorm、WebStorm、PyCharm 等&#xff0c;均出自这家公司麾下。 对于中国的Java开发者来说&#xff0c;可能使用 Eclipse 的人最多。 使用Idea的程序员也不少, 而且每个人都在鼓吹其…

Oracle下的Databse,Instance,Schemas

1、DATABASE&#xff0c;对oracle而言&#xff0c;是指物理上的数据库&#xff0c;一般你安装了一个oracle的数据库软件后&#xff0c;就是一个database。 2、instance&#xff0c;在同一个数据库上&#xff0c;可以建立多个实例&#xff0c;这些实例互相不干扰&#xff0c;每个…

oracle实验数据库和表,1oracle创建数据库和表.doc

1oracle创建数据库和表.doc实验一&#xff1a;创建数据库和表一、实验目的1. 掌握使用DBCA创建数据库2. 掌握手工创建Oracle数据库的方法3. 掌握创建数据表的方法二、实验内容及步骤1. 使用DBCA创建数据库(1) 打开DBCA组件,创建数据库sale.(2) 安装完后进入D:\oracle\product\1…

tkmybatis 子查询_真假童子命符箓道长教你如何查询

童子命查询方法一&#xff1a;童子命在相术里&#xff0c;指的是一生都霉运连连如过本命年的人。古代关于真童子命查询有口诀“春秋甲寅子&#xff0c;冬夏卯未辰&#xff1b; 金木乙卯未&#xff0c;水火庚辛壬&#xff1b; 土命逢辰巳&#xff0c;童子定为真”解释上面的口诀…

使用 nvm 安装 nodejs 和 npm

使用 nvm 可以方便的进行 nodejs 的安装和版本管理。其实最开始使用的是 n 命令&#xff0c;命令简洁到极致了&#xff0c;无奈总是安装不成功&#xff0c;往往下载一部分就报 curl 错误。然后又找到这个 nvm&#xff0c;配合淘宝源&#xff0c;简单快捷&#xff5e; 1.到 nvm …