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 ExtendedResultCode
konverterar du det signerade heltalet till osignerad hex. Endast de första 4 byteen ExtendedResultCode
av används och är av det formulär FFFFFFF
F
dä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
vara -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 . |