Enhetsuppdatering för IoT Hub-felkoder

Det här dokumentet innehåller en tabell med felkoder för olika enhetsuppdateringskomponenter.

Det finns två primära komponenter på klientsidan som kan utlösa felkoder: enhetsuppdateringsagenten och agenten för leveransoptimering. Felkoder kommer också från innehållstjänsten Enhetsuppdatering.

Enhetsuppdateringsagent

ResultCode och ExtendedResultCode

Enhetsuppdatering för IoT Hub Core PnP-gränssnittsrapporter ResultCode och ExtendedResultCode, som kan användas för att diagnostisera fel. Mer information om PnP-gränssnittet för Device Update Core finns i Enhetsuppdatering och Plug and Play. Mer information om standard innebörden av Device Update-agenten ResultCode och ExtendedResultCodes finns i GitHub-lagringsplatsen för enhetsuppdatering.

ResultCode är en allmän statuskod och ExtendedResultCode är ett heltal med kodad felinformation.

ExtendedResultCode Visas som ett signerat heltal i PnP-gränssnittet. Om du vill avkoda ExtendedResultCodekonverterar du det signerade heltalet till osignerad hex. Endast de första 4 byteen ExtendedResultCode av används och är av det formulärFFFFFFFFdär den första nibblen är facilitetskoden och resten av bitarna är felkoden.

Anläggningskoder

Anläggningskod beskrivning
D Fel som uppstod från DO SDK
E Felkoden är en felkod

Till exempel:

ExtendedResultCode Är -536870781

Den osignerade hexrepresentationen av -536870781 är FFFFFFFF E0000083.

Ignorera Anläggningskod Felkod
FFFFFFFF E 0000083

0x83 i hex är 131 i decimaltal, vilket är värdet errno för ENOLCK.

Leveransoptimeringsagent

I följande tabell visas felkoder som rör komponenten Leveransoptimering (DO) i enhetsuppdateringsklienten. DO-komponenten ansvarar för att ladda ned uppdateringsinnehåll till IoT-enheten.

DO-felkoden kan hämtas genom att undersöka undantagen som genereras som svar på ett API-anrop. Alla DO-felkoder kan identifieras med prefixet 0x80D0.

Felkod Strängfel Typ Beskrivning
0x80D01001L DO_E_NO_SERVICE saknas Leveransoptimering kunde inte tillhandahålla tjänsten
0x80D02002L DO_E_DOWNLOAD_NO_PROGRESS Ladda ned jobb Nedladdningen av en fil såg inga förlopp inom den definierade perioden
0x80D02011L DO_E_UNKNOWN_PROPERTY_ID Ladda ned jobb SetProperty() eller GetProperty() anropas med ett okänt egenskaps-ID
0x80D02012L DO_E_READ_ONLY_PROPERTY Ladda ned jobb Det går inte att anropa SetProperty() på en skrivskyddad egenskap
0x80D02013L DO_E_INVALID_STATE Ladda ned jobb Den begärda åtgärden tillåts inte i det aktuella jobbtillståndet. Jobbet kan ha avbrutits eller slutförts överföringen. Det är i skrivskyddat tillstånd nu.
0x80D02018L DO_E_FILE_DOWNLOADSINK_UNSPECIFIED Ladda ned jobb Det gick inte att starta en nedladdning eftersom ingen nedladdningsmottagare (antingen lokal fil eller stream-gränssnitt) har angetts
0x80D02200L DO_E_DOWNLOAD_NO_URI IDODownload-gränssnitt Nedladdningen startades utan att tillhandahålla en URI
0x80D03805L DO_E_BLOCKED_BY_NO_NETWORK Tillfälliga villkor Nedladdningen har pausats på grund av förlust av nätverksanslutning
   0 00 00000     Total 4 bytes (32 bits)
   - -- -----
   | |  |
   | |  |
   | |  +---------  Error code (20 bits)
   | |
   | +------------- Component/Area code (8 bits)
   |
   +--------------- Facility code (4 bits) 

Mer information om parsningskoder finns i Resultatkoder för enhetsuppdateringsagenten och utökade resultatkoder eller implementera en anpassad innehållshanterare.

Innehållstjänst för enhetsuppdatering

I följande tabell visas felkoder som rör innehållstjänstkomponenten i enhetsuppdateringstjänsten. Innehållstjänstkomponenten ansvarar för att importera uppdateringsinnehåll. Mer felsökningsinformation finns också för import av proxyuppdateringar.

