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. februar 2024
- Sælger: Silicon Labs
- Nøglefunktioner: Multiprotocol Zigbee og OpenThread understøttelse på SoC
- Kompatible kompilatorer: GCC version 12.2.1
- EZSP-protokolversion: 0x0D
Produktbrugsvejledning
Kompatibilitet og brugsmeddelelser
- For sikkerhedsopdateringer og meddelelser, se kapitlet Sikkerhed i Gecko Platform Release Notes installeret med denne SDK eller besøg fanen TECH DOCS på Silicon Labs webwebsted.
- Hold dig opdateret ved at abonnere på Security Advisories.
FAQ
- Spørgsmål: Hvordan verificerer jeg den rigtige files bliver brugt med de kompatible compilere?
- Svar: Du kan kontrollere, at det er korrekt files bliver brugt ved at kontrollere GCC version 12.2.1, der følger med Simplicity Studio.
- Spørgsmål: Hvor kan jeg finde oplysninger om sikkerhedsopdateringer og meddelelser?
- Svar: For sikkerhedsopdateringer og meddelelser, se kapitlet Sikkerhed i Gecko Platform Release notes eller besøg fanen TECH DOCS på Silicon Labs' webwebsted.
Silicon Labs er den foretrukne leverandør for OEM'er, der udvikler Zigbee-netværk i deres produkter. Silicon Labs Zigbee-platformen er den mest integrerede, komplette og funktionsrige Zigbee-løsning, der findes.
Silicon Labs EmberZNet SDK indeholder Silicon Labs' implementering af Zigbee stack-specifikationen.
- Disse udgivelsesbemærkninger dækker SDK-version(er):
- 7.4.1.0 udgivet 14. februar 2024
- 7.4.0.0 udgivet 13. december 2023
NØGLEFUNKTIONER
Zigbee
- Zigbee R23 overensstemmelse
- Zigbee Smart Energy 1.4a overholdelse – produktion
- Zigbee GP 1.1.2 overholdelse – Alpha
- MG27 support – produktion
- Forbedret support til Secure Vault-dele
- Søvnig support på NCP SPI (ikke-CPC) applikationer – Alpha
Multiprotokol
- Concurrent Listening support (RCP) – MG21 og MG24
- Concurrent Multiprotocol (CMP) Zigbee NCP + OpenThread RCP – produktion
- Dynamic Multiprotocol Bluetooth + Concurrent Multiprotocol (CMP) Zigbee- og OpenThread-understøttelse på SoC
Kompatibilitet og brugsmeddelelser
For oplysninger om sikkerhedsopdateringer og meddelelser, se kapitlet Sikkerhed i Gecko Platform Release Notes installeret med denne SDK eller på fanen TECH DOCS på https://www.silabs.com/developers/zigbee-emberznet. Silicon Labs anbefaler også kraftigt, at du abonnerer på Security Advisories for at få opdateret information. For instruktioner, eller hvis du er ny til Zigbee EmberZNet SDK, se Brug af denne udgivelse.
Kompatible compilere
- IAR Embedded Workbench til ARM (IAR-EWARM) version 9.40.1.
- Brug af Wine til at bygge med IarBuild.exe-kommandolinjeværktøjet eller IAR Embedded Workbench GUI på macOS eller Linux kan resultere i forkerte files bliver brugt på grund af kollisioner i Wines hashing-algoritme til at generere short file navne.
- Kunder på macOS eller Linux frarådes at bygge med IAR uden for Simplicity Studio. Kunder, der gør det, bør omhyggeligt verificere, at det er korrekt files bliver brugt.
GCC (The GNU Compiler Collection) version 12.2.1, forsynet med Simplicity Studio.
EZSP-protokolversionen for denne udgivelse er 0x0D.
Nye varer
Denne udgivelse af Gecko SDK (GSDK) vil være den sidste med kombineret understøttelse af alle EFM- og EFR-enheder, undtagen patches til denne version efter behov. Fra midten af 2024 introducerer vi separate SDK'er:
- Den eksisterende Gecko SDK fortsætter med understøttelse af serie 0 og 1 enheder.
- Et nyt SDK vil henvende sig specifikt til serie 2 og 3 enheder.
Gecko SDK vil fortsætte med at understøtte alle serie 0- og 1-enheder uden nogen ændring af den langsigtede support, vedligeholdelse, kvalitet og reaktionsevne, der leveres under vores softwarepolitik.
Den nye SDK vil forgrene sig fra Gecko SDK og begynde at tilbyde nye funktioner, der hjælper udviklere med at tage fordeltage af de avancerede muligheder i vores serie 2 og 3 produkter.
Denne beslutning stemmer overens med kundernes feedback, hvilket afspejler vores forpligtelse til at højne kvaliteten, sikre stabilitet og forbedre ydeevnen for en enestående brugeroplevelse på tværs af vores software-SDK'er.
Nye komponenter
Ny i udgivelsen
- Komponenterne "zigbee_direct_security_p256" og "zigbee_direct_security_curve25519" er blevet tilføjet, så brugere kan konfigurere en specifik Zigbee Direct-sikkerhedsindstilling.
- Brugere har tilladelse til at have flere "zigbee_direct_security"-komponenter aktiveret på en Zigbee Direct Device-applikation (ZDD). I dette tilfælde afhænger den faktiske sikkerhedsindstilling af Zigbee Virtual Device (ZVD)-konfigurationen.
Nye API'er
Ny i udgivelsen
- Tilføjet en ny API sl_zigbee_token_factory_reset for at nulstille Zigbee NVM3-tokens til deres standardværdi.
- Tilføjet API-bool sl_zigbee_sec_man_link_key_slot_available(EmberEUI64 eui), som returnerer sand, hvis linknøgletabellen kan tilføje eller opdatere en post med denne adresse (tabellen er ikke fuld).
- Tilføjet en ny API-bool sl_zb_sec_man_compare_key_to_value (sl_zb_sec_man_context_t*-kontekst, sl_zb_sec_man_key_t*-nøgle), som returnerer sand, hvis nøglen refereres af kontekst, har samme værdi som nøglen, der er angivet i argumentet.
Ny platformsupport
Ny i udgivelsen
- Zigbee-stack-understøttelse for følgende nye dele er tilføjet i denne udgivelse: EFR32MG24A010F768IM40 og EFR32MG24A020F768IM40.
Ny dokumentation
Nyt i udgivelse 7.4.0.0
- Opdaterede beskrivelsen af Zigbee Secure Key Storage-komponenten for at afspejle tilføjelsen af Zigbee Secure Key Storage Upgrade (som tilføjer bagudkompatibilitet med eksisterende projekter).
- Tilføjet en ny applikationsnote til interaktion med Zigbee Security Manager-gruppen af komponenter (AN1412: Zigbee Security Manager).
Tilsigtet adfærd
Brugere bliver mindet om, at Zigbee usynkroniserede CSL-transmissioner er underlagt protokolforbehold hos radioplanlæggeren. I SleepyToSleepy-applikationerne kan og vil BLE foregribe en Zigbee CSL-transmission, som vil afslutte transmissionen. Scheduler preemption er mere almindelig for usynkroniseret CSL, da en potentielt lang wake-up frame-sekvens kan bruges. Brugere, der ønsker at justere transmissionsprioriteterne, kan bruge DMP Tuning and Testing-komponenten til at gøre det. Brugere kan også konsultere UG305: Dynamic Multiprotocol User's Guide for mere information.
Forbedringer
Ændret i udgivelsen
emberCounterHandler API-dokumentændringer
I tidligere versioner blev Counter Handler-callback for MAC- og APS-lag EmberCounterTypes vedrørende pakke RX og TX ikke videregivet det korrekte målknude-id eller dataargumenter, og API-dokumentation vedrørende adfærd for visse tællere, der brugte disse parametre, var uklar eller vildledende.
Selvom signaturen af emberCounterHandler() ikke har ændret sig, har den måde, dens parametre udfyldes på, ændret sig lidt.
- Kommentarer omkring EmberCounterType enums i ember-types.h er blevet udvidet for klarhedens skyld.
- Node ID-parameteren til tællerbehandleren for TX-relaterede tællere kontrollerer nu, om destinationsadressetilstanden angiver et gyldigt kort ID, før det bruges. (Hvis ikke, udfyldes ingen destinationsadresse, og en pladsholderværdi på EMBER_UNKNOWN_NODE_ID bruges i stedet).
- Node ID-parameteren til tællerbehandleren for RX-relaterede tællere afspejler nu kildenodens ID, ikke destinationsknude-ID'et.
- Genforsøgstællingen er *ikke* bestået som dataparameter for EMBER_COUNTER_MAC_TX_UNICAST_ SUCCESS/FAILED-tællere som beskrevet i ember-typer. h i tidligere versioner, men dette var aldrig korrekt udfyldt i tidligere udgivne versioner, så dets værdi i tidligere udgivelser ville altid have været 0. Denne adfærd er blevet tydeliggjort i beskrivelsen af disse EmberCounterTypes. Dog fortsætter antallet af genforsøg for APS-lagforsøg med at blive udfyldt i dataparameteren for EMBER_COUNTER_APS_TX_UNICAST_SUCCESS/FAILED tællertyper for at være i overensstemmelse med tidligere udgivelser.
- Alle tællere, der udfylder node-id'et eller dataparameteren for tilbagekaldet, er blevet revideret for at sikre, at de sender de forventede data, adresse eller EMBER_UNKNOWN_NODE_ID, hvis et node-id var forventet, men ikke kunne hentes fra pakken, som beskrevet i den reviderede ember- typer.h dokumentation.
- Tællerbehandleren for EMBER_COUNTER_MAC_TX_UNICAST_RETRY afspejler nu korrekt MAC-lagets destinationsknude-id og adskillige genforsøg i dens destinationsknude-id og dataparametre.
- Tællerbehandleren for EMBER_COUNTER_PHY_CCA_FAIL_COUNT giver nu information om destinationsknude-id via parameteren Node ID om det tilsigtede MAC-lagmål for meddelelsen, der mislykkedes overførsel.
Opdateret Green Power Code
Green power serverkode er opdateret med forskellige forbedringer, herunder:
- Tilføjet mere valideringskode for indgående kommandoer med ugyldigt slutpunkt ved modtagelse på GP-serveren.
- Tilføjet kode til at håndtere sagen, når der ikke er mere plads til at bygge grønne strømmeddelelser.
- Vasken dropper nu parringskonfiguration med handling fjern parring i nogle tilfælde pr. spec sektion A.3.5.2.4.1.
- Vasken gemmer nu den eksisterende gruppeliste for en post, før den fjernes, når der behandles Parringskonfiguration med handling forlænge.
- Kommandoen Oversættelsesforespørgsel returnerer "NOT FOUND" som fejlkoden, når oversættelsestabellen er tom, eller indekset er større end flere poster i tabellen.
- Ændrede versionen af GP-slutpunktet i nogle apps fra 1 til 0.
Brug af CSMA i GPDF Send-funktionen er begrænset, fordi Green Power-enheder er enheder med minimal energi og ikke bruger CSMA i de fleste designs. I stedet er det foretrukne design at udsende flere pakker med det samme energibudget.
Fjernede brugen af et skjult slutpunkt i Green Power Server-plugin-indstillingen. Brug i stedet et af applikationens slutpunkter.
Netværksnøgleopdatering plugin-kodeforbedringer
- Ændrede den periodiske netværksnøgleopdateringsperiode til at være så lang som 1 år.
Omstrukturerede nogle API'er for at undgå unødvendig nøgleeksport
Foretog ændringer for at favorisere brugen af nøglekontekster frem for almindelige nøgledata.
- sl_zigbee_send_security_challenge_request tager nu et sl_zb_sec_man_context_t argument ind i stedet for EmberKeyData.
- sl_zb_sec_man_derived_key_type enums værdier er nu en 16-bit bitmaske til direkte at understøtte visse nøgleafledninger, der kombinerer flere afledte typer.
Faste problemer
Rettet i udgivelsen
ID # | Beskrivelse |
1036893 | Rettede et problem, der fik OTA-klyngekomponenten til at installere den ældre boot-loader-grænsefladekomponent som en afhængighed. |
1114905 | Zigbee Direct: Forbedret håndtering af Leave Network-karakteristik. |
1180937 | Fixed WDT-nulstilling ved tilslutning af Zigbee Direct ZDD til 3. parts ZVD. |
1223904 | Rettede et problem, der fik slutenheden til at flytte til at fungere forkert i et meget travlt miljø. |
1224393 | Opdaterede Green Power-sinktabelanmodningshåndteringskoden for at opdatere svardestinationsadressen. |
1228808 | Rettede visningsproblemet med makrodefinitioner i gp-types.h dokumentation. |
1232297 | Rettede et problem, hvor emberSetOutgoingNwkFrameCounter og emberSetOutgoingApsFrameCounter ikke fungerede på 64-bit værtsapplikationer (returnerer EMBER_BAD_ARGUMENT). |
1232359 | Rettede gppTunnelingDelay-parameterberegningen i grøn strømklientkommandobehandling. |
1240392 |
ZDO Bind/Unbind-anmodninger afvist af adgangs-/tilladelsesårsager skal returnere EMBER_ZDP_NOT_AUTHORIZED-status i stedet for EMBER_ZDP_NOT_PERMITTED-status i henhold til Zigbee-specifikationerne. |
1243523 | Zigbee Direct: Forbedret stabilitet af BLE-forbindelse til ZVD. |
1249455 | Rettede et problem, der fik en søvnig slutenhed til at gå i dvale, når den modtog en udsendelse, før den modtog et kvittering. |
1252295 | Ret en tastefejl i komponentkatalogmakroen SL_CATALOG_ZIGBEE_OTA_STORAGE_COMMON_PRESENT. |
Rettet i udgivelsen
ID # | Beskrivelse |
1019348 | Rettede afhængighedskravene for Zigbee ZCL Cli-komponenten, så den kan fjernes, når den ikke er nødvendig. |
1024246 | Opdaterede funktionsbeskrivelsen for emberHaveLinkKey() og sl_zb_sec_man_have_link_key(). |
1036503 | Tilføjet en beskrivelse for at anbefale brugen af Micrium Kernel til DMP sampde apps. |
1037661 | Et problem, der forhindrede applikationen i at installere enten pro stack eller leaf stack, er blevet rettet. |
1078136 | Rettede et intermitterende nedbrud ved ændring af hændelser fra interrupt-kontekst |
1081548 |
Brugere bliver mindet om, at Zigbee usynkroniserede CSL-transmissioner er underlagt protokolforbehold hos radioplanlæggeren. I SleepyToSleepy-applikationerne kan og vil BLE foregribe en Zigbee CSL-transmission, som vil afslutte transmissionen. Scheduler preemption er mere almindelig for usynkroniseret CSL, da en potentielt lang wake-up frame-sekvens kan bruges. Brugere, der ønsker at justere transmissionsprioriteterne, kan bruge DMP Tuning and Testing-komponenten til at gøre det. Brugere kan også konsultere UG305: Dynamic Multiprotocol User's Guide for mere information.
Et problem er blevet rettet i CSL, hvor en ny wake-up frame-sekvens, der modtages umiddelbart efter en tidligere nyttelastramme, ikke ville blive optaget korrekt. Dette ville resultere i en mistet nyttelastramme. |
1084111 | Indledende søvnig SPI-NCP-understøttelse for MG24-baserede boards er opdateret som en del af denne udgivelse. |
1104056 | Tilføjet understøttelse af netværksstyring til at køre på et sekundært netværk i tilfælde af multi-netværk |
1120515 | Rettede et problem, hvor kanalen ikke ændrede sig ved brug af mfglib set-channel-kommandoen. |
1141109 | Rettede et problem, der forårsagede den genererede sampapplikationen ncp-uart-gp-multi-rail for at gå glip af en header files, når du bruger den grønne strømadapterkomponent med -cp-indstillingen. |
1144316 | Opdateret beskrivelsen af nogle datastrukturtyper i gp-types.h dokumentation. |
1144884 | Fixed falsk frame afventende bit indstillet, når ingen data er afventende. |
1152512 | Rettede et potentielt nedbrud i low-mac-rail ved ændring af hændelsen i ISR-sammenhæng. |
ID # | Beskrivelse |
1154616 | Tilføjet en undtagelse for betingelsen om at initialisere netværket med sagen "Skifter rolle fra Sleepy End-enhed til Non-sleepy End-enhed". |
1157289 | Rettede et problem, der kan forårsage BDB-testfejl DN-TLM-TC-02B. |
1157426 | Rettede et build-problem, da du byggede zigbee_simple_app med green_power_adapter-komponenten. |
1157932 | Tilføjet en betingelse for at kontrollere, om feltet "overgangstid" mangler, og indstille en standardværdi på 0xFFFF for dette manglende felt. |
1166340 | Rettede et problem, der forhindrede emberAfGpdfSend i at sende det tilsigtede antal gentagne transmissioner. |
1167807 | Rettede et problem, hvor enheder, der fungerer som tillidscentre i distribuerede netværk, fejlagtigt ville rydde deres forbigående linknøgler, hver gang en ny enhed sluttede sig til. |
1169504 | Rettede et problem, der forårsagede en nulstilling af en søvnig enhed ved tvungen opvågning. |
1169966 | Rettet manglende returværdivalidering i buffertildelingskode. |
1171477,
172270 |
Med mfglib start 1 sendes der ingen beskeder, men modtages, så den viste terminalmeddelelse "mfglib send complete" er forkert og ændret til "RXed %d packets in the last %d ms". |
1171935 | Ændrede den periodiske netværksnøgleopdateringsperiode til at være så lang som 1 år. |
1172778 | Tilføjede den manglende påkaldelse af emberAfPluginGreenPowerServerUpdateAliasCallback til Green Power-serveren. |
1174288 | Rettede et problem, der får netværksstyringsprocessen til at hævde, hvis et opkald for at stoppe en igangværende scanning kaldes. |
1178393 | Opdaterede en dokumentationsfejl. |
1180445 | I Smart Energy fortsætter OTA nu med at downloade, hvis koordinatoren når den begrænsede arbejdscyklus. |
1185509 | Rettede et problem i CSL, hvor en ny wake-up frame-sekvens, der modtages umiddelbart efter en tidligere nyttelastramme, ikke ville blive optaget korrekt. Dette ville resultere i en mistet nyttelastramme. |
1186107 | Rettede et problem, der fik den mislykkede dekryptering af modtagne GPDF'er til at erstatte den indgående GPDF i gp-idriftsættelsesmeddelelsen. |
1188397 | Rettede et problem, der forårsagede en kompileringsfejl ved aktivering af udvidet rapporttabelstørrelse. |
1194090 | Rettede fejlstatussen i standardsvaret for kommandoen Sink Commissioning Mode – følgende afsnit 3.3.4.8.2 |
1194963 | Rettede et problem, der satte commissioningGpd-strukturen, før brugerens tilbagekaldelse emberAfGreenPowerServerPairingStatusCallback blev kaldt. |
1194966 | Rettede et problem, hvor felterne endpoint og proxiesInvolved ikke blev indstillet med handlingen Exit Commissioning. |
1196698 | Rettede et afventende bitsæt for falsk ramme, når ingen data var afventende. |
1199958 | Tilføjet kode til at håndtere sagen, når der ikke er mere plads til at bygge grønne strømmeddelelser. |
1202034 | Rettede et problem, hvor sl_zb_sec_man_context_t stackvariablen ikke blev initialiseret korrekt, hvilket medførte, at sammenkobling med installationskode mislykkedes. |
1206040 |
Kaldning af emberRemoveChild() under et sikkert gentilslutningsforsøg fra en slutenhed kan potentielt føre til en ekstra reduktion af Child Count, hvilket potentielt kan føre til et Child Count på -1 (255), hvilket forhindrer slutenheder i at slutte sig til/gentilslutte sig på grund af en angivet mangel af kapacitet i Beacon. |
1207580 |
Underordnede tabel-søgefunktioner i stakken er inkonsekvente i brugen af 0x0000 versus 0xFFFF for node-id-returværdi, der repræsenterer ugyldige/tomme poster, hvilket fører til problemer med at tjekke for ubrugte poster i API'er som emberRemoveChild(). |
1210706 | Destination og PHY-indeks angivet i EmberExtraCounterInfo-strukturen som en del af emberCounterHandler() kan have været forkerte for MAC TX Unicast-tællertyper. |
1211610
1212525 |
Rettede et problem, hvor Dynamic Multiprotocol-applikationer gik ned efter aktivering af Secure Key Storage Upgrade-komponenten. |
1211847 | Selvom signaturen af emberCounterHandler() ikke har ændret sig, har den måde, dens parametre udfyldes på, ændret sig lidt. Ændringer omkring denne API er forklaret i afsnit 2 ovenfor. |
1212449 |
Udgående Beacons blev forkert kategoriseret af MAC-laget, hvilket førte til, at emberCounterHandler() ikke kunne fange disse pakker med tællertypen EMBER_COUNTER_MAC_TX_BROADCAST og i stedet tælle Beacons med tællertypen EMBER_COUNTER_MAC_TX_UNICAST_SUCCESS. Det resulterede potentielt i upålidelige værdier for dest EmberNodeId-parameteren, der blev sendt til EmberCounterInfo-strukturen |
ID # | Beskrivelse |
1214866 | Afsendelse af dataafstemningspakker i visse konfigurationer med høj trafik kan resultere i en busfejl. |
1216552 | Et problem, der forårsager en påstand under travle trafikforhold, er rettet. |
1216613 | Rettede et problem, der førte til en forkert værdi for gruppecast-radius i proxytabellen. |
1222509 | Routeren/koordinatoren sender en forlade- og gentilslutningsanmodning til en ikke-underordnet polling-enhed, men MAC-destinationen er 0xFFFF i stedet for at matche NWK-destinationsadressen. |
1223842 | Rettede et problem med genereringen af sl_component_catalog.h, der efterlod uønsket kode i den, hvilket forårsagede kompileringsfejl. |
756628 | Ændrede påkaldelsen af applikationscallback emberAfMacFilterMatchMessageCallback til kun at blive kaldt for de ZLL-meddelelser, der er valideret af stakken. |
816088 | Flyttede EMBER-konfigurationen fra zigbeed_configuration.h til zigbeed. slcp. |
829508 | For at undgå en løbstilstand blev der tilføjet yderligere validering i emberSetLogicalAndRadioChannel for at returnere mislykket, hvis de nederste lag er optaget eller ikke i en tilstand til at skifte kanal. |
Kendte problemer i den aktuelle udgivelse
Udgaver med fed er tilføjet siden den forrige udgivelse. Hvis du er gået glip af en udgivelse, er de seneste udgivelsesbemærkninger tilgængelige på https://www.si-labs.com/developers/zigbee-emberznet på fanen Tekniske dokumenter.
ID # | Beskrivelse | Løsning |
N/A | ·Følgende apps/komponenter understøttes ikke i denne udgivelse: EM4-understøttelse | Funktionen vil blive aktiveret i efterfølgende udgivelser. |
193492 |
emberAfFillCommandGlobalServerToClientConfigureRe-porteringsmakroen er brudt. Fyldningen af bufferen skaber en forkert kommandopakke. | Brug CLI-kommandoen "zcl global send-me-a-report" i stedet for API'en. |
278063 | Smart energitunneling plugins har modstridende behandling/brug af adressetabelindeks. | Ingen kendt løsning |
289569 |
Den netværksskabende komponent effektniveau valgliste tilbyder ikke et komplet udvalg af understøttede værdier for EFR32 |
Rediger området <-8..20>, der er angivet i CMSIS-kommentaren for EMBER_AF_PLUGIN_NETWORK_CREATOR_RADIO_P
OWER i /protocol/ZigBee/app/framework/plugin/network-creator/config/network-creator-config.h file. F.eksample, skift til <-26..20>. |
295498 | UART-modtagelse falder nogle gange bytes under hård belastning i Zigbee+BLE dynamisk multiprotokolbrug. | Brug hardwareflowkontrol eller sænk baudraten. |
312291 |
EMHAL: halCommonGetIntxxMillisecondTick-funktionerne på Linux-værter bruger i øjeblikket funktionen get meofday, som ikke garanteres at være monotonisk. Hvis systemtiden ændres, kan det forårsage problemer med stack-timing. |
Rediger disse funktioner for at bruge clock_gettime med CLOCK_MONOTONIC-kilden i stedet. |
338151 | Initialisering af NCP med en lav pakkebuffertællerværdi kan forårsage korrupte pakker. | Brug den reserverede værdi 0xFF til pakkebufferantal for at undgå den for lave standardværdi |
387750 | Problemet med rutetabelanmodningsformater på slutenheden. | Under efterforskning |
400418 | En touchlink-initiator kan ikke linke til et ikke-fabriksnyt slutenhedsmål. | Ingen kendt løsning. |
424355 |
En initiator, der ikke er fabriksny, søvnig ende-enhed touchline-mål-kompatibel initiator er ikke i stand til at modtage et enhedsinformationssvar under visse omstændigheder. |
Under efterforskning |
465180 |
Coexistence Radio Blocker Optimization-elementet "Enable Runtime Control" kan blokere korrekt Zigbee-drift. | Valgfri 'Wi-Fi Select'-kontrol af blokeringsoptimering skal efterlades "Deaktiveret". |
480550 |
OTA-klyngen har sin indbyggede fragmenteringsmetode, og den bør derfor ikke bruge APS-fragmentering. Selvom APS-kryptering er aktiveret, vokser den nyttelasten af ImageBlockResponses til en størrelse, hvor APS-fragmenteringen er aktiveret. Dette kan føre til, at OTA-processen mislykkes. |
Ingen kendt løsning |
481128 |
Detaljeret nulstilling Årsag og nedbrudsoplysninger bør være tilgængelige som standard via Virtual UART (Serial 0) på NCP-platforme, når Diagnostics-pluginnet og Virtual UART perifer enheder er aktiveret. | Da Serial 0 allerede er initialiseret i NCP'en, kan kunder aktivere emberAfNcpInitCallback i Zigbee NCP Framework og kalde de relevante diagnostiske funktioner (halGetExtendedResetInfo, halGetExtendedResetString, halPrintCrashSummary, halPrintCrashDetail, halPrintCrash, udskriv denne data og SeRashDetail til denne udskrive data til Crash. 0 for viewi Network Analyzer-opsamlingsloggen.
For en exampLæs om, hvordan du bruger disse funktioner, se koden inkluderet i a-main-soc.c's emberAfMainInit(), når EXTENDED_RESET_INFO er defineret. |
ID # | Beskrivelse | Løsning |
486369 |
Hvis en DynamicMultiProtocolLightSoc, der danner et nyt netværk, har underordnede noder tilbage fra et netværk, den har forladt, returnerer emberAfGetChildTableSize en værdi, der ikke er nul i startIdentifyOnAllChildNodes, hvilket forårsager Tx 66-fejlmeddelelser, når de adresserer "spøgelse"-børnene. | Masseslet delen, hvis det er muligt, før du opretter et nyt netværk, eller tjek den underordnede tabel, når du har forladt netværket, og slet alle børn, der bruger emberRemoveChild, før du danner et nyt netværk. |
495563 |
Deltager i SPI NCP Sleepy End Device Sample App kortlægger ikke afstemning, derfor mislykkes forsøget med at deltage i tilstanden Update TC Link Key. | Den enhed, der ønsker at deltage, skal være i kort afstemningstilstand, før du forsøger at deltage. Denne tilstand kan tvinges af End Device Support plugin. |
497832 |
I Network Analyzer refererer Zigbee Application Support Command Breakdown for Verify Key Request Frame fejlagtigt til den del af nyttelasten, der angiver rammens kildeadresse som destinationsadressen. |
Ingen kendt løsning |
519905
521782 |
Spi-NCP kan meget sjældent undlade at starte bootloader-kommunikation ved hjælp af 'bootload' CLI-kommandoen fra ota-client-plugin'et. |
Genstart bootload-processen |
620596 |
NCP SPI Eksample til BRD4181A (EFR32xGMG21)
nWake standard-pin defineret kan ikke bruges som en wake-up pin. |
Skift standardpinden for nWake fra PD03 til en EM2/3 wake-up-aktiveret pin i NCP-SPI Plugin. |
631713 |
En Zigbee End Device vil rapportere adressekonflikter gentagne gange, hvis pluginnet "Zigbee PRO Stack Library" bruges i stedet for "Zigbee PRO Leaf Library". | Brug "Zigbee PRO Leaf Library" i stedet for "Zigbee PRO Stack Library" plugin. |
670702 |
Ineffektivitet i Reporting-plugin'et kan føre til betydelig latenstid baseret på dataskrivefrekvens og tabelstørrelse, hvilket kan forstyrre kundens applikationskode, herunder hændelsestidspunkt. | Hvis du skriver hyppigt, kan du overveje at kontrollere rapporteringsbetingelser og sende rapporter manuelt i stedet for at bruge plugin'et. |
708258 |
Ikke-initialiseret værdi i groups-server.c via addEntryToGroupTable() kan skabe en falsk binding og forårsage, at gruppecast-rapporteringsmeddelelser sendes. | Tilføj "binding.clusterId = EMBER_AF_INVALID_CLUSTER_ID;" efter "binding.type
= EMBER_MULTICAST_BINDING;" |
757775 |
Alle EFR32 dele har en unik RSSI offset. Derudover kan printdesign, antenner og kabinet påvirke RSSI. |
Når du opretter et nyt projekt, skal du installere RAIL Utility, RSSI-komponenten. Denne funktion inkluderer standard RSSI Offset Silabs målt for hver del. Denne offset kan om nødvendigt ændres efter RF-test af dit komplette produkt. |
758965 |
ZCL-klyngekomponenter og ZCL-kommandoregistreringstabellen er ikke synkroniseret. Derfor, når du aktiverer eller deaktiverer en ZCL-klyngekomponent, vil implementerede kommandoer ikke blive aktiveret/deaktiveret i den tilsvarende ZCL Advanced Configurator-kommandofane. | Aktiver/deaktiver registrering manuelt for de ønskede ZCL-kommandoer i ZCL Advanced Configurator. |
765735 | OTA-opdateringen mislykkes på Sleepy End Device med aktiveret Page Request. | Brug blokanmodning i stedet for sideanmodning. |
845649 |
Fjernelse af CLI: Kernekomponenten eliminerer ikke EEPROM cli-kald til sl_cli.h. |
Slet eeprom-cli.c file der kalder sl_cli.h. Derudover kan opkald til sl_cli.h samt sl_cli_command_arg_t i ota-storage-simple-eeprom kommenteres ud. |
857200 |
ias-zone-server. c gør det muligt at oprette en binding med en "0000000000000000" CIE-adresse og tillader ikke yderligere bindinger. | Ingen kendt løsning |
1019961 | Genereret Z3Gateway mærkefile hardcodes "gcc" som CC | Ingen kendt løsning |
ID # | Beskrivelse | Løsning |
1039767 |
Zigbee-router-netværk prøve igen køoverløbsproblem i flertråds RTOS-brug. |
Zigbee Stack er ikke trådsikker. Som følge heraf understøttes kald af Zigbee stack API'er fra en anden opgave ikke i OS-miljøet og kan sætte stakken i en "ikke-fungerende" tilstand. Se den følgende app-note for at få flere oplysninger og en løsning ved brug af hændelseshandleren.
https://www.silabs.com/documents/public/application- notes/an1322-dynamic-multiprotocol-bluetooth-zigbee-sdk- 7x.pdf . |
1064370 | Z3Switch sampapplikationen aktiverede kun én knap (forekomst: btn1) som standard, hvilket fører til en uoverensstemmelse i knapbeskrivelsen i projektet file. | Løsning: Installer btn0-instansen manuelt under oprettelse af Z3Switch-projekt. |
1161063 | Z3Light og potentielt andre applikationer rapporterer forkerte klyngrevisionsværdier. | Opdater manuelt klyngrevisionsattributten til den relevante revision. |
1164768,
1171478, 1171479 |
FEJL: ezspErrorHandler 0x34 rapporteret gentagne gange under mfglib-modtagetilstand | For at reducere de udskrevne fejlmeddelelser skal du konfigurere EMBER_AF_PLUGIN_GATEWAY_MAX_WAIT_FOR_EV
ENT_TIMEOUT_MS på værtsappen til 100, så tilbagekaldskøen frigøres hurtigere. |
1252460 | SimEEPROM-gendannelsesrutiner (for både v1 og v2), der køres ved opstart, kan udføre fejljusterede flash-sidesletningskald, hvilket resulterer i påstande under em_msc. c's MSC_ErasePage rutine. | Løsning: Placer følgende kodelinje øverst i funktionen MSC_ErasePage() i em_msc.c: startadresse = (uint32_t*)((uint32_t)startAddress &
~(FLASH_PAGE_SIZE-1)); |
Forældede varer
Udgået i udgivelsen
I GSDK 7.4.0.0 og fremefter, inklusive denne patch, er "-v"-indstillingen i en Z3Gateway for en linux-værtsapplikation for at skabe en telnet-grænseflade med port 4900 eller 4901 forældet. Den alternative anbefalede måde at oprette en telnet-grænseflade på er at bruge linux-værktøjer såsom "socat".
Udgået i udgivelsen
Fjernede følgende forældede sikkerheds-API'er:
- emberGetKey()
- emberGetKeyTableEntry()
- emberSetKeyTableEntry()
- emberHaveLinkKey()
- emberAddOrUpdateKeyTableEntry()
- emberAddTransientLinkKey()
- emberGetTransientKeyTableEntry()
- emberGetTransientLinkKey()
- emberHmacAesHash()
Brug API'erne fra Zigbee Security Manager til at få adgang til nøglelager og HMAC-hash.
Fjernede elementer
Fjernet i frigivelse
- Fjernede duplikerede offentlige API'er i offentlig header file gp-typer.h.
- zigbee_end_device_bind-komponenten er blevet fjernet. Denne komponent blev brugt til koordinatoren til at formidle bindende anmodninger om slutenheder. Denne valgfri funktionalitet blev fjernet fra R22 i Zigbee-kernespecifikationen.
- Fjernet setPacketBufferCount() i af-host.c og useless check case EZSP_CONFIG_PACKET_BUFFER_COUNT: i command-handlers.c.
- Fjernet memoryAllocation-argument, fordi der ikke er behov for at opdele i to faser ved initialisering af NCP.
- Fjernede emberAfNcpInitCallback() i se14-comms-hub, se14-ihd og se14-meter-gas 's app.c.
- Fjernet indstilling EZSP_CONFIG_RETRY_QUEUE_SIZE værdi under ncp initialisering i ncp-configuration.c
Multiprotokol Gateway og RCP
Nye varer
Tilføjet i udgivelsen
- Samtidig lytning frigives muligheden for Zigbee- og OpenThread-stakkene til at fungere på uafhængige 802.15.4-kanaler, når der bruges en EFR32xG24 eller xG21 RCP.
- Samtidig lytning er ikke tilgængelig for 802.15.4 RCP/Bluetooth RCP-kombinationen, Zigbee NCP/OpenThread RCP-kombinationen eller for Zigbee/OpenThread system-on-chip (SoC). Det vil blive føjet til disse produkter i en fremtidig udgivelse.
- OpenThread CLI-leverandørudvidelsen er blevet tilføjet til OpenThread-værtsapps for multiprotokolcontainere. Dette inkluderer coex cli-kommandoer.
Forbedringer
Ændret i udgivelsen
- Zigbee NCP/OpenThread RCP multiprotokolkombinationen er nu produktionskvalitet.
Faste problemer
Rettet i udgivelsen
ID # | Beskrivelse |
1213701 |
zigbeed tillod ikke, at der blev oprettet en kildetilpasningstabelpost for et underordnet, hvis MAC indirekte køen allerede har afventende data for det underordnede. Denne adfærd kan føre til, at applikationslagstransaktioner mellem barnet og en anden enhed mislykkes på grund af manglende APS Ack eller app-lagsrespons, især afbrydelsen og uventet afbrydelse af ZCL OTA-opgraderinger rettet mod den underordnede enhed. |
1244461 | Indtastning af kildematchtabel for børn kunne fjernes på trods af afventende meddelelser. |
Rettet i udgivelsen
ID # | Beskrivelse |
1081828 | Gennemløbsproblem med FreeRTOS-baserede Zigbee/BLE DMP'erample applikationer. |
1090921 | Z3GatewayCpc havde problemer med at danne et netværk i et støjende miljø. |
1153055 | En påstand om værten blev forårsaget, da der var en kommunikationsfejl ved læsning af NCP-versionen fra zigbee_ncp-ble_ncp-uart sampden app. |
1155676 | 802.15.4 RCP kasserede alle modtagne unicast-pakker (efter MAC-acking), hvis flere 15.4-grænseflader delte det samme 16-bit node-id. |
1173178 | Værten rapporterede fejlagtigt hundredvis af pakker modtaget med mfglib i Host-RCP-opsætningen. |
1190859 | EZSP-fejl ved afsendelse af tilfældige mfglib-pakker i Host-RCP-opsætningen. |
1199706 | Dataafstemninger fra børn, der har glemt enheden, indstillede ikke korrekt en afventende ramme på RCP'en til at sætte en Forlad & Gentilslut-kommando i kø til det tidligere barn. |
1207967 | Kommandoen "mfglib send random" sendte ekstra pakker på Zigbeed. |
1208012 | mfglib rx-tilstanden opdaterede ikke pakkeoplysningerne korrekt ved modtagelse på RCP'en. |
1214359 | Koordinatorknudepunktet gik ned, da 80 eller flere routere forsøgte at deltage samtidigt i Host-RCP-opsætningen. |
1216470 |
Efter at have videresendt en udsendelse for adressemaske 0xFFFF, ville en Zigbee RCP, der fungerer som en overordnet enhed, lade det ventende dataflag indstillet for hvert barn. Dette resulterede i, at hvert barn forblev vågen og forventede data efter hver afstemning, og krævede en anden afventende datatransaktion til hver endeenhed for til sidst at rydde denne tilstand. |
Kendte problemer i den aktuelle udgivelse
Udgaver med fed er tilføjet siden den forrige udgivelse. Hvis du er gået glip af en udgivelse, er de seneste udgivelsesbemærkninger tilgængelige på https://www.si-labs.com/developers/gecko-software-development-kit.
ID # | Beskrivelse | Løsning |
811732 | Brugerdefineret token-understøttelse er ikke tilgængelig, når du bruger Zigbeed. | Support er planlagt i en fremtidig udgivelse. |
937562 | Bluetoothctl 'advertise on'-kommandoen mislykkes med rcp-uart- 802154-blehci-appen på Raspberry Pi OS 11. | Brug btmgmt-appen i stedet for bluetoothctl. |
1022972 | Coex virker ikke på ZB NCP + OT RCP. | Support er planlagt til en fremtidig udgivelse. |
1074205 | CMP RCP'en understøtter ikke to netværk på samme PAN-id. | Brug forskellige PAN-id'er for hvert netværk. Support er planlagt i en fremtidig udgivelse. |
1122723 | I et travlt miljø kan CLI'en ikke reagere i z3-light_ot-ftd_soc-appen. | Ingen kendt løsning. |
1124140 | z3-light_ot-ftd_soc sample app er ikke i stand til at danne Zigbee-netværket, hvis OT-netværket allerede er oppe. | Start Zigbee-netværket først og OT-netværket derefter. |
1170052 |
CMP Zigbee NCP + OT RCP og DMP Zigbee NCP + BLE NCP passer muligvis ikke på 64KB og lavere RAM-dele i denne aktuelle udgivelse. |
64KB dele understøttes ikke i øjeblikket for disse apps. |
1209958 |
ZB/OT/BLE RCP'en på Bobcat og Bobcat Lite kan stoppe med at fungere efter et par minutter, når de kører alle tre protokoller |
Vil blive behandlet i en fremtidig udgivelse |
1221299 | Mfglib RSSI-aflæsninger er forskellige mellem RCP og NCP. | Vil blive behandlet i en fremtidig udgivelse. |
1231021 | OTBR kan hævde, når 80+ zigbee-enheder tilslutter sig samtidigt. | Tilføjet en rettelse, der kan omgå problemet. Vil blive behandlet fuldt ud i en fremtidig udgivelse. |
Forældede varer
- Ingen
Fjernede elementer
Fjernet i frigivelse
- Makroen "NONCOMPLIANT_ACK_TIMING_WORKAROUND" er blevet fjernet. Alle RCP-apps understøtter nu som standard 192 μs ekspeditionstid for ikke-forbedrede acks, mens de stadig bruger 256 μs ekspeditionstid for forbedrede acks krævet af CSL.
Brug af denne udgivelse
Denne udgivelse indeholder følgende:
- Zigbee stak
- Zigbee Application Framework
- Zigbee Sample Applikationer
For mere information om Zigbee og EmberZNet SDK se UG103.02: Zigbee Fundamentals.
Hvis du er en førstegangsbruger, se QSG180: Zigbee EmberZNet Quick-Start Guide til SDK 7.0 og højere, for instruktioner om konfiguration af dit udviklingsmiljø, opbygning og flashing somampapplikationen og dokumentationsreferencer, der peger på næste trin.
Installation og brug
Zigbee EmberZNet SDK leveres som en del af Gecko SDK (GSDK), pakken af Silicon Labs SDK'er. For hurtigt at komme i gang med GSDK skal du installere Simplicity Studio 5, som opsætter dit udviklingsmiljø og leder dig gennem GSDK-installationen. Simplicity Studio 5 inkluderer alt det nødvendige til IoT-produktudvikling med Silicon Labs-enheder, inklusive en ressource- og projektstarter, softwarekonfigurationsværktøjer, fuld IDE med GNU-værktøjskæde og analyseværktøjer. Installationsvejledningen findes i online Simplicity Studio 5-brugervejledningen.
Alternativt kan Gecko SDK installeres manuelt ved at downloade eller klone det seneste fra GitHub. Se https://github.com/Sili-conLabs/gecko_sdk for mere information.
Simplicity Studio installerer GSDK som standard i:
- (Windows): C:\Users\ \SimplicityStudio\SDKs\gecko_sdk
- (MacOS): /Brugere/ /SimplicityStudio/SDKs/gecko_sdk
Dokumentation, der er specifik for SDK-versionen, er installeret med SDK. Yderligere information kan ofte findes i videnbaseartiklerne (KBA'er). API-referencer og anden information om denne og tidligere udgivelser er tilgængelig på https://docs.silabs.com/.
Sikkerhedsoplysninger
Sikker Vault-integration
For programmer, der vælger at gemme nøgler sikkert ved hjælp af Secure Key Storage-komponenten på Secure Vault-High-dele, viser følgende tabel de beskyttede nøgler og deres lagerbeskyttelsesegenskaber, som Zigbee Security Manager-komponenten administrerer.
Indpakket nøgle | Eksporterbar/ikke-eksporterbar | Noter |
Netværksnøgle | Kan eksporteres | |
Tillidscenter-linknøgle | Kan eksporteres | |
Transient Link Key | Kan eksporteres | Indekseret nøgletabel, gemt som flygtig nøgle |
Application Link Key | Kan eksporteres | Indekseret nøgletabel |
Sikker EZSP nøgle | Kan eksporteres | |
ZLL krypteringsnøgle | Kan eksporteres | |
ZLL prækonfigureret nøgle | Kan eksporteres | |
GPD proxy nøgle | Kan eksporteres | Indekseret nøgletabel |
GPD Sink nøgle | Kan eksporteres | Indekseret nøgletabel |
Intern nøgle/pladsholdernøgle | Kan eksporteres | Intern nøgle til brug af Zigbee Security Manager |
- Indpakkede nøgler, der er markeret som "Ikke-eksporterbare", kan bruges, men kan ikke være det viewredigeres eller deles under kørsel.
- Indpakkede nøgler, der er markeret som "Eksporterbare", kan bruges eller deles under kørsel, men forbliver krypteret, mens de opbevares i flash.
- Brugerapplikationer behøver aldrig at interagere med størstedelen af disse nøgler. Eksisterende API'er til at administrere Link Key Table-nøgler eller Transient Keys er stadig tilgængelige for brugerapplikationen og rutes nu gennem Zigbee Security Manager-komponenten.
- Nogle af disse nøgler kan blive ikke-eksporterbare til brugerapplikationen i fremtiden. Brugerapplikationer opfordres til ikke at stole på eksport af nøgler, medmindre det er absolut nødvendigt.
- For mere information om Secure Vault Key Management-funktionalitet, se AN1271: Secure Key Storage.
Sikkerhedsadvarsler
For at abonnere på Security Advisories skal du logge ind på Silicon Labs kundeportal og derefter vælge Konto Hjem. Klik på HJEM for at gå til portalens startside, og klik derefter på feltet Administrer meddelelser. Sørg for, at 'Software/sikkerhedsrådgivningsmeddelelser og produktændringsmeddelelser (PCN'er)' er markeret, og at du som minimum er tilmeldt din platform og protokol. Klik på Gem for at gemme eventuelle ændringer.
Støtte
Development Kit-kunder er berettiget til træning og teknisk support. Brug Silicon Laboratories Zigbee web side for at få information om alle Silicon Labs Zigbee produkter og tjenester og tilmelde dig produktsupport.
Du kan kontakte Silicon Laboratories support på http://www.silabs.com/support.
Simplicity Studio
Et-klik adgang til MCU og trådløse værktøjer, dokumentation, software, kildekodebiblioteker og mere. Tilgængelig til Windows, Mac og Linux!
Ansvarsfraskrivelse
Silicon Labs har til hensigt at give kunderne den seneste, nøjagtige og dybdegående dokumentation af alle perifere enheder og moduler, der er tilgængelige for system- og softwareimplementere, der bruger eller har til hensigt at bruge Silicon Labs-produkterne. Karakteriseringsdata, tilgængelige moduler og ydre enheder, hukommelsesstørrelser og hukommelsesadresser refererer til hver specifik enhed, og de "typiske" parametre, der leveres, kan og varierer i forskellige applikationer. Ansøgning exampDe heri beskrevne er kun til illustrative formål. Silicon Labs forbeholder sig retten til uden yderligere varsel at foretage ændringer af produktinformationen, specifikationer og beskrivelser heri, og giver ingen garantier for nøjagtigheden eller fuldstændigheden af den inkluderede information. Uden forudgående meddelelse kan Silicon Labs opdatere produktfirmware under fremstillingsprocessen af sikkerheds- eller pålidelighedsgrunde. Sådanne ændringer vil ikke ændre produktets specifikationer eller ydeevne. Silicon Labs påtager sig intet ansvar for konsekvenserne af brugen af oplysningerne i dette dokument. Dette dokument antyder eller giver ikke udtrykkeligt nogen licens til at designe eller fremstille integrerede kredsløb. Produkterne er ikke designet eller godkendt til at blive brugt i nogen FDA Klasse III-enheder, applikationer, hvortil FDA-godkendelse på forhånd er påkrævet, eller Life Support Systems uden specifikt skriftligt samtykke fra Silicon Labs. Et "Livsstøttesystem" er ethvert produkt eller system beregnet til at understøtte eller opretholde liv og/eller sundhed, som, hvis det fejler, med rimelighed kan forventes at resultere i betydelig personskade eller død. Silicon Labs produkter er ikke designet eller godkendt til militære applikationer. Silicon Labs produkter må under ingen omstændigheder bruges i masseødelæggelsesvåben, herunder (men ikke begrænset til) nukleare, biologiske eller kemiske våben eller missiler, der er i stand til at levere sådanne våben. Silicon Labs fraskriver sig alle udtrykkelige og underforståede garantier og er ikke ansvarlig for skader eller skader relateret til brug af et Silicon Labs-produkt i sådanne uautoriserede applikationer.
Note: Dette indhold kan indeholde stødende terminologi, som nu er forældet. Silicon Labs erstatter disse vilkår med inkluderende sprog, hvor det er muligt. For mere information, besøg www.silabs.com/about-us/inclusive-lexicon-project.
Varemærkeoplysninger
Silicon Laboratories Inc.®, Silicon Laboratories®, Silicon Labs®, SiLabs® og Silicon Labs logoet®, Bluegiga®, Bluegiga Logo®, EFM®, EFM32®, EFR, Ember®, Energy Micro, Energy Micro-logoet og kombinationer deraf , "verdens mest energivenlige mikrocontrollere", Redpine Signals®, WiSeConnect , n-Link, ThreadArch®, EZLink®, EZRadio®, EZRadioPRO®, Gecko®, Gecko OS, Gecko OS Studio, Precision32®, Simplicity Studio®, Telegesis, Telegesis Logo®, USBXpress®, Zentri, Zentri-logoet og Zentri DMS, Z- Wave® og andre er varemærker eller registrerede varemærker tilhørende Silicon Labs. ARM, CORTEX, Cortex-M3 og THUMB er varemærker eller registrerede varemærker tilhørende ARM Holdings. Keil er et registreret varemærke tilhørende ARM Limited. Wi-Fi er et registreret varemærke tilhørende Wi-Fi Alliance. Alle andre produkter eller mærkenavne nævnt heri er varemærker tilhørende deres respektive indehavere.
KONTAKTE
- Silicon Laboratories Inc.
- 400 West Cesar Chavez
- Austin, TX 78701
- USA
- www.silabs.com
Dokumenter/ressourcer
![]() |
SILICON LABS SDK 7.4.1.0 GA Zigbee Protocol Stack Software [pdfBrugervejledning 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 |