Note sulla versione per la build 17763.253
Numero build 17763.253. Febbraio 2019.
© Microsoft Corporation 2019. Tutti i diritti sono riservati.
Importante
Se usi l'aggiornamento di ottobre 2018, usa questa versione. Abbiamo constatato che alcuni problemi noti interessano gli utenti dell'aggiornamento di ottobre 2018.
Questo documento include le ultime novità o altre informazioni supplementari alla documentazione allegata a Windows 10 IoT Core.
Grazie per aver scaricato Windows 10 IoT Core. Windows 10 IoT Core è la versione di Windows 10 destinata allo sviluppo di dispositivi incorporati o dedicati e rappresenta l'opzione ideale per la community dei maker. I pacchetti all'interno di questa versione contengono gli strumenti e i contenuti necessari per installare Windows 10 IoT Core nella piattaforma MinnowBoard Max basata su processori Intel Atom, nel dispositivo Raspberry Pi 2/3 basato su Broadcom 2836/2837 e nella scheda DragonBoard 410c basata su processori Qualcomm Snapdragon serie 400.
Informativa sulla privacy
L'informativa sulla privacy per questa versione del sistema operativo Windows può essere consultata qui.
Puoi esaminare le condizioni incollando il collegamento nella finestra del browser.
Novità di questa compilazione
- Correzioni generali di bug
Informazioni aggiuntive
- La versione BSP usata per l'immagine di DragonBoard è 2120.0.0.0.
Problemi noti in questa compilazione
La distribuzione di driver con F5 da Visual Studio non funziona in IoT Core.
I dispositivi installati tramite NOOBS non possono eseguire lo strumento bcdedit per abilitare il debugger del kernel. Questa operazione può essere ottenuta con la soluzione alternativa seguente:
- Montare la scheda SD nel PC
- Trovare il numero di partizione dell'unità EFIESP con diskpart o Gestione disco (ad esempio è "M:")
- Eseguire il comando "bcdedit /store M:\EFI\Microsoft\boot\bcd /set {default} debug yes"
- Smontare la scheda SD.
- A questo ora dovrebbe essere possibile connettere il debugger come di consueto
A volte, la sessione PSSession si interrompe durante l'invio di comandi ai dispositivi IoT.
RPi3 non associa BT + BTLE al Bluetooth incorporato.
Non è possibile connettersi a Internet tramite una connessione Wi-Fi con SoftAp di Up2.
Le impostazioni per il controllo della luminosità non vengono mantenute in IoT durante l'override.
Problemi noti generali di IoT Core e soluzioni alternative
Per Raspberry Pi
Risoluzione dello schermo di Raspberry Pi se il monitor viene disconnesso
Raspberry Pi potrebbe non mantenere la risoluzione dello schermo se il monitor viene disconnesso. L'EDID del monitor viene usato per impostare la risoluzione quando un sistema è connesso. Se disconnesso, per impostazione predefinita il firmware di Raspberry Pi usa l'opzione presente nel file config.txt nella radice della scheda SD.
Prestazioni video di Raspberry Pi
Le prestazioni della riproduzione di video nella piattaforma Raspberry Pi non sono ottimizzate. Gli elementi utente animati, tra cui menu a discesa basati su XAML, potrebbero esporre prestazioni meno che ottimali.
Supporto di Raspberry Pi per le fotocamere
Il supporto per i dispositivi periferici di tipo fotocamera è limitato. Il dispositivo PiCam connesso direttamente al bus della fotocamera incorporata non è supportato a causa delle limitazioni della piattaforma per il supporto di D3D. Le moderne Webcam USB producono flussi di dati molto impegnativi per il controller host USB. Anche se vengono usate con impostazioni a bassa risoluzione, le webcam richiedono un'ulteriore ottimizzazione dell'interfaccia USB e logica di controllo specifica.
Supporto di Raspberry Pi3 per Bluetooth
Il driver Bluetooth predefinito di Raspberry Pi 3 supporta solo dispositivi a bassa larghezza di banda.
Utilizzo e accesso alla porta seriale in RPi2
Raspberry Pi 2 supporta il trasporto seriale per le comunicazioni tramite UART PL011. Per impostazione predefinita, questa opzione è attivata negli scenari di debug del kernel. Un'applicazione o un driver di dispositivo può usare il dispositivo UART PL011 per inviare e ricevere dati, mentre il driver del dispositivo PL011 disattiva il debugger con il comando seguente:
bcedit /set debug off
I punti di interruzione dei dati sono stati disabilitati in Raspberry Pi2
Al momento non sono disponibili soluzioni alternative.
Disabilitazione delle schede incorporate per Raspberry Pi 3
Raspberry Pi 3 include una scheda Bluetooth integrata, che deve essere disabilitata per usare un dongle diverso. Per disabilitare la scheda Bluetooth incorporata, aprire una sessione telnet/ssh ed eseguire:
reg add hklm\system\controlset001\services\BtwSerialH5Bus /v Start /t REG_DWORD /d 4
È anche possibile disabilitare il Wi-Fi con il comando seguente:
reg add hklm\system\controlset001\services\bcmsdh43xx /v Start /t REG_DWORD /d 4
Per la scheda Dragon
Arresto di DragonBoard 410c
Nella DragonBoard un comando di arresto non spegne la scheda. Il sistema verrà riavviato. Per spegnere la scheda, scollega l'alimentazione.
DragonBoard e windbg
I driver GPIO/I2C/SPI/UART verranno disabilitati quando ci si connette alla DragonBoard con windbg.
Jack per cuffie e microfono di DragonBoard
Il pacchetto BSP della DragonBoard include driver per i jack di cuffie e microfono, ma questi jack non sono incorporati.
L'interfaccia SPI della DragonBoard opera a 4,8 MHz
L'interfaccia SPI della DragonBoard ignora la velocità richiesta e opera sempre a 4,8 MHz.
Standby connesso della DragonBoard
Lo Standby connesso non è abilitato per impostazione predefinita nella scheda Qualcomm DragonBoard. Per abilitare Standby connesso in DragonBoard, la chiave del Registro di sistema seguente deve essere impostata su "1":
HKLM\System\Controlset001\Control\Power\CsEnabled=DWORD:1
Nota
Non tutte le piattaforme includono il supporto per lo Standby connesso. Questa soluzione potrebbe non funzionare in tutte le piattaforme.
Per MinnowBoard
Aggiornamento dell'avvio e del firmware di MinnowBoard Max
Il dispositivo MinnowBoard Max viene avviato solo se la versione del firmware è 0.92 o successiva. La versione minima consigliata del firmware "MinnowBoard MAX 0.92 a 32 bit". Gli aggiornamenti del firmware possono essere scaricati da qui.
Supporto di periferiche in MinnowBoard
L'immagine di Windows 10 IoT Core inclusa in questo rilascio supporta le periferiche esposte nella scheda MinnowBoard MAX. Successivamente, Intel® fornirà il supporto del set completo di funzionalità dei processori Baytrail, inclusi i processori Intel Celeron™ J1900/N2930/N2807 e Intel Atom™ Processors E38XX.
Per tutte le piattaforme
Accesso ai documenti pubblici
È stata apportata una modifica alle API sottostanti per l'accesso ai file in base alla quale un'applicazione deve specificare l'accesso broadFileSystem per poter accedere alla directory dei documenti pubblici.
Il frammento di codice XML deve essere simile al seguente:
<Package
xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest"
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
IgnorableNamespaces="uap mp rescap">
--snip--
<Capabilities>
<uap:Capability Name="removableStorage" />
<uap:Capability Name="picturesLibrary" />
<rescap:Capability Name="broadFileSystemAccess" />
</Capabilities>
</Package>
Il puntatore del mouse scompare durante il debug
In alcuni casi, il puntatore del mouse non è visibile dopo la distribuzione e il debug delle app con Visual Studio. Dovrebbe ricomparire se si cambia lo stato attivo tramite tastiera (TAB).
Applicazioni server con SoftAP
Quando si usano i client SoftAP non è possibile accedere al contenuto esposto dalle app UAP.
Per esporre le applicazioni UAP tramite SoftAP, devi apportare le modifiche seguenti dalla console del dispositivo:
reg add hklm\system\currentcontrolset\services\mpssvc\parameters /v IoTInboundLoopbackPolicy /t REG_DWORD /d 1
checknetisolation loopbackexempt -a -n=<AppID for SoftAP App>
checknetisolation loopbackexempt -a -n=<AppID for Additional App>
Ad esempio:
checknetisolation loopbackexempt -a -n=IoTOnboardingTask-uwp_1w720vyc4ccym
Riavvio
Conflitto del driver del sensore negli strumenti FFU predefiniti
Esiste un conflitto del driver del sensore negli strumenti FFU forniti. Remote Sensor Framework installa i driver per bussola, magnetometro, accelerometro e giroscopio. Le API della piattaforma UWP per accedere a queste funzionalità da un'applicazione presuppongono che ne sia installata una sola. Se sviluppi un driver per un dispositivo collegato fisicamente, il driver remoto degli strumenti FFU forniti da Microsoft genererà un conflitto.
Risoluzione: il driver in conflitto può essere rimosso connettendosi al dispositivo tramite SSH o PowerShell e usando lo strumento devcon.exe per rimuovere il driver del sensore remoto digitando "devcon.exe rimuovere @"ROOT\REMOTE edizione Standard NSORDRIVER*". Il driver del sensore remoto non influisce sugli strumenti FFU creati dagli OEM.
Nome utente e password predefiniti dell'amministratore
Il nome utente e la password predefiniti dell'amministratore sono hardcoded nell'immagine di Windows 10 IoT Core. Si tratta di un rischio di sicurezza per il dispositivo e queste credenziali non dovranno essere esposte in una connessione Internet aperta a meno che non venga cambiata la password.
Controlli del volume
I controlli hardware del volume per microfoni e altoparlanti USP che dipendono dal sistema Windows per cambiare il volume di sistema non sono attualmente supportati in Windows 10 IoT Core.
Tastiere USB
Alcuni mouse e tastiere USB potrebbero non funzionare con IoT Core. Usa una tastiera o un mouse diverso. L'elenco dei dispositivi periferici convalidati è disponibile qui nella documentazione.
Orientamento dello schermo
L'impostazione dell'orientamento su "verticale" potrebbe non essere rispettato in un'app universale.
Riferimenti alle schede con i modelli AllJoyn
Il tentativo di aggiungere riferimenti ai progetti di schede AllJoyn potrebbe generare errori con specifiche versioni dell'SDK. Per risolvere questi errori, cambia la piattaforma di destinazione di Visual Studio in base alla versione corrente dell'SDK, quindi ricarica il progetto.
Limitazioni di Wi-Fi Direct in IoT Core
- Il dispositivo IoT Core deve essere il dispositivo che avvia la connessione. Non funziona come dispositivo di annuncio con un altro dispositivo che avvia la connessione.
- È necessario usare l'associazione avanzata. L'app di esempio dimostra come usare le API di associazione avanzata per associare i dispositivi prima della connessione.
- Non tutte le schede wireless supportano Wi-Fi Direct. In seguito ai test eseguiti, abbiamo verificato che la scheda di rete "Realtek RTL8188EU Wireless Lan 802.11n USB 2.0" funziona, ma altre schede potrebbero non essere supportate.
Modalità unità non predefinita
In Raspberry Pi e DragonBoard il passaggio da una modalità unità non predefinita a una diversa modalità unità non predefinita potrebbe generare un problema nel pin GPIO. SOLUZIONE ALTERNATIVA: impostare la modalità unità una sola volta all'inizio dell'applicazione.
Applicazione già in esecuzione
L'app di avvio predefinita potrebbe entrare in conflitto con se stessa se viene distribuita anche da Visual Studio. SOLUZIONE ALTERNATIVA: modificare l'app di avvio predefinita in un'applicazione diversa da quella che si vuole distribuire.
BackgroundMediaPlayer.MessageReceivedFromForeground potrebbe generare un arresto anomalo
La riga di codice seguente potrebbe arrestarsi in modo anomalo: "BackgroundMediaPlayer.MessageReceivedFromForeground += OnMessageReceivedFromForeground;". Per impedire l'arresto anomalo, aggiungi questo codice in modo che venga eseguito prima "var player = BackgroundMediaPlayer.Current;"
Supporto dell'autenticazione di Azure Active Directory
Azure Active Directory Authentication Library non è compatibile con Windows 10 IoT Core.
Gestione tramite shell degli arresti anomali delle applicazioni
L'infrastruttura shell di IoT Core monitora le applicazioni di tipo APPX in esecuzione nel dispositivo per rilevare gli arresti anomali e quando si verificano le riavvia. Se le applicazioni riavviate continuano ad arrestarsi in modo anomalo, la shell usa failfast, un processo critico del sistema che causa un controllo errori e un riavvio nel tentativo di eseguire un ripristino. Per le attività in background e le applicazioni in primo piano in configurazione headed vengono usate una logica e una gestione equivalenti. La gestione degli arresti anomali e la logica di ripetizione dei tentativi sono illustrate di seguito:
Software\Microsoft\Windows NT\CurrentVersion\Winlogon\IoTShellExtension\CBTConfig (or ForegroundAppConfig for headed)
Qword:"FailureResetIntervalMs" – length of time app has to run successfully to reset failures seen to 0. – default is 0x00000000000493E0 == 5 minutes
Qword:"BaseRetryDelayMs" -- wait time coefficient. Default is 0xa.
Dword:"MaxFailureCount". Default is 10
DWord:"FallbackExponentNumerator", default is 31.
Dword:"FallbackExponentDenominator", default is 20
Fallback_exponent = FallbackExponentNumerator / FallbackExponentDenominator; // default is 1.55
Quando viene rilevato un arresto anomalo di un'app:
if time_since_last_crash > failureresetinterval then crashes_seen = 1
else ++crashes_seen;
if crashes_seen > MaxFailureCount then __failfast;
else
delay = (dword) ((float)BaseRetryDelayMs * (crashes_seen ** Fallback_exponent))
Attendi che termini il ritardo e riavvia l'app
Sincronizzazione dell'ora
Se la sincronizzazione dell'ora ha esito negativo o si verifica il timeout, questo può essere dovuto a un server di tempo non raggiungibile o distante, è possibile eseguire le operazioni seguenti per aggiungere server ora aggiuntivi o locali.
Da una riga di comando nel dispositivo (ad esempio, SSH, PowerShell) w32tm /config /syncfromflags:manual /manualpeerlist:"0.windows.time.com 1.pool.ntp.org 2.qualcos'altro, ..."
Puoi apportare queste aggiunte al Registro di sistema anche tramite uno script di avvio o un pacchetto di configurazione del runtime personalizzato incluso durante la procedura di creazione dell'immagine, se necessario. Per informazioni dettagliate, vedere:
Avvio del server FTP
Il server FTP non viene più eseguito per impostazione predefinita all'avvio.
Per eseguire una sola volta: accedere con SSH\PS ed eseguire questo comando per avviare FTP:
start ftpd.exe
Per l'esecuzione in ogni avvio, gli utenti devono creare un'attività dell'utilità di pianificazione: accedere con SSH\PS e creare un'attività dell'utilità di pianificazione:
schtasks /create /tn "IoTFTPD" /tr ftpd.exe /ru system /sc onstart
Schtasks /run /tn “IoTFTPD”