Felkod Strängfel Nästa steg
UpdateAlreadyExists Det finns redan en uppdatering med samma identitet. Kontrollera att du importerar en uppdatering som inte redan har importerats till den här instansen av Enhetsuppdatering för IoT Hub.
DuplicateContentImportera Identiskt innehåll som importeras samtidigt flera gånger. Kontrollera att du importerar en uppdatering som inte redan har importerats till den här instansen av Enhetsuppdatering för IoT Hub.
CannotProcessImportManifest Det gick inte att bearbeta importmanifestet. Se importbegrepp och dokumentation om importuppdatering för korrekt formatering av importmanifestet.
CannotDownload Det går inte att ladda ned importmanifestet. Kontrollera att URL:en för importmanifestfilen fortfarande är giltig.
CannotParse Det går inte att parsa importmanifestet. Kontrollera att importmanifestet är korrekt mot det schema som definierats i dokumentationen för importuppdateringen.
Version som inte stöds Det går inte att importera manifestschemaversionen. Kontrollera att importmanifestet använder det senaste schemat som definierats i dokumentationen för importuppdateringen.
Det gick inte att importera uppdateringen på grund av överskriden gräns. Det går inte att importera ytterligare uppdateringsprovider. Du har nått en gräns för antalet olika leverantörer som tillåts i din instans av Enhetsuppdatering för IoT Hub. Ta bort några uppdateringar från instansen och försök igen.
Det gick inte att importera uppdateringen på grund av överskriden gräns. Det går inte att importera ytterligare uppdateringsnamn för den angivna providern. Du har nått en gräns för antalet olika namn som tillåts under en provider i din instans av Enhetsuppdatering för IoT Hub. Ta bort några uppdateringar från instansen och försök igen.
Det gick inte att importera uppdateringen på grund av överskriden gräns. Det går inte att importera ytterligare uppdateringsversion för den angivna providern och namnet. Du har nått en gräns för antalet olika versioner som tillåts under en provider och namn i din instans av Enhetsuppdatering för IoT Hub. Ta bort några uppdateringar med det namnet från din instans och försök igen.
Det gick inte att importera uppdateringen på grund av överskriden gräns. Det går inte att importera ytterligare uppdateringsprovider med den angivna kompatibiliteten.

or

Det går inte att importera ytterligare uppdateringsnamn med den angivna kompatibiliteten.

or

Det går inte att importera ytterligare uppdateringsversion med den angivna kompatibiliteten.
När du definierar kompatibilitetsegenskaper i ett importmanifest bör du tänka på att Enhetsuppdatering för IoT Hub stöder en enskild provider och namnkombination för en viss uppsättning kompatibilitetsegenskaper. Om du försöker använda samma kompatibilitetsegenskaper med fler än en kombination av provider/namn visas dessa fel. Lös problemet genom att se till att alla uppdateringar för en viss enhet (enligt definitionen i kompatibilitetsegenskaper) använder samma provider och namn.
CannotProcessUpdateFile Det gick inte att bearbeta källfilen.
ContentFileCannotDownload Det går inte att ladda ned källfilen. Kontrollera att URL:en för uppdateringsfilerna fortfarande är giltig.
SourceFileMalwareDetected En känd signatur för skadlig kod upptäcktes i en fil som importerades. Enhetsuppdatering för IoT Hub söker igenom importerat innehåll efter skadlig kod med hjälp av flera olika mekanismer. Om en känd signatur för skadlig kod identifieras misslyckas importen och ett unikt felmeddelande returneras. Felmeddelandet innehåller beskrivningen av signaturen för skadlig kod och en filhash för varje fil där signaturen identifierades. Du kan använda filhashen för att hitta den exakta filen som flaggas och använda beskrivningen av signaturen för skadlig kod för att kontrollera om filen innehåller skadlig kod.

När du har tagit bort skadlig kod från alla filer som importeras kan du starta importprocessen igen.
SourceFilePendingMalwareAnalysis En signatur har identifierats i en fil som importeras som kan tyda på att skadlig kod finns. Enhetsuppdatering för IoT Hub söker igenom importerat innehåll efter skadlig kod med hjälp av flera olika mekanismer. Importen misslyckas om en genomsökningssignatur har egenskaper för skadlig kod, även om det inte finns någon exakt matchning mot känd skadlig kod. När detta inträffar returneras ett unikt felmeddelande. Felmeddelandet innehåller beskrivningen av signaturen för misstänkt skadlig kod och en filhash för varje fil där signaturen identifierades. Du kan använda filhashen för att hitta den exakta filen som flaggas och använda beskrivningen av signaturen för skadlig kod för att kontrollera om filen innehåller skadlig kod.

När du har tagit bort skadlig kod från alla filer som importeras kan du starta importprocessen igen. Om du är säker på att dina filer är fria från skadlig kod och fortsätter att se det här felet använder du kontakta Microsoft Support-processen .

Nästa steg

Felsöka problem med enhetsuppdatering