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

出处:维库电子市场网 发布于:2016-06-08 15:49:39

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

  1.1      适用范围

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

表1.1  适用产品型号

  1.2      原理介绍

  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.3      技术实现

  1.3.1   内核编译

  1.      配置内核

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

  sok@zlgmcu:~$ cd linux-2.6.35.3/

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

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

图3.1  内核配置

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

图3.2  内核配置

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

图3.3  内核配置

  按回车键,保存退出。

  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。

  1.4      读取MAC实操

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

  1.4.1   执行MAC脚本文件

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

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

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

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

图4.1  网络设备图

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

图4.2  OTP读取图

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

上传BOM文件: BOM文件
*公司名:
*联系人:
*手机号码:
QQ:
应用领域:

有效期:
OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:

0571-85317607

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!