您好,登錄后才能下訂單哦!
這篇文章主要介紹了Linux下讀取默認MAC地址步驟是什么,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
。
MAC Address,Media Access Control Address,亦稱為EHA(Ethernet Hardware Address)、硬件地址、物理地址(Physical Address)。
在OSI節層模型中,屬于第二層鏈路層概念。一個MAC地址唯一指定一臺設備,全球唯一,并且通常燒寫在固件中。
MAC地址由IEEE(Institute of Electrical and Electronics Engineers)定義,有三種:MAC-48、EUI-48、EUI-64。EUI, Extended Unique Identifier。
一、適用范圍
這里主要介紹讀取網卡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所示。
圖6 OTP讀取圖
感謝你能夠認真閱讀完這篇文章,希望小編分享的“Linux下讀取默認MAC地址步驟是什么”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。