共用方式為


針對網路問題進行疑難解答

網路問題可能難以診斷和解決。 例如,您可能會發現Wi-Fi網路在本機正常運作,但與因特網中斷連線。 在這種情況下,您可能會發現您的 Azure Sphere 裝置未正確更新。 本主題提供一些建議,可協助診斷網路問題。

檢查網路介面狀態

  1. 使用 PowerShell、Windows 命令提示字元或 Linux 命令殼層開啟命令行介面。

  2. 執行 azsphere device network list-interfaces 來列出連結裝置網路介面的詳細數據。

    輸出會顯示為裝置設定的所有介面。 針對裝置上的每個介面,輸出會顯示下列內容:

    azsphere device network list-interfaces
    ------------- ----------- ------------------ ---------- ------------- ------------------- ------------ -----------------
    InterfaceName InterfaceUp ConnectedToNetwork IpAcquired IpAddresses   ConnectedToInternet IpAssignment HardwareAddress
    ========================================================================================================================
    azspheresvc   True        False              False      <value>       False               None         None
    ------------- ----------- ------------------ ---------- ------------- ------------------- ------------ -----------------
    eth0         True        True               True       <value>        True                dynamic      <value>
    ------------- ----------- ------------------ ---------- ------------- ------------------- ------------ -----------------
    lo            True        False              False      <value>       False               None         None
    ------------- ----------- ------------------ ---------- ------------- ------------------- ------------ -----------------
    wlan0         True        True               True       <value>       True                dynamic      <value>
    ------------- ----------- ------------------ ---------- ------------- ------------------- ------------ -----------------
    
  3. 確認介面的下列設定為 True。

  • 網路介面。 如果此設定為 False:

  • 線上到網路。 如果此設定為 False:

    • 執行 azsphere device wifi show-status 來檢查 Wi-Fi SSID 值是否符合裝置 Wi-Fi 設定。
    • 掃描網路以確認裝置設定中的 SSID 符合您網路上的 SSID。 如需詳細資訊,請參閱 wifi scan 命令。
    • 如果Wi-Fi網路的SSID已隱藏,且您的應用程式依賴目標掃描,請檢查是否 已啟用目標掃描
  • 取得的IP位址。 如果此設定為 False:

    • 等候建立連線
    • 檢查您的網路,以查看網路上的存取點和其他裝置是否已完全連線。 如需詳細資訊,請參閱 Networking_IsNetworkingReady 函式
    • 檢查存取點和網路上允許連線的範圍或允許連線的限制。
  • 線上到因特網。 如果此設定為 False:

    • 檢查您的網路是否已連線到因特網。

確認Wi-Fi狀態

  1. 使用 PowerShell、Windows 命令提示字元或 Linux 命令殼層開啟命令行介面。
  2. 執行 azsphere device wifi show-status 以檢視裝置上目前Wi-Fi連線的相關信息。

您應該會看到如下輸出:

 azsphere device wifi show-status
 ----- ------------------ --------------- ------------- --------- ------- ------------- --------- ------------- -----------------
 SSID  ConfigurationState ConnectionState SecurityState Frequency Mode    KeyManagement WpaState  IpAddress     MacAddress
 ================================================================================================================================
 <value> enabled            connected       psk           2412      station WPA2-PSK      COMPLETED <value>      <value>
 ----- ------------------ --------------- ------------- --------- ------- ------------- --------- ------------- -----------------

如果連線 狀態 設定為 中斷連線, 請在您的裝置上啟用Wi-Fi

驗證網路狀態

執行 azsphere device network show-status 以檢視連結裝置的網路狀態。

您應該會看到如下輸出:

azsphere device network show-status
 --------------------------- --------------- --------
 DeviceAuthenticationIsReady NetworkTimeSync Proxy
 ====================================================
 True                        complete        disabled
 --------------------------- --------------- --------
  • 如果 裝置驗證就緒回 False
  • 如果網路 時間同步狀態回不完整
    • 等候建立連線
    • 請確定您的網路已設定為允許輸入和輸出流量。 如需詳細資訊,請參閱 埠和通訊協定

確認防火牆設定

