• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • bios
  • 系统安装
  • 系统进程
  • Windows
  • LINUX
  • RedHat/Centos
  • Ubuntu/Debian
  • Fedora
  • Solaris
  • 麒麟系统
  • 红旗Linux
  • 苹果MAC
  • 注册表
  • 其它系统
您的位置:首页 > 操作系统 >LINUX > Linux下读取默认MAC地址的方法

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

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-05-12

佚名 通过本文向大家介绍了linux查看mac地址命令,linux修改mac地址,linux mac地址查询,linux查看mac地址,linux mac地址等相关知识,希望对您有所帮助,也希望大家多多支持linkedu.com

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

Linux下读取默认MAC地址Linux下读取默认MAC地址

 一、适用范围

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

Linux下读取默认MAC地址Linux下读取默认MAC地址

二、原理介绍

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配置内核。配置步骤如下:

sok@zlgmcu:~$ cd linux-2.6.35.3/
sok@zlgmcu:~/linux-2.6.35.3$ make menuconfig
</div>

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

Linux下读取默认MAC地址Linux下读取默认MAC地址

图1内核配置

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

Linux下读取默认MAC地址Linux下读取默认MAC地址

图2内核配置

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

Linux下读取默认MAC地址Linux下读取默认MAC地址

图3内核配置

按回车键,保存退出。

2.编译内核

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

vmuser@Linux-host:~/ linux-2.6.35.3$ make clean
vmuser@Linux-host:~/ linux-2.6.35.3$ make uImage
</div>

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

四、读取MAC实操

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

执行MAC脚本文件

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

root@EasyARM-iMX28x ~# chmod 777 MAC.sh
root@EasyARM-iMX28x ~# ./MAC.sh
</div>

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

Linux下读取默认MAC地址Linux下读取默认MAC地址

图5网络设备图

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

Linux下读取默认MAC地址Linux下读取默认MAC地址

图6 OTP读取图

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 在Mac上编译Linux的程序有什么不同么?
  • mac中命令和linux命令一样吗?
  • mac/linux非windows做前端开发的话,怎么测IE
  • Linux下读取默认MAC地址的方法

相关文章

  • 2017-05-12Linux中的VMware虚拟机开机出现滴警告音怎么办?
  • 2017-05-12Linux系统中安装和使用Axel下载工具的教程
  • 2017-05-12轻松实现Linux数据加密的三种方法
  • 2017-05-12Linux系统下配置多个IP及检测IP冲突的方法
  • 2017-05-12在Linux系统下使用Github的基本教程
  • 2017-05-12Linux系统Centos没有网卡eth0配置文件的解决方法
  • 2017-05-12使用http_load来给Linux系统的服务器做压力测试
  • 2017-05-12Linux中stat命令显示文件的基本使用教程
  • 2017-05-12快速了解Linux系统下的proc目录
  • 2017-05-12linux下链接库失败的原因分析

文章分类

  • bios
  • 系统安装
  • 系统进程
  • Windows
  • LINUX
  • RedHat/Centos
  • Ubuntu/Debian
  • Fedora
  • Solaris
  • 麒麟系统
  • 红旗Linux
  • 苹果MAC
  • 注册表
  • 其它系统

最近更新的内容

    • 实例讲解Linux中cd命令切换目录的使用技巧
    • Linux系统下修改最大传输单元MTU的方法
    • 去除Linux Kernel版本号后面的加号的方法
    • 实例讲解Linux系统的服务器的DNS相关配置
    • Linux系统中开起和关闭用户的磁盘空间限制的命令
    • Linux系统中tr命令删除和替换文本字符的基本用法
    • Linux系统中tar压缩包怎么解压?
    • Linux下OpenSSL客户端中使用req命令来生成证书的教程
    • 简单了解Linux系统中rev命令与tac命令的用法
    • Linux使用文本浏览器lynx并显示中文的方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有