Linux下读取默认MAC地址的方法

  Linux下读取默认MAC地址的方法

MAC(Media Access Control,介质访问控制)计算机通过它来定义并识别网络设备的位置。在嵌入式linux学习中不可避免也会遇到MAC,本文主要描述了如何通过操作OTP来读取嵌入式linux设备网卡中的MAC地址

  一、适用范围

  这里主要介绍读取网卡MAC地址的方法,适用于EasyARM-i.MX287A开发套件,其应用原理及配套示例也适用于下表1.1所列出的产品型号。



  二、原理介绍

  MAC(Media Access Control,介质访问控制)是用来定义网络设备的位置。用来表示互联网上每一个站点的标识符,采用十六进制数表示,共六个字节(48位)。其中,前三个字节是由IEEE的注册管理机构RA负责给不同厂家分配的代码(高位24位),也称为“编制上唯一的标识符”(Organizationally Unique Identifier),后三个字节(低位24位)由各厂家自行指派给生产的适配器接口,称为扩展标识符(唯一性)。一个地址块可以生成2^24个不同的地址。MAC地址实际上就是适配器地址或适配器标识符。MAC具有全球唯一性。

  “网卡的默认MAC”是广州致远电子股份有限公司针对Awork开发套件和M283、M287工控核心板开发的一项功能,通过芯片的OTP来存储网卡MAC地址,我公司出厂的核心板和开发套件的MAC地址的前两个字节固定为“0x00”,“0x04”,后四个字节保存在OTP中,本文档主要描述了如何通过操作OTP来读取网卡MAC地址。

  在内核配置OTP选项,编译出的内核启动后,在文件系统中会导出OTP设备文件,通过操作这些设备文件来读取信息。可以将已经注册的网卡MAC信息首先固化到OTP中,在应用层就可以读取。MAC0地址的低4位可以通过设备文件“/sys/fsl_otg/SBK0”读取,MAC1地址的低4位可以通过设备文件“/sys/fsl_otg/SBK1”读取。

  注意:如果使用的是M287、M283工控板,不需要配置内核。

  三、技术实现

  内核编译

  1.配置内核

  进入linux-2.6.35.3目录。执行make menuconfig配置内核。配置步骤如下:

  ?


1

2

sok@zlgmcu:~$ cd linux-2.6.35.3/

sok@zlgmcu:~/linux-2.6.35.3$ make menuconfig

  按回车键,进入Device Drivers选项,如下图1所示。



  图1内核配置

  按回车键,进入Chracter devices选项。如下图2所示。



  图2内核配置

  按空格键,选择<*> Freescale On-Chip OTP Memory Support选项,如图3 内核配置图3所示。



  图3内核配置

  按回车键,保存退出。

  2.编译内核

  在当前目录下执行如下命令编译内核,参考命令如下:

  ?


1

2

vmuser@Linux-host:~/ linux-2.6.35.3$ make clean

vmuser@Linux-host:~/ linux-2.6.35.3$ make uImage

  内核固件位于“arch/arm/boot/uImage”,将生成的内核固件通过TF卡烧写到NANDFlash。

  四、读取MAC实操

  下面介绍读取网卡MAC操作过程,其实质是操作OTP设备文件。

  执行MAC脚本文件

  将本文档目录下MAC.sh文件通过U盘或TF卡拷贝到EasyARM-i.MX287A开发套件,修改文件权限为可执行权限,参考命令如下:

  ?


1

2

root@EasyARM-iMX28x ~# chmod 777 MAC.sh

root@EasyARM-iMX28x ~# ./MAC.sh

  执行后,查看网络设备,MAC如图5所示。



  图5网络设备图

  查看“/sys/fsl_otp/HW_OCOTP_SRK1”和“/sys/fsl_otp/HW_OCOTP_SRK0”设备。可以发现,网卡MAC低4位其实就是保存在OTP中的值,如图6所示。



  图6 OTP读取图

(0)

相关推荐

  • Linux下获取公网IP地址的方法

    在linux环境渗透时有时因权限或其他原因无法使用ifconfig命令那么就可以用下面的方法查看外网ip 1.如何在LINUX服务器下查看公网IP地址,可以使用下面的方法: curl http://m ...

  • 手机MAC地址修改方法

    怎么修改手机MAC地址呢?修改手机MAC地址有许多重要的作用,可以防止手机联网时被攻击,同时还可以实现其它联网功能.下面就具体来了解一下手机MAC地址修改方法. 操作方法 01 关闭手机Wifi,在手 ...

  • 怎样在Win7系统下修改网卡MAC地址

    MAC地址,又叫做物理地址、硬件地址,是用来定义网络设备的位置,一般情况下,MAC地址在网卡中是固定的,但不排除有人手动去修改自己的MAC地 址。其实修改MAC地址的方法很简单,可以通过硬件修改,也可 ...

  • Win7更改MAC地址的方法

    网络设备的位置,一般情况下是用MAC地址来定义的.通常情况下,MAC地址在网卡中是固定的.但是有个时候在日常的电脑应用中,因为一些原因需要对MAC地址进行手动的修改.很多人连MAC地址是什么都不知道, ...

  • 批量绑定IP地址和mac地址的方法

    这里要跟大家分享的是关于批量绑定IP地址和mac地址的方法,在网络管理中,IP地址盗用现象经常发生,不仅对网络的正常使用造成影响,同时由于被盗用的地址往往具有较高的权限,因而也对用户造成了大量的经济上 ...

  • Win8查看MAC地址的方法

    MAC地址是系统中非常重要的物理地址,我们还将其称之为硬件地址,主要用于定位网络设备的位置;在每台电脑中的MAC物理地址是不同的,都是独一无二的MAC地址,当我们有时我们需要查看系统中的MAC地址时, ...

  • Win10使用随机无线网卡MAC地址的方法

    Win10使用随机无线网卡MAC地址的方法,当我们的手机/平板等设备连接无线网络时,设备会发送信号来搜索区域中的无线网络,帮助获取连接.该信号中包含设备的唯一物理硬件(MAC)地址.某些场所(例如,购 ...

  • Win10系统设置随机无线网卡MAC地址的方法是什么?

    很多win10系统电脑用户在设置无线网络的时候,会发现,需要设置电脑的无线网卡MAC地址来可以使用.那么,怎么设置win系统的线网卡MAC地址呢?下面,还是来看看今天的Win10系统设置随机无线网卡M ...

  • Linux下Patch的应用和制作方法介绍

    Linux下Patch的应用和制作方法介绍 因为在u-boot移植过程中,有几处通用文件要修改,如果每次都要手动修改就太麻烦了.制作补丁可以解决这个问题. 学习资料的收集比较简单,方法一类似于这种初级 ...