Linux下讀取默認(rèn)MAC地址的方法

MAC(Media Access Control,介質(zhì)訪問(wèn)控制)計(jì)算機(jī)通過(guò)它來(lái)定義并識(shí)別網(wǎng)絡(luò)設(shè)備的位置。在嵌入式linux學(xué)習(xí)中不可避免也會(huì)遇到MAC,本文主要描述了如何通過(guò)操作OTP來(lái)讀取嵌入式linux設(shè)備網(wǎng)卡中的MAC地址
一、適用范圍
這里主要介紹讀取網(wǎng)卡MAC地址的方法,適用于EasyARM-i.MX287A開(kāi)發(fā)套件,其應(yīng)用原理及配套示例也適用于下表1.1所列出的產(chǎn)品型號(hào)。
二、原理介紹
MAC(Media Access Control,介質(zhì)訪問(wèn)控制)是用來(lái)定義網(wǎng)絡(luò)設(shè)備的位置。用來(lái)表示互聯(lián)網(wǎng)上每一個(gè)站點(diǎn)的標(biāo)識(shí)符,采用十六進(jìn)制數(shù)表示,共六個(gè)字節(jié)(48位)。其中,前三個(gè)字節(jié)是由IEEE的注冊(cè)管理機(jī)構(gòu)RA負(fù)責(zé)給不同廠家分配的代碼(高位24位),也稱為“編制上唯一的標(biāo)識(shí)符”(Organizationally Unique Identifier),后三個(gè)字節(jié)(低位24位)由各廠家自行指派給生產(chǎn)的適配器接口,稱為擴(kuò)展標(biāo)識(shí)符(唯一性)。一個(gè)地址塊可以生成2^24個(gè)不同的地址。MAC地址實(shí)際上就是適配器地址或適配器標(biāo)識(shí)符。MAC具有全球唯一性。
“網(wǎng)卡的默認(rèn)MAC”是廣州致遠(yuǎn)電子股份有限公司針對(duì)Awork開(kāi)發(fā)套件和M283、M287工控核心板開(kāi)發(fā)的一項(xiàng)功能,通過(guò)芯片的OTP來(lái)存儲(chǔ)網(wǎng)卡MAC地址,我公司出廠的核心板和開(kāi)發(fā)套件的MAC地址的前兩個(gè)字節(jié)固定為“0x00”,“0x04”,后四個(gè)字節(jié)保存在OTP中,本文檔主要描述了如何通過(guò)操作OTP來(lái)讀取網(wǎng)卡MAC地址。
在內(nèi)核配置OTP選項(xiàng),編譯出的內(nèi)核啟動(dòng)后,在文件系統(tǒng)中會(huì)導(dǎo)出OTP設(shè)備文件,通過(guò)操作這些設(shè)備文件來(lái)讀取信息??梢詫⒁呀?jīng)注冊(cè)的網(wǎng)卡MAC信息首先固化到OTP中,在應(yīng)用層就可以讀取。MAC0地址的低4位可以通過(guò)設(shè)備文件“/sys/fsl_otg/SBK0”讀取,MAC1地址的低4位可以通過(guò)設(shè)備文件“/sys/fsl_otg/SBK1”讀取。
注意:如果使用的是M287、M283工控板,不需要配置內(nèi)核。
三、技術(shù)實(shí)現(xiàn)
內(nèi)核編譯
1.配置內(nèi)核
進(jìn)入linux-2.6.35.3目錄。執(zhí)行make menuconfig配置內(nèi)核。配置步驟如下:
sok@zlgmcu:~$ cd linux-2.6.35.3/ sok@zlgmcu:~/linux-2.6.35.3$ make menuconfig
按回車鍵,進(jìn)入Device Drivers選項(xiàng),如下圖1所示。
圖1內(nèi)核配置
按回車鍵,進(jìn)入Chracter devices選項(xiàng)。如下圖2所示。
圖2內(nèi)核配置
按空格鍵,選擇<*> Freescale On-Chip OTP Memory Support選項(xiàng),如圖3 內(nèi)核配置圖3所示。
圖3內(nèi)核配置
按回車鍵,保存退出。
2.編譯內(nèi)核
在當(dāng)前目錄下執(zhí)行如下命令編譯內(nèi)核,參考命令如下:
vmuser@Linux-host:~/ linux-2.6.35.3$ make clean vmuser@Linux-host:~/ linux-2.6.35.3$ make uImage
內(nèi)核固件位于“arch/arm/boot/uImage”,將生成的內(nèi)核固件通過(guò)TF卡燒寫到NANDFlash。
四、讀取MAC實(shí)操
下面介紹讀取網(wǎng)卡MAC操作過(guò)程,其實(shí)質(zhì)是操作OTP設(shè)備文件。
執(zhí)行MAC腳本文件
將本文檔目錄下MAC.sh文件通過(guò)U盤或TF卡拷貝到EasyARM-i.MX287A開(kāi)發(fā)套件,修改文件權(quán)限為可執(zhí)行權(quán)限,參考命令如下:
root@EasyARM-iMX28x ~# chmod 777 MAC.sh root@EasyARM-iMX28x ~# ./MAC.sh
執(zhí)行后,查看網(wǎng)絡(luò)設(shè)備,MAC如圖5所示。
圖5網(wǎng)絡(luò)設(shè)備圖
查看“/sys/fsl_otp/HW_OCOTP_SRK1”和“/sys/fsl_otp/HW_OCOTP_SRK0”設(shè)備??梢园l(fā)現(xiàn),網(wǎng)卡MAC低4位其實(shí)就是保存在OTP中的值,如圖6所示。
圖6 OTP讀取圖
相關(guān)文章
- Linux下手機(jī)adb連接不上怎么辦,今天小編就為大家?guī)?lái)Mac或者linux下adb連接失敗的解決辦法,來(lái)看看吧2016-04-20
Linux下兩款圖片編輯軟件Fotoxx和Macrofusion介紹
這篇文章主要介紹了Linux下兩款圖片編輯軟件Fotoxx和Macrofusion,都具備簡(jiǎn)單的圖形化使用界面,需要的朋友可以參考下2015-11-09- Linux下生成MAC地址的方法有很多種,除了常見(jiàn)的shell生成法外,還能通過(guò)Perl、ruby等方法來(lái)生成MAC地址,下面為大家一一介紹下2015-06-24
操作系統(tǒng)Unix、Windows、Mac OS、Linux的故事
電腦,計(jì)算機(jī)已經(jīng)成為我們生活中必不可少的一部分。無(wú)論是大型的超級(jí)計(jì)算機(jī),還是手機(jī)般小巧的終端設(shè)備,都跑著一個(gè)操作系統(tǒng)。正是這些操作系統(tǒng),讓那些硬件和芯片得意組合2014-04-28- 一、關(guān)于ARP欺騙的說(shuō)明 近期來(lái),很多網(wǎng)吧遭遇一類病毒,導(dǎo)致網(wǎng)吧頻繁斷線,具體的原因,是因?yàn)槟承┖蛻?yīng)用程序攜帶了一種能進(jìn)行ARP欺騙的病毒,ARP欺騙其實(shí)并不是新鮮的2008-09-08
LINUX系統(tǒng)下MySQL 壓力測(cè)試工具super smack
1. 源文件下載地址:http://vegan.net/tony/supersmack/ 2. 安裝: 注意在編譯時(shí),可以先把對(duì)應(yīng)的libmysqlclient.so.*拷貝到/usr/lib 3.&n2008-09-08Linux系統(tǒng)下防止 ARP 欺騙_綁定IP地址和MAC地址
一、約定 1、網(wǎng)關(guān)上已經(jīng)對(duì)下面所帶的機(jī)器作了綁定。網(wǎng)關(guān)IP:192.168.1.1 MAC:00:02:B3:38:08:62 2、要進(jìn)行綁定的Linux主機(jī)IP:192.168.1.2 MAC:00:04:61:9A:8D:B22008-09-08- Linux下修改MAC地址 MAC地址是網(wǎng)卡的物理地址,在Windows系統(tǒng)下,我們可以通過(guò)修改注冊(cè)表的方法,騙過(guò)系統(tǒng),修改MAC地址。其實(shí)在Linux下也可更改MAC地址: 1.2008-09-08
- 有些地方是把網(wǎng)絡(luò)地址和網(wǎng)卡物理地址綁定的,當(dāng)換了網(wǎng)卡或其它電腦時(shí)可能會(huì)上不了網(wǎng),下面介紹更改物理地址(MAC Address)的方法。分為臨時(shí)更改和長(zhǎng)期更改兩種情況,兩種方2008-09-08
- 一、在Linux下修改MAC地址方法如下: 方法1:在文件“/etc/rc.local”中加入 ifconfig eth0 hw ether 00:D0:59:0D:9B:4C 方法2:2008-09-08