Risoluzione dei problemi

Questo articolo contiene le procedure di risoluzione dei problemi comuni che possono verificarsi.

Suggerimento

Per trovare un argomento specifico, usa CTRL+F per cercare una parola o una frase.

Identificazione dello SKU

GetProductInfo API identifica le informazioni sullo SKU/edizione di IoT Core. L'ID edizione/prodotto verrà inserito nell'immagine.

PRODUCT_IOTUAP: 0x0000007B = Windows 10 IoT Core

Altre informazioni sugli ID edizione sono disponibili qui.

Mapping delle chiavi virtuali hardware in Windows 10 IoT Core

Passare alla creazione di report come tastiera HID e all'invio di VK invece dei controlli consumer.

Riduzione al minimo dell'allocazione di memoria

Se si vuole ridurre al minimo la memoria controllata del sistema operativo e l'elaborazione per la visualizzazione, assicurarsi che il sistema operativo sia chiaro e che non sia collegato alcun display. Assicurarsi che le impostazioni Intel INF non facciano un display quando nessuno è collegato e configurare eventuali output come DisplayPort esterni. Ciò dovrebbe comportare l'esecuzione di DWM, ma agire come se il monitoraggio sia inattiva.

Recupero di molti e recupero di dump di arresto anomalo

Per le app UWP in particolare:

  1. Ottenere l'accesso all'App Store e si riceveranno i dati di telemetria tramite il portale delle app in Dev Center. Si riceveranno stack cal, ma non dump completi.
  2. Puoi usare WerRegisterAppLocalDump per ottenere l'app per eseguire il dump dei log e quindi puoi caricarli ovunque ti piaccia.
  3. Inoltre, è possibile instrumentare ulteriormente con VSAppCenter o HockeyApp.

Per problemi di sistema (NTServices, stabilità del sistema operativo o driver):

  1. Microsoft sta lavorando a un portale di Informazioni dettagliate sui dati di telemetria dei partner per consentire ai clienti di ricevere stack di chiamate e informazioni sui servizi di arresto anomalo, sui componenti del sistema operativo e sui driver.
  2. È possibile avere uno script personalizzato o un file exe per raccogliere i file dmp dal dispositivo.
  3. È possibile usare Azure IoT DM per configurare la traccia ETW nel dispositivo in base alle esigenze e acquisire i log.
  4. È possibile compilare un file exe personalizzato per chiamare in wevtapi.dll e registrare l'ultimo motivo di arresto.

Esecuzione di SLEEPSTUDY

Se si verifica l'errore 0x080004005 durante il tentativo di eseguire SLEEPSTUDY in Windows 10 IoT Core, è necessario eseguire le operazioni seguenti per generare un report SLEEPSTUDY:

  1. Da SSH/PowerShell eseguire questo comando in COre IoT; powercfg / sleepstudy / xml
  2. Verrà generato un "sleepstudy-report.xml".
  3. Copiare il report sleepstudy-report.xml generato in un computer desktop ed eseguire "powercfg/sleepstudy/transformxml sleepstudy-report.xml"
  4. Verrà generato il sleepstudy-report.html finale.

Manutenzione di app e gestione di NTServices

Le iterazioni veloci dell'app possono essere eseguite con il App Store o usando BLOB di Azure. Con l'App Store non è necessario pagare per la rete CDN e gli egrees. È disponibile anche la copertura della rete CDN in tutto il mondo gratuitamente con lo Store. È una buona regola generale ottenere un ID dello Store e un aggiornamento dello Store pronti per la spedizione per un aggiornamento rapido dell'app.

Impostazione della classe Bluetooth del dispositivo su "not a PC"

Per una buona compatibilità di interoperabilità e Bluetooth, è importante che lo stack Bluetooth indichi una classe appropriata di dispositivo (COD). I vari valori sono definiti dallo standard.   Per impostazione predefinita, Windows legge i dati del fattore di forma dal valore del tipo di enclosure SmBios (vedere la tabella 17 nella pagina 38) e deriva i campi Classe dispositivo principale e Classe dispositivo secondaria del coD. Se una piattaforma vuole eseguire l'override del COD predefinito assegnato tramite il tipo di enclosure, può farlo impostando i valori "COD Major" e "COD Type" documentati qui.

Impostazione del nome del computer

IoT ha uno strumento Win32 predefinito denominato "SetComputerName".  Questa operazione può essere chiamata per modificare il nome computer.  Per modificare il nome è necessario un riavvio.  Sfortunatamente, questa utilità deve essere chiamata dal contesto di amministratore e le app UWP vengono eseguite nel contesto utente DefaultAccount.   Un modo per risolvere questo problema consiste nell'eseguire un file batch da un'attività pianificata attivata manualmente che chiama SetComputerName.  Il file batch dovrà leggere il nome del computer desiderato da un file di testo in cui l'app UWP principale salverà il nome.  Ad esempio, l'app UWP potrebbe salvare un file nella cartella dei documenti pubblici e il file batch lo leggerà da lì.  L'app UWP dovrà quindi usare l'utilità di avvio del processo (per attivare l'esecuzione dell'attività pianificata, ad esempio schtasks /run /TN "SetMyComputerNameTask") Leggere la documentazione di processlauncher qui Leggere la documentazione di schTasks qui

