• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > Linux下讀取網卡默認MAC地址的方法

    Linux下讀取網卡默認MAC地址的方法

    作者: 時間:2016-09-12 來源:網絡 收藏

    MAC(Media Access Control,介質訪問控制)是用來定義網絡設備的位置。在嵌入式linux學習中無可避免也會遇到MAC,本文主要描述了如何通過操作來讀取嵌入式linux設備中的MAC地址

    本文引用地址:http://www.czjhyjcfj.com/article/201609/303308.htm

    1.jpg

    1.1 適用范圍

    這里主要介紹讀取MAC地址的方法,適用于EasyARM-i.MX287A開發套件,其應用原理及配套示例也適用于下表1.1所列出的產品型號。

    表1.1 適用產品型號

    2.jpg

    1.2 原理介紹

    MAC(Media Access Control,介質訪問控制)是用來定義網絡設備的位置。用來表示互聯網上每一個站點的標識符,采用十六進制數表示,共六個字節(48位)。其中,前三個字節是由IEEE的注冊管理機構RA負責給不同廠家分配的代碼(高位24位),也稱為“編制上唯一的標識符”(Organizationally Unique Identifier),后三個字節(低位24位)由各廠家自行指派給生產的適配器接口,稱為擴展標識符(唯一性)。一個地址塊可以生成2^24個不同的地址。MAC地址實際上就是適配器地址或適配器標識符。MAC具有全球唯一性。

    的默認MAC”是廣州致遠電子股份有限公司針對Awork開發套件和M283、M287工控核心板開發的一項功能,通過芯片的來存儲網卡 MAC地址,我公司出廠的核心板和開發套件的MAC地址的前兩個字節固定為“0x00”,“0x04”,后四個字節保存在中,本文檔主要描述了如何通過操作OTP來讀取網卡MAC地址。

    在內核配置OTP選項,編譯出的內核啟動后,在文件系統中會導出OTP設備文件,通過操作這些設備文件來讀取信息??梢詫⒁呀涀缘木W卡MAC信息首先固化到OTP中,在應用層就可以讀取。MAC0地址的低4位可以通過設備文件“/sys/fsl_otg/SBK0”讀取,MAC1地址的低4位可以通過設備文件“/sys/fsl_otg/SBK1”讀取。

    注意:如果使用的是M287、M283工控板,不需要配置內核。

    1.3 技術實現

    1.3.1 內核編譯

    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選項,如下圖3.1所示。

    3.jpg

    圖3.1 內核配置

    按回車鍵,進入Chracter devices選項。如圖3.2所示。

    4.jpg

    圖3.2 內核配置

    按空格鍵,選擇*> Freescale On-Chip OTP Memory Support選項,如圖3.3 內核配置圖3.3所示。

    5.jpg

    圖3.3 內核配置

    按回車鍵,保存退出。

    2. 編譯內核

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

    vmuser@-host:~/ linux-2.6.35.3$ make clean

    vmuser@-host:~/ linux-2.6.35.3$ make uImage

    內核固件位于“arch/arm/boot/uImage”,將生成的內核固件通過TF卡燒寫到NANDFlash。

    1.4 讀取MAC實操

    下面介紹讀取網卡MAC操作過程,其實質是操作OTP設備文件。

    1.4.1 執行MAC腳本文件

    將本文檔目錄下MAC.sh文件通過U盤或TF卡拷貝到EasyARM-i.MX287A開發套件,修改文件權限為可執行權限,參考命令如下:

    root@EasyARM-iMX28x ~# chmod 777 MAC.sh

    root@EasyARM-iMX28x ~# ./MAC.sh

    執行后,查看網絡設備,MAC如圖4.1所示。

    6.jpg

    圖4.1 網絡設備圖

    查看“/sys/fsl_otp/HW_OCOTP_SRK1”和“/sys/fsl_otp/HW_OCOTP_SRK0”設備??梢园l現,網卡MAC低4位其實就是保存在OTP中的值,如圖4.2所示。

    7.jpg

    圖4.2 OTP讀取圖



    關鍵詞: OTP Mac 網卡 Linux

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 玉门市| 泽普县| 西宁市| 惠州市| 商城县| 琼结县| 慈溪市| 高密市| 府谷县| 五原县| 阳曲县| 彭州市| 化州市| 沂南县| 防城港市| 浏阳市| 林西县| 梓潼县| 泸西县| 扎兰屯市| 广东省| 寿光市| 封丘县| 苍梧县| 姜堰市| 普兰店市| 饶平县| 邵阳县| 汝阳县| 兰溪市| 张北县| 阳朔县| 崇明县| 新营市| 龙游县| 玉屏| 平罗县| 临邑县| 登封市| 蓝田县| 镇宁|