Linux下讀取網(wǎng)卡默認(rèn)MAC地址的方法
出處:維庫(kù)電子市場(chǎng)網(wǎng) 發(fā)布于:2016-06-08 15:49:39
MAC(Media Access Control,介質(zhì)訪問(wèn)控制)是用來(lái)定義網(wǎng)絡(luò)設(shè)備的位置。在嵌入式linux學(xué)習(xí)中無(wú)可避免也會(huì)遇到MAC,本文主要描述了如何通過(guò)操作OTP來(lái)讀取嵌入式linux設(shè)備網(wǎng)卡中的MAC地址
1.1 適用范圍
這里主要介紹讀取網(wǎng)卡MAC地址的方法,適用于EasyARM-i.MX287A開(kāi)發(fā)套件,其應(yīng)用原理及配套示例也適用于下表1.1所列出的產(chǎn)品型號(hào)。
表1.1 適用產(chǎn)品型號(hào)
1.2 原理介紹
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)核。
1.3 技術(shù)實(shí)現(xiàn)
1.3.1 內(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),如下圖3.1所示。
圖3.1 內(nèi)核配置
按回車鍵,進(jìn)入Chracter devices選項(xiàng)。如圖3.2所示。
圖3.2 內(nèi)核配置
按空格鍵,選擇<*> Freescale On-Chip OTP Memory Support選項(xiàng),如圖3.3 內(nèi)核配置圖3.3所示。
圖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卡燒寫(xiě)到NANDFlash。
1.4 讀取MAC實(shí)操
下面介紹讀取網(wǎng)卡MAC操作過(guò)程,其實(shí)質(zhì)是操作OTP設(shè)備文件。
1.4.1 執(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如圖4.1所示。
圖4.1 網(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中的值,如圖4.2所示。
圖4.2 OTP讀取圖
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- ARM技術(shù)架構(gòu)與應(yīng)用開(kāi)發(fā)實(shí)踐指南2026/1/6 10:40:19
- 嵌入式實(shí)時(shí)操作系統(tǒng)(RTOS)選型與移植技術(shù)指南2025/12/31 10:42:31
- 工業(yè)嵌入式系統(tǒng):通信接口技術(shù)選型與抗干擾設(shè)計(jì)實(shí)踐2025/12/15 14:36:53
- 深入解析嵌入式 OPENAMP 框架:開(kāi)啟異核通信新時(shí)代2025/7/22 16:27:29
- 一文快速了解OPENWRT基礎(chǔ)知識(shí)2025/7/14 16:59:04
- 汽車電子常用電子元器件選型指南
- MOSFET驅(qū)動(dòng)與隔離方案設(shè)計(jì)
- 高溫環(huán)境下電源IC選型建議
- 安防監(jiān)控設(shè)備連接器應(yīng)用分析
- 高速PCB信號(hào)完整性(SI)設(shè)計(jì)核心實(shí)操規(guī)范
- 鎖相環(huán)(PLL)中的環(huán)路濾波器:參數(shù)計(jì)算與穩(wěn)定性分析
- MOSFET反向恢復(fù)特性對(duì)系統(tǒng)的影響
- 電源IC在惡劣環(huán)境中的防護(hù)設(shè)計(jì)
- 連接器耐腐蝕性能測(cè)試方法
- PCB電磁兼容(EMC)設(shè)計(jì)與干擾抑制核心實(shí)操規(guī)范









