SILICON LABS SDK 7.4.1.0 GA Zigbee Protocol Stack Software
Produktinformation
Specifikationer
- Zigbee EmberZNet SDK-version: 7.4.1.0
- Gecko SDK Suite Version: 4.4 – 14 februari 2024
- Försäljare: Silicon Labs
- Nyckelfunktioner: Multiprotocol Zigbee och OpenThread-stöd på SoC
- Kompatibla kompilatorer: GCC version 12.2.1
- EZSP-protokollversion: 0x0D
Produktanvändningsinstruktioner
Kompatibilitet och användningsmeddelanden
- För säkerhetsuppdateringar och meddelanden, se kapitlet Säkerhet i Gecko Platform Release Notes installerade med denna SDK eller besök fliken TECH DOCS på Silicon Labs webplats.
- Håll dig uppdaterad genom att prenumerera på Security Advisories.
FAQ
- Fråga: Hur verifierar jag rätt files används med de kompatibla kompilatorerna?
- Svar: Du kan verifiera att det är rätt files används genom att kontrollera GCC version 12.2.1 som medföljer Simplicity Studio.
- Fråga: Var kan jag hitta information om säkerhetsuppdateringar och meddelanden?
- Svar: För säkerhetsuppdateringar och meddelanden, se kapitlet Säkerhet i Gecko Platform Release notes eller besök fliken TECH DOCS på Silicon Labs' webplats.
Silicon Labs är leverantören av valet för OEM-tillverkare som utvecklar Zigbee-nätverk i sina produkter. Silicon Labs Zigbee-plattformen är den mest integrerade, kompletta och funktionsrika Zigbee-lösningen som finns.
Silicon Labs EmberZNet SDK innehåller Silicon Labs implementering av Zigbee-stackspecifikationen.
- Dessa versionsnoteringar täcker SDK-version(er):
- 7.4.1.0 släpptes 14 februari 2024
- 7.4.0.0 släpptes 13 december 2023
NYCKELFUNKTIONER
Zigbee
- Zigbee R23-överensstämmelse
- Zigbee Smart Energy 1.4a överensstämmelse – produktion
- Zigbee GP 1.1.2 överensstämmelse – Alpha
- MG27 support – produktion
- Förbättrat stöd för Secure Vault-delar
- Sömnigt stöd på NCP SPI (icke-CPC) applikationer – Alpha
Multi
- Concurrent Listening-stöd (RCP) – MG21 och MG24
- Concurrent Multiprotocol (CMP) Zigbee NCP + OpenThread RCP – produktion
- Dynamic Multiprotocol Bluetooth + Concurrent Multiprotocol (CMP) Zigbee och OpenThread-stöd på SoC
Kompatibilitet och användningsmeddelanden
För information om säkerhetsuppdateringar och meddelanden, se kapitlet Säkerhet i Gecko Platform Release Notes installerade med denna SDK eller på fliken TECH DOCS på https://www.silabs.com/developers/zigbee-emberznet. Silicon Labs rekommenderar också starkt att du prenumererar på Security Advisories för uppdaterad information. För instruktioner, eller om du är ny med Zigbee EmberZNet SDK, se Använda den här versionen.
Kompatibla kompilatorer
- IAR Embedded Workbench för ARM (IAR-EWARM) version 9.40.1.
- Att använda Wine för att bygga med kommandoradsverktyget IarBuild.exe eller IAR Embedded Workbench GUI på macOS eller Linux kan resultera i felaktiga files används på grund av kollisioner i Wines hashalgoritm för att generera kortslutning file namn.
- Kunder på macOS eller Linux rekommenderas att inte bygga med IAR utanför Simplicity Studio. Kunder som gör det bör noggrant kontrollera att det är korrekt files används.
GCC (The GNU Compiler Collection) version 12.2.1, försedd med Simplicity Studio.
EZSP-protokollversionen för den här utgåvan är 0x0D.
Nya föremål
Den här utgåvan av Gecko SDK (GSDK) kommer att vara den sista med kombinerat stöd för alla EFM- och EFR-enheter, förutom patchar till denna version vid behov. Från och med mitten av 2024 kommer vi att introducera separata SDK:er:
- Den befintliga Gecko SDK kommer att fortsätta med stöd för enheter i serie 0 och 1.
- En ny SDK kommer att passa specifikt för enheter i serie 2 och 3.
Gecko SDK kommer att fortsätta att stödja alla enheter i serie 0 och 1 utan någon förändring av det långsiktiga stödet, underhållet, kvaliteten och lyhördheten som tillhandahålls enligt vår programvarupolicy.
Den nya SDK kommer att förgrena sig från Gecko SDK och börja erbjuda nya funktioner som hjälper utvecklare att ta fördeltage av de avancerade funktionerna hos våra serier 2 och 3 produkter.
Detta beslut överensstämmer med kundfeedback, vilket återspeglar vårt engagemang för att höja kvaliteten, säkerställa stabilitet och förbättra prestanda för en exceptionell användarupplevelse över våra programvaru-SDK:er.
Nya komponenter
Nytt i release
- Komponenterna "zigbee_direct_security_p256" och "zigbee_direct_security_curve25519" har lagts till så att användare kan konfigurera ett specifikt Zigbee Direct-säkerhetsalternativ.
- Användare tillåts ha flera "zigbee_direct_security"-komponenter aktiverade på en Zigbee Direct Device-applikation (ZDD). I det här fallet beror det faktiska säkerhetsalternativet på Zigbee Virtual Device (ZVD)-konfigurationen.
Nya API: er
Nytt i release
- Lade till ett nytt API sl_zigbee_token_factory_reset för att återställa Zigbee NVM3-tokens till deras standardvärde.
- Lade till API-bool sl_zigbee_sec_man_link_key_slot_available(EmberEUI64 eui), som returnerar sant om länknyckeltabellen kan lägga till eller uppdatera en post med denna adress (tabellen är inte full).
- Lade till en ny API-bool sl_zb_sec_man_compare_key_to_value (sl_zb_sec_man_context_t*-kontext, sl_zb_sec_man_key_t*-nyckel), som returnerar true om nyckeln refereras av kontext har samma värde som nyckeln som anges i argumentet.
Ny plattformssupport
Nytt i release
- Zigbee-stackstöd för följande nya delar läggs till i den här utgåvan: EFR32MG24A010F768IM40 och EFR32MG24A020F768IM40.
Ny dokumentation
Nytt i version 7.4.0.0
- Uppdaterade beskrivningen för Zigbee Secure Key Storage-komponenten för att återspegla tillägget av Zigbee Secure Key Storage Upgrade (som lägger till bakåtkompatibilitet med befintliga projekt).
- Lade till en ny applikationsanmärkning för interaktion med Zigbee Security Manager-gruppen av komponenter (AN1412: Zigbee Security Manager).
Avsett beteende
Användare påminns om att Zigbee osynkroniserade CSL-sändningar är föremål för protokollförbud hos radioschemaläggaren. I SleepyToSleepy-applikationerna kan och kommer BLE att förebygga en Zigbee CSL-överföring, vilket kommer att avsluta överföringen. Schemaläggare är vanligare för osynkroniserad CSL, med tanke på att en potentiellt lång väckningsramsekvens kan användas. Användare som vill justera sändningsprioriteringar kan använda DMP Tuning and Testing-komponenten för att göra det. Användare kan också konsultera UG305: Dynamic Multiprotocol User's Guide för mer information.
Förbättringar
Ändrad i release
emberCounterHandler API-dokumentändringar
I tidigare versioner skickades inte Counter Handler callback för MAC- och APS-lager EmberCounterTypes angående paket RX och TX det korrekta målnod-ID eller dataargument, och API-dokumentation angående beteendet hos vissa räknare som använde dessa parametrar var otydlig eller missvisande.
Även om signaturen för emberCounterHandler() inte har ändrats, har sättet att fylla i parametrarna ändrats något.
- Kommentarer kring EmberCounterType enums i ember-types.h har utökats för tydlighetens skull.
- Parametern Nod ID till Counter Handler för TX-relaterade räknare kontrollerar nu om destinationsadressläget indikerar ett giltigt kort ID innan det används. (Om inte, fylls ingen destinationsadress i, och ett platshållarvärde på EMBER_UNKNOWN_NODE_ID används istället.)
- Nod-ID-parametern till räknehanteraren för RX-relaterade räknare återspeglar nu källnodens ID, inte destinationsnodens ID.
- Antalet nya försök skickas *inte* som dataparameter för EMBER_COUNTER_MAC_TX_UNICAST_ SUCCESS/FAILED-räknare enligt beskrivningen i ember-typer. h i tidigare versioner, men detta var aldrig korrekt ifyllt i tidigare utgivna versioner så dess värde i tidigare utgåvor skulle alltid ha varit 0. Detta beteende har förtydligats i beskrivningen av dessa EmberCounterTypes. Antalet försök igen för APS-lagerförsök fortsätter dock att fyllas i dataparametern för EMBER_COUNTER_APS_TX_UNICAST_SUCCESS/FAILED räknaretyper, för att överensstämma med tidigare versioner.
- Alla räknare som fyller i nod-ID eller dataparameter för återuppringningen har granskats för att säkerställa att de skickar förväntad data, adress eller EMBER_UNKNOWN_NODE_ID om ett nod-ID förväntades men inte kunde erhållas från paketet, som beskrivs i den reviderade ember- typer.h dokumentation.
- Räknarhanteraren för EMBER_COUNTER_MAC_TX_UNICAST_RETRY återspeglar nu korrekt MAC-lagrets destinationsnod-ID och flera försök i dess destinationsnod-ID och dataparametrar.
- Räknarhanteraren för EMBER_COUNTER_PHY_CCA_FAIL_COUNT tillhandahåller nu information om destinationsnod-ID via parametern Nod-ID om det avsedda MAC-lagermålet för meddelandet som misslyckades med överföringen.
Uppdaterad Green Power Code
Green Power-serverns kod uppdateras med olika förbättringar inklusive:
- Lade till mer valideringskod för inkommande kommandon med ogiltig slutpunkt vid mottagning på GP-servern.
- Lagt till kod för att hantera ärendet när det inte finns mer utrymme för att skapa gröna kraftmeddelanden.
- Diskbänken avbryter nu parningskonfigurationen med åtgärd ta bort parning i vissa fall enligt spec avsnitt A.3.5.2.4.1.
- Diskbänken sparar nu den befintliga grupplistan för en post innan den tas bort vid bearbetning av parningskonfiguration med åtgärd förlängning.
- Kommandot Översättningsfråga returnerar "NOT FOUND" som felkod när översättningstabellen är tom eller indexet är större än flera poster i tabellen.
- Ändrade versionen av GP-slutpunkten i vissa appar från 1 till 0.
Användning av CSMA i GPDF-sändningsfunktionen är begränsad eftersom Green Power-enheter är minimalenergienheter och inte använder CSMA i de flesta designerna. Istället är den föredragna designen att skicka ut flera paket med samma energibudget.
Tog bort användningen av en dold slutpunkt i Green Power Server-pluginalternativet. Använd en av applikationens slutpunkter istället.
Förbättringar av plugin-kod för uppdatering av nätverksnyckel
- Ändrade den periodiska uppdateringsperioden för nätverksnyckeln till att vara så lång som 1 år.
Omstrukturerade vissa API:er för att undvika onödig nyckelexport
Gjorde ändringar för att gynna användningen av nyckelkontexter framför nyckeldata i klartext.
- sl_zigbee_send_security_challenge_request tar nu in ett sl_zb_sec_man_context_t-argument i stället för EmberKeyData.
- Värdena för sl_zb_sec_man_derived_key_type enum är nu en 16-bitars bitmask för att direkt stödja vissa nyckelhärledningar som kombinerar flera härledda typer.
Fixade problem
Fixat i release
ID # | Beskrivning |
1036893 | Fixade ett problem som gjorde att OTA-klusterkomponenten installerade den äldre boot-loader-gränssnittskomponenten som ett beroende. |
1114905 | Zigbee Direct: Förbättrad hantering av Leave Network Characteristic. |
1180937 | Fixad WDT-återställning vid anslutning av Zigbee Direct ZDD till 3:e parts ZVD. |
1223904 | Fixade ett problem som gjorde att slutenheten flyttade för att fungera felaktigt i en mycket hektisk miljö. |
1224393 | Uppdaterade Green Power-sänktabellens begäran om hanterarkod för att uppdatera svarsdestinationsadressen. |
1228808 | Fixade visningsproblemet med makrodefinitioner i gp-types.h dokumentation. |
1232297 | Fixade ett problem där emberSetOutgoingNwkFrameCounter och emberSetOutgoingApsFrameCounter inte fungerade på 64-bitars värdapplikationer (returerar EMBER_BAD_ARGUMENT). |
1232359 | Fixade gppTunnelingDelay-parameterberäkningen i klientkommandobearbetning med grön kraft. |
1240392 |
ZDO Bind/Unbind-förfrågningar som nekats av åtkomst-/behörighetsskäl bör returnera EMBER_ZDP_NOT_AUTHORIZED-status snarare än EMBER_ZDP_NOT_PERMITTED-status enligt Zigbee-specifikationerna. |
1243523 | Zigbee Direct: Förbättrad stabilitet för BLE-anslutning till ZVD. |
1249455 | Fixade ett problem som gjorde att en sömnig slutenhet gick i viloläge när den tog emot en sändning innan den fick ett kvitto. |
1252295 | Åtgärda ett stavfel i komponentkatalogmakrot SL_CATALOG_ZIGBEE_OTA_STORAGE_COMMON_PRESENT. |
Fixat i release
ID # | Beskrivning |
1019348 | Fixade beroendekraven för Zigbee ZCL Cli-komponenten så att den kan tas bort när den inte behövs. |
1024246 | Uppdaterade funktionsbeskrivningen för emberHaveLinkKey() och sl_zb_sec_man_have_link_key(). |
1036503 | Lade till en beskrivning för att rekommendera användningen av Micrium Kernel för DMP sampde appar. |
1037661 | Ett problem som hindrade programmet från att installera antingen pro stack eller leaf stack har åtgärdats. |
1078136 | Fixade en intermittent krasch vid ändring av händelser från avbrottskontext |
1081548 |
Användare påminns om att Zigbee osynkroniserade CSL-sändningar är föremål för protokollförbud hos radioschemaläggaren. I SleepyToSleepy-applikationerna kan och kommer BLE att förebygga en Zigbee CSL-överföring, vilket kommer att avsluta överföringen. Schemaläggare är vanligare för osynkroniserad CSL, med tanke på att en potentiellt lång väckningsramsekvens kan användas. Användare som vill justera sändningsprioriteringar kan använda DMP Tuning and Testing-komponenten för att göra det. Användare kan också konsultera UG305: Dynamic Multiprotocol User's Guide för mer information.
Ett problem har åtgärdats i CSL där en ny uppvakningsramsekvens som tas emot omedelbart efter en tidigare nyttolastram inte skulle spelas in korrekt. Detta skulle resultera i en missad nyttolastram. |
1084111 | Initialt sömnigt SPI-NCP-stöd för MG24-baserade kort uppdateras som en del av denna utgåva. |
1104056 | Tillagt stöd för nätverksstyrning för att köras på ett sekundärt nätverk vid multinätverk |
1120515 | Fixade ett problem där kanalen inte ändrades när du använde kommandot mfglib set-channel. |
1141109 | Fixade ett problem som orsakade den genererade sampapplikationen ncp-uart-gp-multi-rail för att missa någon rubrik files när du använder den gröna strömadapterkomponenten med alternativet -cp. |
1144316 | Uppdaterade beskrivningen av vissa datastrukturtyper i gp-types.h dokumentation. |
1144884 | Fixade falsk ram väntande bit inställd när ingen data väntar. |
1152512 | Fixade en potentiell krasch i low-mac-rail vid modifiering av händelsen i ISR-sammanhang. |
ID # | Beskrivning |
1154616 | Lade till ett undantag för villkoret att initiera nätverket med fallet "Byt roll från Sleepy End-enhet till Non-slepy End-enhet". |
1157289 | Fixat ett problem som kan orsaka BDB-testfel DN-TLM-TC-02B. |
1157426 | Fixade ett byggproblem när du byggde zigbee_simple_app med green_power_adapter-komponenten. |
1157932 | Lade till ett villkor för att kontrollera om fältet "övergångstid" saknas och ange ett standardvärde på 0xFFFF för detta saknade fält. |
1166340 | Fixade ett problem som hindrade emberAfGpdfSend från att skicka ut det avsedda antalet upprepade sändningar. |
1167807 | Fixade ett problem där enheter som fungerar som Trust Centers i distribuerade nätverk felaktigt skulle rensa sina transienta länknycklar varje gång en ny enhet gick med. |
1169504 | Fixade ett problem som orsakade en återställning av en sömnig enhet vid tvingad väckning. |
1169966 | Fixat saknade returvärdevalidering i bufferttilldelningskod. |
1171477,
172270 |
Med mfglib start 1 sänds inga meddelanden utan tas emot, så det visade terminalmeddelandet "mfglib send complete" är fel och ändras till "RXed %d paket under de senaste %d ms". |
1171935 | Ändrade den periodiska uppdateringsperioden för nätverksnyckeln till att vara så lång som 1 år. |
1172778 | Lade till det saknade anropet av emberAfPluginGreenPowerServerUpdateAliasCallback till Green Power-servern. |
1174288 | Åtgärdat ett problem som gör att nätverksstyrningsprocessen aktiveras om ett anrop för att stoppa en pågående skanning anropas. |
1178393 | Uppdaterade ett dokumentationsfel. |
1180445 | I Smart Energy fortsätter OTA nu att ladda ner om koordinatorn når den begränsade arbetscykeln. |
1185509 | Fixade ett problem i CSL där en ny uppvakningsramsekvens som tas emot omedelbart efter en tidigare nyttolastram inte skulle spelas in korrekt. Detta skulle resultera i en missad nyttolastram. |
1186107 | Fixade ett problem som gjorde att den misslyckade dekrypteringen av mottagna GPDF:er ersatte den inkommande GPDF:en i gp-kommissioneringsmeddelandet. |
1188397 | Fixade ett problem som orsakade ett kompileringsfel när utökad rapporttabellstorlek aktiverades. |
1194090 | Korrigerade felstatusen i standardsvaret för kommandot Sink Commissioning Mode – följande avsnitt 3.3.4.8.2 |
1194963 | Fixade ett problem som satte in commissioningGpd-strukturen innan användarens callback emberAfGreenPowerServerPairingStatusCallback anropades. |
1194966 | Fixade ett problem där fälten endpoint och proxiesInvolved inte ställdes in med åtgärden Exit Commissioning. |
1196698 | Fixade en falsk ram väntande bituppsättning när ingen data väntade. |
1199958 | Lagt till kod för att hantera ärendet när det inte finns mer utrymme för att skapa gröna kraftmeddelanden. |
1202034 | Fixade ett problem där stackvariabeln sl_zb_sec_man_context_t inte initierades korrekt, vilket gjorde att kopplingen till installationskoden misslyckades. |
1206040 |
Att anropa emberRemoveChild() under ett säkert återanslutningsförsök av en slutenhet kan potentiellt leda till en extra minskning av antalet barn, vilket potentiellt kan leda till ett antal barn på -1 (255), vilket hindrar slutenheter från att gå med/återansluta sig på grund av en indikerad brist av kapacitet i Beacon. |
1207580 |
Sökfunktioner för underordnade tabeller i stacken är inkonsekventa när det gäller användningen av 0x0000 mot 0xFFFF för nod-ID-returvärde som representerar ogiltiga/tomma poster, vilket leder till problem med att söka efter oanvända poster i API:er som emberRemoveChild(). |
1210706 | Destination och PHY-index som tillhandahålls i EmberExtraCounterInfo struct som en del av emberCounterHandler() kan ha varit felaktiga för MAC TX Unicast-räknartyper. |
1211610
1212525 |
Fixade ett problem där Dynamic Multiprotocol-applikationer kraschade efter att ha aktiverat Secure Key Storage Upgrade-komponenten. |
1211847 | Även om signaturen för emberCounterHandler() inte har ändrats, har sättet att fylla i parametrarna ändrats något. Ändringar kring detta API förklaras i avsnitt 2 ovan. |
1212449 |
Utgående Beacons kategoriserades felaktigt av MAC-lagret, vilket ledde till att emberCounterHandler() misslyckades med att fånga dessa paket med räknartypen EMBER_COUNTER_MAC_TX_BROADCAST och istället räknade Beacons med räknartypen EMBER_COUNTER_MAC_TX_UNICAST_SUCCESS. Det resulterade potentiellt i otillförlitliga värden för parametern dest EmberNodeId som skickades till EmberCounterInfo-strukturen |
ID # | Beskrivning |
1214866 | Att skicka datafröstpaket i vissa konfigurationer med hög trafik kan resultera i ett bussfel. |
1216552 | Ett problem som orsakar ett påstående under hektiska trafikförhållanden har åtgärdats. |
1216613 | Åtgärdat ett problem som ledde till ett felaktigt värde på gruppens castradie i proxytabellen. |
1222509 | Routern/koordinatorn skickar en begäran om ledighet och återanslutning till en enhet som inte är underordnad polling, men MAC-destinationen är 0xFFFF istället för att matcha NWK-destinationsadressen. |
1223842 | Fixade ett problem med genereringen av sl_component_catalog.h som lämnade oönskad kod i den som orsakade kompileringsfel. |
756628 | Ändrade anropet av programåteruppringning emberAfMacFilterMatchMessageCallback till att endast anropas för ZLL-meddelanden som valideras av stacken. |
816088 | Flyttade EMBER-konfiguration från zigbeed_configuration.h till zigbeed. slcp. |
829508 | För att undvika ett tävlingstillstånd lades ytterligare validering till i emberSetLogicalAndRadioChannel för att returnera misslyckat om de lägre lagren är upptagna eller inte i ett tillstånd för att byta kanal. |
Kända problem i den aktuella versionen
Nummer i fetstil har lagts till sedan den tidigare utgåvan. Om du har missat en release finns de senaste releasenoteserna tillgängliga på https://www.si-labs.com/developers/zigbee-emberznet på fliken Tekniska dokument.
ID # | Beskrivning | Lösning |
N/A | ·Följande appar/komponenter stöds inte i den här utgåvan: EM4-stöd | Funktionen kommer att aktiveras i efterföljande utgåvor. |
193492 |
emberAfFillCommandGlobalServerToClientConfigureReporteringsmakrot är trasigt. Fyllningen av bufferten skapar ett felaktigt kommandopaket. | Använd CLI-kommandot "zcl global send-me-a-report" istället för API:et. |
278063 | Smart energitunnel plugins har motstridig behandling/användning av adresstabellindex. | Ingen känd lösning |
289569 |
Den nätverksskapande komponentens effektnivåvallista erbjuder inte ett komplett utbud av värden som stöds för EFR32 |
Redigera intervallet <-8..20> som anges i CMSIS-kommentaren för EMBER_AF_PLUGIN_NETWORK_CREATOR_RADIO_P
OWER i /protocol/ZigBee/app/framework/plugin/network-creator/config/network-creator-config.h file. Till exempelample, ändra till . |
295498 | UART-mottagning sjunker ibland byte under hög belastning i det dynamiska multiprotokollanvändningsfallet Zigbee+BLE. | Använd hårdvaruflödeskontroll eller sänk överföringshastigheten. |
312291 |
EMHAL: halCommonGetIntxxMillisecondTick-funktionerna på Linux-värdar använder för närvarande get meofday-funktionen, som inte garanterat är monoton. Om systemtiden ändras kan det orsaka problem med stacktiming. |
Ändra dessa funktioner för att använda clock_gettime med källan CLOCK_MONOTONIC istället. |
338151 | Initiering av NCP med ett lågt paketbuffertantalvärde kan orsaka korrupta paket. | Använd det reserverade värdet 0xFF för paketbuffertantal för att undvika det för låga standardvärdet |
387750 | Problemet med format för rutttabellbegäran på slutenheten. | Under utredning |
400418 | En touchlink-initiator kan inte länka till ett icke-fabriksnyt slutenhetsmål. | Ingen känd lösning. |
424355 |
En icke-fabriksny sömnig slutenhet med touchline-mål-kapabel initiator kan inte ta emot ett enhetsinformationssvar under vissa omständigheter. |
Under utredning |
465180 |
Coexistence Radio Blocker Optimization-objektet "Enable Runtime Control" kan blockera korrekt Zigbee-drift. | Valfri "Wi-Fi Select"-kontroll av blockeringsoptimering ska lämnas "Inaktiverad". |
480550 |
OTA-klustret har sin inbyggda fragmenteringsmetod, därför bör det inte använda APS-fragmentering. Även om APS-kryptering är aktiverad ökar den nyttolasten för ImageBlockResponses till en storlek där APS-fragmenteringen är aktiverad. Detta kan leda till att OTA-processen misslyckas. |
Ingen känd lösning |
481128 |
Detaljerad återställningsorsak och kraschdetaljer ska vara tillgängliga som standard via Virtual UART (Serial 0) på NCP-plattformar när diagnostikplugin och Virtual UART perifer är aktiverade. | Eftersom seriell 0 redan är initierad i NCP:n kan kunder aktivera emberAfNcpInitCallback i Zigbee NCP Framework och anropa lämpliga diagnostiska funktioner (halGetExtendedResetInfo, halGetExtendedResetString, halPrintCrashSummary, halPrintCrashDetail till denna utskrift och CrashDetail till denna utskriftsdata och CrashDe 0 för viewinfångningsloggen i Network Analyzer.
För ett exampLäs om hur du använder dessa funktioner, se koden som ingår i a-main-soc.c:s emberAfMainInit() när EXTENDED_RESET_INFO är definierad. |
ID # | Beskrivning | Lösning |
486369 |
Om en DynamicMultiProtocolLightSoc som bildar ett nytt nätverk har underordnade noder kvar från ett nätverk som den har lämnat, returnerar emberAfGetChildTableSize ett värde som inte är noll i startIdentifyOnAllChildNodes, vilket orsakar Tx 66-felmeddelanden när de adresserar "spöke"-barnen. | Massradera delen om möjligt innan du skapar ett nytt nätverk eller kontrollera underordnade tabellen programmässigt efter att ha lämnat nätverket och radera alla barn som använder emberRemoveChild innan du skapar ett nytt nätverk. |
495563 |
Går med i SPI NCP Sleepy End Device Sample App kortar inte omröstning, därför misslyckas anslutningsförsöket vid tillståndet för Update TC Link Key. | Enheten som vill gå med bör vara i kort omröstningsläge innan du försöker gå med. Det här läget kan tvingas fram av insticksprogrammet End Device Support. |
497832 |
I Network Analyzer refererar Zigbee Application Support Command Breakdown för Verify Key Request Frame av misstag till den del av nyttolasten som anger ramens källadress som destinationsadress. |
Ingen känd lösning |
519905
521782 |
Spi-NCP kan mycket sällan misslyckas med att starta bootloader-kommunikation med "bootload" CLI-kommandot för ota-client-plugin. |
Starta om uppstartsprocessen |
620596 |
NCP SPI Example för BRD4181A (EFR32xGMG21)
nWake-standardstift som definierats kan inte användas som ett väckningsstift. |
Ändra standardstiftet för nWake från PD03 till ett EM2/3-aktiverat stift i NCP-SPI Plugin. |
631713 |
En Zigbee End Device kommer att rapportera adresskonflikter upprepade gånger om plugin "Zigbee PRO Stack Library" används istället för "Zigbee PRO Leaf Library". | Använd "Zigbee PRO Leaf Library" istället för "Zigbee PRO Stack Library" plugin. |
670702 |
Ineffektivitet i Reporting-pluginet kan leda till betydande latens baserat på dataskrivfrekvens och tabellstorlek, vilket kan störa kundens applikationskod, inklusive händelsetiming. | Om du skriver ofta, överväg att kontrollera rapporteringsvillkoren och skicka rapporter manuellt istället för att använda plugin. |
708258 |
Oinitierat värde i groups-server.c via addEntryToGroupTable() kan skapa en falsk bindning och orsaka att gruppbesättningsrapporteringsmeddelanden skickas. | Lägg till "binding.clusterId = EMBER_AF_INVALID_CLUSTER_ID;" efter "bindning.typ
= EMBER_MULTICAST_BINDING;" |
757775 |
Alla EFR32 delar har en unik RSSI offset. Dessutom kan kortdesign, antenner och hölje påverka RSSI. |
När du skapar ett nytt projekt, installera RAIL Utility, RSSI-komponenten. Denna funktion inkluderar standard RSSI Offset Silabs mätt för varje del. Denna förskjutning kan ändras vid behov efter RF-testning av hela din produkt. |
758965 |
ZCL-klusterkomponenter och ZCL-kommandoupptäcktstabellen är inte synkroniserade. Därför, när du aktiverar eller inaktiverar en ZCL-klusterkomponent, kommer implementerade kommandon inte att aktiveras/inaktiveras på motsvarande ZCL Advanced Configurator-kommanderflik. | Aktivera/inaktivera upptäckt manuellt för önskade ZCL-kommandon i ZCL Advanced Configurator. |
765735 | OTA-uppdateringen misslyckas på Sleepy End Device med aktiverad Page Request. | Använd Block Request istället för Page Request. |
845649 |
Ta bort CLI: Kärnkomponenten eliminerar inte EEPROM cli-anrop till sl_cli.h. |
Ta bort eeprom-cli.c file som kallar sl_cli.h. Dessutom kan anrop till sl_cli.h såväl som sl_cli_command_arg_t i ota-storage-simple-eeprom kommenteras bort. |
857200 |
ias-zon-server. c tillåter att en bindning skapas med en "0000000000000000" CIE-adress och tillåter inte ytterligare bindningar. | Ingen känd lösning |
1019961 | Genererat Z3Gateway-märkefile hårdkoder "gcc" som CC | Ingen känd lösning |
ID # | Beskrivning | Lösning |
1039767 |
Problem med Zigbee-routernätverket försök med köspill i flertråds RTOS-användningsfall. |
Zigbee Stack är inte trådsäker. Som ett resultat av detta stöds inte anrop av Zigbee stack API:er från en annan uppgift i OS-miljön och kan försätta stacken i ett "icke-fungerande" tillstånd. Se följande appanteckning för mer information och en lösning med hjälp av händelsehanteraren.
https://www.silabs.com/documents/public/application- notes/an1322-dynamic-multiprotocol-bluetooth-zigbee-sdk- 7x.pdf . |
1064370 | Z3Switch sampapplikationen aktiverade endast en knapp (instans: btn1) som standard vilket leder till att knappbeskrivningen i projektet inte matchar file. | Lösning: Installera btn0-instansen manuellt när Z3Switch-projektet skapas. |
1161063 | Z3Light och potentiellt andra applikationer rapporterar felaktiga klusterrevisionsvärden. | Uppdatera attributet för klusterrevision manuellt till lämplig revision. |
1164768,
1171478, 1171479 |
FEL: ezspErrorHandler 0x34 rapporteras upprepade gånger under mfglib-mottagningsläge | För att minska antalet utskrivna felmeddelanden, konfigurera EMBER_AF_PLUGIN_GATEWAY_MAX_WAIT_FOR_EV
ENT_TIMEOUT_MS på värdappen till 100, så återuppringningskön frigörs snabbare. |
1252460 | SimEEPROM-återställningsrutiner (för både v1 och v2) som körs vid start kan utföra feljusterade flash-sideraderingsanrop vilket resulterar i påståenden under em_msc. c:s MSC_ErasePage-rutin. | Lösning: Placera följande kodrad överst i funktionen MSC_ErasePage() i em_msc.c: startadress = (uint32_t*)((uint32_t)startAddress &
~(FLASH_PAGE_SIZE-1)); |
Utfasade artiklar
Utfasad i release
I GSDK 7.4.0.0 och framåt, inklusive denna patch, är alternativet "-v" i en Z3Gateway för en linux-värdapplikation för att skapa ett telnet-gränssnitt med port 4900 eller 4901 föråldrat. Det alternativa rekommenderade sättet att skapa ett telnet-gränssnitt är att använda linux-verktyg som "socat".
Utfasad i release
Tog bort följande föråldrade säkerhets-API:er:
- emberGetKey()
- emberGetKeyTableEntry()
- emberSetKeyTableEntry()
- emberHaveLinkKey()
- emberAddOrUpdateKeyTableEntry()
- emberAddTransientLinkKey()
- emberGetTransientKeyTableEntry()
- emberGetTransientLinkKey()
- emberHmacAesHash()
Använd API:erna från Zigbee Security Manager för åtkomst till nyckellagring och HMAC-hashning.
Borttagna objekt
Borttagen i release
- Har tagit bort dubbletter av offentliga API:er i den offentliga rubriken file gp-typer.h.
- Komponenten zigbee_end_device_bind har tagits bort. Denna komponent användes för samordnaren att förmedla bindande förfrågningar om slutenheter. Denna valfria funktionalitet togs bort från R22 i Zigbees kärnspecifikation.
- Tog bort setPacketBufferCount() i af-host.c och värdelöst kontrollfall EZSP_CONFIG_PACKET_BUFFER_COUNT: i kommandohanterare.c.
- Argumentet memoryAllocation togs bort eftersom det inte finns något behov av att dela upp i två faser vid initialisering av NCP.
- Tog bort emberAfNcpInitCallback() i se14-comms-hub, se14-ihd och se14-meter-gas s app.c.
- Ta bort inställningen EZSP_CONFIG_RETRY_QUEUE_SIZE värde under ncp-initiering i ncp-configuration.c
Multiprotocol Gateway och RCP
Nya föremål
Tillagd i release
- Samtidig lyssning, möjligheten för Zigbee- och OpenThread-stackarna att fungera på oberoende 802.15.4-kanaler när du använder en EFR32xG24 eller xG21 RCP, släpps.
- Samtidig lyssning är inte tillgänglig för 802.15.4 RCP/Bluetooth RCP-kombinationen, Zigbee NCP/OpenThread RCP-kombinationen eller för Zigbee/OpenThread system-on-chip (SoC). Det kommer att läggas till dessa produkter i en framtida release.
- OpenThread CLI-leverantörstillägget har lagts till i OpenThread-värdapparna för multiprotokollbehållare. Detta inkluderar coex cli-kommandon.
Förbättringar
Ändrad i release
- Zigbee NCP/OpenThread RCP multiprotokollkombinationen är nu produktionskvalitet.
Fixade problem
Fixat i release
ID # | Beskrivning |
1213701 |
zigbeed tillät inte att en källmatchningstabellspost skapades för ett underordnat om MAC indirekta kö har data som redan väntar för det underordnade. Detta beteende kan leda till att applikationslagertransaktioner mellan barnet och någon annan enhet misslyckas på grund av bristande APS Ack eller app-lagersvar, framför allt avbrott och oväntat avbrott av ZCL OTA-uppgraderingar som riktar sig till den underordnade enheten. |
1244461 | Källmatchningstabellpost för barn kunde tas bort trots väntande meddelanden. |
Fixat i release
ID # | Beskrivning |
1081828 | Genomströmningsproblem med FreeRTOS-baserade Zigbee/BLE DMP sample applikationer. |
1090921 | Z3GatewayCpc hade problem med att bilda ett nätverk i en bullrig miljö. |
1153055 | Ett påstående på värden orsakades när det uppstod ett kommunikationsfel vid läsning av NCP-versionen från zigbee_ncp-ble_ncp-uart sampappen. |
1155676 | 802.15.4 RCP kasserade alla mottagna unicast-paket (efter MAC-ackning) om flera 15.4-gränssnitt delade samma 16-bitars nod-ID. |
1173178 | Värden rapporterade felaktigt hundratals paket som tagits emot med mfglib i Host-RCP-installationen. |
1190859 | EZSP-fel vid sändning av mfglib slumpmässiga paket i Host-RCP-inställningen. |
1199706 | Dataundersökningar från bortglömda slutenhetsbarn ställde inte korrekt in en väntande ram på RCP:n för att köa ett Lämna & Återanslut-kommando till det tidigare barnet. |
1207967 | Kommandot "mfglib send random" skickade ut extra paket på Zigbeed. |
1208012 | Mfglib rx-läget uppdaterade inte paketinformationen korrekt vid mottagning på RCP. |
1214359 | Koordinatornoden kraschade när 80 eller fler routrar försökte gå med samtidigt i Host-RCP-installationen. |
1216470 |
Efter att ha vidarebefordrat en sändning för adressmask 0xFFFF, skulle en Zigbee RCP som fungerar som en överordnad enhet lämna den väntande dataflaggan inställd för varje barn. Detta resulterade i att varje barn förblev vaken och förväntade sig data efter varje omröstning, och krävde en annan pågående datatransaktion till varje slutenhet för att så småningom rensa detta tillstånd. |
Kända problem i den aktuella versionen
Nummer i fetstil har lagts till sedan föregående utgåva. Om du har missat en utgåva finns de senaste utgåvorna tillgängliga på https://www.si-labs.com/developers/gecko-software-development-kit.
ID # | Beskrivning | Lösning |
811732 | Stöd för anpassade token är inte tillgängligt när du använder Zigbeed. | Support planeras i en framtida release. |
937562 | Bluetoothctl 'advertise on'-kommandot misslyckas med rcp-uart- 802154-blehci-appen på Raspberry Pi OS 11. | Använd btmgmt-appen istället för bluetoothctl. |
1022972 | Coex fungerar inte på ZB NCP + OT RCP. | Support planeras för en framtida release. |
1074205 | CMP RCP stöder inte två nätverk på samma PAN-ID. | Använd olika PAN-ID för varje nätverk. Support planeras i en framtida release. |
1122723 | I en hektisk miljö kan CLI:n sluta svara i z3-light_ot-ftd_soc-appen. | Ingen känd lösning. |
1124140 | z3-light_ot-ftd_soc sampappen kan inte bilda Zigbee-nätverket om OT-nätverket redan är uppe. | Starta Zigbee-nätverket först och OT-nätverket efter. |
1170052 |
CMP Zigbee NCP + OT RCP och DMP Zigbee NCP + BLE NCP kanske inte passar på 64KB och lägre RAM-delar i den här aktuella versionen. |
64KB delar stöds för närvarande inte för dessa appar. |
1209958 |
ZB/OT/BLE RCP på Bobcat och Bobcat Lite kan sluta fungera efter några minuter när alla tre protokollen körs |
Kommer att behandlas i en framtida release |
1221299 | Mfglib RSSI-avläsningar skiljer sig mellan RCP och NCP. | Kommer att behandlas i en framtida release. |
1231021 | OTBR kan hävda när 80+ zigbee-enheter går med samtidigt. | Lade till en fix som kan lösa problemet. Kommer att behandlas fullt ut i en framtida release. |
Utfasade artiklar
- Ingen
Borttagna objekt
Borttagen i release
- Makrot "NONCOMPLIANT_ACK_TIMING_WORKAROUND" har tagits bort. Alla RCP-appar stöder nu som standard 192 μs handläggningstid för icke-förbättrade acks medan de fortfarande använder 256 μs handläggningstid för förbättrade acks som krävs av CSL.
Använder denna version
Den här utgåvan innehåller följande:
- Zigbee stack
- Zigbee Application Framework
- Zigbee Sample Applikationer
För mer information om Zigbee och EmberZNet SDK se UG103.02: Zigbee Fundamentals.
Om du är en förstagångsanvändare, se QSG180: Zigbee EmberZNet Quick-Start Guide for SDK 7.0 and Higher, för instruktioner om hur du konfigurerar din utvecklingsmiljö, bygger och flashar somampapplikationen och dokumentationsreferenser som pekar på nästa steg.
Installation och användning
Zigbee EmberZNet SDK tillhandahålls som en del av Gecko SDK (GSDK), sviten av Silicon Labs SDK:er. För att snabbt komma igång med GSDK, installera Simplicity Studio 5, som kommer att ställa in din utvecklingsmiljö och leda dig genom GSDK-installationen. Simplicity Studio 5 innehåller allt som behövs för IoT-produktutveckling med Silicon Labs-enheter, inklusive en resurs- och projektstartare, mjukvarukonfigurationsverktyg, fullständig IDE med GNU-verktygskedja och analysverktyg. Installationsinstruktioner finns i Simplicity Studio 5 användarhandbok online.
Alternativt kan Gecko SDK installeras manuellt genom att ladda ner eller klona det senaste från GitHub. Ser https://github.com/Sili-conLabs/gecko_sdk för mer information.
Simplicity Studio installerar GSDK som standard i:
- (Windows): C:\Users\ \SimplicityStudio\SDKs\gecko_sdk
- (MacOS): /Användare/ /SimplicityStudio/SDKs/gecko_sdk
Dokumentation som är specifik för SDK-versionen installeras med SDK. Ytterligare information finns ofta i kunskapsbasartiklarna (KBA). API-referenser och annan information om denna och tidigare utgåvor finns tillgänglig på https://docs.silabs.com/.
Säkerhetsinformation
Säker Vault-integration
För program som väljer att lagra nycklar säkert med komponenten Secure Key Storage på Secure Vault-High-delar visar följande tabell de skyddade nycklarna och deras lagringsskyddsegenskaper som Zigbee Security Manager-komponenten hanterar.
Inslagen nyckel | Exportbar/icke-exporterbar | Anteckningar |
Nätverksnyckel | Exportbar | |
Länknyckel för Trust Center | Exportbar | |
Transient Link Key | Exportbar | Indexerad nyckeltabell, lagrad som flyktig nyckel |
Application Link Key | Exportbar | Indexerad nyckeltabell |
Säker EZSP-nyckel | Exportbar | |
ZLL-krypteringsnyckel | Exportbar | |
ZLL förkonfigurerad nyckel | Exportbar | |
GPD proxynyckel | Exportbar | Indexerad nyckeltabell |
GPD Sink Key | Exportbar | Indexerad nyckeltabell |
Intern/platshållarnyckel | Exportbar | Intern nyckel för användning av Zigbee Security Manager |
- Inslagna nycklar som är markerade som "Icke-exporterbara" kan användas men kan inte vara det viewed eller delas under körning.
- Inslagna nycklar som är markerade som "Exporterbara" kan användas eller delas under körning men förblir krypterade medan de lagras i flash.
- Användarapplikationer behöver aldrig interagera med majoriteten av dessa nycklar. Befintliga API:er för att hantera Link Key Table-nycklar eller Transient Keys är fortfarande tillgängliga för användarapplikationen och går nu genom Zigbee Security Manager-komponenten.
- Vissa av dessa nycklar kan bli icke-exporterbara till användarapplikationen i framtiden. Användarapplikationer uppmuntras att inte förlita sig på export av nycklar om det inte är absolut nödvändigt.
- För mer information om Secure Vault Key Management-funktioner, se AN1271: Secure Key Storage.
Säkerhetsrådgivning
För att prenumerera på Security Advisories, logga in på Silicon Labs kundportal och välj sedan Kontohem. Klicka på HEM för att gå till portalens hemsida och klicka sedan på panelen Hantera aviseringar. Se till att "Meddelanden om programvara/säkerhet och meddelanden om produktändringar (PCN)" är markerad och att du som minimum är prenumererad på din plattform och ditt protokoll. Klicka på Spara för att spara eventuella ändringar.
Stöd
Development Kit-kunder är berättigade till utbildning och teknisk support. Använd Silicon Laboratories Zigbee web sida för att få information om alla Silicon Labs Zigbee produkter och tjänster och för att registrera dig för produktsupport.
Du kan kontakta Silicon Laboratories support på http://www.silabs.com/support.
Simplicity Studio
Ett klick-åtkomst till MCU och trådlösa verktyg, dokumentation, programvara, källkodsbibliotek med mera. Tillgänglig för Windows, Mac och Linux!
Ansvarsfriskrivning
Silicon Labs avser att förse kunder med den senaste, exakta och djupgående dokumentationen av all kringutrustning och moduler som är tillgängliga för system- och mjukvaruimplementerare som använder eller avser att använda Silicon Labs-produkterna. Karakteriseringsdata, tillgängliga moduler och kringutrustning, minnesstorlekar och minnesadresser avser varje specifik enhet, och "typiska" parametrar som tillhandahålls kan och varierar i olika applikationer. Applikation exampartiklarna som beskrivs här är endast för illustrativa syften. Silicon Labs förbehåller sig rätten att utan ytterligare meddelande göra ändringar i produktinformationen, specifikationer och beskrivningar häri, och ger inga garantier för riktigheten eller fullständigheten av den inkluderade informationen. Utan föregående meddelande kan Silicon Labs uppdatera produktens firmware under tillverkningsprocessen av säkerhets- eller tillförlitlighetsskäl. Sådana ändringar kommer inte att ändra specifikationerna eller prestandan för produkten. Silicon Labs har inget ansvar för konsekvenserna av användningen av informationen i detta dokument. Detta dokument antyder eller ger inte uttryckligen någon licens att designa eller tillverka några integrerade kretsar. Produkterna är inte designade eller auktoriserade för att användas i någon FDA klass III-enhet, applikationer för vilka FDA-godkännande krävs eller Life Support Systems utan specifikt skriftligt medgivande från Silicon Labs. Ett "Livsstödssystem" är varje produkt eller system som är avsett att stödja eller upprätthålla liv och/eller hälsa, som, om det misslyckas, rimligen kan förväntas leda till betydande personskada eller dödsfall. Silicon Labs produkter är inte designade eller godkända för militära tillämpningar. Silicon Labs produkter får under inga omständigheter användas i massförstörelsevapen inklusive (men inte begränsat till) kärnvapen, biologiska eller kemiska vapen, eller missiler som kan leverera sådana vapen. Silicon Labs frånsäger sig alla uttryckliga och underförstådda garantier och ska inte hållas ansvarigt eller ansvarigt för några skador eller skador relaterade till användningen av en Silicon Labs-produkt i sådana obehöriga applikationer.
Notera: Det här innehållet kan innehålla stötande terminologi som nu är föråldrad. Silicon Labs ersätter dessa termer med inkluderande språk där det är möjligt. För mer information besök www.silabs.com/about-us/inclusive-lexicon-project.
Varumärkesinformation
Silicon Laboratories Inc.®, Silicon Laboratories®, Silicon Labs®, SiLabs® och Silicon Labs logotyp®, Bluegiga®, Bluegiga Logo®, EFM®, EFM32®, EFR, Ember®, Energy Micro, Energy Micro-logotypen och kombinationer därav , "världens mest energivänliga mikrokontroller", Redpine Signals®, WiSeConnect , n-Link, ThreadArch®, EZLink®, EZRadio®, EZRadioPRO®, Gecko®, Gecko OS, Gecko OS Studio, Precision32®, Simplicity Studio®, Telegesis, Telegesis Logo®, USBXpress® , Zentri, Zentri-logotypen och Zentri DMS, Z- Wave® och andra är varumärken eller registrerade varumärken som tillhör Silicon Labs. ARM, CORTEX, Cortex-M3 och THUMB är varumärken eller registrerade varumärken som tillhör ARM Holdings. Keil är ett registrerat varumärke som tillhör ARM Limited. Wi-Fi är ett registrerat varumärke som tillhör Wi-Fi Alliance. Alla andra produkter eller varumärken som nämns häri är varumärken som tillhör sina respektive ägare.
KONTAKTA
- Silicon Laboratories Inc.
- 400 West Cesar Chavez
- Austin, TX 78701
- USA
- www.silabs.com
Dokument/resurser
![]() |
SILICON LABS SDK 7.4.1.0 GA Zigbee Protocol Stack Software [pdf] Användarhandbok SDK 7.4.1.0 GA Zigbee Protocol Stack Software, SDK 7.4.1.0 GA, Zigbee Protocol Stack Software, Protocol Stack Software, Stack Software |