濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > Linux下讀取默認(rèn)MAC地址的方法

Linux下讀取默認(rèn)MAC地址的方法

熱門(mén)標(biāo)簽:山東企業(yè)電銷機(jī)器人價(jià)格 依蘭縣地圖標(biāo)注app 百度地圖標(biāo)注開(kāi)鎖電話 潮州地圖標(biāo)注 pageadm實(shí)現(xiàn)地圖標(biāo)注 安陽(yáng)百應(yīng)電銷機(jī)器人加盟 公司400電話辦理價(jià)格 琿春市地圖標(biāo)注app 百度中國(guó)地圖標(biāo)注中心

MAC(Media Access Control,介質(zhì)訪問(wèn)控制)計(jì)算機(jī)通過(guò)它來(lái)定義并識(shí)別網(wǎng)絡(luò)設(shè)備的位置。在嵌入式linux學(xué)習(xí)中不可避免也會(huì)遇到MAC,本文主要描述了如何通過(guò)操作OTP來(lái)讀取嵌入式linux設(shè)備網(wǎng)卡中的MAC地址

 一、適用范圍

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

二、原理介紹

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)核。

三、技術(shù)實(shí)現(xiàn)

內(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

按回車(chē)鍵,進(jìn)入Device Drivers選項(xiàng),如下圖1所示。

圖1內(nèi)核配置

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

圖2內(nèi)核配置

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

圖3內(nèi)核配置

按回車(chē)鍵,保存退出。

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。

四、讀取MAC實(shí)操

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

執(zhí)行MAC腳本文件

將本文檔目錄下MAC.sh文件通過(guò)U盤(pán)或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如圖5所示。

圖5網(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中的值,如圖6所示。

圖6 OTP讀取圖

標(biāo)簽:呼和浩特 林芝 三明 晉中 連云港 香港 常德 公主嶺

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Linux下讀取默認(rèn)MAC地址的方法》,本文關(guān)鍵詞  Linux,下,讀取,默認(rèn),MAC,地址,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Linux下讀取默認(rèn)MAC地址的方法》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Linux下讀取默認(rèn)MAC地址的方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    海安县| 内黄县| 崇文区| 响水县| 宿州市| 宝应县| 庆安县| 四子王旗| 辽源市| 景谷| 丹阳市| 射洪县| 泰来县| 佛坪县| 时尚| 旌德县| 青州市| 阳春市| 施秉县| 化隆| 琼中| 凌海市| 沾化县| 洛南县| 碌曲县| 富蕴县| 岢岚县| 平遥县| 加查县| 华宁县| 古丈县| 丽水市| 怀仁县| 灵武市| 溆浦县| 罗城| 霍山县| 马公市| 松原市| 吉安市| 太仓市|