色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > Linux下讀取網(wǎng)卡默認(rèn)MAC地址的方法

          Linux下讀取網(wǎng)卡默認(rèn)MAC地址的方法

          作者: 時間:2016-09-12 來源:網(wǎng)絡(luò) 收藏

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

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

          1.jpg

          1.1 適用范圍

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

          表1.1 適用產(chǎn)品型號

          2.jpg

          1.2 原理介紹

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

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

          在內(nèi)核配置OTP選項(xiàng),編譯出的內(nèi)核啟動后,在文件系統(tǒng)中會導(dǎo)出OTP設(shè)備文件,通過操作這些設(shè)備文件來讀取信息??梢詫⒁呀?jīng)注冊的網(wǎng)卡MAC信息首先固化到OTP中,在應(yīng)用層就可以讀取。MAC0地址的低4位可以通過設(shè)備文件“/sys/fsl_otg/SBK0”讀取,MAC1地址的低4位可以通過設(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.jpg

          圖3.1 內(nèi)核配置

          按回車鍵,進(jìn)入Chracter devices選項(xiàng)。如圖3.2所示。

          4.jpg

          圖3.2 內(nèi)核配置

          按空格鍵,選擇*> Freescale On-Chip OTP Memory Support選項(xiàng),如圖3.3 內(nèi)核配置圖3.3所示。

          5.jpg

          圖3.3 內(nèi)核配置

          按回車鍵,保存退出。

          2. 編譯內(nèi)核

          在當(dāng)前目錄下執(zhí)行如下命令編譯內(nèi)核,參考命令如下:

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

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

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

          1.4 讀取MAC實(shí)操

          下面介紹讀取網(wǎng)卡MAC操作過程,其實(shí)質(zhì)是操作OTP設(shè)備文件。

          1.4.1 執(zhí)行MAC腳本文件

          將本文檔目錄下MAC.sh文件通過U盤或TF卡拷貝到EasyARM-i.MX287A開發(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所示。

          6.jpg

          圖4.1 網(wǎng)絡(luò)設(shè)備圖

          查看“/sys/fsl_otp/HW_OCOTP_SRK1”和“/sys/fsl_otp/HW_OCOTP_SRK0”設(shè)備。可以發(fā)現(xiàn),網(wǎng)卡MAC低4位其實(shí)就是保存在OTP中的值,如圖4.2所示。

          7.jpg

          圖4.2 OTP讀取圖



          關(guān)鍵詞: OTP Mac 網(wǎng)卡 Linux

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