Linux下讀取預設MAC地址的方法

來源:互聯網
上載者:User

   Linux下讀取預設MAC地址的方法

          MAC(Media Access Control,介質存取控制)電腦通過它來定義並識別網路裝置的位置。在嵌入式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配置核心。配置步驟如下:

  ?

1 2 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.編譯核心

  在目前的目錄下執行如下命令編譯核心,參考命令如下:

  ?

1 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檔案通過隨身碟或TF卡拷貝到EasyARM-i.MX287A開發套件,修改檔案許可權為可執行許可權,參考命令如下:

  ?

1 2 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讀取圖

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.