SILICON LABS SDK 7.4.1.0 GA Software de pila de protocolo Zigbee
Información del producto
Presupuesto
- Versión del SDK de Zigbee EmberZNet: 7.4.1.0
- Versión de la suite Gecko SDK: 4.4 – 14 de febrero de 2024
- Proveedor: Laboratorios de silicio
- Características principales: Soporte multiprotocolo Zigbee y OpenThread en SoC
- Compiladores compatibles: CCG versión 12.2.1
- Versión del protocolo EZSP: 0x0D
Instrucciones de uso del producto
Avisos de compatibilidad y uso
- Para obtener actualizaciones y avisos de seguridad, consulte el capítulo Seguridad de las notas de la versión de la plataforma Gecko instaladas con este SDK o visite la pestaña TECH DOCS en Silicon Labs. websitio.
- Manténgase actualizado suscribiéndose a Avisos de seguridad.
Preguntas frecuentes
- Pregunta: ¿Cómo verifico la correcta? files se están utilizando con los compiladores compatibles?
- Respuesta: Puedes verificar que el correcto files se están utilizando verificando la versión 12.2.1 de GCC proporcionada con Simplicity Studio.
- Pregunta: ¿Dónde puedo encontrar información sobre actualizaciones y avisos de seguridad?
- Respuesta: Para obtener actualizaciones y avisos de seguridad, consulte el capítulo Seguridad de las notas de la versión de la plataforma Gecko o visite la pestaña TECH DOCS en Silicon Labs. websitio.
Silicon Labs es el proveedor elegido por los OEM que desarrollan redes Zigbee en sus productos. La plataforma Zigbee de Silicon Labs es la solución Zigbee más integrada, completa y con más funciones disponible.
Silicon Labs EmberZNet SDK contiene la implementación de Silicon Labs de la especificación de pila Zigbee.
- Estas notas de la versión cubren la(s) versión(es) del SDK:
- 7.4.1.0 lanzado el 14 de febrero de 2024
- 7.4.0.0 lanzado el 13 de diciembre de 2023
CARACTERÍSTICAS PRINCIPALES
Zigbee
- Cumplimiento de Zigbee R23
- Cumplimiento de Zigbee Smart Energy 1.4a – producción
- Cumplimiento de Zigbee GP 1.1.2 – Alfa
- Soporte MG27 – producción
- Soporte mejorado para piezas de Secure Vault
- Soporte Sleepy en aplicaciones NCP SPI (no CPC) – Alfa
Multiprotocolo
- Soporte de escucha simultánea (RCP): MG21 y MG24
- Multiprotocolo concurrente (CMP) Zigbee NCP + OpenThread RCP – producción
- Bluetooth multiprotocolo dinámico + soporte Zigbee y OpenThread multiprotocolo concurrente (CMP) en SoC
Avisos de compatibilidad y uso
Para obtener información sobre actualizaciones y avisos de seguridad, consulte el capítulo Seguridad de las notas de la versión de la plataforma Gecko instaladas con este SDK o en la pestaña TECH DOCS en https://www.silabs.com/developers/zigbee-emberznet. Silicon Labs también recomienda encarecidamente que se suscriba a los avisos de seguridad para obtener información actualizada. Para obtener instrucciones, o si es nuevo en el SDK de Zigbee EmberZNet, consulte Uso de esta versión.
Compiladores compatibles
- IAR Embedded Workbench para ARM (IAR-EWARM) versión 9.40.1.
- El uso de Wine para compilar con la utilidad de línea de comandos IarBuild.exe o la GUI de IAR Embedded Workbench en macOS o Linux podría generar errores files se utiliza debido a colisiones en el algoritmo hash de Wine para generar cortos file nombres.
- Se recomienda a los clientes de macOS o Linux que no creen con IAR fuera de Simplicity Studio. Los clientes que lo hagan deben verificar cuidadosamente que el correcto filese están utilizando.
GCC (The GNU Compiler Collection) versión 12.2.1, proporcionada con Simplicity Studio.
La versión del protocolo EZSP para esta versión es 0x0D.
Nuevos artículos
Esta versión de Gecko SDK (GSDK) será la última con soporte combinado para todos los dispositivos EFM y EFR, excepto los parches para esta versión según sea necesario. A partir de mediados de 2024, introduciremos SDK independientes:
- El SDK de Gecko existente continuará siendo compatible con los dispositivos de las Series 0 y 1.
- Un nuevo SDK atenderá específicamente a los dispositivos de las Series 2 y 3.
El SDK de Gecko seguirá siendo compatible con todos los dispositivos de las Series 0 y 1 sin cambios en el soporte, el mantenimiento, la calidad y la capacidad de respuesta a largo plazo proporcionados según nuestra política de software.
El nuevo SDK se derivará del Gecko SDK y comenzará a ofrecer nuevas funciones que ayudarán a los desarrolladores a aprovechar las ventajas.tage de las capacidades avanzadas de nuestros productos Serie 2 y 3.
Esta decisión se alinea con los comentarios de los clientes, lo que refleja nuestro compromiso de elevar la calidad, garantizar la estabilidad y mejorar el rendimiento para una experiencia de usuario excepcional en todos nuestros SDK de software.
Nuevos componentes
Nuevo en lanzamiento
- Se agregaron los componentes “zigbee_direct_security_p256” y “zigbee_direct_security_curve25519” para que los usuarios puedan configurar una opción de seguridad específica de Zigbee Direct.
- Los usuarios pueden tener múltiples componentes “zigbee_direct_security” habilitados en una aplicación de dispositivo Zigbee directo (ZDD). En este caso, la opción de seguridad real depende de la configuración del dispositivo virtual Zigbee (ZVD).
Nuevas API
Nuevo en lanzamiento
- Se agregó una nueva API sl_zigbee_token_factory_reset para restablecer los tokens Zigbee NVM3 a su valor predeterminado.
- Se agregó la API bool sl_zigbee_sec_man_link_key_slot_available(EmberEUI64 eui), que devuelve verdadero si la tabla de claves de enlace puede agregar o actualizar una entrada con esta dirección (la tabla no está completa).
- Se agregó una nueva API bool sl_zb_sec_man_compare_key_to_value (sl_zb_sec_man_context_t* contexto, sl_zb_sec_man_key_t* clave), que devuelve verdadero si el contexto hace referencia a la clave y tiene el mismo valor que la clave proporcionada en el argumento.
Soporte para nueva plataforma
Nuevo en lanzamiento
- En esta versión se agrega soporte de pila Zigbee para las siguientes piezas nuevas: EFR32MG24A010F768IM40 y EFR32MG24A020F768IM40.
Nueva documentación
Nuevo en la versión 7.4.0.0
- Se actualizó la descripción del componente Zigbee Secure Key Storage para reflejar la adición de Zigbee Secure Key Storage Upgrade (que agrega compatibilidad con versiones anteriores de proyectos existentes).
- Se agregó una nueva nota de aplicación para interactuar con el grupo de componentes Zigbee Security Manager (AN1412: Zigbee Security Manager).
Comportamiento previsto
Se recuerda a los usuarios que las transmisiones CSL no sincronizadas de Zigbee están sujetas a preferencia de protocolo en el programador de radio. En las aplicaciones SleepyToSleepy, BLE puede adelantarse a una transmisión Zigbee CSL, lo que finalizará la transmisión. La preferencia del programador es más común para CSL no sincronizado, dado que se puede utilizar una secuencia de cuadro de activación potencialmente larga. Los usuarios que deseen ajustar las prioridades de transmisión pueden utilizar el componente de prueba y ajuste DMP para hacerlo. Los usuarios también pueden consultar UG305: Guía del usuario multiprotocolo dinámico para obtener más información.
Mejoras
Cambiado en el lanzamiento
Cambios en la documentación de la API de emberCounterHandler
En versiones anteriores, a la devolución de llamada del controlador de contador para los EmberCounterTypes de la capa MAC y APS relacionados con los paquetes RX y TX no se les pasaba el ID del nodo de destino o los argumentos de datos adecuados, y la documentación de la API sobre el comportamiento de ciertos contadores que usaban estos parámetros no era clara o era engañosa.
Si bien la firma de emberCounterHandler() no ha cambiado, la forma en que se completan sus parámetros ha cambiado ligeramente.
- Los comentarios sobre las enumeraciones EmberCounterType en ember-types.h se han ampliado para mayor claridad.
- El parámetro ID de nodo del controlador de contador para contadores relacionados con TX ahora verifica si el modo de dirección de destino indica una ID corta válida antes de usarlo. (De lo contrario, no se completa ninguna dirección de destino y en su lugar se utiliza un valor de marcador de posición de EMBER_UNKNOWN_NODE_ID).
- El parámetro ID de nodo del controlador de contador para contadores relacionados con RX ahora refleja el ID del nodo de origen, no el ID del nodo de destino.
- El recuento de reintentos *no* se pasa como parámetro de datos para los contadores EMBER_COUNTER_MAC_TX_UNICAST_SUCCESS/FAILED como se describe en tipos de brasas. h en versiones anteriores, pero esto nunca se completó correctamente en versiones publicadas anteriormente, por lo que su valor en versiones anteriores siempre habría sido 0. Este comportamiento se aclaró en la descripción de esos EmberCounterTypes. Sin embargo, el recuento de reintentos para los reintentos de la capa APS continúa apareciendo en el parámetro de datos para los tipos de contador EMBER_COUNTER_APS_TX_UNICAST_SUCCESS/FAILED, para ser consistente con versiones anteriores.
- Todos los contadores que completan el ID de nodo o el parámetro de datos para la devolución de llamada se han auditado para garantizar que pasen los datos, la dirección o EMBER_UNKNOWN_NODE_ID esperados si se esperaba un ID de nodo pero no se pudo obtener del paquete, como se describe en el documento revisado. documentación de tipos.h.
- El controlador de contador para EMBER_COUNTER_MAC_TX_UNICAST_RETRY ahora refleja correctamente el ID del nodo de destino de la capa MAC y varios reintentos en su ID del nodo de destino y sus parámetros de datos.
- El controlador de contador para EMBER_COUNTER_PHY_CCA_FAIL_COUNT ahora proporciona información de ID del nodo de destino a través del parámetro ID de nodo sobre el destino de la capa MAC previsto del mensaje cuya transmisión falló.
Código de energía verde actualizado
El código del servidor Green Power se actualiza con varias mejoras que incluyen:
- Se agregó más código de validación para comandos entrantes con punto final no válido al recibirlos en el servidor GP.
- Se agregó código para manejar el caso en el que no hay más espacio para crear mensajes de energía verde.
- El receptor ahora elimina la configuración de emparejamiento con la acción eliminar emparejamiento en algunos casos según la sección de especificaciones A.3.5.2.4.1.
- El receptor ahora guarda la lista de grupos existente de una entrada antes de eliminarla al procesar la configuración de emparejamiento con la acción extender.
- El comando de consulta de traducción devuelve "NO ENCONTRADO" como código de error cuando la tabla de traducción está vacía o el índice es mayor que varias entradas en la tabla.
- Se cambió la versión del punto final GP en algunas aplicaciones de 1 a 0.
El uso de CSMA en la función de envío de GPDF está restringido porque los dispositivos Green Power son dispositivos de energía mínima y no utilizan CSMA en la mayoría de los diseños. En cambio, el diseño preferido es enviar varios paquetes utilizando el mismo presupuesto de energía.
Se eliminó el uso de un punto final oculto en la opción del complemento Green Power Server. Utilice uno de los puntos finales de la aplicación en su lugar.
Mejoras en el código del complemento de actualización de clave de red
- Se modificó el período de actualización periódica de la clave de red para que sea de hasta 1 año.
Se reestructuraron algunas API para evitar exportaciones de claves innecesarias
Se realizaron cambios para favorecer el uso de contextos clave sobre datos clave de texto sin formato.
- sl_zigbee_send_security_challenge_request ahora acepta un argumento sl_zb_sec_man_context_t en lugar de EmberKeyData.
- Los valores de la enumeración sl_zb_sec_man_derived_key_type ahora son una máscara de bits de 16 bits para admitir directamente ciertas derivaciones de claves que combinan múltiples tipos derivados.
Problemas solucionados
Corregido en la versión
CARNÉ DE IDENTIDAD # | Descripción |
1036893 | Se solucionó un problema que causaba que el componente del clúster OTA instalara el componente de interfaz del cargador de arranque heredado como una dependencia. |
1114905 | Zigbee Direct: manejo mejorado de la característica de red de salida. |
1180937 | Se corrigió el reinicio de WDT al conectar Zigbee Direct ZDD a ZVD de terceros. |
1223904 | Se solucionó un problema que causaba que el dispositivo final se moviera para funcionar incorrectamente en un entorno muy ocupado. |
1224393 | Se actualizó el código del controlador de solicitudes de la tabla receptora de Green Power para actualizar la dirección de destino de la respuesta. |
1228808 | Se solucionó el problema de visualización con las definiciones de macros en la documentación de gp-types.h. |
1232297 | Se solucionó un problema por el cual emberSetOutgoingNwkFrameCounter y emberSetOutgoingApsFrameCounter no funcionaban en aplicaciones host de 64 bits (devolviendo EMBER_BAD_ARGUMENT). |
1232359 | Se corrigió el cálculo del parámetro gppTunnelingDelay en el procesamiento de comandos del cliente de energía verde. |
1240392 |
Las solicitudes de vinculación/desvinculación de ZDO rechazadas por motivos de acceso/permiso deben devolver el estado EMBER_ZDP_NOT_AUTHORIZED en lugar del estado EMBER_ZDP_NOT_PERMITTED según las especificaciones de Zigbee. |
1243523 | Zigbee Direct: estabilidad mejorada de la conexión BLE a ZVD. |
1249455 | Se solucionó un problema que causaba que un dispositivo final dormido entrara en suspensión al recibir una transmisión antes de recibir un reconocimiento. |
1252295 | Corrija un error tipográfico en la macro del catálogo de componentes SL_CATALOG_ZIGBEE_OTA_STORAGE_COMMON_PRESENT. |
Corregido en la versión
CARNÉ DE IDENTIDAD # | Descripción |
1019348 | Se corrigieron los requisitos de dependencia para el componente Zigbee ZCL Cli para que pueda eliminarse cuando no sea necesario. |
1024246 | Se actualizó la descripción de la función para emberHaveLinkKey() y sl_zb_sec_man_have_link_key(). |
1036503 | Se agregó una descripción para recomendar el uso de Micrium Kernel para DMP.amplas aplicaciones. |
1037661 | Se solucionó un problema que impedía que la aplicación instalara pro stack o leaf stack. |
1078136 | Se corrigió un bloqueo intermitente al modificar eventos desde el contexto de interrupción. |
1081548 |
Se recuerda a los usuarios que las transmisiones CSL no sincronizadas de Zigbee están sujetas a preferencia de protocolo en el programador de radio. En las aplicaciones SleepyToSleepy, BLE puede adelantarse a una transmisión Zigbee CSL, lo que finalizará la transmisión. La preferencia del programador es más común para CSL no sincronizado, dado que se puede utilizar una secuencia de cuadro de activación potencialmente larga. Los usuarios que deseen ajustar las prioridades de transmisión pueden utilizar el componente de prueba y ajuste DMP para hacerlo. Los usuarios también pueden consultar UG305: Guía del usuario multiprotocolo dinámico para obtener más información.
Se solucionó un problema en CSL por el cual una nueva secuencia de cuadro de activación que se recibía inmediatamente después de un cuadro de carga útil anterior no se registraba correctamente. Esto daría como resultado una trama de carga útil perdida. |
1084111 | El soporte inicial de SPI-NCP para placas basadas en MG24 se actualiza como parte de esta versión. |
1104056 | Se agregó soporte para que la dirección de red se ejecute en una red secundaria en caso de múltiples redes. |
1120515 | Se solucionó un problema por el cual el canal no cambiaba al usar el comando mfglib set-channel. |
1141109 | Se solucionó un problema que causaba que los mensajes generadosampLa aplicación ncp-uart-gp-multi-rail pierde algún encabezado files cuando se utiliza el componente del adaptador Green Power con la opción -cp. |
1144316 | Se actualizó la descripción de algunos tipos de estructuras de datos en la documentación de gp-types.h. |
1144884 | Se corrigió el bit pendiente de trama falsa establecido cuando no hay datos pendientes. |
1152512 | Se corrigió un posible fallo en low-mac-rail al modificar el evento en el contexto ISR. |
CARNÉ DE IDENTIDAD # | Descripción |
1154616 | Se agregó una excepción para la condición para inicializar la red con el caso "Cambiar rol de dispositivo Sleepy End a dispositivo Non-sleepy End". |
1157289 | Se solucionó un problema que podía causar una falla en la prueba BDB DN-TLM-TC-02B. |
1157426 | Se solucionó un problema de compilación al compilar zigbee_simple_app con el componente green_power_adapter. |
1157932 | Se agregó una condición para verificar si falta el campo "tiempo de transición" y se estableció un valor predeterminado de 0xFFFF para este campo faltante. |
1166340 | Se solucionó un problema que impedía que emberAfGpdfSend enviara la cantidad prevista de transmisiones repetidas. |
1167807 | Se solucionó un problema por el cual los dispositivos que actuaban como centros de confianza en redes distribuidas borraban incorrectamente sus claves de enlace transitorio cada vez que se unía un nuevo dispositivo. |
1169504 | Se solucionó un problema que causaba el reinicio de un dispositivo inactivo al despertarse forzadamente. |
1169966 | Se corrigió la validación del valor de retorno faltante en el código de asignación de búfer. |
1171477,
172270 |
Con mfglib start 1 no se transmiten mensajes pero sí se reciben, por lo que el mensaje del terminal mostrado "mfglib send complete" es incorrecto y se cambió a "RXed %d paquetes en los últimos %d ms". |
1171935 | Se modificó el período de actualización periódica de la clave de red para que sea de hasta 1 año. |
1172778 | Se agregó la invocación faltante de emberAfPluginGreenPowerServerUpdateAliasCallback al servidor Green Power. |
1174288 | Se solucionó un problema que provoca que el proceso de dirección de la red se confirme si se realiza una llamada para detener un análisis en curso. |
1178393 | Se actualizó un error de documentación. |
1180445 | En Smart Energy, OTA ahora continúa descargándose si el Coordinador alcanza el ciclo de trabajo limitado. |
1185509 | Se solucionó un problema en CSL por el cual una nueva secuencia de cuadro de activación que se recibía inmediatamente después de un cuadro de carga útil anterior no se registraba correctamente. Esto daría como resultado una trama de carga útil perdida. |
1186107 | Se solucionó un problema que causaba que el descifrado fallido de los GPDF recibidos reemplazara el GPDF entrante en la notificación de puesta en marcha del gp. |
1188397 | Se solucionó un problema que causaba un error de compilación al habilitar el tamaño de tabla de informe extendido. |
1194090 | Se corrigió el estado de falla en la respuesta predeterminada para el comando del modo de puesta en servicio del disipador, siguiendo la sección 3.3.4.8.2. |
1194963 | Se solucionó un problema que configuraba la estructura CommissioningGpd antes de llamar al usuario de devolución de llamada emberAfGreenPowerServerPairingStatusCallback. |
1194966 | Se solucionó un problema por el cual los campos endpoint y proxiesInvolved no se configuraban con la acción Salir de puesta en marcha. |
1196698 | Se corrigió un bit pendiente de trama espurio establecido cuando no había datos pendientes. |
1199958 | Se agregó código para manejar el caso en el que no hay más espacio para crear mensajes de energía verde. |
1202034 | Se solucionó un problema por el cual la variable de pila sl_zb_sec_man_context_t no se inicializaba correctamente, lo que provocaba que fallara la unión con el código de instalación. |
1206040 |
Llamar a emberRemoveChild() durante un intento de reincorporación segura por parte de un dispositivo final puede provocar una disminución adicional del recuento de niños, lo que podría provocar un recuento de niños de -1 (255), lo que inhibe que los dispositivos finales se unan o se vuelvan a unir debido a una falta indicada. de capacidad en el Beacon. |
1207580 |
Las funciones de búsqueda de tablas secundarias dentro de la pila son inconsistentes en el uso de 0x0000 versus 0xFFFF para el valor de retorno de ID de nodo que representa entradas no válidas/vacías, lo que genera problemas para verificar entradas no utilizadas en API como emberRemoveChild(). |
1210706 | El destino y el índice PHY proporcionados en la estructura EmberExtraCounterInfo como parte de emberCounterHandler() pueden haber sido incorrectos para los tipos de contadores MAC TX Unicast. |
1211610
1212525 |
Se solucionó un problema por el cual las aplicaciones dinámicas multiprotocolo fallaban después de habilitar el componente de actualización de almacenamiento seguro de claves. |
1211847 | Si bien la firma de emberCounterHandler() no ha cambiado, la forma en que se completan sus parámetros ha cambiado ligeramente. Los cambios relacionados con esta API se explican en la sección 2 anterior. |
1212449 |
Las balizas salientes fueron categorizadas incorrectamente por la capa MAC, lo que provocó que emberCounterHandler() no pudiera capturar estos paquetes con el tipo de contador EMBER_COUNTER_MAC_TX_BROADCAST y en su lugar contara las balizas con el tipo de contador EMBER_COUNTER_MAC_TX_UNICAST_SUCCESS. Esto potencialmente resultó en valores no confiables para el parámetro dest EmberNodeId pasado a la estructura EmberCounterInfo |
CARNÉ DE IDENTIDAD # | Descripción |
1214866 | El envío de paquetes de sondeo de datos en ciertas configuraciones de alto tráfico puede provocar una falla en el bus. |
1216552 | Se solucionó un problema que provocaba una afirmación en condiciones de tráfico intenso. |
1216613 | Se solucionó un problema que provocaba un valor incorrecto del radio de transmisión del grupo en la tabla de proxy. |
1222509 | El enrutador/coordinador envía una solicitud de salida y reincorporación a un dispositivo final de sondeo que no es secundario, pero el destino MAC es 0xFFFF en lugar de coincidir con la dirección de destino NWK. |
1223842 | Se solucionó un problema con la generación de sl_component_catalog.h que dejaba código no deseado causando una falla de compilación. |
756628 | Se modificó la invocación de la devolución de llamada de la aplicación emberAfMacFilterMatchMessageCallback para que solo se llame para los mensajes ZLL validados por la pila. |
816088 | Se movió la configuración de EMBER de zigbeed_configuration.h a zigbeed. slcp. |
829508 | Para evitar una condición de carrera, se agregó validación adicional en emberSetLogicalAndRadioChannel para regresar sin éxito si las capas inferiores están ocupadas o no en condiciones de cambiar el canal. |
Problemas conocidos en la versión actual
Se agregaron problemas en negrita desde la versión anterior. Si se ha perdido una versión, las notas de la versión reciente están disponibles en https://www.si-labs.com/developers/zigbee-emberznet en la pestaña Documentos técnicos.
CARNÉ DE IDENTIDAD # | Descripción | Solución alternativa |
N / A | ·Las siguientes aplicaciones/componentes no son compatibles con esta versión: compatibilidad con EM4 | La función se habilitará en versiones posteriores. |
193492 |
emberAfFillCommandGlobalServerToClientConfigureReporting la macro está rota. El llenado del búfer crea un paquete de comando incorrecto. | Utilice el comando CLI “zcl global send-me-a-report” en lugar de la API. |
278063 | Túneles de energía inteligentes plugins tiene un tratamiento/uso conflictivo del índice de la tabla de direcciones. | No se conoce ninguna solución |
289569 |
La lista de selección de niveles de potencia del componente creador de red no ofrece una gama completa de valores admitidos para EFR32 |
Edite el rango <-8..20> especificado en el comentario CMSIS para EMBER_AF_PLUGIN_NETWORK_CREATOR_RADIO_P
PODER en el /protocol/ZigBee/app/framework/plugin/network-creator/config/network-creator-config.h file. Por ejemploamparchivo, cambie a . |
295498 | La recepción UART a veces pierde bytes bajo una carga pesada en el caso de uso multiprotocolo dinámico Zigbee+BLE. | Utilice control de flujo de hardware o reduzca la velocidad en baudios. |
312291 |
EMHAL: Las funciones halCommonGetIntxxMilliSecondTick en hosts Linux actualmente utilizan la función Getting Meofday, que no se garantiza que sea monótona. Si la hora del sistema cambia, puede causar problemas con la sincronización de la pila. |
Modifique estas funciones para usar clock_gettime con la fuente CLOCK_MONOTONIC. |
338151 | La inicialización de NCP con un valor de recuento de búfer de paquetes bajo puede provocar paquetes corruptos. | Utilice el valor reservado 0xFF para el recuento del búfer de paquetes para evitar el valor predeterminado demasiado bajo |
387750 | El problema con los formatos de solicitud de tabla de rutas en el dispositivo final. | Bajo investigación |
400418 | Un iniciador de enlace táctil no puede vincularse a un dispositivo final que no sea nuevo de fábrica. | No se conoce ninguna solución. |
424355 |
Un iniciador con capacidad de destino de línea táctil de dispositivo final soñoliento que no sea nuevo de fábrica no puede recibir una respuesta de información del dispositivo en determinadas circunstancias. |
Bajo investigación |
465180 |
El elemento de optimización del bloqueador de radio de coexistencia “Habilitar control de tiempo de ejecución” puede bloquear el funcionamiento adecuado de Zigbee. | El control opcional "Selección de Wi-Fi" de optimización del bloqueador debe dejarse "Desactivado". |
480550 |
El clúster OTA tiene su método de fragmentación incorporado, por lo que no debería utilizar la fragmentación APS. Sin embargo, en caso de que el cifrado APS esté habilitado, aumenta la carga útil de ImageBlockResponses a un tamaño en el que se activa la fragmentación de APS. Esto podría provocar que el proceso de la OTA fracase. |
No se conoce ninguna solución |
481128 |
Los detalles detallados de la causa del reinicio y del fallo deberían estar disponibles de forma predeterminada a través del UART virtual (Serie 0) en las plataformas NCP cuando el complemento de diagnóstico y el periférico UART virtual están habilitados. | Dado que la Serie 0 ya está inicializada en el NCP, los clientes pueden habilitar emberAfNcpInitCallback en Zigbee NCP Framework y llamar a las funciones de diagnóstico apropiadas (halGetExtendedResetInfo, halGetExtendedResetString, halPrintCrashSummary, halPrintCrashDetails y halPrintCrashData) en esta devolución de llamada para imprimir estos datos en la Serie 0 para viewen el registro de captura de Network Analyzer.
Para un exampPara saber cómo utilizar estas funciones, consulte el código incluido en emberAfMainInit() de a-main-soc.c cuando se define EXTENDED_RESET_INFO. |
CARNÉ DE IDENTIDAD # | Descripción | Solución alternativa |
486369 |
Si un DynamicMultiProtocolLightSoc que forma una nueva red tiene nodos secundarios restantes de una red que dejó, emberAfGetChildTableSize devuelve un valor distinto de cero en startIdentifyOnAllChildNodes, lo que genera mensajes de error Tx 66 al dirigirse a los niños "fantasmas". | Borre en masa la parte si es posible antes de crear una nueva red o verifique mediante programación la tabla secundaria después de abandonar la red y elimine todos los elementos secundarios usando emberRemoveChild antes de formar una nueva red. |
495563 |
Unirse al dispositivo SPI NCP Sleepy End SampLa aplicación no realiza encuestas cortas, por lo tanto, el intento de unirse falla en el estado de Actualización de clave de enlace TC. | El dispositivo que desea unirse debe estar en modo de encuesta corta antes de intentar unirse. Este modo puede ser forzado mediante el complemento End Device Support. |
497832 |
En Network Analyzer, el desglose del comando de soporte de aplicaciones Zigbee para el marco de solicitud de clave de verificación hace referencia erróneamente a la parte de la carga útil que indica la dirección de origen del marco como dirección de destino. |
No se conoce ninguna solución |
519905
521782 |
Es muy raro que Spi-NCP no pueda iniciar la comunicación del gestor de arranque utilizando el comando CLI 'bootload' del complemento ota-client. |
Reinicie el proceso de carga de arranque |
620596 |
NCP SPI Examparchivo para BRD4181A (EFR32xGMG21)
El pin predeterminado de nWake definido no se puede utilizar como pin de activación. |
Cambie el pin predeterminado para nWake de PD03 a un pin habilitado para activación EM2/3 en el complemento NCP-SPI. |
631713 |
Un dispositivo final Zigbee informará conflictos de direcciones repetidamente si se utiliza el complemento “Zigbee PRO Stack Library” en lugar de “Zigbee PRO Leaf Library”. | Utilice la “Biblioteca Zigbee PRO Leaf” en lugar del complemento “Zigbee PRO Stack Library”. |
670702 |
Las ineficiencias dentro del complemento de informes pueden generar una latencia significativa basada en la frecuencia de escritura de datos y el tamaño de la tabla, lo que puede interferir con el código de la aplicación del cliente, incluida la sincronización de eventos. | Si escribe con frecuencia, considere verificar las condiciones de los informes y enviarlos manualmente en lugar de utilizar el complemento. |
708258 |
El valor no inicializado en groups-server.c a través de addEntryToGroupTable() puede crear un enlace falso y hacer que se envíen mensajes de informes de transmisión grupal. | Agregue "binding.clusterId = EMBER_AF_INVALID_CLUSTER_ID;" después de “tipo.enlace
= EMBER_MULTICAST_BINDING;” |
757775 |
Todas las piezas EFR32 tienen un desplazamiento RSSI único. Además, el diseño de la placa, las antenas y el gabinete pueden afectar el RSSI. |
Al crear un nuevo proyecto, instale la utilidad RAIL, componente RSSI. Esta característica incluye los Silabs compensados RSSI predeterminados medidos para cada pieza. Esta compensación se puede modificar si es necesario después de realizar pruebas de RF de todo el producto. |
758965 |
Los componentes del clúster ZCL y la tabla de descubrimiento de comandos ZCL no están sincronizados. Por lo tanto, al habilitar o deshabilitar un componente del clúster ZCL, los comandos implementados no se habilitarán/deshabilitarán en la pestaña de comandos del Configurador avanzado ZCL correspondiente. | Habilite/deshabilite manualmente el descubrimiento para los comandos ZCL deseados en el Configurador avanzado de ZCL. |
765735 | La actualización OTA falla en el dispositivo Sleepy End con la solicitud de página habilitada. | Utilice Solicitud de bloqueo en lugar de Solicitud de página. |
845649 |
Eliminación de CLI: el componente principal no elimina las llamadas CLI de EEPROM a sl_cli.h. |
Eliminar el eeprom-cli.c file que llama a sl_cli.h. Además, las llamadas a sl_cli.h así como a sl_cli_command_arg_t en ota-storage-simple-eeprom se pueden comentar. |
857200 |
servidor-zona-ias. c permite que se cree un enlace con una dirección CIE “0000000000000000” y posteriormente no permite más enlaces. | No se conoce ninguna solución |
1019961 | Marca Z3Gateway generadafile codifica "gcc" como CC | No se conoce ninguna solución |
CARNÉ DE IDENTIDAD # | Descripción | Solución alternativa |
1039767 |
Problema de desbordamiento de la cola de reintento de red del enrutador Zigbee en un caso de uso de RTOS multiproceso. |
Zigbee Stack no es seguro para subprocesos. Como resultado, llamar a las API de la pila Zigbee desde otra tarea no es compatible con el entorno del sistema operativo y puede poner la pila en un estado "no funcional". Consulte la siguiente nota de la aplicación para obtener más información y una solución alternativa mediante el controlador de eventos.
https://www.silabs.com/documents/public/application- notas/an1322-dynamic-multiprotocol-bluetooth-zigbee-sdk- 7x.pdf . |
1064370 | El Z3SwitchampLa aplicación de archivo solo habilitó un botón (instancia: btn1) de forma predeterminada, lo que provoca una discrepancia en la descripción del botón en el proyecto. file. | Solución alternativa: instale la instancia btn0 manualmente durante la creación del proyecto Z3Switch. |
1161063 | Z3Light y potencialmente otras aplicaciones informan valores de revisión de clúster incorrectos. | Actualice manualmente el atributo de revisión del clúster a su revisión adecuada. |
1164768,
1171478, 1171479 |
ERROR: ezspErrorHandler 0x34 se informó repetidamente durante el modo de recepción mfglib | Para reducir los mensajes de error impresos, configure EMBER_AF_PLUGIN_GATEWAY_MAX_WAIT_FOR_EV
ENT_TIMEOUT_MS en la aplicación host a 100, por lo que la cola de devolución de llamadas se libera más rápidamente. |
1252460 | Las rutinas de recuperación de SimEEPROM (tanto para v1 como para v2) ejecutadas al inicio pueden realizar llamadas de borrado de páginas flash desalineadas, lo que resulta en afirmaciones durante em_msc. rutina MSC_ErasePage de c. | Solución alternativa: coloque la siguiente línea de código en la parte superior de la función MSC_ErasePage() en em_msc.c: dirección inicial = (uint32_t*)((uint32_t)startAddress &
~(FLASH_PAGE_SIZE-1)); |
Artículos en desuso
Obsoleto en la versión
En GSDK 7.4.0.0 en adelante, incluido este parche, la opción “-v” en un Z3Gateway para que una aplicación host de Linux cree una interfaz telnet con el puerto 4900 o 4901 está obsoleta. La forma alternativa recomendada de crear una interfaz telnet es utilizar utilidades de Linux como “socat”.
Obsoleto en la versión
Se eliminaron las siguientes API de seguridad obsoletas:
- ascuaGetKey()
- ascuaGetKeyTableEntry()
- ascuaSetKeyTableEntry()
- ascuaHaveLinkKey()
- ascuaAddOrUpdateKeyTableEntry()
- ascuaAddTransientLinkKey()
- ascuaGetTransientKeyTableEntry()
- ascuaGetTransientLinkKey()
- ascuaHmacAesHash()
Utilice las API proporcionadas por Zigbee Security Manager para acceder al almacenamiento de claves y al hashing HMAC.
Elementos eliminados
Eliminado en el lanzamiento
- Se eliminaron API públicas duplicadas en el encabezado público. file gp-tipos.h.
- Se ha eliminado el componente zigbee_end_device_bind. Este componente fue utilizado por el coordinador para gestionar solicitudes vinculantes para dispositivos finales. Esta funcionalidad opcional se eliminó de R22 de la especificación principal de Zigbee.
- Se eliminó setPacketBufferCount() en af-host.c y caso de verificación inútil EZSP_CONFIG_PACKET_BUFFER_COUNT: en command-handlers.c.
- Se eliminó el argumento de asignación de memoria porque no es necesario dividirlo en dos fases al inicializar NCP.
- Se eliminó emberAfNcpInitCallback() en las aplicaciones se14-comms-hub, se14-ihd y se14-meter-gas.c.
- Se eliminó la configuración del valor EZSP_CONFIG_RETRY_QUEUE_SIZE durante la inicialización de ncp en ncp-configuration.c
Pasarela multiprotocolo y RCP
Nuevos artículos
Agregado en la versión
- Se lanza la escucha simultánea, la capacidad de las pilas Zigbee y OpenThread de operar en canales 802.15.4 independientes cuando se usa un RCP EFR32xG24 o xG21.
- La escucha simultánea no está disponible para la combinación 802.15.4 RCP/Bluetooth RCP, la combinación Zigbee NCP/OpenThread RCP o para el sistema en chip (SoC) Zigbee/OpenThread. Se agregará a esos productos en una versión futura.
- La extensión del proveedor OpenThread CLI se ha agregado a las aplicaciones host OpenThread de contenedores multiprotocolo. Esto incluye los comandos coex cli.
Mejoras
Cambiado en el lanzamiento
- La combinación multiprotocolo Zigbee NCP/OpenThread RCP ahora tiene calidad de producción.
Problemas solucionados
Corregido en la versión
CARNÉ DE IDENTIDAD # | Descripción |
1213701 |
zigbeed no permitió que se creara una entrada en la tabla de coincidencia de origen para un niño si la cola indirecta MAC ya tiene datos pendientes para ese niño. Este comportamiento podría provocar que las transacciones de la capa de aplicación entre el niño y algún otro dispositivo fallen debido a la falta de APS Ack o respuesta de la capa de aplicación, en particular la interrupción y la terminación inesperada de las actualizaciones ZCL OTA dirigidas al dispositivo secundario. |
1244461 | La entrada de la tabla de coincidencias de origen correspondiente al niño podría eliminarse a pesar de los mensajes pendientes. |
Corregido en la versión
CARNÉ DE IDENTIDAD # | Descripción |
1081828 | Problema de rendimiento con Zigbee/BLE DMP basados en FreeRTOSampaplicaciones le. |
1090921 | Z3GatewayCpc tuvo problemas para formar una red en un entorno ruidoso. |
1153055 | Se produjo una afirmación en el host cuando hubo una falla de comunicación al leer la versión NCP del zigbee_ncp-ble_ncp-uart sampla aplicación. |
1155676 | El RCP 802.15.4 descartó todos los paquetes de unidifusión recibidos (después de la confirmación de MAC) si varias interfaces 15.4 compartían el mismo ID de nodo de 16 bits. |
1173178 | El host informó falsamente cientos de paquetes recibidos con mfglib en la configuración Host-RCP. |
1190859 | Error de EZSP al enviar paquetes aleatorios mfglib en la configuración de Host-RCP. |
1199706 | Las encuestas de datos de niños con dispositivos finales olvidados no configuraban correctamente un marco pendiente en el RCP para poner en cola un comando Salir y volver a unirse al niño anterior. |
1207967 | El comando “mfglib enviar aleatoriamente” enviaba paquetes adicionales en Zigbeed. |
1208012 | El modo mfglib rx no actualizó correctamente la información del paquete al recibirlo en el RCP. |
1214359 | El nodo coordinador falló cuando 80 o más enrutadores intentaron unirse simultáneamente en la configuración Host-RCP. |
1216470 |
Después de transmitir una transmisión para la máscara de dirección 0xFFFF, un RCP Zigbee que actúa como dispositivo principal dejaría el indicador de datos pendientes establecido para cada hijo. Esto dio como resultado que cada niño permaneciera despierto esperando datos después de cada encuesta y requirió alguna otra transacción de datos pendiente a cada dispositivo final para eventualmente borrar este estado. |
Problemas conocidos en la versión actual
Los problemas en negrita se agregaron desde la versión anterior. Si se ha perdido una versión, las notas de la versión reciente están disponibles en https://www.si-labs.com/developers/gecko-software-development-kit.
CARNÉ DE IDENTIDAD # | Descripción | Solución alternativa |
811732 | La compatibilidad con tokens personalizados no está disponible cuando se usa Zigbeed. | El soporte está planificado en una versión futura. |
937562 | El comando Bluetoothctl 'advertise on' falla con la aplicación rcp-uart-802154-blehci en Raspberry Pi OS 11. | Use la aplicación btmgmt en lugar de bluetoothctl. |
1022972 | Coex no funciona en ZB NCP + OT RCP. | Se planea soporte para una versión futura. |
1074205 | El CMP RCP no admite dos redes en la misma identificación de PAN. | Use diferentes identificadores de PAN para cada red. El soporte está planificado en una versión futura. |
1122723 | En un entorno ocupado, es posible que la CLI deje de responder en la aplicación z3-light_ot-ftd_soc. | No se conoce ninguna solución. |
1124140 | z3-light_ot-ftd_soc sampLa aplicación no puede formar la red Zigbee si la red OT ya está activa. | Inicie la red Zigbee primero y luego la red OT. |
1170052 |
Es posible que CMP Zigbee NCP + OT RCP y DMP Zigbee NCP + BLE NCP no quepan en piezas de RAM de 64 KB e inferiores en esta versión actual. |
Las piezas de 64 KB no son compatibles actualmente con estas aplicaciones. |
1209958 |
El RCP ZB/OT/BLE en Bobcat y Bobcat Lite puede dejar de funcionar después de unos minutos cuando se ejecutan los tres protocolos. |
Se abordará en una versión futura. |
1221299 | Las lecturas de Mfglib RSSI difieren entre RCP y NCP. | Se abordará en una versión futura. |
1231021 | OTBR puede afirmar cuando más de 80 dispositivos zigbee se unen simultáneamente. | Se agregó una solución que puede solucionar el problema. Se abordará completamente en una versión futura. |
Artículos en desuso
- Ninguno
Elementos eliminados
Eliminado en el lanzamiento
- Se eliminó la macro "NONCOMPLIANT_ACK_TIMING_WORKAROUND". Todas las aplicaciones RCP ahora admiten de forma predeterminada un tiempo de respuesta de 192 μs para los ataques no mejorados y al mismo tiempo utilizan un tiempo de respuesta de 256 μs para los ataques mejorados requeridos por CSL.
Uso de esta versión
Esta versión contiene lo siguiente:
- Pila Zigbee
- Marco de aplicación Zigbee
- Zigbee SampAplicaciones
Para obtener más información sobre Zigbee y el SDK de EmberZNet, consulte UG103.02: Fundamentos de Zigbee.
Si es la primera vez que lo utiliza, consulte QSG180: Guía de inicio rápido de Zigbee EmberZNet para SDK 7.0 y superior, para obtener instrucciones sobre cómo configurar su entorno de desarrollo, compilar y actualizar comoamparchivo de solicitud y referencias de documentación que indican los próximos pasos.
Instalación y uso
El SDK Zigbee EmberZNet se proporciona como parte del Gecko SDK (GSDK), el conjunto de SDK de Silicon Labs. Para comenzar rápidamente con GSDK, instale Simplicity Studio 5, que configurará su entorno de desarrollo y lo guiará a través de la instalación de GSDK. Simplicity Studio 5 incluye todo lo necesario para el desarrollo de productos de IoT con dispositivos de Silicon Labs, incluido un iniciador de recursos y proyectos, herramientas de configuración de software, IDE completo con cadena de herramientas GNU y herramientas de análisis. Las instrucciones de instalación se proporcionan en la Guía del usuario de Simplicity Studio 5 en línea.
Alternativamente, Gecko SDK puede instalarse manualmente descargando o clonando la última versión de GitHub. Ver https://github.com/Sili-conLabs/gecko_sdk Para más información.
Simplicity Studio instala el GSDK por defecto en:
- (Windows): C:\Usuarios\ \SimplicityStudio\SDKs\gecko_sdk
- (MacOS): /Usuarios/ /SimplicityStudio/SDKs/gecko_sdk
La documentación específica de la versión SDK se instala con el SDK. A menudo se puede encontrar información adicional en los artículos de la base de conocimientos (KBA). Las referencias de API y otra información sobre esta y versiones anteriores están disponibles en https://docs.silabs.com/.
Información de seguridad
Integración de bóveda segura
Para las aplicaciones que eligen almacenar claves de forma segura utilizando el componente Secure Key Storage en partes Secure Vault-High, la siguiente tabla muestra las claves protegidas y sus características de protección de almacenamiento que administra el componente Zigbee Security Manager.
Clave envuelta | Exportable / No Exportable | Notas |
Clave de red | Exportable | |
Clave de enlace del Centro de confianza | Exportable | |
Clave de enlace transitorio | Exportable | Tabla de claves indexadas, almacenada como clave volátil |
Clave de enlace de aplicación | Exportable | Tabla de claves indexadas |
Clave EZSP segura | Exportable | |
Clave de cifrado ZLL | Exportable | |
Clave preconfigurada de ZLL | Exportable | |
Clave de proxy GPD | Exportable | Tabla de claves indexadas |
Llave del fregadero GPD | Exportable | Tabla de claves indexadas |
Clave interna/marcador de posición | Exportable | Clave interna para uso de Zigbee Security Manager |
- Las claves envueltas que están marcadas como "No exportables" se pueden usar pero no se pueden viewed o compartido en tiempo de ejecución.
- Las claves empaquetadas que están marcadas como "Exportables" se pueden usar o compartir en tiempo de ejecución, pero permanecen encriptadas mientras se almacenan en flash.
- Las aplicaciones de usuario nunca necesitan interactuar con la mayoría de estas claves. Las API existentes para administrar las claves de la tabla de claves de enlace o las claves transitorias todavía están disponibles para la aplicación del usuario y ahora se enrutan a través del componente Zigbee Security Manager.
- Es posible que algunas de estas claves no se puedan exportar a la aplicación del usuario en el futuro. Se recomienda que las aplicaciones de usuario no dependan de la exportación de claves a menos que sea absolutamente necesario.
- Para obtener más información sobre la funcionalidad de administración de claves de Secure Vault, consulte AN1271: Almacenamiento seguro de claves.
Avisos de seguridad
Para suscribirse a los avisos de seguridad, inicie sesión en el portal de clientes de Silicon Labs y luego seleccione Inicio de cuenta. Haga clic en INICIO para ir a la página de inicio del portal y luego haga clic en el mosaico Administrar notificaciones. Asegúrese de que esté marcado "Avisos de aviso de seguridad/software y avisos de cambio de producto (PCN)" y que esté suscrito como mínimo para su plataforma y protocolo. Haga clic en Guardar para guardar los cambios.
Apoyo
Los clientes del kit de desarrollo son elegibles para recibir capacitación y soporte técnico. Utilice el Zigbee de Silicon Laboratories web para obtener información sobre todos los productos y servicios de Silicon Labs Zigbee y para registrarse para recibir soporte de productos.
Puede ponerse en contacto con el soporte de Silicon Laboratories en http://www.silabs.com/support.
Simplicity Studio
Acceso con un clic a MCU y herramientas inalámbricas, documentación, software, bibliotecas de código fuente y más. ¡Disponible para Windows, Mac y Linux!
Descargo de responsabilidad
Silicon Labs tiene la intención de proporcionar a los clientes la documentación más reciente, precisa y detallada de todos los periféricos y módulos disponibles para los implementadores de sistemas y software que utilizan o tienen la intención de utilizar los productos de Silicon Labs. Los datos de caracterización, los módulos y periféricos disponibles, los tamaños de memoria y las direcciones de memoria se refieren a cada dispositivo específico, y los parámetros "típicos" proporcionados pueden variar y varían en diferentes aplicaciones.ampLos archivos descritos en este documento son solo para fines ilustrativos. Silicon Labs se reserva el derecho de realizar cambios sin previo aviso en la información, las especificaciones y las descripciones del producto que se incluyen en este documento, y no ofrece garantías en cuanto a la precisión o integridad de la información incluida. Sin notificación previa, Silicon Labs puede actualizar el firmware del producto durante el proceso de fabricación por razones de seguridad o confiabilidad. Dichos cambios no alterarán las especificaciones ni el rendimiento del producto. Silicon Labs no tendrá ninguna responsabilidad por las consecuencias del uso de la información proporcionada en este documento. Este documento no implica ni otorga expresamente ninguna licencia para diseñar o fabricar circuitos integrados. Los productos no están diseñados ni autorizados para su uso en ningún dispositivo de clase III de la FDA, aplicaciones para las que se requiere la aprobación previa a la comercialización de la FDA o sistemas de soporte vital sin el consentimiento específico por escrito de Silicon Labs. Un "Sistema de soporte vital" es cualquier producto o sistema destinado a respaldar o sostener la vida y/o la salud, que, si falla, puede esperarse razonablemente que resulte en lesiones personales significativas o la muerte. Los productos de Silicon Labs no están diseñados ni autorizados para aplicaciones militares. Los productos de Silicon Labs no se utilizarán bajo ninguna circunstancia en armas de destrucción masiva, incluidas (entre otras) armas nucleares, biológicas o químicas, o misiles capaces de lanzar dichas armas. Silicon Labs renuncia a todas las garantías expresas o implícitas y no será responsable de ninguna lesión o daño relacionado con el uso de un producto de Silicon Labs en dichas aplicaciones no autorizadas.
Nota: Este contenido puede contener terminología ofensiva que ahora está obsoleta. Silicon Labs está reemplazando estos términos con un lenguaje inclusivo siempre que sea posible. Para más información visite www.silabs.com/about-us/inclusive-lexicon-project.
Información de marca registrada
Silicon Laboratories Inc.®, Silicon Laboratories®, Silicon Labs®, SiLabs® y el logotipo de Silicon Labs®, Bluegiga®, el logotipo de Bluegiga®, EFM®, EFM32®, EFR, Ember®, Energy Micro, el logotipo de Energy Micro y sus combinaciones, “los microcontroladores más respetuosos con el medio ambiente del mundo”, Redpine Signals®, WiSeConnect, n-Link, ThreadArch®, EZLink®, EZRadio®, EZRadioPRO®, Gecko®, Gecko OS, Gecko OS Studio, Precision32®, Simplicity Studio®, Telegesis, el logotipo de Telegesis®, USBXpress®, Zentri, el logotipo de Zentri y Zentri DMS, Z-Wave® y otros son marcas comerciales o marcas comerciales registradas de Silicon Labs. ARM, CORTEX, Cortex-M3 y THUMB son marcas comerciales o marcas comerciales registradas de ARM Holdings. Keil es una marca comercial registrada de ARM Limited. Wi-Fi es una marca registrada de Wi-Fi Alliance. Todos los demás productos o nombres de marcas mencionados en este documento son marcas comerciales de sus respectivos propietarios.
CONTACTO
- laboratorios de silicio inc.
- 400 Oeste César Chávez
- Austin, Texas 78701
- EE.UU
- www.silabs.com
Documentos / Recursos
![]() |
SILICON LABS SDK 7.4.1.0 GA Software de pila de protocolo Zigbee [pdf] Guía del usuario SDK 7.4.1.0 GA Software de pila de protocolo Zigbee, SDK 7.4.1.0 GA, Software de pila de protocolo Zigbee, Software de pila de protocolo, Software de pila |