<rt id="m4md3"></rt>
  • <bdo id="m4md3"><meter id="m4md3"></meter></bdo>
  • <label id="m4md3"></label>
      <center id="m4md3"><optgroup id="m4md3"></optgroup></center>
      產品分類

      當前位置: 首頁 > 工業電子產品 > 其他電子產品 > 開發板,套件,編程器 > 開發板

      類型分類:
      科普知識
      數據分類:
      開發板

      OpenWRT 下以太網MAC地址的寫入

      發布日期:2022-10-14 點擊率:80

      近期在為朋友制定OpenWRT系統下產測解決方案時,遇到了MAC地址的寫入問題。產測使用Qualcomm Atheros的ART軟件,只能寫入無線的MAC地址,無法寫入以太網的MAC地址, 筆者花了一些時間終于研究清楚,在這里做個記錄,以便后續查閱。注:本文以AR9344無線AP為例進行說明,這種方法僅適用于采用Qualcomm Atheros AR93xx/AR94xx系列芯片的AP設備。

      首先,必須清楚一點,AP類設備與無線相關的校準數據都是保存在Flash的ART分區的,熟悉OpenWRT的讀者肯定都知道。例如 筆者所用的OpenWRT固件版本,其Flash分區如下圖。可以看到,Flash中的0x7F0000-0x80000這一段是劃分給ART分區的。

      ART-MTD

      然后,Qualcomm Atheros官方說明文檔中對于ART分區的內容有進一步的說明,如下圖。可以看到MAC0也就是ETH0的MAC地址保存在0x0-0x5偏移地址中,MAC1也就是ETH1的MAC地址保存在0x6-0xB偏移地址中,無線的MAC地址分別保存在0x1000-0x4FFF與0x5000-0x8FFF偏移地址中。這里需要指出的是,如果是單Radio設備,那么只有First Radio Calibration Data,如果是雙Radio設備,會同時有First/Second Radio Calibration Data。

      ART-Block-Diagram

      接下來,可以根據這些已有的信息嘗試寫入MAC地址,以下是全部過程。

      1. 為主板加電,當串口中出現Hit any key to stop autoboot:字樣時,敲擊回車鍵,待測板會停留在u-boot階段。

      Stop-u-boot

      2. 敲入printenv命令,不難看出Flash的地址空間映射為0x9F000000-0x9F7FFFFF,則推斷出ART分區的地址為0x9F7F0000-0x9F7FFFF。由此,可以得知,ETH0的MAC地址存放于0x9F7F0000-0x9F7F0005,ETH1的MAC地址存放于0x9F7F0006-0x9F7F000B。

      Printenv

      3. 寫入以太網MAC地址不能破壞原有校準數據,因此需要先將ART分區的內容復制到內存中,輸入以下命令

      cp.b 0x9f7f0000 0x80060000 10000

      4. 假設欲寫入的ETH0,ETH1 MAC分別為“00-03-7f-01-01-02”,“00-03-7f-01-01-03”,則修改內存中的MAC地址,依次輸入以下命令

      mw 0x80060000 00037f01
      mw 0x80060004 01020003
      mw 0x80060008 7f010103
      

      5. 查看內存中的MAC地址是否準確,輸入以下命令

      md 0x80060000

      串口中的打印信息應為

      80060000: 00037f01 01020003 7f010103 ffffffff

      即80060000存放的數據為ETH0與ETH1 MAC地址的結合。

      6. 確認無誤后,將Flash中的原有校準數據擦除,在串口中輸入以下命令

      erase 0x9f7f0000 +10000
      cp.b 0x80060000 0x9f7f0000 10000
      

      串口中的打印信息應為

      Copy to Flash... write addr: 9f7f0000
      done

      7. 以上完整操作過程下圖所示。

      Operation-Process

      8. 最后檢驗MAC地址是否已準確寫入,在串口中輸入以下命令

      md 0x9f7f0000

      串口中的打印信息應為

      9f7f0000: 00037f01 01020003 7f010103 ffffffff

      此時可確認ETH0及ETH1 MAC地址已準確寫入。

      下一篇: PLC、DCS、FCS三大控

      上一篇: 使用USB接口為i.MX6處

      推薦產品

      更多
      主站蜘蛛池模板: 国产精品综合专区中文字幕免费播放| 亚洲综合色自拍一区| 亚洲欧洲日韩综合| 亚洲国产成人综合精品| 狠狠做深爱婷婷久久综合一区| 国产精品激情综合久久| 色综合AV综合无码综合网站| 久久亚洲精品高潮综合色a片| 亚洲色婷婷综合开心网| 一日本道伊人久久综合影| 五月天激情综合网丁香婷婷| 色欲香天天天综合网站| 色综合久久天天综合绕观看| 色777狠狠狠综合| 色爱区综合激情五月综合激情| 亚洲明星合成图综合区在线| 亚洲国产精品成人AV无码久久综合影院 | 亚洲五月综合缴情在线观看| 日韩亚洲国产综合高清| 久久婷婷五月综合尤物色国产 | 亚洲综合色婷婷在线观看| 国产综合久久久久久鬼色| 五月天色婷婷综合| 国产成人亚洲综合a∨| 欧洲97色综合成人网| 久久综合亚洲色一区二区三区| 久久综合狠狠色综合伊人| 午夜激情影院综合| 天天做天天爱天天综合网2021| 国产成人综合久久精品红| 伊人色综合久久天天| 色综合久久精品中文字幕首页| 亚洲综合婷婷久久| 亚洲综合精品成人| 国产综合成色在线视频| 亚洲VA综合VA国产产VA中| 久久婷婷综合中文字幕| 亚洲国产综合精品中文第一区 | 成人综合婷婷国产精品久久蜜臀| 亚洲国产综合在线| 亚洲综合一区国产精品|