Résolution des problèmes
Cet article traite de la résolution des problèmes courants rencontrés par les utilisateurs.
Conseil
Pour rechercher un élément spécifique, utilisez Ctrl+F afin de rechercher un mot ou une.
Identification de la référence SKU
GetProductInfo API
identifie les informations sur la référence SKU/Édition IoT Core.
L’ID d’édition/produit sera inséré dans l’image.
PRODUCT_IOTUAP : 0x0000007B
= Windows 10 IoT Standard
Vous trouverez plus d’informations sur les ID d’édition ici.
Mappage de clés virtuelles matérielles sur Windows 10 IoT Standard
Basculez vers la création de rapports en tant que clavier HID et l’envoi de VKs au lieu de contrôles consommateurs.
Réduction de l’allocation de mémoire
Si vous souhaitez réduire la mémoire contrôlée par le système d’exploitation et le traitement pour l’affichage, assurez-vous que le système d’exploitation est clair et qu’aucun affichage n’est attaché. Assurez-vous que les paramètres Intel INF ne font pas semblant d’un affichage quand aucun n’est attaché et configurez les sorties pour qu’elles soient DisplayPort externes. Cela doit entraîner l’exécution de DWM, mais comme si le moniteur était inactif.
Récupération de lots et obtention de vidages sur incident
Pour les applications UWP en particulier :
- Obtenez votre App Store signé et vous recevrez des données de télémétrie via le portail d’application sur le Centre de développement. Vous recevrez des piles cal, mais pas des vidages complets.
- Vous pouvez utiliser WerRegisterAppLocalDump pour obtenir votre application dans les journaux de vidage, puis vous pouvez les charger où vous le souhaitez.
- En outre, vous pouvez instrumenter encore plus avec VSAppCenter ou HockeyApp.
Pour les problèmes système (NTServices, stabilité du système d’exploitation ou pilote) :
- Nous travaillons sur un portail Partner Telemetry Insights pour permettre aux clients de recevoir des piles d’appels et des informations sur les services d’incident, les composants du système d’exploitation et les pilotes.
- Vous pouvez avoir un script ou un exe personnalisé pour collecter des fichiers dmp à partir de l’appareil.
- Vous pouvez utiliser Azure IoT DM pour configurer le suivi ETW sur l’appareil en fonction des besoins et capturer les journaux.
- Vous pouvez créer un exe personnalisé pour appeler wevtapi.dll et enregistrer la raison du dernier arrêt.
Exécution de SLEEPSTUDY
Si vous rencontrez l’erreur 0x080004005 lors de la tentative d’exécution de SLEEPSTUDY dans Windows 10 IoT Standard, vous devez effectuer les opérations suivantes pour générer un rapport SLEEPSTUDY :
- À partir de SSH/PowerShell, exécutez cette commande sur IoT COre ;
powercfg / sleepstudy / xml
- Cela génère un « sleepstudy-report.xml ».
- Copiez le rapport sleepstudy-report.xml généré sur un ordinateur de bureau et exécutez « powercfg/sleepstudy/transformxml sleepstudy-report.xml »
- La sleepstudy-report.html finale sera générée.
Maintenance des applications et gestion des services NTServices
Des itérations d’application rapides peuvent être effectuées avec le App Store ou à l’aide d’Azure Blob. Avec l’App Store, vous n’avez pas à payer pour le CDN et les egrees. Il existe également une couverture CDN dans le monde entier gratuitement avec le magasin. Il est judicieux d’obtenir un ID du Store et une mise à jour du Store prêts lors de l’expédition pour une mise à jour d’application rapide.
Définition de la classe Bluetooth de l’appareil sur « pas un PC »
Pour une bonne compatibilité interop et Bluetooth, il est important que la pile Bluetooth indique une classe d’appareil appropriée (COD). Les différentes valeurs définies par la norme sont ici. Par défaut, Windows lit les données du facteur de forme à partir de la valeur de type de boîtier SmBios (voir le tableau 17 de la page 38) et en dérive les champs Classe d’appareil principal et Classe d’appareil secondaire du CoD. Si une plateforme souhaite remplacer le COD par défaut attribué via le type de boîtier, elle peut le faire en définissant les valeurs « COD Major » et « COD Type » documentées ici.
Définition du nom de l’ordinateur
IoT dispose d’un outil Win32 intégré appelé « SetComputerName ». Vous pouvez l’appeler pour modifier le nom de l’ordinateur. Un redémarrage est nécessaire pour modifier le nom. Malheureusement, cet utilitaire doit être appelé à partir du contexte administrateur et les applications UWP s’exécutent dans le contexte utilisateur DefaultAccount. Une façon de contourner ce problème consiste à exécuter un fichier batch à partir d’une tâche planifiée déclenchée manuellement qui appelle SetComputerName. Le fichier batch doit lire le nom de l’ordinateur souhaité à partir d’un fichier texte dans lequel votre main application UWP enregistrera le nom. Par exemple, l’application UWP peut enregistrer un fichier dans le dossier des documents publics et le fichier batch le lit à partir de là. L’application UWP doit ensuite utiliser le lanceur de processus (pour déclencher l’exécution de la tâche planifiée (par exemple, schtasks /run /TN « SetMyComputerNameTask ») Lire la documentation processuslauncher ici Lire la documentation schTasks ici
Support ASUS Tinkerboard et Rockchip
Bien que nous ne prenions pas officiellement en charge ASUS Tinkerboard et Rockchip, Rockchip a par le passé collaboré avec des tiers pour permettre le fonctionnement de SoC sur Windows 10 IoT Standard.
Problème lors de la connexion d’un appareil MBM en itinérance
Lorsque vous activez l'itinérance, vous devez prendre en considération deux points :
Le profile.xml configure l’itinérance et définit le comportement permettant d'établir une connexion au réseau cellulaire. Pour définir un profil d’itinérance, consultez cet article.
<!-- 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>
Pour définir un profil de connexion automatique, sélectionnez « 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>
Autre facteur, la stratégie d'itinérance par interface doit être satisfaite. Par défaut, cette stratégie est définie sur FALSE (« opérateur local uniquement »). Cela peut être interrogé et modifié dans la ligne de commande via
netsh mbn get/set dataroamcontrol.
Exemple :
netsh mbn show dataroamcontrol int=* netsh mbn set dataroamcontrol interface=Cellular profileset=all state=all netsh mbn set dataroamcontrol help
L'erreur 0x139f (ERROR_INVALID_STATE) peut s'afficher si l'appareil est en itinérance, mais que la stratégie d’itinérance n’autorise pas l’itinérance des données (erreur lors d'une requête de connexion envoyée à wwansvc).
Problèmes de démarrage du Raspberry Pi 3B+
Notes
Cette version destinée au Raspberry Pi 3B+ est une préversion technique non prise en charge. La validation et l'activation limitées ont été effectuées. Pour une meilleure expérience d'évaluation et pour tous les produits commerciaux, utilisez le Raspberry Pi 3B ou d'autres appareils avec prise en charge Intel, Qualcomm ou SoC NXP. Pour résoudre les problèmes liés au Raspberry Pi 3B+, consultez notre Guide de résolution des problèmes disponible ici.
Le Raspberry Pi 3 modèle B+, le plus récent de la gamme Raspberry Pi 3, est équipé d'un processeur 64 bits à quatre cœurs s'exécutant à 1,4 GHz, d'une double-bande 2,4 GHz et d'un réseau local sans fil 5 GHz, de la technologie Bluetooth 4.2/BLE, Ethernet plus rapide et d'une fonctionnalité PoE via un PoE HA distinct.
Récemment, de nombreux clients intéressés par Windows 10 IoT Standard ont remarqué que l'appareil ne démarrait pas normalement après flashage de Windows 10 IoT Standard, mais le système d'exploitation Raspbian fonctionne correctement. Voici quelques suggestions destinées à résoudre ce problème de démarrage.
Cette image Insider Preview présente quelques problèmes connus. Remarques :
- Cette image est réservée au Raspberry Pi 3B+ et ne démarrera pas sur le Raspberry Pi 2.
- Le déploiement du pilote F5 à partir de Visual Studio ne fonctionne pas sur Windows 10 IoT Standard.
- L'intégration Wi-Fi et Bluetooth ne fonctionne pas sur le Raspberry Pi 3B+.
- Le pilote d'écran tactile Ft5406 est désactivé sur le Raspberry Pi 3B+.
- La LED d'activité de la carte mémoire Secure Digital est désactivée.
Deux exigences régissent le choix de la carte mémoire Secure Digital à utiliser avec Windows 10 IoT Standard. Vous devez utiliser une carte mémoire Secure Digital de classe 10 et vous assurer que cette dernière dispose de suffisamment d’espace (8 Go minimum). Deux cartes mémoire Secure Digital ont été vérifiées par Microsoft et jugées compatibles avec Windows 10 IoT Standard :
- Carte Micro SDHC Samsung EVO 32 Go de classe 10
- Carte Micro SDHC SanDisk Ultra 16 Go
De manière générale, assurez-vous que la carte mémoire Secure Digital est authentique et qu'elle n'est ni endommagée ni corrompue. La carte mémoire Secure Digital est également sujette à l'altération des données en raison de divers facteurs tels que les pannes de courant ou les retraits incorrects. Il est important de protéger votre carte mémoire des dommages.
Pour flasher votre image sur une carte SD, vous pouvez utiliser le Tableau de bord Windows 10 IoT Core. Vous devrez sélectionner « Personnaliser » dans le champ Build du système d'exploitation, puis le fichier FFU à flasher.
Vérifiez que l'appareil ne présente pas de défaillance matérielle. Le tableau du Raspberry Pi 3B+ est équipé de deux LED, comme le 3B : L’un est pour PWR, tandis que l’autre est pour ACT. Le nombre de clignotements de la LED ACT indique le démarrage ou le non-démarrage de votre carte. La LED d'activité de la carte mémoire Secure Digital ne clignote pas à certains moments du démarrage du Raspberry Pi 3B+.
Lorsque l'appareil démarre, il affiche une page invitant l'utilisateur à patienter. En règle générale, cette page s'affiche pendant une minute. Mais parfois, en raison de la vitesse de lecture/écriture de la carte mémoire Secure Digital, cela peut durer plus longtemps.
Si l'appareil ne parvient pas à démarrer normalement avec Windows 10 IoT Standard, vous pouvez essayer de flasher un système d'exploitation Linux (tel que Raspbian) sur la carte mémoire Secure Digital afin de savoir s'il s'agit d'un problème d'ordre matériel.
Si un « écran arc-en-ciel » s'affiche, vérifiez que vous avez flashé la version 3B+, disponible ici. Vous pouvez vérifier votre processus à l'aide d'un didacticiel de flashage 3B+ soumis par la communauté ici.
Communication par port série sur Windows 10 IoT Standard pour Raspberry Pi
Sur le Raspberry Pi, les adaptateurs matériel UART et USB UART peuvent être utilisés par votre application avec une communication série. Par défaut, les broches de transmission et de réception de l’UART sont les broches 8 et 10 sur l’en-tête GPIO.
Pour savoir comment initialiser UART0 et effectuer une écriture suivie d'une lecture, consultez cet article.
En outre, le protocole RFCOMM (Radio Frequency Communication) gère les communications série sous-jacentes du Bluetooth classique. Reportez-vous à cet exemple GitHub pour en savoir plus sur l’exécution d’applications UWP sur Windows 10 IoT Core pour se connecter via un appareil IoT avec la série Bluetooth.
Si vous remarquez que l'appareil ne parvient pas à lire/écrire des données via le port série, procédez comme suit pour y remédier :
Connectez l’émission à la réception à l'aide d'un cavalier (illustré ci-dessous), puis exécutez l’exemple de code pour vérifier si l’application peut lire/écrire des données. Si cela ne fonctionne pas, il se peut que l'IC de la carte soit endommagé.
Assurez-vous que les propriétés BaudRate, Handshaking et StopBits sont correctement configurées. Si le port série à tester dispose d'une interface RS232 complète (DB9, par exemple), utilisez une fiche DB avec fils de croisement RxTx connectés à des croisements de liaison types. Le bon fonctionnement de certains ports RS232 (ou adaptateurs USB) impliquent la validation de signaux tels que Carrier Detect (DCD) et DCE Ready (DSR).
Si vous souhaitez utiliser des adaptateurs USB UART sur Windows 10 IoT Standard, les suivants sont pris en charge :
- CP2102 USB 2.0
- TTL Module Serial Converter
- FTDI
- Adaptateur générique usbser.sys
Vous pouvez également utiliser la pile devcon.exe et l’applet de commande devcon.exe status pour case activée la pile de pilotes attendue et les pilotes status sur Windows 10 IoT Standard.
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
L'outil Mincomm permet également de résoudre les problèmes de port série. Cet outil peut énumérer les ports, vous donner leur nom convivial et leur ID de périphérique, ouvrir des ports, configurer des paramètres (vitesse de transmission, bits d’arrêt, etc.) et envoyer/recevoir des données.
Service Sirep Test
Même si le service Sirep Test n'est pas activé par défaut dans les images de distribution, si vous souhaitez malgré tout le désactiver au démarrage, vous pouvez vous connecter et désactiver Sirep du démarrage automatique.
Pour ce faire, utilisez les commandes PowerShell suivantes, comme illustré ci-dessous :
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
Mode Tablette
Le « mode Tablette » est un concept qui n’existe que sur le shell du bureau et ne s’applique pas à IoT Standard.
Si l’appareil prend en charge le matériel (via l’interaction tactile I2C ou USB HID), l’interaction tactile doit fonctionner automatiquement à l'aide des pilotes de classe de boîte de réception. D’autres informations sur ce sujet sont disponible ici.
Prise en charge Yubikey
Windows 10 IoT Standard ne prend pas en charge les cartes à puce. Toutefois, les cartes à puce sont généralement utilisées pour l'identité des utilisateurs et non l'identité des appareils car elles sont sécurisées par des codes PIN et, dans le cas de la Yubikey, un bouton sur lequel appuyer. Cela ne convient pas à un appareil IoT. Si vous recherchez une alternative, un TPM 2.0 sur l'appareil peut être plus efficace qu'une Yubikey ou une carte à puce. Nous prenons en charge les certificats pour TPM et ceux-ci servent à stocker les appareils, de même que les certificats des utilisateurs et les informations d'identification d'accès Azure IoT (Limpets).