Problembehandlung

Dies ist ein Artikel, der allgemeine Themen zur Behandlung von Problemen behandelt, die bei Benutzern auftreten können.

Tipp

Um etwas bestimmtem zu suchen, verwende STRG+F, und gib ein Wort oder einen Ausdruck ein.

SKU identifizieren

GetProductInfo API identifiziert die IoT Core-SKU/Edition-Informationen. Die Editions-/Produkt-ID wird in das Bild eingebrannt.

PRODUCT_IOTUAP: 0x0000007B = Windows 10 IoT Core

Weitere Informationen zu Editions-IDs finden Sie hier.

Zuordnen von Hardware-vkeys auf Windows 10 IoT Core

Wechseln Sie zur Berichterstattung als HID-Tastatur und zum Senden von VKs anstelle von Verbrauchersteuerelementen.

Minimierung der Speicherzuweisung

Wenn Sie den vom Betriebssystem gesteuerten Speicher und die Verarbeitung für die Anzeige minimieren möchten, stellen Sie sicher, dass das Betriebssystem frei ist und keine Anzeige angeschlossen ist. Stellen Sie sicher, dass die Intel INF-Einstellungen keine Anzeige vortäuschen, wenn keine angeschlossen ist, und konfigurieren Sie alle Ausgänge als externen DisplayPort. Dies sollte dazu führen, dass DWM ausgeführt wird, sich aber so verhält, als wäre der Monitor im Leerlauf.

Abrufen von Losen und Abrufen von Crash-Dumps

Speziell für UWP-Apps:

  1. Lassen Sie Ihren App Store signieren, und Sie erhalten Telemetriedaten über das App-Portal im Dev Center. Sie erhalten Call-Stacks, aber keine vollständigen Dumps.
  2. Sie können WerRegisterAppLocalDump verwenden, um Ihre App dazu zu bringen, Protokolle zu speichern, und dann können Sie sie von der App hochladen lassen, wohin Sie möchten.
  3. Darüber hinaus können Sie noch mit VSAppCenter oder HockeyApp weiter instrumentieren.

Bei Systemproblemen (NTServices, OS-Stabilität oder Treiber):

  1. Wir arbeiten an einem Partner Telemetry Insights-Portal, damit Kunden Call-Stacks und Informationen zu abstürzenden Diensten, Betriebssystemkomponenten und Treibern erhalten können.
  2. Sie können ein benutzerdefiniertes Skript oder eine Exe haben, um dmp-Dateien vom Gerät zu sammeln.
  3. Sie können Azure IoT DM verwenden, um die ETW-Ablaufverfolgung auf dem Gerät nach Bedarf zu konfigurieren und Protokolle zu erfassen.
  4. Sie können eine benutzerdefinierte Exe erstellen, um wevtapi.dll aufzurufen und den Grund für das letzte Herunterfahren aufzuzeichnen.

Ausführen von SLEEPSTUDY

Wenn beim Versuch, SLEEPSTUDY in Windows 10 IoT Core auszuführen, der Fehler 0x080004005 auftritt, müssen Sie Folgendes tun, um einen SLEEPSTUDY-Bericht zu generieren:

  1. Führen Sie von SSH/PowerShell aus diesen Befehl auf IoT Core aus; powercfg / sleepstudy / xml
  2. Dadurch wird eine „sleepstudy-report.xml“ generiert.
  3. Kopieren Sie den generierten Bericht sleepstudy-report.xml auf einen Desktop-Rechner und führen Sie „powercfg/sleepstudy/transformxml sleepstudy-report.xml“ aus
  4. Der endgültige sleepstudy-report.html wird generiert.

Warten von Apps und Umgang mit NTServices

Schnelle App-Iterationen können mit dem App Store oder mit Azure Blob durchgeführt werden. Mit dem App Store müssen Sie das CDN und egrees nicht bezahlen. Es gibt auch eine kostenlose weltweite CDN-Abdeckung mit dem Geschäft. Es ist eine gute Daumenregel, um eine Store-ID und ein Store-Update beim Versand für ein schnelles App-Update bereitzuhalten.

