1.软文推荐

2.软文推荐

3.软文推荐

计算机可以通过MAC来定义并识别网络设备的位置。大家在学习嵌入式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配置内核。配置步骤如下:

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.编译内核

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

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开发套件,修改文件权限为可执行权限,参考命令如下:

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所示。

以上就是良许教程网为各位朋友分享的Linux系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你!

本文来源:www.lxlinux.net/680.html,若引用不当,请联系修改。

相关文章 8

1

香港cn2云服务器哪家好?香港cn2云服务器的优势有哪些?(香港cn2云主机) 1分钟前

香港cn2云服务器哪家好? 现在有一些企业和站长选择云服务器都比较青睐于香港云服务器,而香港机房的线路有很多,若对网络延时及稳定...

2

Linux系统编译qt具体方法 3分钟前

Linux系统中如何编译Qt?本篇文章主要和大家分享一下Linux系统中编译qt的命令方法,本文实操记录、绝无水文,如果错误或遗漏欢迎各位朋友...

3

品光网络怎么样?香港美国服务器/云/高防,开年采购3.5折起 5分钟前

品光网络怎么样? 品光网络专业服务网站建设、服务器租用、站群服务器、高防服务器、网站空间、云主机、香港服务器、美国服务器、韩...

4

SQL Server中生成一定范围随机数具体方法 8分钟前

本篇文章重点为大家讲解一下SQL Server中生成一定范围随机数具体方法,有需要的小伙伴可以参考一下。 方法一 selectfloor(rand()*N)---生成的数...

5

通过 Overlay2 或 Bind 进行ISO 重新构建 8分钟前

自从换了新工作之后,则开始负责 超融合产品[3] 集群部署相关工作,因此也会接触很多镜像,不过这个镜像是操作系统的 ISO 镜像而不是容...

6

wordpress编辑器插件:Classic Editor编辑器下载(wordpress 编辑器) 11分钟前

classic editor 插件介绍 Classic Editor 是由 WordPress 团队维护的官方插件,将保留至 2022 年,它主要用于切换 WordPress 5.0 的经典编辑器或 Gutenberg...

7

nginx服务器是干嘛的?nginx的作用是什么(nginx服务器是干嘛的) 14分钟前

nginx服务器是干嘛的? nginxNginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是一款轻量级的Web 服务...

8

源码编译 GNOME Shell 和应用具体方法 16分钟前

这是一篇如何从源码编译 GNOME 的快速指南,包括 Shell、mutter 和一些原生应用。 在编译之前,你需要确保一些事情,因为以下编译直接来自...