Supporto di ASUS Tinkerboard e Rockchip

Anche se i dispositivi ASUS Tinkerboard e Rockchip non sono ufficialmente supportati da Microsoft, in alcuni casi Rockchip ha collaborato con terze parti per rendere il SoC compatibile con Windows 10 IoT Core.

Problema di connessione a un dispositivo MBM durante il roaming

Quando abiliti il roaming, dovrai considerare due fattori:

  1. Il file profile.xml configura il roaming e imposta il comportamento in modo da stabilire automaticamente una connessione alla rete cellulare. Per impostare un profilo per il roaming, vedere questo articolo.

      <!-- 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>
    

    Per impostare un profilo per la connessione automatica, seleziona "auto":

    <!-- 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. Un altro fattore riguarda i criteri di roaming che è necessario soddisfare per ogni interfaccia. Per impostazione predefinita, questi criteri sono impostati su FALSE ("solo operatore domestico"). Puoi eseguire una query e cambiare questa impostazione tramite netsh mbn get/set dataroamcontrol. dalla riga di comando

    Esempio:

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

    Puoi ricevere il messaggio di errore 0x139f (ERROR_INVALID_STATE) nel caso in cui il roaming sia attivo nel dispositivo ma i relativi criteri non consentano il roaming dei dati (errore in una richiesta di connessione inviata a wwansvc).

Problemi di avvio di Raspberry Pi 3B+

Nota

Questa versione del dispositivo Raspberry Pi 3B+ è un'anteprima tecnica non supportata. Sono state completate procedure limitate di convalida e abilitazione. Per un'esperienza di valutazione migliore e per qualsiasi prodotto commerciale, usa il dispositivo Raspberry Pi 3B o altri dispositivi con SoC Intel, Qualcomm o NXP supportati. Per la risoluzione dei problemi relativi a Raspberry Pi 3B+, vedi la Guida alla risoluzione dei problemi qui.

Il modello Raspberry Pi 3 B+ è il prodotto più recente della gamma Raspberry Pi 3, che vanta un processore quad-core a 64 bit a 1,4GHz, LAN wireless dual band a 2,4 GHz e 5 GHz, Bluetooth 4.2/BLE, Ethernet più veloce e funzionalità PoE tramite una scheda host PoE separata.

Di recente, molti clienti interessati a Windows 10 IoT Core hanno riscontrato un problema per cui non è possibile avviare il dispositivo normalmente dopo il flashing di Windows 10 IoT Core, mentre funziona correttamente con il sistema operativo Raspbian. Ecco alcuni suggerimenti su come risolvere il problema di avvio.

In questa immagine di Insider Preview ci sono problemi noti. Si noti che:

  • Questa immagine è destinata solo al dispositivo Raspberry Pi 3B+ e non verrà avviata in Raspberry Pi 2.
  • La distribuzione di driver con F5 da Visual Studio non funziona in Windows 10 IoT Core.
  • Le funzionalità Wi-Fi e Bluetooth integrate non funzionano nel dispositivo Raspberry Pi 3B+.
  • Il driver dello schermo touchscreen Ft5406 è disabilitato nel dispositivo Raspberry Pi 3B+.
  • Il LED attività della scheda SD è disabilitato.

Per la scelta delle schede SD da usare con Windows 10 IoT Core esistono solo due requisiti. Devi usare una scheda SD di classe 10 e assicurarti che abbia almeno 8 GB di spazio. Microsoft ha verificato la compatibilità di un paio di schede SD con Windows 10 IoT Core:

  • Scheda Micro SDHC Samsung EVO da 32 GB classe 10
  • Scheda Ultra Micro SDHC SanDisk da 16 GB

In generale, devi verificare se la scheda SD è falsa oppure se è danneggiata. La scheda SD può risultare danneggiata a causa di un'ampia varietà di fattori, tra cui alimentazione insufficiente o rimozione impropria. È importante proteggere la scheda di memoria dai danni.

Per eseguire il flashing dell'immagine in una scheda SD, è possibile usare Dashboard Windows 10 IoT Core. Dovrai scegliere "Custom" (Personalizza) nel campo relativo alla build del sistema operativo, quindi seleziona il file FFU di cui eseguire il flashing.