如果應用程式無法連線到遠端主機:

  • 檢查應用程式的防火牆設定。 應用程式 指令清單 必須藉由設定 AllowedConnections 功能,指定允許應用程式連線的主機名或IP位址。
  • 如果應用程式已設定為執行 服務探索,除了應用程式指令清單中的專案之外,探索到的端點也應該列在防火牆組態中。

如果遠端主機無法連線到您的伺服器應用程式:

  • 檢查應用程式的防火牆設定。 應用程式 指令清單 必須藉由設定 AllowedTcpServerPorts、 和 功能,指定應用程式針對輸入連線開啟的 UDP 和 AllowedUdpServerPorts TCP 連接埠。

如果您仍然遇到困難:

取得網路診斷

發生網路失敗時,您可以透過呼叫 WifiConfig API 和從命令行取得失敗的診斷資訊。

高階應用程式可以呼叫 WifiConfig_GetNetworkDiagnostics ,以收集問題的相關信息。 此函式會傳 WifiConfig_NetworkDiagnostics 回結構,其中包含指定網路上最近失敗的詳細數據。 結合診斷結構中的資訊與後續診斷和復原常見網路失敗的秘訣。

WiFi_HighLevelApp範例示範如何使用診斷。

您也可以使用 azsphere device network show-diagnostics 命令來顯示上次錯誤的診斷資訊。

不正確的網路連線

如果您的裝置連線到不正確的網路或已連線,但屬性錯誤,請確定網路設定正確。 如果您變更設定,則必須重載設定。 在應用程式中,呼叫 WifiConfig_ReloadConfig 或在命令行上,使用 azsphere device wifi reload-config 命令來重載目前的組態。 為了確保網路設定會在重新啟動時持續存在,應用程式可以呼叫 WifiConfig_PersistConfig

更新根 CA 憑證時發生問題

如果您的裝置在更新根 CA 憑證之後無法連線到 EAP-TLS 網路,請從WifiConfig_SetNetworkEnabled函式傳回的狀態開始。

如果狀態指出根 CA 憑證錯誤,下列其中一個可能是原因:

  • 舊根 CA1 在更新程式期間是否在 RADIUS 伺服器上過期或變更? 如果是,新的根 CA2 可能不正確。
  • 伺服器端是否發生一些其他失敗? 請洽詢您的網路管理員。 系統管理員可能已使用不同的或不正確的證書頒發機構單位,而且可能需要集中修正此問題。

如果狀態指出客戶端憑證錯誤:

  • 新 Network2 的設定與 Network1 屬性同步嗎? 如果網路 1 上的屬性已變更,但您嘗試在 Network2 上使用過期的屬性進行連線,Network2 可能無法連線。 請確定這兩個網路的主要屬性完全相同。
  • 用戶端憑證在網路更新程序期間是否變更? 檢查與 Network1 和 Network2 相關聯的憑證,並確定它們相同。 應用程式可以使用 CertStore API 中的函式來檢查憑證詳細數據。

如果根 CA 和客戶端憑證都正確,則失敗可能與您的 Wi-Fi 存取點或其他問題有關。

在每次嘗試嘗試深入瞭解問題之後,繼續檢查WifiConfig_GetNetworkDiagnostics傳回的數據。

更新客戶端憑證時發生問題

如果您的裝置在更新用戶端憑證之後無法連線到 EAP-TLS 網路,請從WifiConfig_SetNetworkEnabled函式傳回的狀態開始。

如果狀態指出客戶端憑證錯誤:

  • 還原為先前的憑證,並嘗試重新連線。 成功表示新用戶端憑證的問題;失敗表示新憑證無效,或舊憑證在過渡期間過期。

如果狀態指出一些其他類型的錯誤:

  • 網路是否遇到其他問題? 繼續嘗試使用任一用戶端憑證進行連線。

在每次嘗試嘗試深入瞭解問題之後,繼續檢查WifiConfig_GetNetworkDiagnostics傳回的數據。

線上到未廣播 SSID 的 5GHz 網路時發生問題

MT3620 有一個已知問題,裝置可能無法連線到 5GHz 網路,即使使用 目標掃描,也不會廣播 SSID。 建議您不要停用 SSID 廣播,或在僅限 2.4GHz 的網路上這麼做。