中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux系統如何獲取默認MAC地址

發布時間:2022-01-26 17:16:13 來源:億速云 閱讀:406 作者:柒染 欄目:開發技術

這篇文章跟大家分析一下“Linux系統如何獲取默認MAC地址”。內容詳細易懂,對“Linux系統如何獲取默認MAC地址”感興趣的朋友可以跟著小編的思路慢慢深入來閱讀一下,希望閱讀后能夠對大家有所幫助。下面跟著小編一起深入學習“Linux系統如何獲取默認MAC地址”的知識吧。

Linux系統中如何獲取默認的MAC地址?在嵌入式學習中避免不了接觸MAC地址。

MAC地址簡介:

  • MAC(Media Access Control或者Medium Access Control)地址是固化在網卡上串行EEPROM中的物理地址,通常有48位長,用來定義網絡設備的位置,用來表示互聯網上每一個站點的標識符,采用十六進制數表示。

  • 在OSI模型中,第三層網絡層負責 IP地址,第二層數據鏈路層則負責 MAC地址。

  • 因此一個主機會有一個MAC地址,而每個網絡位置會有一個專屬于它的IP地址。任何一個網絡設備(例如網卡、路由器)一旦生產出來以后,其MAC地址永遠唯一且不能由用戶改變。

  • 形象來說,MAC地址就好像我們的身份證號碼,具有全球唯一性。

Linux系統獲取默認MAC地址方法:

一、適用范圍

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

  Linux系統如何獲取默認MAC地址

二、原理介紹

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所示。 Linux系統如何獲取默認MAC地址

  圖1內核配置

  按回車鍵,進入Chracter devices選項。如下圖2所示。 Linux系統如何獲取默認MAC地址

  圖2內核配置

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

Linux系統如何獲取默認MAC地址

  圖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所示。

  Linux系統如何獲取默認MAC地址

 圖5網絡設備圖

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

Linux系統如何獲取默認MAC地址

 圖6 OTP讀取圖

關于Linux系統如何獲取默認MAC地址就分享到這里啦,希望上述內容能夠讓大家有所提升。如果想要學習更多知識,請大家多多留意小編的更新。謝謝大家關注一下億速云網站!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

棋牌| 香港| 武汉市| 横山县| 阳谷县| 个旧市| 安龙县| 钦州市| 宜春市| 黎城县| 江城| 商城县| 深泽县| 安泽县| 徐闻县| 塔河县| 洛扎县| 徐汇区| 普宁市| 巴塘县| 福清市| 嵩明县| 乌苏市| 靖边县| 迁安市| 新建县| 常德市| 湘阴县| 安康市| 南投市| 邢台市| 通州市| 阿拉尔市| 称多县| 宜章县| 辰溪县| 乌拉特前旗| 江都市| 浪卡子县| 舒城县| 镇巴县|