Verifica se nel dispositivo sono presenti guasti hardware. Sulla scheda Raspberry Pi 3B+ sono presenti due LED, come sul modello 3B. Uno è relativo all'alimentazione (PWR) e l'altro all'attività (ACT). Il numero di lampeggiamenti emessi dal LED ACT determina se l'avvio della scheda è in esecuzione o meno. Il LED attività della scheda SD non lampeggia in alcune fasi dell'avvio del dispositivo Raspberry Pi 3B+.

Durante l'avvio del dispositivo e mentre viene visualizzata la pagina di attesa, aspetta con pazienza. In genere, l'operazione dura al massimo un minuto. Ma a volte, a causa della velocità in lettura-scrittura della scheda SD, può essere necessario più tempo.

Se il dispositivo non può essere avviato normalmente con Windows 10 IoT Core, puoi provare a eseguire il flashing di un sistema operativo Linux, come Raspbian, nella scheda SD per verificare se il problema è causato dall'hardware.

Se viene visualizzata la "schermata arcobaleno", assicurati di aver eseguito il flashing della versione 3B+, disponibile qui. Puoi verificare il processo con un'esercitazione sul flashing di 3B creata dalla community e disponibile qui.

Comunicazione tramite porta seriale in Windows 10 IoT Core per Raspberry Pi

Nel dispositivo Raspberry Pi gli adattatori UART e UART USB sono utilizzabili per l'applicazione con la comunicazione seriale. Per impostazione predefinita, i pin di trasmissione e ricezione di UART sono il numero 8 e il numero 10 sull'intestazione GPIO.

Adattatori UART e UART USB

Per altre informazioni su come inizializzare UART0 ed eseguire un'operazione di scrittura seguita da una di lettura, leggi questo articolo.

Inoltre, RFCOMM (Radio Frequency Communication) è il protocollo di comunicazione seriale sottostante per le classiche implementazioni Bluetooth. Per informazioni su come eseguire app UWP in Windows 10 IoT Core per connettersi tramite un dispositivo IoT con Bluetooth seriale, vedere questo esempio di GitHub.

Se verifichi che il dispositivo non è in grado di leggere/scrivere dati tramite la porta seriale, segui questi passaggi di risoluzione dei problemi:

  1. Connetti TX a RX con un ponticello, come illustrato qui sotto, quindi esegui il codice di esempio per verificare se l'app è in grado di leggere/scrivere dati. Se non funziona, è possibile che il circuito integrato della scheda sia interrotto.

    Connessione di TX e RX su Raspberry Pi

  2. Verificare che i valori di BaudRate, Handshaking e StopBits siano configurati correttamente. Se la porta seriale da testare è un'interfaccia RS232 completa (ad esempio DB9), usa un connettore DB con i cavi incrociati RxTx connessi con i tipici incroci di handshake. Per il corretto funzionamento di alcune porte RS232 (o schede USB), è necessario che i segnali Carrier Detect (DCD) e DCE Ready (DSR) vengano asseriti.

  3. Se vuoi usare adattatori UART USB in Windows 10 IoT Core, sono supportati i seguenti:

  • CP2102 USB 2.0
  • TTL Module Serial Converter
  • FTDI
  • Dispositivi usbser.sys generici

È anche possibile usare il cmdlet di stato devcon.exe stack e devcon.exe per controllare lo stato previsto dello stack dei driver e dei driver in Windows 10 IoT Core.

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 è un altro strumento utile per risolvere i problemi delle porte seriali. Puoi usarlo per enumerare le porte, ottenere il relativo nome descrittivo e ID dispositivo, aprire le porte, configurare le impostazioni (ad esempio velocità in baud, bit di stop e così via) e inviare e ricevere dati.

Servizio Sirep Test

Anche se il sevizio Sirep Test non è abilitato per impostazione predefinita nelle immagini per la vendita, se vuoi comunque disabilitarlo all'avvio, puoi accedere e rimuoverlo dall'avvio automatico.

A questo scopo, puoi anche usare i comandi di PowerShell seguenti:

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

Modalità tablet

La "modalità tablet" è un concetto che vale solo per la shell desktop e non si applica a IoT Core.

Se il dispositivo include hardware supportato (tramite tocco HID USB o I2C), il tocco dovrebbe funzionare automaticamente usando i driver di classe Inbox. Per altre informazioni, vedere qui.

Supporto di Yubikey

Windows 10 IoT Core non supporta le smart card. Tuttavia, le smart card sono in genere dispositivi usati per l'identità dell'utente e non del dispositivo, perché sono protette con PIN e, nel caso di Yubikey, con un pulsante da premere. Questo scenario non è compatibile con un dispositivo IoT. Se cerchi un'alternativa, un modulo TPM 2.0 sul dispositivo può risultare più efficace rispetto a Yubikey o a una smart card. Microsoft offre il supporto completo e certificato per i moduli TPM, che sono destinati ad archiviare certificati di dispositivi e di utenti, oltre alle credenziali di accesso ad Azure IoT (Limpets).