針對網路問題進行疑難解答
重要
這是 Azure Sphere (舊版) 檔。 Azure Sphere(舊版)將於 2027 年 9 月 27 日淘汰,且使用者此時必須移轉至 Azure Sphere(整合式)。 使用位於 TOC 上方的版本選取器來檢視 Azure Sphere (整合式) 檔。
網路問題可能難以診斷和解決。 例如,您可能會發現Wi-Fi網路在本機正常運作,但與因特網中斷連線。 在這種情況下,您可能會發現您的 Azure Sphere 裝置未正確更新。 本主題提供一些建議,可協助診斷網路問題。
檢查網路介面狀態
使用 PowerShell、Windows 命令提示字元或 Linux 命令殼層開啟命令行介面。
執行 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> ------------- ----------- ------------------ ---------- ------------- ------------------- ------------ -----------------
確認介面的下列設定為 True。
網路介面。 如果此設定為 False:
- 檢查使用存取點的本機裝置是否已連線。 如需詳細資訊,請參閱 Networking_IsNetworkingReady 函式。
- 檢查網路介面是否已啟用。 您可以使用 azsphere device network enable 命令或使用 Networking_SetInterfaceState 函式 API 來啟用必要的介面。
線上到網路。 如果此設定為 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狀態
- 使用 PowerShell、Windows 命令提示字元或 Linux 命令殼層開啟命令行介面。
- 執行 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 連接埠。
如果您仍然遇到困難:
- 執行 azsphere device network list-firewall-rules ,並確認防火牆規則 和應用程式指令清單 檔案中的 IP 位址相符。
- 檢查系統默認連線是否存在。
取得網路診斷
發生網路失敗時,您可以透過呼叫 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 的網路上這麼做。