針對網路問題進行疑難解答
網路問題可能難以診斷和解決。 例如,您可能會發現Wi-Fi網路在本機正常運作,但與因特網中斷連線。 在這種情況下,您可能會發現您的 Azure Sphere 裝置未正確更新。 本主題提供一些建議,可協助診斷網路問題。
檢查網路介面狀態
使用 PowerShell、Windows 命令提示字元或 Linux 命令殼層開啟命令行介面。
執行 az sphere device network list-interfaces 來列出連結裝置網路介面的詳細數據。
輸出會顯示為裝置設定的所有介面。 針對裝置上的每個介面,輸出會顯示下列內容:
[ { "connectedToInternet": false, "connectedToNetwork": false, "hardwareAddress": null, "interfaceName": "azspheresvc", "interfaceUp": true, "ipAcquired": false, "ipAddresses": [ "192.168.35.2" ], "ipAssignment": null }, { "connectedToInternet": false, "connectedToNetwork": false, "hardwareAddress": "b2:30:bb:f0:d1:44", "interfaceName": "eth0", "interfaceUp": true, "ipAcquired": false, "ipAddresses": null, "ipAssignment": "dynamic" }, { "connectedToInternet": false, "connectedToNetwork": false, "hardwareAddress": null, "interfaceName": "lo", "interfaceUp": true, "ipAcquired": false, "ipAddresses": [ "127.0.0.1" ], "ipAssignment": null }, { "connectedToInternet": false, "connectedToNetwork": false, "hardwareAddress": "00:02:b5:03:69:ea", "interfaceName": "wlan0", "interfaceUp": true, "ipAcquired": false, "ipAddresses": null, "ipAssignment": "dynamic" } ]
確認介面的下列設定為 True。
網路介面。 如果此設定為 False:
- 檢查使用存取點的本機裝置是否已連線。 如需詳細資訊,請參閱 Networking_IsNetworkingReady 函式。
- 檢查網路介面是否已啟用。 您可以使用 az sphere device network enable 命令或使用 Networking_SetInterfaceState 函式 API 來啟用必要的介面。
線上到網路。 如果此設定為 False:
- 執行 az sphere 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 命令殼層開啟命令行介面。
- 執行 az sphere device wifi show-status 以檢視裝置上目前Wi-Fi 連線的相關信息。
您應該會看到如下輸出:
az sphere device wifi show-status
{
"SSID": "MSFTGUEST",
"configurationState": "enabled",
"connectionState": "connected",
"frequency": 5660,
"ipAddress": "10.106.106.40",
"keyManagement": "NONE",
"macAddress": "00:02:b5:03:69:ea",
"mode": "station",
"securityState": "open",
"wpaState": "COMPLETED"
}
如果連線 狀態 設定為 已中斷連線, 請在您的裝置上啟用Wi-Fi 。
驗證網路狀態
執行 az sphere device network show-status 以檢視連結裝置的網路狀態。
您應該會看到如下輸出:
az sphere device network show-status
{
"deviceAuthenticationIsReady": false,
"networkTimeSync": "incomplete",
"proxy": "disabled"
}
- 如果 裝置驗證就緒 傳 回 False,
- 如果網路 時間同步狀態 傳 回不完整,
- 等候建立連線。
- 請確定您的網路已設定為允許輸入和輸出流量。 如需詳細資訊,請參閱 埠和通訊協定。
確認防火牆設定
如果應用程式無法連線到遠端主機:
- 檢查應用程式的防火牆設定。
應用程式 指令清單 必須藉由設定
AllowedConnections
功能,指定允許應用程式連線的主機名或IP位址。 - 如果應用程式已設定為執行 服務探索,除了應用程式指令清單中的專案之外,探索到的端點也應該列在防火牆組態中。
如果遠端主機無法連線到您的伺服器應用程式:
- 檢查應用程式的防火牆設定。
應用程式 指令清單 必須藉由設定
AllowedTcpServerPorts
、 和 功能,指定應用程式針對輸入連線開啟的 UDP 和AllowedUdpServerPorts
TCP 連接埠。
如果您仍然遇到困難:
- 執行 az sphere device network list-firewall-rules ,並確認防火牆規則中的 IP 位址和 應用程式指令清單 檔案相符。
- 檢查系統默認連線是否存在。
取得網路診斷
發生網路失敗時,您可以透過呼叫 WifiConfig API 和從命令行取得失敗的診斷資訊。
高階應用程式可以呼叫 WifiConfig_GetNetworkDiagnostics ,以收集問題的相關信息。 此函式會傳 WifiConfig_NetworkDiagnostics
回結構,其中包含指定網路上最近失敗的詳細數據。 結合診斷結構中的資訊與後續診斷和復原常見網路失敗的秘訣。
WiFi_HighLevelApp範例示範如何使用診斷。
您也可以使用 az sphere device network show-diagnostics 命令來顯示上次錯誤的診斷資訊。
不正確的網路連線
如果您的裝置連線到不正確的網路或已連線,但屬性錯誤,請確定網路設定正確。 如果您變更設定,則必須重載設定。 在應用程式中,呼叫 WifiConfig_ReloadConfig 或在命令行上,使用 az sphere 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 的網路上這麼做。