Dela via


Felsökningsguide för enhetsuppdatering för IoT Hub

Det här dokumentet innehåller några vanliga frågor och problem som rapporteras av användare av enhetsuppdatering. Om du stöter på ett problem som inte visas i den här felsökningsguiden kan du läsa avsnittet Kontakta Microsoft Support för att dokumentera din situation.

Importera uppdateringar

F: Jag har importerat en uppdatering, men den visas inte som tillgänglig för mig att distribuera till enheter som den ska vara kompatibel med

Kontrollera att importmanifestet .json filen inte har några oavsiktliga fel, särskilt i kompatibilitetsobjektvärdena . Kompatibilitetsegenskaperna i importmanifestet måste matcha exakt med de egenskaper som rapporteras av dina enheter, vilket säkerställer att rätt uppdateringar alltid bara skickas till rätt enheter. Det kan till exempel finnas ett typografiskt fel i importmanifestet som gör att en kompatibilitetsegenskap har ett saknat, transponerat eller extra tecken jämfört med vad en enhet rapporterar. I så fall kan enhetsuppdateringen för IoT Hub-tjänsten inte matcha uppdateringen till den enheten. Om du redan har importerat en uppdatering kan du snabbt söka efter problem med kompatibilitetsegenskaper genom att klicka på länken "Information" för uppdateringen och sedan klicka på "Ytterligare information" i den högra utfällbara menyn. Därifrån kan du visa JSON-innehållet för importmanifestet för uppdateringen och identifiera eventuella fel.

F: Jag har problem med att ansluta min enhetsuppdateringsinstans till min IoT Hub-instans

Se till att dina IoT Hub-meddelandevägar är korrekt konfigurerade enligt dokumentationen om enhetsuppdateringsresurser .

Du kanske inte har åtkomstbehörigheter konfigurerade på rätt sätt. Se till att åtkomstbehörigheterna är korrekt konfigurerade enligt dokumentationen för åtkomstkontroll för enhetsuppdatering .

F: Jag får ett 500-liknande fel 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 sedan 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: det gick inte att importera uppdateringen 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. Med den här principen 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 denna möjlighet.

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 kan jag se till att min enhet ä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 i Azure-portalen.

F: En eller flera av mina enheter kan inte uppdateras

Det finns många möjliga grundorsaker till ett misslyckande vid enhetsuppdatering. 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 starta

En av de vanligaste orsakerna till ett fel i enhetsuppdateringsagentens start är en felaktig konfigurationsfil (du-config.json). Se dokumentationen för konfigurationsfilen och se till att agenten är korrekt konfigurerad. Alla värden i konfigurationsfilen måste använda dubbla citattecken.

Distribuera en uppdatering

F: Jag har distribuerat en uppdatering till min enhet, 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.

F: Min enhets distributionsstatus visar att den är inkompatibel, vad ska jag göra?

Egenskaperna tillverkare och modell 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 enheten rapporterar till enhetsuppdateringstjänsten. Kontrollera att den matchar den tillverkare och modell som du angav i importmanifestet för det uppdateringsinnehåll som du distribuerar. Du kan ändra dessa egenskaper för en viss enhet med hjälp av konfigurationsfilen Enhetsuppdatering.

F: Jag ser att min distribution är i den "Aktiva" fasen, men ingen av mina enheter är "under uppdatering". Vad ska jag göra?

Se till att startdatumet för distributionen inte är inställt i framtiden. När du skapar en ny distribution är distributionens startdatum som standard 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 meddelandevägarna i din IoT Hub är korrekt konfigurerade 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 Device Update för IoT Hub. Kontrollera att enheten redan är ansluten till Enhetsuppdatering. Du kan kontrollera att enheten har anslutits till Enhetsuppdatering för IoT Hub genom att se om den visas under "Ogrupperade" enheter i vyn Efterlevnad. 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) ska du se till att tagga dina enheter när de har tilldelats och inte under skapande av enheter. Om du redan har taggat enheten under steget enhetskapande måste du tillfälligt tagga enheten med ett annat värde när den har tillgängliggjorts och sedan åter lägga till den avsedda taggen.

F: Min distribution har slutförts, men vissa enheter kunde inte uppdateras