Festlegen der Bluetooth-Geräteklasse auf „kein PC“

Für eine gute Interop- und Bluetooth-Kompatibilität ist es wichtig, dass der Bluetooth-Stack eine geeignete Geräteklasse (COD) angibt. Die verschiedenen Werte sind hier durch die Norm definiert.   Standardmäßig liest Windows die Formfaktor-Daten aus dem SmBios-Gehäusetypwert (siehe Tabelle 17 auf Seite 38) und leitet daraus die Felder Major Device Class und Minor Device Class des CoD ab. Wenn eine Plattform die über den Gehäusetyp zugewiesene Standard-COD überschreiben möchte, kann sie dies tun, indem sie die hier dokumentierten Werte „COD Major“ und „COD Type“ festlegt.

Einstellen des Computernamens

IoT verfügt über ein integriertes Win32-Tool namens „SetComputerName“.  Dies kann aufgerufen werden, um den Computernamen zu ändern.  Zum Ändern des Namens ist ein Neustart erforderlich.  Leider muss dieses Dienstprogramm aus dem Administrator-Kontext aufgerufen werden und UWP-Apps werden im DefaultAccount-Benutzerkontext ausgeführt.   Eine Möglichkeit, dies zu umgehen, besteht darin, eine Batchdatei von einer manuell ausgelösten geplanten Aufgabe auszuführen, die SetComputerName aufruft.  Die Batchdatei muss den gewünschten Computernamen aus einer Textdatei lesen, in der Ihre Haupt-UWP-App den Namen speichert.  Beispielsweise könnte die UWP-App eine Datei im öffentlichen Dokumentenordner speichern und die Batchdatei würde sie von dort lesen.  Die UWP-App müsste dann den Prozessstarter verwenden (um die Ausführung der geplanten Aufgabe auszulösen (z. B. schtasks /run /TN „SetMyComputerNameTask“) Lesen Sie hier die ProcessLauncher-Dokumentation. Lesen Sie hier die schTasks-Dokumentation

Unterstützung für ASUS Tinkerboard und Rockchip

ASUS Tinkerboard und Rockchip werden zwar nicht offiziell von uns unterstützt, es gibt aber Fälle, in denen Rockchip mit Drittanbietern zusammengearbeitet hat, um SoC auf Windows 10 IoT Core verwenden zu können.

Problem beim Verbinden eines MBM-Geräts während des Roamings

Es gibt zwei Punkte, die zu berücksichtigen sind, wenn du Roaming aktivierst:

  1. Die Datei „profile.xml“ konfiguriert das Roaming und legt das Verhalten fest, automatisch eine Verbindung mit dem Mobilfunknetz herzustellen. Wenn Sie ein Profil für das Roaming festlegen möchten, lesen Sie diesen Artikel.

      <!-- applicability to any combination of home carrier, partner MOs and non-partner MOs, except for HomeAndNonPartner -->
      <xs:simpleType name="roamApplicabilityType">
        <xs:restriction base="xs:token">
           <xs:enumeration value="NonPartnerOnly"/>
           <xs:enumeration value="PartnerOnly"/>
           <xs:enumeration value="HomeOnly"/>
           <xs:enumeration value="HomeAndPartner"/>
           <xs:enumeration value="PartnerAndNonpartner"/>
           <xs:enumeration value="AllRoaming"/>
        </xs:restriction>
      </xs:simpleType>
    
      <xs:simpleType name="roamControlType">
        <xs:restriction base="xs:token">
           <xs:enumeration value="AllRoamAllowed"/>
           <xs:enumeration value="PartnerRoamAllowed"/>
           <xs:enumeration value="NoRoamAllowed"/>
        </xs:restriction>
      </xs:simpleType>
    

    Um ein Profil für die automatische Verbindung festzulegen, wähle „auto“ aus:

    <!-- Connection Mode, default is "manual" -->
        <xs:element name="ConnectionMode" minOccurs="0">
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <!-- manual connect always -->
              <xs:enumeration value="manual" />
              <!-- auto connect always -->
              <xs:enumeration value="auto" />
              <!-- auto connect when not roaming -->
              <xs:enumeration value="auto-home"/>
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
    
  2. Ein weiterer Faktor ist, dass die schnittstellenbasierte Roamingrichtlinie erfüllt sein muss. Diese Richtlinie ist standardmäßig auf FALSE (nur Netzbetreiber des Heimstandorts) festgelegt. Dies kann abgefragt und in der Befehlszeile über netsh mbn get/set dataroamcontrol. geändert werden.

    Beispiel:

        netsh mbn show dataroamcontrol int=*
        netsh mbn set dataroamcontrol interface=Cellular profileset=all state=all
        netsh mbn set dataroamcontrol help
    

    Du erhältst möglicherweise die Fehlermeldung 0x139f (ERROR_INVALID_STATE), wenn sich das Gerät im Roamingbetrieb befindet, aber die Roamingrichtlinie lässt kein Datenroaming zu – Fehler bei einer an wwansvc gesendeten Verbindungsanforderung.

Probleme beim Starten von Raspberry Pi 3B+

Hinweis

Diese Version für das Raspberry Pi 3B+ ist eine nicht unterstützte Technical Preview. Die begrenzte Validierung und Aktivierung ist abgeschlossen. Für eine bessere Evaluierungserfahrung und für alle kommerziellen Produkten verwende Raspberry Pi 3B oder andere Geräte mit unterstützten Intel-, Qualcomm- oder NXP-SoCs. Zur Behandlung von Problemen mit dem Raspberry Pi 3B findest du hier unser Handbuch zur Problembehandlung.

Raspberry Pi 3 Modell B+ ist das neueste Produkt der Raspberry Pi 3-Reihe, ausgestattet mit Quad-Core 64-Bit-Prozessor mit 1,4 GHz, 2,4-GHz-Dual-Band- und 5-GHz-WLAN, Bluetooth 4,2/BLE, schnelleres Ethernet, und PoE-Funktionen über separates PoE HA.

Bei vielen Kunden, die sich für Windows 10 IoT Core interessieren, ist in der letzten Zeit ein Problem aufgetreten, bei dem das Gerät nach dem Ausführen eines Flashs von Windows 10 IoT Core nicht normal gestartet werden konnte, aber Raspbian funktionierte ohne Probleme. Im folgenden findest du einige Vorschläge zum Beheben des Startproblems.

Es gibt einige bekannte Probleme in diesem Insider Preview-Image. Beachten Sie Folgendes:

  • Dieses Image ist nur für den Raspberry Pi 3B+ bestimmt und kann auf Raspberry Pi 2 nicht gestartet werden.
  • Die F5-Treiberbereitstellung aus Visual Studio funktioniert nicht für Windows 10 IoT Core.
  • Das Onboarding von WLAN und Bluetooth funktionier auf Raspberry Pi 3B+ nicht.
  • Der Ft5406-Touchscreentreiber ist auf Raspberry Pi 3B+ deaktiviert.
  • Die Aktivitäts-LED der SD-Karte ist deaktiviert.

Es gibt nur zwei Anforderungen bei der Auswahl der mit Windows 10 IoT Core zu verwendenden SD-Karten. Du musst eine SD-Karte der Klasse 10 verwenden und sicherstellen, dass die Karte ausreichend Speicherplatz aufweist (mindestens 8 GB). Es gibt eine Reihe von SD-Karten, deren Kompatibilität mit Windows 10 IoT Core von Microsoft bestätigt wurde:

  • Samsung EVO 32 GB Micro-SDHC-Karte der Klasse 10
  • SanDisk Ultra Micro-SDHC-Karte, 16 GB

Generell muss du sicherstellen, dass die SD-Karte nicht gefälscht, beschädigt oder fehlerhaft ist. Die SD-Karte ist gleichermaßen anfällig gegenüber Beschädigungen aufgrund verschiedener Faktoren wie z. B. Stromausfall oder falsches Entfernen. Es ist wichtig, Ihre Speicherkarte vor Beschädigungen zu schützen.

Zum Ausführen eines Flashs Ihres Images auf eine SD-Karte können Sie das Windows 10 IoT Core-Dashboard verwenden. Du musst „Benutzerdefiniert“ im Feld „Betriebssystembuild“ auswählen und dann die FFU-Datei angeben, due du per Flash kopieren möchtest.

Überprüfe das Gerät auf Hardwarefehler. Es gibt wie beim Raspberry Pi 3B-Board zwei LEDs am Raspberry Pi 3B+-Board. Eine für PWR, die andere für ACT. Wie oft die ACT-LED blinkt, zeigt an, ob das Board gestartet wird. Die Aktivitäts-LED der SD-Karte blinkt während bestimmter Phasen des Startvorgangs auf dem Raspberry Pi 3B+ nicht.

Wenn das Gerät gestartet wird und das Gerät die Seite „Warten“ anzeigt, warte bitte ab. In der Regel dauert dies bis zu einer Minute. Aber in einigen Fällen kann es in Abhängigkeit von der Geschwindigkeit der Lese-/ Schreibzugriffe der SD-Karte länger dauern.

Wenn das Gerät mit Windows 10 IoT Core nicht normal gestartet werden kann, versuche, ein Linux-Betriebssystem (z. B. Raspbian) durch Ausführen eines Flash auf die SD-Karte zu kopieren, um einzugrenzen, ob das Problem durch die Hardware verursacht wird.

Wenn ein „Regenbogen“-Bildschirm angezeigt wird, vergewissere dich, ob du die hier verfügbare 3B+ Releaseversion per Flashvorgang kopiert hast. Du kannst den Prozess anhand des hier von der Community bereitgestellten Tutorials zum Flashen von 3B+ überprüfen.

Kommunikation über seriellen Anschluss auf Windows 10 IoT Core für Raspberry Pi

Auf dem Raspberry Pi können die Hardwareadapter UART und USB UART für die Anwendung mit serieller Kommunikation verwendet werden. Standardmäßig sind die UART-Übertragungs- und Empfangspins die Pins 8 und 10 für den GPIO-Header.

UART und USB UART-Adapter

In diesem Artikel findest Du weitere Informationen zum Initialisieren von UART0 und zum Ausführen eines Schreibvorgang, gefolgt von einem Lesevorgang.

Darüber hinaus ist Radio Frequency Communication (RFCOMM) die zugrunde liegende serielle Kommunikation für klassisches Bluetooth. In diesem GitHub-Beispiel finden Sie Informationen zum Ausführen von UWP-Apps in Windows 10 IoT Core, um eine Verbindung über ein IoT-Gerät mit Bluetooth Serial herzustellen.

Wenn du feststellst, dass das Gerät keine Daten über den seriellen Anschluss lesen/schreiben kann, führe die folgenden Schritte zur Problembehandlung aus:

  1. Verbinde TX über den Jumper mit RX (siehe unten), und führe den Beispielcode aus, um zu überprüfen, ob die App Daten lesen/schreiben kann. Wenn dies nicht funktioniert, ist die IC auf dem Board möglicherweise beschädigt.

    TX mit RX auf Raspberry Pi

  2. Stellen Sie sicher, dass BaudRate, Handshake und StopBits ordnungsgemäß konfiguriert sind. Weist der zu testende serielle Anschluss eine vollständige RS232-Schnittstelle auf (z. B. DB9), verwende DB-Plug, wobei du die RxTx-Crossoverkabel mit den typischen Handshake-Crossovers verbindest. Einige RS232-Ports (oder USB-Adapter) erfordern Signale wie „Carrier Detect (DCD)“ und „DCE Ready (DSR)“, um eine Bestätigung zu erhalten, bevor sie ordnungsgemäß funktionieren.

  3. Du möchtest USB UART-Adapter für Windows 10 IoT Core verwenden? Die folgenden Adapter werden unterstützt:

  • CP2102 USB 2.0
  • TTL Module Serial-Konverter
  • FTDI
  • Generische „usbser.sys“

Sie können auch den devcon.exe-Stapel und das Cmdlet devcon.exe status verwenden, um den erwarteten Treiberstapel und die Treiber zu überprüfen, die auf Windows 10 IoT Core status.

USB\VID_10C4&PID_EA60\0001
    Name: Silicon Labs CP210x USB to UART Bridge
    Setup Class: {4d36e978-e325-11ce-bfc1-08002be10318} Ports
    Controlling service:
        silabser

Mincomm ist ein weiteres nützliches Tool zur Behandlung von Problemen mit dem seriellen Anschluss. Dieses Tool kann Ports auflisten, deren Anzeigenamen und Geräte-ID bereitstellen, Ports öffnen, Einstellungen konfigurieren (d. h. Baudrate, Stoppbits usw.) sowie Daten senden und empfangen.

Sirep Test-Dienst

Der Sirep Test-Dienst ist in Retail-Bildern zwar nicht standardmäßig aktiviert, wenn du den Sirep-Dienst aber trotzdem beim Start deaktivieren möchtest, kannst du dich anmelden und Sirep über „AutoStart“ deaktivieren.

Du kannst zu diesem Zweck die folgenden PowerShell-Befehle verwenden, wie unten dargestellt:

administrator@MINWINPC C:\Data\Users\administrator>sc stop TestSirepSvc

SERVICE_NAME: TestSirepSvc
       TYPE               : 20  WIN32_SHARE_PROCESS
        STATE              : 3  STOP_PENDING
                                (STOPPABLE, NOT_PAUSABLE, ACCEPTS_PRESHUTDOWN)
        WIN32_EXIT_CODE    : 0  (0x0)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x4
        WAIT_HINT          : 0x1770

administrator@MINWINPC C:\Data\Users\administrator>sc query TestSirepSvc

SERVICE_NAME: TestSirepSvc
        TYPE               : 20  WIN32_SHARE_PROCESS
        STATE              : 1  STOPPED
        WIN32_EXIT_CODE    : 0  (0x0)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x0

administrator@MINWINPC C:\Data\Users\administrator>sc config TestSirepSvc start=disabled
[SC] ChangeServiceConfig SUCCESS

Tablet-Modus

„Tablet-Modus“ ist ein Konzept, das nur in der Desktop-Shell verwendet werden kann und nicht auf IoT Core anwendbar ist.

Wenn das Gerät über unterstützte Hardware (entweder über I2C oder USB HID Touch) verfügt, sollte die Toucheingabe mit den Posteingangsklassentreibern automatisch funktionieren. Weitere Informationen zu diesem Thema finden Sie hier.

Yubikey-Unterstützung

Windows 10 IoT Core bietet keine Unterstützung für Smartcards. Smartcards werden jedoch in der Regel für Benutzeridentität und nicht für Geräteidentität verwendet, da sie über PINs gesichert sind, und Yubikey verfügt über eine Taste zum Drücken. Dies lässt sich nicht mit einem IoT-Gerät vereinbaren. Wenn du eine alternative Möglichkeit suchst, ist ein TPM 2.0 auf dem Gerät möglicherweise besser geeignet als ein Yubikey oder eine Smartcard. Wir bieten vollständig zertifizierte Unterstützung für TPMs. Sie sind zum Speichern von Geräten sowie Benutzerzertifikaten und Azure IoT-Zugriffsanmeldeinformationen (Limpets) bestimmt.