Felsökningsguide för enhetsuppdatering för IoT Hub
Det här dokumentet innehåller några vanliga frågor och problem som användare av enhetsuppdatering har rapporterat. Om du stöter på ett problem som inte visas i den här felsökningsguiden kan du gå till avsnittet Kontakta Microsoft Support för att dokumentera din situation.
Importera uppdateringar
F: Jag har problem med att ansluta min enhetsuppdateringsinstans till min IoT Hub-instans
Kontrollera att dina IoT Hub meddelandevägar är korrekt konfigurerade enligt dokumentationen om enhetsuppdateringsresurser.
F: Jag stöter på ett rollrelaterat fel (felmeddelande i Azure Portal eller ett 403 API-fel)
Du kanske inte har åtkomstbehörigheter konfigurerade på rätt sätt. Kontrollera att du har konfigurerat åtkomstbehörigheter korrekt enligt dokumentationen för enhetsuppdateringens åtkomstkontroll .
F: Jag stöter på ett fel av 500-typ när jag importerar innehåll till enhetsuppdateringstjänsten
En felkod i 500-intervallet kan tyda på ett problem med enhetsuppdateringstjänsten. Vänta 5 minuter och försök igen. Om samma fel kvarstår följer du anvisningarna i avsnittet Kontakta Microsoft Support för att skicka en supportbegäran till Microsoft.
F: Jag vill behålla samma kompatibilitetsegenskaper (rikta min uppdatering till samma enhetstyp), men ändra providern eller namnet i importmanifestet. Men jag får felmeddelandet "Misslyckades: fel vid import av uppdatering på grund av överskriden gräns" när jag gör det
Samma exakta uppsättning kompatibilitetsegenskaper kan inte användas med fler än en kombination av uppdateringsprovider och namn. På så sätt kan enhetsuppdateringstjänsten med säkerhet avgöra vilka uppdateringar som ska vara tillgängliga för distribution till en viss enhet. Om du behöver uppdatera flera komponenter eller partitioner på en enda enhet tillhandahåller funktionen för proxyuppdateringar den funktionen.
F: Jag får ett felmeddelande när jag importerar innehåll och vill veta mer om det
Mer detaljerad information om importrelaterade felmeddelanden finns i dokumentationen om felkoder för enhetsuppdatering .
Enhetsfel
F: Hur ser jag till att enheten är ansluten till Enhetsuppdatering för IoT Hub?
Du kan kontrollera att enheten är ansluten till Enhetsuppdatering genom att kontrollera om den visas under avsnittet "Ogrupperade" enheter i kompatibilitetsvyn för Azure Portal.
F: En eller flera av mina enheter kan inte uppdateras
Det finns många möjliga orsaker till ett enhetsuppdateringsfel. Kontrollera att enheten är: 1) ansluten till din IoT Hub-instans, 2) ansluten till enhetsuppdateringsinstansen och 3) tjänsten Leveransoptimering (DO) körs. Om alla tre är sanna för din enhet följer du anvisningarna i avsnittet Kontakta Microsoft Support för att skicka en supportbegäran till Microsoft.
F: Min enhetsuppdateringsagent kan inte startas
En av de vanligaste orsakerna till ett fel i start av enhetsuppdateringsagenten är en felaktig konfigurationsfil (du-config.json). Läs dokumentationen för konfigurationsfilen och se till att agenten är korrekt konfigurerad. Observera att alla värden i konfigurationsfilen måste använda dubbla citattecken.
Distribuera en uppdatering
F: Jag har distribuerat en uppdatering till mina enheter, men kompatibilitetsstatusen säger att den inte finns med i den senaste uppdateringen. Vad ska jag göra?
Det kan ta upp till 5 minuter att uppdatera enhetens efterlevnadsstatus. Vänta och kontrollera sedan igen.
F: Distributionsstatusen för min enhet är inkompatibel, vad ska jag göra?
Tillverkarens och modellens egenskaper för en målenhet kan ha ändrats när enheten har anslutits till IoT Hub, vilket gör att enheten nu anses vara inkompatibel med uppdateringsinnehållet i den aktuella distributionen.
Kontrollera ADU Core-gränssnittet för att se vilken tillverkare och modell din enhet rapporterar till enhetsuppdateringstjänsten och se till att den matchar tillverkaren och modellen som du angav i importmanifestet för det uppdateringsinnehåll som distribueras. Du kan ändra dessa egenskaper för en viss enhet med hjälp av konfigurationsfilen För enhetsuppdatering.
F: Jag ser att min distribution är i "Aktiv"-fasen, men ingen av mina enheter är "pågår" med uppdateringen. Vad ska jag göra?
Kontrollera att startdatumet för distributionen inte har angetts i framtiden. När du skapar en ny distribution är startdatumet för distributionen standardvärdet nästa dag som ett skydd om du inte uttryckligen ändrar det. Du kan antingen vänta tills startdatumet för distributionen inträffar eller avbryta den pågående distributionen och skapa en ny distribution med önskat startdatum.
F: Jag försöker gruppera mina enheter, men jag ser inte taggen i listrutan när jag skapar en grupp
Kontrollera att du har konfigurerat meddelandevägarna i IoT Hub korrekt enligt dokumentationen om enhetsuppdateringsresurser. Du måste tagga enheten igen när du har konfigurerat vägen.
En annan rotorsak kan vara att du använde taggen innan du anslöt enheten till Enhetsuppdatering för IoT Hub. Kontrollera att enheten redan är ansluten till Enhetsuppdatering. Du kan kontrollera att enheten är ansluten till Enhetsuppdatering för IoT Hub genom att kontrollera om den visas under "Ogrupperade" enheter i kompatibilitetsvyn. Lägg tillfälligt till en tagg med ett annat värde och lägg sedan till den avsedda taggen igen när enheten är ansluten.
Om du använder Device Provisioning Service (DPS) ser du till att tagga dina enheter när de har etablerats och inte under processen för att skapa enheter. Om du redan har taggat enheten under steget Enhetsskapande måste du tillfälligt tagga enheten med ett annat värde när den har etablerats och sedan lägga till den avsedda taggen igen.
F: Min distribution slutfördes, men vissa enheter kunde inte uppdateras
Detta kan ha orsakats av ett fel på klientsidan på de misslyckade enheterna. Se avsnittet Enhetsfel i den här felsökningsguiden.
F: Jag påträffade ett fel i användargränssnittet när jag försökte initiera en distribution
Detta kan ha orsakats av en tjänst-/UX-bugg eller ett PROBLEM med API-behörigheter. Följ anvisningarna i avsnittet Kontakta Microsoft Support för att skicka en supportbegäran till Microsoft.
F: Jag har startat en distribution, men den når inte ett sluttillstånd
Detta kan ha orsakats av ett problem med tjänstens prestanda, ett tjänstfel eller ett klientfel. Försök att distribuera igen efter 10 minuter. Om du stöter på samma problem hämtar du enhetsloggarna och läser avsnittet Enhetsfel i den här felsökningsguiden. Om samma problem kvarstår följer du anvisningarna i avsnittet Kontakta Microsoft Support för att skicka en supportbegäran till Microsoft.
F: Jag har migrerat från en enhetsnivåagent till att lägga till agenten som en modulidentitet på enheten, och min uppdatering visas som "pågående" även om den har tillämpats på enheten
Detta kan ha orsakats om du inte tog bort den äldre agenten som kommunicerade via enhetstvillingen. När du etablerar enhetsuppdateringsagenten som en modul (se hur du gör) sker all kommunikation mellan enheten och enhetsuppdateringstjänsten via modultvillingen, så kom ihåg att tagga enhetens modultvilling när du skapar grupper och all kommunikation måste ske över modultvillingen.
Ladda ned uppdateringar till enheter
F: Hur gör jag för att återuppta en nedladdning när en enhet har återanslutit efter en period av frånkoppling?
Nedladdningen återupptas när anslutningen återställs inom en 24-timmarsperiod. Efter 24 timmar måste nedladdningen initieras på nytt av användaren.
Använda Microsoft Connected Cache (MCC)
F: Jag stöter på ett problem när jag försöker distribuera MCC-modulen på min IoT Edge enhet
Se IoT Edge dokumentationen för distribution av Edge-moduler till IoT Edge enheter. Du kan kontrollera om MCC-modulen körs korrekt på din IoT Edge enhet genom att gå tillhttp://localhost:5100/Summary.
F: En av mina IoT-enheter försöker ladda ned en uppdatering via MCC, men misslyckas
Det finns flera problem som kan orsaka att en IoT-enhet misslyckas vid anslutning till MCC. För att diagnostisera problemet samlar du in DO-klienten och Nginx-loggarna från den felaktiga enheten (se avsnittet Kontakta Microsoft Support för instruktioner om hur du samlar in klientloggar).
Enheten kanske inte hämtar innehåll från Internet för att skicka till sin MCC-modul eftersom DEN URL som den använder inte är tillåten. För att avgöra i så fall måste du kontrollera dina IoT Edge miljövariabler i Azure Portal.
Felsöka en instans som saknas i Azure Portal
F: Jag ser ingen instans av Enhetsuppdatering för IoT Hub när jag väljer kugghjulsikonen
Det finns några möjliga orsaker till det här problemet. Se nedan för felsökningssteg.
En enhetsuppdateringsinstans måste associeras med en Azure IoT-hubb i samma resursgrupp och prenumeration. Om du har flyttat antingen enhetsuppdateringsinstansen eller hubben till en annan resursgrupp eller prenumeration kanske du inte ser instansen i Azure Portal. Du måste utföra något av följande steg för att fortsätta använda Enhetsuppdatering för IoT Hub:
- Returnera de flyttade objekten till den ursprungliga konfigurationen.
- Om du bara har flyttat din IoT-hubb från en resursgrupp till en annan ändrar du enhetsuppdateringsinstansen med IoT-hubbens nya resourceId.
- Om du har flyttat objekt från en prenumeration till en annan kontrollerar du att enhetsuppdateringskontot och IoT-hubben finns i samma prenumeration och ändrar sedan enhetsuppdateringsinstansen med IoT-hubbens nya resourceId.
Minst behörigheter på läsnivå krävs för både din IoT-hubb och din enhetsuppdatering för IoT Hub konto för att få åtkomst till enhetsuppdateringsfunktioner via IoT Hub-upplevelsen i Azure Portal.
- Så här hanterar du behörigheter för IoT Hub:
- Välj din hubb från Azure Portal
- Välj "Åtkomstkontroll (IAM) i det vänstra navigeringsfältet.
- Välj "Lägg till rolltilldelning".
- Välj en roll med minst Läs-åtkomst och välj Nästa.
- Bredvid "Medlemmar" väljer du "+Välj medlemmar".
- Lägg till ditt konto i den högra utfällbara menyn och välj knappen "Välj".
- Välj "Granska + tilldela".
- Om du vill hantera behörigheter för enhetsuppdateringen för IoT Hub konto ber du kontots ägare att vidta följande steg:
- Välj ditt enhetsuppdateringskonto från Azure Portal.
- Välj "Åtkomstkontroll (IAM) i det vänstra navigeringsfältet.
- Välj "Lägg till rolltilldelning".
- Välj rollen Läsare (eller en med motsvarande behörigheter).
- Bredvid "Medlemmar" väljer du "+Välj medlemmar".
- Lägg till ditt konto i den högra utfällbara menyn och välj knappen "Välj".
- Välj "Granska + tilldela".
Läs mer om rollbaserad åtkomstkontroll för enhetsuppdateringstjänsten.
Kontakta Microsoft Support
Om du stöter på problem som inte kan lösas med hjälp av vanliga frågor och svar ovan kan du skicka en supportbegäran med Microsoft Support via Azure Portal-gränssnittet. Beroende på vilken kategori du anger att problemet tillhör kan du bli ombedd att samla in och dela ytterligare data för att hjälpa Microsoft Support undersöka problemet.
Se nedan för instruktioner om hur du samlar in varje datatyp.
Du kan använda getDevice för att söka efter ytterligare information i nyttolastsvaret för API:et.
Dessutom kan följande information vara användbar för att begränsa rotorsaken till problemet:
- Vilken typ av enhet du försöker uppdatera (IoT Edge Gateway, annat)
- Vilken enhetsuppdateringsklienttyp du använder (avbildningsbaserad, paketbaserad, simulator)
- Vilket operativsystem enheten körs på
- Information om enhetens arkitektur
- Om du har använt Enhetsuppdatering för att uppdatera en enhet tidigare
Om du har någon av ovanstående information tillgänglig kan du ta med den i din beskrivning av problemet.
Samla in klientloggar
På Raspberry Pi-enheten finns det två uppsättningar loggar som finns här:
/adu/logs
/var/cache/do-client-lite/log
För den paketerade klienten finns loggarna här:
/var/log/adu
/var/cache/do-client-lite/log
För simulatorn finns loggarna här:
/tmp/aduc-logs
Felkoder
Du kan bli ombedd att ange felkoder när du rapporterar ett problem som rör import av en uppdatering, ett enhetsfel eller distribution av en uppdatering.
Felkoder kan hämtas genom att titta på gränssnittet ADUCoreInterface . Se dokumentationen för enhetsuppdateringsfelkoder för information om hur du parsar felkoder för självdiagnostik och felsökning.
Spårnings-ID
Du kan bli ombedd att ange ett spårnings-ID när du rapporterar ett problem som rör import eller distribution av en uppdatering.
Spårnings-ID:t för en viss användaråtgärd finns i API-svaret eller i avsnittet Importhistorik i Azure Portal användargränssnitt.
För närvarande är spårnings-ID:n för distributionsåtgärder endast tillgängliga via API-svaret.
Distributions-ID
Du kan bli ombedd att ange ett distributions-ID när du rapporterar ett problem som rör distribution av en uppdatering.
Distributions-ID:t skapas av användaren när du anropar API:et för att initiera en distribution.
Distributions-ID:t för distributioner som initieras från Azure Portal användargränssnitt genereras för närvarande automatiskt och visas inte för användaren.
IoT Hub instansnamn
Du kan bli ombedd att ange namnet på din IoT Hub-instans när du rapporterar ett problem som rör enhetsfel eller distribution av en uppdatering.
Det IoT Hub namnet väljs av användaren när det först etableras.
Namn på enhetsuppdateringskonto
Du kan bli ombedd att ange namnet på ditt enhetsuppdateringskonto när du rapporterar ett problem som rör import av en uppdatering, enhetsfel eller distribution av en uppdatering.
Namnet på enhetsuppdateringskontot väljs av användaren när du först registrerar dig för tjänsten. Mer information finns i dokumentationen om enhetsuppdateringsresurser .
Enhetsuppdateringsinstansens namn
Du kan bli ombedd att ange namnet på enhetsuppdateringsinstansen när du rapporterar ett problem som rör import av en uppdatering, enhetsfel eller distribution av en uppdatering.
Namnet på enhetsuppdateringsinstansen väljs av användaren när den först etableras. Mer information finns i dokumentationen om enhetsuppdateringsresurser .
Enhets-ID
Du kan bli ombedd att ange ett enhets-ID när du rapporterar ett problem som rör enhetsfel eller distribution av en uppdatering.
Enhets-ID:t definieras av kunden när enheten först etableras. Den kan också hämtas från enhetens enhetstvilling.
Uppdatera ID
Du kan bli ombedd att ange ett uppdaterings-ID när du rapporterar ett problem som rör distribution av en uppdatering.
Uppdaterings-ID:t definieras av kunden när en distribution initieras.
Nginx-loggar
Du kan bli ombedd att ange Nginx-loggar när du rapporterar ett problem som rör Microsoft Connected Cache.
ADU-conf.txt
Du kan bli ombedd att ange konfigurationsfilen för enhetsuppdatering ("adu-conf.txt") när du rapporterar ett problem som rör distribution av en uppdatering.
Konfigurationsfilen är valfri och skapas av användaren enligt anvisningarna i konfigurationsdokumentationen för enhetsuppdatering .
Importera manifest
Du kan bli ombedd att ange din importmanifestfil när du rapporterar ett problem som rör import eller distribution av en uppdatering.
Importmanifestet är en fil som skapats av kunden när du importerar uppdateringsinnehåll till enhetsuppdateringstjänsten.