Det här villkoret kan orsakas av ett fel på klientsidan på de misslyckade enheterna. Se avsnittet Enhetsfel i den här felsökningsguiden.

F: Jag stötte på ett fel i användargränssnittet när jag försökte initiera en distribution

Det här villkoret kan orsakas av en tjänst-/UX-bugg eller ett API-behörighetsproblem. Följ anvisningarna i avsnittet Kontakta Microsoft Support för att skicka en supportbegäran till Microsoft.

F: Jag har startat en implementering men den når inte ett slutläge

Det här villkoret kan orsakas av ett problem med tjänstens prestanda, ett tjänstfel eller ett klientfel. Försök att driftsätta igen efter 10 minuter. Om du stöter på samma problem, vänligen hämta enhetsloggarna och konsultera 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 agent på enhetsnivå till att lägga till agenten som en modulidentitet på enheten. Nu visas min uppdatering som pågående trots att den tillämpas på enheten

Det här tillståndet kan inträffa om en äldre agent som kommunicerade via Device Twin inte togs bort. När du etablerar enhetsuppdateringsagenten som en modul (se hur du gör det) sker all kommunikation mellan enheten och enhetsuppdateringstjänsten via modultvillingen. Kom ihåg att tagga enhetens modultvilling när du skapar grupper och all kommunikation måste ske via modultvillingen.

Ladda ned uppdateringar till enheter

F: Hur återupptar jag en nedladdning när en enhet återansluts efter en period av frånkoppling?

Nedladdningen återupptas när anslutningen återställs inom 24 timmar. Efter 24 timmar måste användaren initiera nedladdningen igen.

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 på din IoT Edge-enhet genom att gå till http://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 kan misslyckas med att hämta innehåll från Internet för att skicka till sin MCC-modul eftersom URL:en som den använder inte är tillåten. Bekräfta detta genom att kontrollera IoT Edge-miljövariablerna i Azure-portalen.

Felsöka en instans som saknas i Azure-portalen

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 flyttar antingen enhetsuppdateringsinstansen eller hubben till en annan resursgrupp eller prenumeration kanske du inte ser din instans i Azure-portalen. I så fall gör du 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 din enhetsuppdateringsinstans 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 ditt IoT Hub-konto för enhetsuppdatering för att få åtkomst till enhetsuppdateringsfunktioner via IoT Hub-upplevelsen i Azure-portalen.

  • Så här hanterar du behörigheter för din IoT Hub:
    • Välj din hubb från Azure-portalen
    • 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-kontot ber du kontots ägare att vidta följande steg:
    • Välj ditt enhetsuppdateringskonto från Azure-portalen.
    • 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 uppgifter".

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 innehållet på den här sidan kan du skicka en supportbegäran med Microsoft Support via Azure-portalgränssnittet. Beroende på vilken kategori du anger att problemet tillhör kan du bli ombedd att samla in och dela mer data för att hjälpa Microsoft Support att undersöka problemet.

Mer information om hur du samlar in varje datatyp finns i den återstående texten i det här avsnittet.

Du kan använda getDevice för att söka efter ytterligare information i nyttolastsvaret för API:et.

Inkludera även följande information om möjligt, eftersom det kan vara användbart 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 din enhet kör
  • Information om enhetens arkitektur
  • Om du har använt Enhetsuppdatering för att uppdatera en enhet tidigare

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 om 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-portalens användargränssnitt.

För närvarande är spårnings-ID:n för distributionsåtgärder endast tillgängliga via API-svaret.

Implementerings-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.

För närvarande genereras distributions-ID:t för distributioner som initieras från Azure-portalens användargränssnitt automatiskt och visas inte för användaren.

IoT Hub-instansnamn

Du kan bli ombedd att ange IoT Hub-instansens namn när du rapporterar ett problem som rör enhetsfel eller distribution av en uppdatering.

IoT Hub-namnet väljs av användaren när det först skapas.

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 Enhetsuppdateringsresurser.

Namn på enhetsuppdateringsinstans

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 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 konfigureras första gången. Den kan också hämtas från enhetens Device Twin.

Uppdaterings-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 Konfiguration av enhetsuppdatering dokumentation.

Importmanifest

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.

Nästa steg

Läs mer om felkoder för enhetsuppdatering