基於NXP i.MX8M Mini 實作Wake-on-LAN應用

概述:

世平集團代理的NXP i.MX8M Mini多核心應用處理器,包含了豐富周邊介面。在i.Mx8M Mini EVK已結合乙太網路的硬體設計,再配合軟體的設定可支援網路喚醒(Wake-on-LAN)的功能。網路喚醒(Wake-on-LAN)的功能在於透過區域網路的另一台電腦對此休眠狀態的設備,發送喚醒封包後,使其恢復成運作狀態。適合應用在連網設備又想省電的裝置上。以下介紹如何實現此功能的方法。

硬體設定:
使用MX 8M Mini EVK開發板,連接上乙太網路線跟網路集線器相連接。

 



i.MX8M Mini EVK 與網路集線器的連接圖

軟體設定:
  • 使用BSP 版本: L4.19.35_1.1.0 進行實作。
  • 在fsl-imx8mm-evk.dts中Ethernet Device node (FEC) 確認是否已填加magic-packet,如下圖:
  • 燒錄image方式:
    1. 使用UUU工具燒錄 將編譯好的image檔案下載至eMMC。將EVK的SW1011 Switch 開關,依照Download Mode的設定配置以進入燒錄image的程序。
2. 在PC 端輸入燒錄images至eMMC的指令,如下圖以Windows 作業系統為範例, 以系統管理員執行命令指示字元應用程式。
    執行:uuu -b emmc_all imx-boot-imx8mmevk-sd.bin-flash_evk imx-image-full-imx8mmevk.wic 

 測試方法:
    1. 切換iMX8M mini EVK上的SW1101 及SW1102 Sw開關到 eMMC/SDHC3的設定配置,並重新上電。 
 

2. MX8M Mini EVK開機後使用終端機上輸入ifconfig,確認Ethernet node,MAC address, IP address。
          Ethernet node: eth0
          MAC address:00:04:9f:05:fc:84
          IP address:10.2.7.52
          


3. 使用ethtool tool,確認 Wake-on-LAN的設定是否巳啟用。若 Wake-on:g 則表示巳經啟用;若 Wake-on:d 則表示無。
        
4. 若Wake-on : d 則執行ethtool -s eth0 wol g 指令,啟用 Wake-on功能。利用cat /sys/class/net/eth0/power/wakeup 指令,確認Wakeup功能是否改變為enable 狀態。
       

    5. 執行echo mem > /sys/power/state 讓MX8M Mini EVK進入suspend 模式。
               

6. PC端以Unbuntu OS 為例:
        a. 安裝etherwake tool(sudo apt-get install etherwake),利用etherwake傳送magic packet 開機封包到i.MX8M Mini EVK接收端。
      b. 確認PC端作為發送開機封包ethernet node 名稱。
       
       
                      c.  確認接收端的i.MX8M mini EVK MAC address。
        
        
                      d. 執行 sudo etherwake -i enp4s0 -D 00:04:9f:05:fc:84命令。
        

測試結果: 
  最終查看i.MX8M Mini EVK終端機訊息出現”PM: suspend exit”表示系統喚醒成功。
   


參考文件:

https://www.toradex.com/community/questions/8018/wakup-using-wake-on-lan-ethernet-magic-packet-for.html?from=singlemessage

★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

評論