Behandeln von Problemen mit Azure Sphere
Wichtig
Dies ist die Dokumentation zu Azure Sphere (Legacy). Azure Sphere (Legacy) wird am 27. September 2027 eingestellt, und Benutzer müssen bis zu diesem Zeitpunkt zu Azure Sphere (integriert) migrieren. Verwenden Sie die Versionsauswahl oberhalb des Inhaltsverzeichniss, um die Dokumentation zu Azure Sphere (Integriert) anzuzeigen.
Im Folgenden finden Sie einige Schritte zur Problembehandlung für Probleme, die während der Installation und einrichtung auftreten können.
Gerätekommunikationsprobleme
Ein Fehler beim Herstellen einer Verbindung mit dem Gerät von einem Hostcomputer kann aus vielen Gründen auftreten und kann mehrere Fehlermeldungen auslösen, je nachdem, welche Tools oder Anwendungen darauf stoßen. Folgende Fehlermeldungen können auf eine nicht erfolgreiche Verbindungsherstellung hindeuten:
An error occurred. Please check your device is connected and your PC has been configured correctly, then retry.
Could not connect to the device. Check if your device is connected to the PC. The device may be unresponsive if it is applying an Azure Sphere operating system update; wait a few minutes and then retry. If this issue persists, try uninstalling and reinstalling the Azure Sphere SDK.
An unexpected issue occurred. Please try again; if the issue persists, please refer to aka.ms/azurespheresupport for troubleshooting suggestions and support.
Failed to retrieve device ID from attached device: 'Could not connect to the device; please ensure it is attached.'
Failed to establish communication with device after recovery.
Es gibt drei Komponenten, die zu Problemen bei der Gerätekommunikation führen können: (1) die Befehlszeilenschnittstelle selbst; (2) der Gerätekommunikationsdienst (DCS), der die Kommunikation mit einem Gerät erleichtert; und (3) das Gerät.
Führen Sie die folgenden Diagnoseschritte aus, um die Ursache zu isolieren:
- Überprüfen Sie, ob Sie direkt mit dem Gerät kommunizieren können. https://192.168.35.2/status Navigieren Sie zu einem Webbrowser. Ignorieren und Schließen aller angezeigten SSL-Warnungen. Die Ausgabe sollte ähnlich wie
{"uptime":56}
im Webbrowserfenster angezeigt werden.
Hinweis
Sie können diesen Schritt auch über die Befehlszeile ausführen.curl https://192.168.35.2/status --insecure
Hinweis
Sie können diesen Schritt auch über PowerShell (v6 oder höher) Invoke-WebRequest https://192.168.35.2/status -SkipCertificateCheck
ausführen.
- Bestätigen Sie, dass der Gerätekommunikationsdienst ein Gerät erkannt hat. http://localhost:48938/api/service/devices Navigieren Sie zu einem Webbrowser, und bestätigen Sie, dass mindestens ein Gerät in der JSON-Ausgabe angezeigt wird.
Warnung
Das Linux DCS ist nur in SDK Release 23.05 und höher enthalten. Führen Sie die Schritte zur Problembehandlung für SDK-Versionen 22.11 und früher aus.
Hinweis
Sie können diesen Schritt auch über PowerShell ausführen Invoke-WebRequest http://localhost:48938/api/service/devices
.
Direkte Kommunikation mit Gerät und Gerät nicht durch dcS erkannt
Wenn keine Verbindung mit dem Gerät hergestellt werden konnte (Schritt 1), und das Gerät kann vom DCS (Schritt 2) nicht erkannt werden, besteht wahrscheinlich ein Problem mit der physischen Gerätekonfiguration.
Überprüfen Sie zunächst, ob das Gerät vom Computer erkannt wurde.
Von einem Terminal aus:
- Führen Sie sudo lsusb aus. Überprüfen Sie, ob Future Technology Devices International, Ltd FT4232H Quad HS USB-UART/FIFO IC in der Ausgabe angezeigt wird.
Verwenden eines PowerShell-Fensters:
- Run Get-PnpDevice -PresentOnly | Where-Object { $_. InstanceId -match '^USB' }. Überprüfen Sie, ob MSFT MT3620 Std Interface in der Ausgabe angezeigt wird.
Wenn der vorherige Befehl die erwartete Ausgabe nicht zurückgibt, verbinden Sie das Gerät mit einem anderen USB-Anschluss. Wenn das Problem dadurch immer noch nicht behoben wird, überprüfen Sie, ob das Gerät seine Jumpers ordnungsgemäß konfiguriert hat. Beispielsweise sind im Auslieferungszustand eines Seeed MT3620 Development Kits die Pins 2 und 3 von J3 durch einen Jumper verbunden, sodass für die Uhr die Hauptstromversorgung verwendet wird. Vergewissern Sie sich, dass der Jumper vorhanden ist und sich nicht gelöst hat.
Die direkte Kommunikation mit dem Gerät konnte nicht unterstützt werden, das Gerät wird jedoch vom DCS erkannt .
Wenn keine Verbindung mit dem Gerät hergestellt werden konnte (Schritt 1), aber das Gerät vom DCS (Schritt 2) erkannt wurde, ist es wahrscheinlich, dass sich der Geräte- oder Gerätekommunikationsdienst in einem schlechten Zustand befindet.
Wenn Sie gerade ein Gerät mit dem Internet verbunden haben und das Betriebssystem des Geräts veraltet ist, kann das Gerät ein Betriebssystemupdate anwenden. Es gibt auch eine kleine Chance, dass das Gerät ein Betriebssystemupdate verwendet, wenn die Zeit mit einem Veröffentlichungsfenster übereinstimmt. Während eines Betriebssystemupdates können Sie nicht mit einem Gerät kommunizieren.
Wenn Sie vermuten, dass das Gerät auf dem neuesten Stand ist und/oder es nicht mit dem Internet verbunden ist, besteht die nächste beste Option darin, das Gerät mit Ihrem PC zu trennen und erneut zu verbinden. Dies sollte dazu führen, dass dcS seine Verbindung mit dem Gerät und das Gerät auf einen Anfangszustand zurücksetzt.
Wenn Sie das Gerät nicht trennen und erneut verbinden können, empfiehlt es sich, das DCS neu zu starten. Von einem Terminal aus:
- Führen Sie
sudo azspheredctl restart
aus. Vergewissern Sie sich, dass der Befehl erfolgreich abgeschlossen ist.- Wenn der Befehl fehlschlägt, führen Sie den Befehl aus
sudo systemctl restart azsphered
.
- Wenn der Befehl fehlschlägt, führen Sie den Befehl aus
Wenn Sie das Gerät nicht trennen und erneut verbinden können, besteht die nächste beste Option darin, einen erneuten Scanbefehl für das DCS ausstellen zu können. Nach Empfang dieses Befehls wird der DCS-Schaltkreis durchlaufen und den FTDI-Schnittstellenchip zurücksetzen, der für die Kommunikation mit dem MT3620 verwendet wird. Verwenden eines PowerShell-Fensters:
- Ausführen eines azsphere-Geräts rescan-attached
Führen Sie nun den Befehl erneut aus, den Sie anfänglich versucht haben. Wenn das Problem noch nicht behoben ist, besteht die nächste beste Option darin, den DCS neu zu starten. Aus einem PowerShell-Fenster auf Administratorebene:
- Führen Sie
Restart-Service -Name AzureSphereDeviceCommunicationService
aus. Vergewissern Sie sich, dass der Befehl erfolgreich abgeschlossen ist.
Starten Sie das DCS alternativ mithilfe einer grafischen Benutzeroberfläche neu.
- Drücken Sie "Start", und geben Sie "Dienste" ein. Klicken Sie mit der rechten Maustaste auf den Azure Sphere Device Communication Service, und wählen Sie "Neu starten" aus.
Führen Sie nun den Befehl erneut aus, den Sie anfänglich versucht haben.
Wenn der Befehl weiterhin fehlschlägt, oder die angefügte Azsphere-Geräteliste hat eine ähnliche Ausgabe wie:
1 device attached:
--> Device ID: Cannot get device ID
--> Is responsive: no
--> IP address: 192.168.35.2
--> Connection path: 213
Azsphere-Gerät wiederherstellen
Kann direkt mit dem Gerät kommunizieren und das Gerät wird vom DCS erkannt .
Dies deutet wahrscheinlich auf ein Problem mit der CLI hin. Stellen Sie sicher, dass Sie über die neueste Version des SDK verfügen.
Wenn Sie über die neueste Version des SDK verfügen und Ihr Problem noch nicht behoben ist, posten Sie eine Frage im F&A-Forum.
Verworfene Verbindungen oder fehlende Geräte
Falls Ihr Computer zwar eine Verbindung mit dem Azure Sphere-Gerät herstellen kann, diese aber immer wieder getrennt wird, ist dies unter Umständen auf einen Konflikt im IP-Subnetz zurückzuführen.
Azure Sphere verwendet das Subnetz 192.168.35.*. Wenn Sie über andere Software verfügen, die das gleiche Subnetz verwendet, deaktivieren Sie entweder die Software, oder schränken Sie den von ihr verwendeten IP-Adressbereich ein. Der von Azure Sphere verwendete IP-Adressbereich kann aktuell nicht geändert werden.
Gerätefunktionen können nicht angewendet werden.
Wenn Sie Fehler erhalten, wenn Sie versuchen, eine Gerätefunktion auf ein Azure Sphere-Gerät anzuwenden, ist das Problem möglicherweise, dass das Betriebssystem auf Ihrem Gerät veraltet ist. Dieses Problem kann auftreten, wenn das Gerät für einen längeren Zeitraum offline war, während dessen Microsoft seine internen Schlüssel aktualisiert hat. Die folgenden Fehler sind Symptome dieses Problems:
Die Azsphere-Geräte-Enable-Development- oder Azsphere-Geräte-Enable-Cloud-Testbefehle geben einen Fehler wie folgt zurück:
error: The device did not accept the device capability configuration. Please check the Azure Sphere OS on your device is up-to-date using 'azsphere device show-deployment-status'.
Der Befehl "Azsphere Device Capability Update" gibt einen Ähnlichen Fehler wie folgt zurück:
error: Could not apply device capability configuration to device.
Dies liegt daran, dass der vertrauenswürdige Schlüsselspeicher auf dem Gerät veraltet ist. Um dieses Problem zu lösen, folgen Sie den Anweisungen hier.
Fehler beim Erstellen von vier seriellen USB-Konvertern
Nachdem Sie ein MT3620-Entwicklungsboard eingerichtet haben, sollten vier SERIELLE USB-Konverter in Geräte-Manager angezeigt werden. Wenn weniger als vier angezeigt werden, liegt möglicherweise ein Problem mit dem FTDI-Treiber vor.
Hinweis
Wenn dieses Board zuvor für die RTApp-Entwicklung verwendet wurde, werden möglicherweise drei Konverter anstelle von vier angezeigt. Dies ist normal und stellt keinen Fehler dar.
Wenn der FTDI-Treiber nicht ordnungsgemäß installiert ist, werden die Konverter möglicherweise an der falschen Position angezeigt, z. B. "Andere Geräte", oder sie werden überhaupt nicht angezeigt.
Dieses Problem lässt sich wie folgt beheben:
Um Geräte-Manager zu öffnen, klicken Sie auf "Start", und geben Sie Geräte-Manager ein.
Wählen Sie unter universellen seriellen Bus-Controllern DEN SERIELLEn USB-Konverter A aus. Klicken Sie mit der rechten Maustaste auf den Namen, wählen Sie "Gerät deinstallieren" aus, und löschen Sie den Treiber, wenn die Option vorhanden ist:
Wiederholen Sie diesen Schritt für USB Serial Converter B bis USB Serial Converter D.
Trennen Sie Ihr Entwicklungsboard vom PC, und schließen Sie es erneut an. Für „MSFT MT3620 Std Interface“ (MSFT MT3620-Standardschnittstelle) sollte ein dreieckiges Warnsymbol angezeigt werden. Das bedeutet, dass kein Treiber verfügbar ist.
Klicken Sie mit der rechten Maustaste auf eines der MSFT MT3620 Std Interface-Geräte, und wählen Sie den Updatetreiber aus. Wählen Sie "Suche automatisch nach aktualisierter Treibersoftware" aus. Durch das Aktualisieren sollte alles behoben werden. Im Abschnitt "Universal Serial Bus controller" sollten nun vier serielle USB-Konverter angezeigt werden. Wenn nicht alle vier Konverter angezeigt werden, wiederholen Sie diesen Schritt für jeden Konverter.
Fehler beim Installieren von FTDI-Treibern
Die FTDI-Treiber sollten automatisch von Windows heruntergeladen und installiert werden, wenn Ihr Azure Sphere-Gerät zuerst an Ihren PC angeschlossen ist. Wenn die Treiber ordnungsgemäß installiert sind, werden vier serielle USB-Konverter unter universelle serielle Bus-Controller in Geräte-Manager aufgeführt, wie in "Einrichten Ihres Dev Kit" beschrieben.
Windows 10, Version 2004, sucht nicht nach den Treibern. In diesem Fall werden die Treiber nicht automatisch heruntergeladen und installiert, und die folgenden Elemente werden in Geräte-Manager aufgeführt:
Um die Treiber zu installieren, laden Sie die Treiber manuell von Future Technology Devices International (FTDI) herunter. Wählen Sie den Treiber aus, der Ihrer Windows-Installation (32- oder 64-Bit) entspricht.
Verfügbarkeitsdaten und Buildnummern von Windows 10-Versionen finden Sie unter Windows 10-Versionsinformationen. Anhand dieser Informationen können Sie ermitteln, ob Ihre Version von Windows 10 früher oder höher als Version 2004 ist.
Verbindungsprobleme, die durch die KONFIGURATION des TAP-Windows-Adapters verursacht werden
Azure Sphere-Tools verwenden für die Kommunikation mit angeschlossenen Entwicklungsboards ein IP-Netzwerk über USB. Hierzu wird ein TAP-Windows-Adapter von OpenVPN Technologies benötigt. Dieser Adapter wird bei Bedarf im Rahmen der Installation des Azure Sphere SDK auf Ihrem PC installiert.
Zwei verschiedene Arten von Problemen wurden mit dem TAP-Windows-Adapter gemeldet:
Wenn bereits eine andere Version des TAP-Windows-Adapters installiert ist oder das Azure Sphere-Gerät nicht mit der ersten Instanz des TAP-Windows-Adapters verbunden ist, können die Azure Sphere-Tools möglicherweise keine Verbindung mit Ihrem Gerät herstellen.
Wenn Sie das virtuelle private Cisco AnyConnect-Netzwerk (VPN) verwenden, wird ihr TAP-Windows-Adapter möglicherweise nicht angeschlossen, und die Gerätekommunikation funktioniert möglicherweise nicht. Dies liegt daran, dass das VPN Datenverkehr von der IP-Adresse des TAP-Adapters wegleiten kann.
Stellen Sie sicher, dass das Azure Sphere-Gerät mit dem entsprechenden TAP-Windows-Adapter verbunden ist.
Um zu prüfen, ob das Problem auf den TAP-Adapter zurückzuführen ist, ermitteln Sie zunächst, wie viele TAP-Adapter auf Ihrem PC installiert sind, und ändern Sie anschließend ggf. die Installation.
So ermitteln Sie, wie viele TAP-Adapter auf Ihrem PC installiert sind:
Öffnen Sie Windows-Einstellungen, und wählen Sie die Gruppe "Netzwerk und Internet " aus.
Wählen Sie unter "Erweiterte Netzwerkeinstellungen" die Option "Adapter ändern" aus. Es sollte nur ein TAP-Adapter angezeigt werden, wie im folgenden Screenshot dargestellt:
Falls mehrere TAP-Adapter angezeigt werden oder nur ein TAP-Adapter angezeigt wird, dessen Name jedoch nicht „Azure Sphere“ lautet, führen Sie die folgenden Schritte aus, um alle TAP-Adapter zu deinstallieren und das SDK neu zu installieren. Sollten keine TAP-Adapter angezeigt werden, installieren Sie das SDK neu.
So deinstallieren Sie die TAP-Adapter:
Klicken Sie auf "Start", und geben Sie Geräte-Manager ein.
Öffnen Sie in Geräte-Manager Netzwerkadapter, und wählen Sie TAP-Windows-Adapter aus:
Klicken Sie mit der rechten Maustaste auf TAP-Windows-Adapter, und wählen Sie "Gerät deinstallieren" aus. Wählen Sie im Dialogfeld "Treibersoftware für dieses Gerät löschen" aus, und klicken Sie dann auf " Deinstallieren".
Öffnen Sie eine Eingabeaufforderung als Administrator, und führen Sie das folgende PowerShell-Installationsskript aus:
powershell -ExecutionPolicy RemoteSigned -File "%ProgramData%\Microsoft\Azure Sphere\TapDriverInstaller\TapDriverInstaller.ps1" Install
Starten Sie nach erfolgreicher Installation den Dienst für die Azure Sphere-Gerätekommunikation neu:
net stop AzureSphereDeviceCommunicationService
net start AzureSphereDeviceCommunicationService
Installieren Sie das Azure Sphere SDK erneut.
Korrigieren des nicht angeschlossenen Zustands bei Verwendung des Cisco AnyConnect VPN-Clients
Wenn Sie cisco AnyConnect VPN-Client verwenden, wird der TAP-Windows-Adapter möglicherweise nicht angeschlossen und die Gerätekommunikation funktioniert möglicherweise nicht. Sie können das Problem wie folgt beheben:
Stellen Sie sicher, dass Sie über Administratorrechte auf Ihrem Computer verfügen.
Öffnen Sie Windows-Einstellungen, und wählen Sie die Gruppe "Netzwerk und Internet " aus.
Wählen Sie unter "Erweiterte Netzwerkeinstellungen" die Option "Adapter ändern" aus.
Klicken Sie mit der rechten Maustaste auf Azure Sphere TAP-Windows Adapter V9, und wählen Sie "Eigenschaften" aus.
Suchen Sie auf der Registerkarte "Netzwerk " den Eintrag " Cisco AnyConnect Network Access Manager Filter Driver ", und löschen Sie das Element.
Wählen Sie "OK " aus, um die Einstellung zu speichern und die Eigenschaften zu beenden.
Überprüfen Sie, ob die Kommunikation mit Ihrem Azure Sphere-Gerät jetzt funktioniert, indem Sie eine Eingabeaufforderung öffnen und den
azsphere device show-attached
Befehl eingeben.
Das Gerät reagiert nicht.
Mindestens einer der folgenden Fehler aus einem Befehl azsphere kann darauf hindeuten, dass der Azure Sphere Device Communication Service nicht gestartet wurde:
warn: Device is not responding. Could not perform version check.
Device is not responding. Cannot get device ID.
error: Could not connect to the Azure Sphere Device Communication Service. If this issue persists, try uninstalling and reinstalling the Azure Sphere SDK.
error: The device is not responding. The device may be unresponsive if it is applying an Azure Sphere operating system update; please retry in a few minutes.
Stellen Sie sicher, dass Sie die Schritte zur Problembehandlung bei der Gerätekommunikation ausgeführt haben.
Wenn Ihr Problem weiterhin nicht behoben ist und Ihr Computer kürzlich ein Windows-Update ausgeführt hat, kann der Gerätekommunikationsdienst nach dem Windows-Update nicht gestartet werden, und in Fällen, in denen eine der internen JSON-Einstellungsdateien oder -konfigurationsdateien beschädigt wurde.
Fehler nach einem Windows-Update
Diese Fehler können auftreten, nachdem Sie Windows auf Ihrem PC aktualisiert haben. In manchen Fällen werden die für den Kommunikationsdienst erforderlichen FTDI-Treiber von Windows Update deinstalliert.
Das Problem lässt sich wie folgt beheben:
- Trennen Sie die USB-Verbindung des Azure Sphere Geräts, und verbinden Sie es erneut. Beim erneuten Verbinden des Geräts sollten die richtigen Treiber installiert werden.
- Wenn das Problem durch Entfernen und erneutes Verbinden des Geräts nicht behoben werden kann, deinstallieren Sie das Azure Sphere SDK, und installieren Sie es dann erneut.
JSON-Datei
Wenn Sie Windows nicht kürzlich aktualisiert haben, kann die Ursache für den Fehler die Datei restore.json
sein, die für den Dienst verwendet wird.
Dieses Problem lässt sich wie folgt beheben:
Speichern Sie eine Kopie der folgenden Datei:
c:\windows\serviceprofiles\localservice\appdata\local\Azure Sphere Tools\restore.json
Löschen Sie die Datei an Ihrem ursprünglichen Speicherort.
Beenden Sie Azure Sphere Device Communication Service, und starten Sie den Dienst dann neu:
net stop AzureSphereDeviceCommunicationService
net start AzureSphereDeviceCommunicationService
Beschädigte Konfigurationsdatei
Wenn beim Ausführen eines Befehls ein Fehler gemeldet wird, kann die beschädigte Konfigurationsdatei verhindern, dass Ihr Gerät ordnungsgemäß ausgeführt wird.
Um dieses Problem zu beheben, löschen Sie die beschädigte Konfigurationsdatei in azsphere\config unter Windows oder ~/.azsphere/config unter Linux.
Windows stürzt ab, wenn ein Gerät angeschlossen oder abgesteckt wird
Das MT3620-Entwickler board verfügt über einen Future Technology Devices International (FTDI) FT4232HQ Chip, der die Kommunikation zwischen Dem Gerät und PC erleichtert. Der offizielle FTDI-Treiber, Kombiniertes Treibermodell (COMBINED Driver Model, CMD), enthält zwei Treiber: einer bietet Zugriff über die D2XX-API, und die andere stellt einen virtuellen Com-Port (VCP) für dasselbe Gerät bereit. Beide Treiber werden standardmäßig installiert, wenn der FTDI-Chip den VCP-Modus aktiviert hat. Dies kann dazu führen, dass Windows abstürzt, wenn der Chip umzuschalten ist.
Um dieses Problem zu beheben, können Sie den VCP-Modus für den FTDI-Chip deaktivieren. Sie müssen das FT_PROG Tool verwenden, um den EEPROM des FTDI-Chip neu zu programmieren.
Weitere Informationen zum Herunterladen und Installieren dieses Tools finden Sie unter FTDI FT_PROG Programmierungstool .
Führen Sie FT_PROG aus, und suchen Sie ihr angefügtes Gerät, wie in FT_PROG GUI-Anwendung beschrieben.
Erweitern Sie in der Gerätestrukturansicht den Abschnitt "Hardwarespezifisch ". Es sollten vier Ports angezeigt werden.
Wählen Sie Port A und dann D2XX Direct anstelle des virtuellen Com-Ports aus.
Wiederholen Sie den vorherigen Schritt für Port C und Port D. Port B sollte sich bereits im D2XX Direct-Modus befinden.
Wählen Sie das Symbol "Programmgeräte" aus (ähnelt einem Blitz), um in den Programmiermodus zu gelangen.
Wählen Sie "Programm " aus, um das EEPROM zu programmieren, und warten Sie dann, bis das Programm abgeschlossen ist.
Trennen Sie Das Gerät vom USB-Anschluss, verbinden Sie es dann erneut mit dem Stromzyklus des Geräts, und führen Sie zu einer wirksamen Änderung. In Windows Geräte-Manager sollte der Abschnitt "Ports (COM & LPT)" nun drei weniger COM-Ports anzeigen. Die Anzahl der universellen seriellen Busgeräte sollte unverändert bleiben.
Verbindung zu Nicht-Azure Sphere FTDI-Geräten nach dem Aktivieren des RTApp-Debugs verloren
Einige Azure Sphere-Benutzer haben berichtet, dass sie nicht mehr mit anderen angeschlossenen, nicht azure Sphere FTDI-Geräten kommunizieren können, nachdem sie den Azsphere-Gerät enable-development --enable-rt-core-debugging-Befehl zum Entwickeln und Debuggen von RTApps von ihrem Host-PC verwenden.
Wenn Sie beispielsweise über ein Azure Sphere-Gerät und ein anderes FTDI-Gerät verfügen, das an Ihren PC angeschlossen ist, werden möglicherweise zwei universelle serielle Controller namens USB Serial Converter B-Geräte in Windows Geräte-Manager angezeigt, bevor Sie den Befehl ausführen.
Nach dem Ausführen des Befehls verschwinden beide USB Serial Converter B-Geräte aus dem Abschnitt "Universal Serial Bus controller", und zwei neue Geräte werden in der Anzeige von Universal Serial Bus-Geräten in Geräte-Manager angezeigt.
Ursache
Dieses Problem tritt auf, da das Azsphere-Gerät enable-development --enable-rt-core-debugging-Befehl einen neuen Treiber für Port B des FTDI-Chip auf dem MT3620 installiert; der Port wird dann MSFT MT3620 Std Interface. Die Installation dieses Treibers ändert jedoch versehentlich den Treiber für Port B des anderen Nicht-Azure Sphere-Geräts. Aufgrund einer Einschränkung in der zugrunde liegenden Bibliothek werden alle FTDI-Geräte mit demselben VID (0x0403) und PID (0x6011) ihren Port B-Treiber ersetzt.
Lösung
Führen Sie die folgenden Schritte aus, um den Treiber für alle Nicht-Azure Sphere-Geräte manuell auf seine vorherige Version zurückzuverwenden:
Wählen Sie in Geräte-Manager das Nicht-Azure Sphere-Gerät aus (Ein weiteres FTDI Quad GZ im Beispiel), klicken Sie dann mit der rechten Maustaste, und wählen Sie "Treiber aktualisieren" aus.
Wählen Sie unter "Treiber aktualisieren" die Option "Meinen Computer nach Treibersoftware durchsuchen" aus.
Wählen Sie "Auswahl zulassen" aus einer Liste der verfügbaren Treiber auf meinem Computer aus.
Wählen Sie in der Liste den USB-Seriellen Konverter B-Treiber aus, und klicken Sie dann auf "Weiter".
Klicken Sie im Bestätigungsfenster auf " Schließen ".
Geräte-Manager sollte Port B für das andere FTDI-Gerät als USB Serial Converter B anzeigen, was darauf hinweist, dass er den offiziellen FTDI-Treiber verwendet. Der Treiber für den MT3620 bleibt MSFT MT3620 Std Interface.
Weitere Informationen
Wenn Sie nach dem Ausführen des Azsphere-Geräts enable-development --enable-rt-core-debugging command, dieses Gerät dem Azure Sphere MT3620-Treiber auf die gleiche Weise zugewiesen wird, wenn Sie ein anderes, nicht azure Sphere FTDI-Gerät anschließen. Wiederholen Sie die vorstehenden Schritte, um das Gerät auf den offiziellen FTDI-Treiber zurückzuverwenden.
Wenn Sie ein Nicht-Azure Sphere FTDI-Gerät trennen und erneut anschließen, nachdem Sie es an den offiziellen FTDI-Treiber zurückgegeben haben, behält das Gerät den offiziellen FTDI-Treiber bei.
Wenn Sie den Azsphere-Gerät enable-development --enable-rt-core-debugging-Befehl erneut ausführen, nachdem Sie den Treiber zurückgesetzt haben, wird das Nicht-Azure Sphere FTDI-Gerät erneut seinen Treiber ersetzt, und Sie müssen die Schritte in Solution ausführen, um zum offiziellen FTDI-Treiber zurückzuwechseln. Dies geschieht unabhängig davon, ob das Nicht-Azure Sphere FTDI-Gerät an den PC angeschlossen ist, wenn der Azsphere-Gerät enable-development --enable-rt-core-debugging-Befehl ausgeführt wird.
Nicht erkannte Befehle
Wenn beim Eingeben eines Azsphere-Befehls der folgende Fehler angezeigt wird, stellen Sie sicher, dass Sie PowerShell oder eine Standard-Eingabeaufforderung unter Windows verwenden.
'azsphere' is not recognized as an internal or external command, operable program or batch file.
Installationsprogramme hängen bei 60 Prozent
Das Installationsprogramm hängt bei 60 %, und Sie werden angewiesen, dass der Gerätekommunikationsdienst nicht gestartet werden konnte. Dies tritt in der Regel auf, wenn die TAP-Treiberinstallation auf seltsame Weise fehlschlägt und das System in einem unbestimmten Zustand bleibt.
Vergewissern Sie sich, dass das Problem der TAP-Treiber ist.
Öffnen Sie die Windows Ereignisanzeige, um die Protokolle zu überprüfen.
Suchen Sie im Anwendungsprotokoll und im Azure Sphere Device Communication Service-Protokoll nach der folgenden Fehlermeldung:
"SerialSlipToTun.TunInterfaceSetupException: Fehlerzugriff tun Registrierungseinstellungen ---> System.Collections.Generic.KeyNotFoundException: Tun Tippen Auf Gerät nicht gefunden ---> System.Security.SecurityException: Angeforderter Registrierungszugriff ist nicht zulässig."
Filtern Sie beim Überprüfen des Anwendungsprotokolls das Protokoll, um zu vermeiden, dass die vielen nicht verknüpften Nachrichten angezeigt werden. Wählen Sie auf der Registerkarte "Aktion" die Option "Aktuelles Protokoll filtern" aus.
Wählen Sie "Fehler" und dann "AzureSphereDeviceCommunicationService " aus, um nur Fehlermeldungen aus dem Azure Sphere Device Communication Service auflisten zu können.
Wenn Sie den Fehler nicht im Anwendungsprotokoll oder im Azure Sphere Device Communication Service-Protokoll finden können, ist dies möglicherweise kein TAP-Treiberproblem.
Führen Sie die folgenden Schritte aus, um das TAP-Treiberproblem zu beheben:
Wechseln Sie zum Netzwerk- und Freigabecenter, und wählen Sie "Adaptereinstellungen ändern" aus.
Wählen Sie in Netzwerkverbindungen unter Azure Sphere TAP-WIndows Adapter V9 aus, und öffnen Sie dessen Eigenschaften.
Wählen Sie in Azure Sphere-Eigenschaften die Internetprotokollversion 4 (TCP/IPv4) und dann "Eigenschaften" aus, um die Protokolleinstellungen anzuzeigen.
Stellen Sie sicher, dass die IP-Adresse auf 192.168.35.1 festgelegt ist und die Subnetzmaske auf 255.255.255.0 festgelegt ist.
Versuchen Sie es erneut. Wenn sie weiterhin hängen bleibt, versuchen Sie, Ihre Netzwerkverbindungen zurückzusetzen. Um eine Zurücksetzung durchzuführen, wechseln Sie zu "Netzwerk- und Internetstatus>">, und wählen Sie "Netzwerkzurücksetzung" am unteren Rand der Seite aus.
Wichtig
Durch das Zurücksetzen Ihres Netzwerks werden alle Netzwerkeinstellungen zurückgesetzt.
Beenden des Azure Sphere Device Communication Service
Wenn das Installationsprogramm hängt, können Sie den Azure Sphere Device Communication Service mit dem Befehl "Taskkill " beenden.
Führen Sie folgende Schritte aus:
Kopieren Sie die PID für AzureSphereDeviceCommunicationService.
- Wechseln Sie zur Registerkarte "Task Manager>Services", und notieren Sie sich die PID für den AzureSphereDeviceCommunicationService-Dienst, oder
- Geben Sie
tasklist /fi "SERVICES eq AzureSphereDeviceCommunicationService*"
in der Befehlszeile die PID aus der Ausgabe ein, und kopieren Sie sie.
Geben Sie Folgendes in der Befehlszeile ein, um den Dienst zu beenden. Der Taskkill-Befehl beendet den Prozess, der der Prozess-ID-Nummer entspricht. Die
/f
Option wird verwendet, um den Prozess erzwungen zu beenden.taskkill /PID <DCS_PID> /f
Versuchen Sie es erneut.
Azure Sphere Device Communication Service kann nicht beendet werden.
Beim Upgrade eines vorhandenen Azure Sphere SDK wird möglicherweise eine Meldung mit dem Hinweis "Dienst 'Azure Sphere Device Communication Service' (AzureSphereDeviceCommunicationService) konnte nicht beendet werden. Stellen Sie sicher, dass Sie über ausreichende Berechtigungen zum Beenden von Systemdiensten verfügen." Wenn Sie diese Meldung erhalten, starten Sie das Installationsprogramm neu, und führen Sie es erneut aus.
Die Gerätekommunikation ist unterbrochen, wenn geteilte Tunnel verwendet werden
Wenn ein Entwicklungscomputer mit dem Unternehmens-VPN verbunden ist und das geteilte Tunneling durch die VPN-Konfiguration deaktiviert wird, kann der Entwicklungscomputer möglicherweise nicht mit dem Azure Sphere-Gerät kommunizieren.
Führen Sie zur Beseitigung dieses Problems einen der folgenden Schritte aus:
- Trennen Sie die Verbindung mit dem Unternehmens-VPN, und versuchen Sie es erneut mit dem Azure Sphere-Gerät.
- Ändern Sie die VPN-Konfiguration, um geteilte Tunneling zuzulassen.
Kommunikationsprobleme können auch durch die KONFIGURATION des TAP-Windows-Adapters verursacht werden. Weitere Informationen finden Sie im Abschnitt zur Problembehandlung bei der Konfiguration der TAP-Windows-Adapter.
Azure Sphere SDK kann unter Windows 11 nicht installiert oder deinstalliert werden.
Nach dem Upgrade auf Windows 11 können Benutzer das Azure Sphere SDK nicht installieren oder deinstallieren. Um dieses Problem zu beheben, installieren Sie die neueste Version des Azure Sphere SDK für Windows. Nach der Installation von 21.07 Update 2 oder höher können Sie das SDK deinstallieren.
Kompilieren oder Debuggen von RTApps nicht möglich
Falls für CMake Fehler beim Ermitteln der Toolketten oder von openocd
gemeldet werden, wenn Sie eine RTApp erstellen oder debuggen möchten, sollten Sie Folgendes sicherstellen:
- Sie haben die GNU Arm Embedded Toolchain für Ihre Entwicklungsumgebung installiert.
- Sie haben den richtigen Pfad
openocd
wie im Lernprogramm beschrieben angegeben: Erstellen einer echtzeitfähigen Anwendung.
Problembehandlung bei Problemen mit der Gerätekommunikation vor 23.05
Warnung
Diese Schritte gelten für Benutzer mit SDK Version 22.11 oder einer früheren Version. Überprüfen Sie, ob die installierte SDK-Version 22.11 oder früher ist, indem Sie azsphere show-version ausführen.
Auf Linux-Systemen, auf denen SDK Version 22.11 oder früher ausgeführt wird, muss das azsphere_connect.sh-Skript jedes Mal ausgeführt werden, wenn Sie das Gerät anschließen oder abkoppeln oder trennen. Das Skript aktualisiert Geräteverbindungen und spawnsiert einen Kerneltreiber, der den Netzwerkdatenverkehr dem Gerät zuordnet.
Wenn Probleme mit der Kommunikation auftreten, beginnen Sie mit den folgenden grundlegenden Schritten:
Stellen Sie sicher, dass das Gerät per USB verbunden ist.
Führen Sie das skript azsphere_connect.sh aus, sofern dies noch nicht geschehen ist.
Überprüfen Sie, ob Sie direkt mit dem Gerät kommunizieren können. https://192.168.35.2/status Navigieren Sie zu einem Webbrowser. Ignorieren und Schließen aller angezeigten SSL-Warnungen. Die Ausgabe sollte ähnlich wie
{"uptime":56}
im Webbrowserfenster angezeigt werden.
Hinweis
Sie können diesen Schritt auch über die Befehlszeile ausführen.curl https://192.168.35.2/status --insecure
Wenn der Fehler weiterhin besteht, trennen Sie das Gerät vom USB-Anschluss, schließen Sie es erneut an, und warten Sie, bis es neu gestartet wird. Führen Sie dann das skript azsphere_connect.sh aus.
Wenn der Fehler weiterhin auftritt, stellen Sie sicher, dass keine Subnetzkonflikte mit anderen Netzwerktools auftreten.