ubisys D1 Firmware Änderungsprotokoll
Änderungsprotokoll Firmware ubisys D1
24. April 2025
Version Identification
- OTA file version: 02600460
- Application: 2.6.0
- Stack: 4.6.0
ubisys Compact7B Stack Changes between 4.4.7 and 4.4.13
- Common Functionality
- Provided applications/platforms an opportunity to interleave with certain computationally intensive procedures
- Added verification steps when OTA images are stored in external flash
- Zigbee Cluster Library
- Color Control server: Improved the internal application interface regarding the state of color transitions
- Color Control server: Improved management of Enhanced Color Mode (CCB 4071)
- Color Control server: Resolved an issue where initiating an instant color transition could result in a division-by-zero exception on some platforms
- Enhanced the attribute framework such that applications need not provide updated values when refreshing attributes if such updated values are not available or desired
- Addressed an issue where the sequence of operations was undefined, potentially lead to incorrect processing of manufacturer-specific inbound ZCL frames on certain platforms. Note: This affects only a new platform, not existing platforms and products
- Fixed an issue where an attribute with dynamic storage might not have allocated storage at initialization time
- Zigbee Network Core Stack
- Improved resilience: Add defensive code to guard against invalid source route information embedded into a network frame. Based on a field issue with a third-party Zigbee stack
- Simplified and improved the way of creating ZDO simple descriptors
ubisys Compact7B Stack Changes between 4.4.13 and 4.6.0
- Common Functionality
- Improved resilience: Enhance interrupt handling for improved button debouncing
- Resolved a numeric overflow issue in calculating the interval of periodic attribute reports
- Zigbee Cluster Library
- Cancel an active OTA image download if there is a mismatch in the image type
- Notify the application and generate an attribute report only if attribute data has changed when being set
- Updated the revision definition of the IAS ACE server cluster
- Conduct a range check on the given group identifier when processing an inbound Groups or Scenes cluster command
- Notify a companion Color Control cluster instance on the same application endpoint upon the completion of an ongoing level transition to ensure proper color representation
- During initial start-up, execute the start-up behavior through a Color Control cluster instance if it exists; otherwise, proceed via a Level Control cluster instance on the same application endpoint
- Consider the scenario where the periodic check-in feature of a Poll Control cluster can be disabled
- Maintain Green Power translation table entries by additionally sorting them according to profile and cluster identifiers
- Zigbee Network Core Stack
- Consider the scenario where a source route may lack a previous hop if the corresponding device node is only one hop away from the local device entity
- Respond with the status code “PAN_AT_CAPACITY”, instead of “ACCESS_DENIED”, when processing a network rejoin request command while the local neighbor table is full
- Transmit a Network Status command with the status ‚UNKNOWN_COMMAND‘ upon receiving an unknown or unsupported network command
- Improved the check for the minimum header length of an inbound APS frame to reject malformed APS frames
- Improved routing behavior: Trigger route discovery when transmitting a network-encrypted frame to a neighboring device node that was recently added to the local neighbor table due to an inbound network-secured frame
- Improved link quality assessment (LQA): Avoid duplicated link quality updates that could negatively affect the LQA results
- Improved link quality assessment (LQA): Conduct link quality updates upon receiving frames over an alternate secured tunnel, such as a BLE connection
- Enhanced the processing of consecutive link status frames that are split due to frame length restrictions but belong to the same periodic link status notification
- Closed a potential vulnerability by rejecting short address changes for an end device triggered by unauthenticated inbound traffic from that device
- Refrain from updating the neighbor table upon receiving a link status frame if the neighbor table is already at capacity and the sending device node is not yet maintained in the neighbor table
21. Juni 2024
Version Identification
- OTA file version: 02500447
- Application: 2.5.0
- Stack: 4.4.7
ubisys Compact7B Stack Changes between 4.3.2 and 4.4.7
- Common Functionality
- Persistent Storage 2.0: Added various improvements and optimizations for internal flash memory management during the startup phase for improved resiliency
- Added sanity checks for ubisys proprietary input configurations, which are supplied over-the-air
- Improved the start-up behavior of the input state machine (deferred initialization)
- Zigbee Cluster Library
- Time client: Extended the permissible maximum interval between periodic server queries. Prior to this change, the interval has to be less than about 20 hours
- OTA client: Improved handling of duplicate image block data, i.e. data that has already been fully or partially received. This prevents unnecessary retries and speeds up the overall download process
- Added support for restoring factory default reporting configurations using the factory default configuration of an arbitrary (other) endpoint as template
- Zigbee Network Core Stack
- Improved resilience: Account for the case that retry of a fragmented APS transmission might occur even after all fragments have been received
- Resolved an issue where the ‚extended nonce‘ flag might not have been set when transmitting an APS encrypted Update Device command
21. Dezember 2023
Version Identification
- OTA file version: 02400432
- Application: 2.4.0
- Stack: 4.3.2
New in version 2.4.0
- Added regular watch-dog timer reset during persistent storage operations that are not time-bound. This is a critical fix for all Series 2 products that shall be applied immediately and also highly recommended for all other products
ubisys Compact7B Stack Changes between 4.2.2 and 4.3.2
- Common Functionality
- Added application/platform-specific hooks to Persistent Storage 2.0 when swapping cached pages
- Zigbee Network Core Stack
- Various improvements and optimizations regarding the network rejoin behavior of sleepy end-devices
29. September 2023
Version Identification
- OTA file version: 02300422
- Application: 2.3.0
- Stack: 4.2.2
New in version 2.3.0
- Various enhancements and improvements provided by the stack roll-up (see stack change log for details)
ubisys Compact7B Stack Changes between 4.1.2 and 4.2.2
- Common Functionality
- Persistent Storage: Improved robustness against power failures during factory resets
- Persistent Storage: General speed optimizations for second-generation journaling token storage system. Further speed-optimizations for garbage collection and progressive, piecemeal maintenance for improved responsiveness
- Push-button event handling for next-generation hardware (settling time option)
- Zigbee Cluster Library
- Enabled cancelling service locating processes, if needed; available for IAS Zone server, Poll Control server, OTA client and Time client clusters
- Enabled cancelling particular outbound ZCL requests, if needed
- Thermostat cluster: Added support for changing schedules over-the-air
- Window covering cluster: Improved support for back-to-back “Go To Lift” commands
- OTA client: Abort ongoing OTA download and service locating process when permanently leaving the network
- OTA client: Clear OTA server configuration when permanently leaving the network
- Reporting configuration: Omit target address information from persistent storage entries (experimental feature, now deprecated)
- Fixed an issue, where a ZCL “Report Attribute” command without payload may be repeatedly transmitted (edge case, did not affect existing devices)
- Fixed an issue, where the remaining packet capacity might have been inaccurate when assembling a ZCL frame with variable length payload (edge case, did not affect existing devices)
- Zigbee Network Core Stack
- Enabled automatic routing loop detection and resolution
- Accelerate retrieval of APS security material from persistent storage
- Improved resilience against power failures when updating APS security material in persistent storage
- Various improvements and optimizations regarding MAC data poll on sleepy end-devices
- Various improvements and optimizations regarding indirect transmissions on routers
- More rigid filtering on sleepy end-devices regarding unsolicited broadcast frames received while polling the parent
- Enabled cancelling particular outbound ZDO requests pending a response, if needed
- Now utilizing average LQA for poor parent link assessment, mitigating the impact of one-off RF disturbances
- Ignore inbound MAC data requests during router network startup
- Improved resilience to parent link failures during trust center link-key exchanges
- Fixed an issue, where the next indirect transmission may have been instigated too early
- Fixed an issue, where the master key on a trust center device or the exchanged authentication token on a router device is not reset when necessary (edge case, did not affect existing devices)
23. Juni 2023
Version Identification
- OTA file version: 02210412
- Application: 2.2.1
- Stack: 4.1.2
New in version 2.2.1
- Enhanced input configuration support: Features bridging of switches and buttons connected to the device’s inputs to Matter eco-systems. These are exposed as Matter Generic Switches via the ubisys Conflux Zigbee/Matter Bridge, which is included in the ubisys G1 if configured accordingly. Select the “Automation Switch” or “Automation Button” configuration in the ubisys Smart Home App and create a binding to the gateway. Currently, this requires the ubisys Smart Home App for iOS version 2.1.1 or higher
- Enhanced input configuration support: You can now commit more complex input configurations, for example create four dimmer switches, one for each input. This requires ubisys G1 firmware version 4.1.0 or higher
ubisys Compact7B Stack Changes between 4.0.4 and 4.1.2
- Common Functionality
- Power cycle factory reset sequence timing changed to ‘10s on’, ‘10s off’, … cycles across all products and underlying platforms. This is to accommodate upcoming products and platforms and retain a unified factory reset power cycle. Significant gains in power efficiency lead to SoCs remaining powered for several seconds after the power supply has been cut
- Enhanced input action engine to support emitting manufacturer-specific commands. These may be used, for example, to replicate Matter Generic Switch behavior in Zigbee devices for seamless bridging of inputs to Matter
- Persistent Storage: Improve robustness against power failures during garbage collection
- Persistent Storage: Slight tweaks to wear-levelling algorithm
- Zigbee Cluster Library
- Added support for read attributes structured and write attributes structured. This enables unlimited configuration options for C4 and other products with programmable input configurations, including four dimmer switches, for instance
- Added safeguards against some misbehaving third party OTA servers
- Zigbee Network Core Stack
- Fixed an issue, where under rare circumstances, false address conflicts could have been flagged
- Improved link status processing
- Routing has been optimized to address certain rare edge cases and improve interoperability with some third-party devices
- Improved resilience of trust center link-key exchange (when stack is reset)
- Fixed an issue, where the address comparator misbehaved for some rare constellations
- Joining and rejoining improved by adding quick MAC association retries with adjustable attempt limit
- Processing of leave requests with certain status codes has been improved
- Improved the behavior of leave processing while rejoining
- Improved robustness by ignoring beacons that arrive after scanning has completed and before joining succeeded
- Improved resilience to malformed beacon frames
- Improved link quality assessment on certain platforms
- Added support for new SoCs
25. Januar 2023
Version Identification
- OTA file version: 02110404
- Application: 2.1.1
- Stack: 4.0.4
New in version 2.1.1
- Add input configuration support for color control
ubisys Compact7B Stack Changes between 3.0.0 and 4.0.4
- Zigbee 2023 compliant (passes all compliance tests, certification pending)
- Asymmetric key agreement before network admission with optional device interview
- Support for all mandatory and all optional features defined in Zigbee 2023 in all possible device roles: trust center, router, sleepy end-device, non-sleepy end-device
- Support for all cryptographic suites supported by Zigbee 2023, i.e. SPEKE/Curve25519/AES-MMO-128/HMAC-AES-MMO-128 and SPEKE/Curve25519/SHA-256/HMAC-SHA-256-128
- Fully standard-compliant Works With All Hubs feature support retaining full compatibility with the pre-standard Amazon Works With All Hubs cluster
- Negotiation of fragmentation capabilities
- Fragmentation support for new ZDO commands
- APS security frame counter synchronization
- Standardized trust center swap-out (trust center and joined devices)
- Standardized network-level retries, including data poll retries for sleepy end-devices
- Enhanced product-level configuration options for customized stack behavior
- Optimizations to improve routing and instant network connectivity on start-up
- Ongoing maintenance of the code base: Restructuring, refactoring and consolidating
- Round-up of bug-fixes and performance improvements
Note: This change log is a generic stack change log. Products incorporating the stack can choose to enable specific feature sets. For example, the 2023 feature set can be selectively disabled in products to support a graceful transition to Zigbee 2023 in progressive roll-outs. In addition, while the stack supports all variations of key agreement suites, end-products might support only a reasonable subset. Specifically, ubisys products will prefer SPEKE/Curve25519/AES-MMO-128/HMAC-AES-MMO-128 for all Zigbee 2023, Zigbee Direct 1.0 and digital signatures of OTA images as this suite provides the best blend of security, performance and resource utilization.
12. Mai 2022
Version Identification
- OTA file version: 02010300
- Application: 2.0.1
- Stack: 3.0.0
ubisys Compact7B Stack Changes between 2.0.14 and 3.0.0
- Minor optimizations to internal flash write/erase flow
- Migrated to new 64-bit timer implementation across the entire stack
- Improved support for the future ZigBee Direct technology
- Consolidated support for All Hubs at the stack level, e.g., advanced parent link maintenance mechanism, beacon survey etc.
- Completed support for the proprietary All Hubs cluster
- Added support for dynamic cluster instantiation
- Completed support for Hybrid Zigbee Green Power technology
- Completed support for the Color Control cluster
- Added better programmatic control over attribute reports, enabled pausing and resuming attribute reports
- Enhanced the keep-alive mechanism for end devices via the end device timeout approach
- Make sure that APS security of incoming requests is mirrored to outgoing responses
- Extended maximum reporting interval (enabled by new 64-bit timer implementation)
- Enhancements and improvements of the Level Control cluster
- Enhancements and improvements of the Thermostat cluster
- Added support for the HMAC-SHA-256 encryption scheme
- Further modularized LZMA decompression implementation
- Added ZDO request queue support for a ZDO request command anticipating multiple responses
- Added ZCL request queue support for a ZCL request command anticipating multiple responses
- Added enhancements to the OTA server locating process
- Added support for Green Power GPDF frame encryption
- Optimized start-up LED indicator behavior, i.e. improve arbitration of LED usage between menu and status indications
- Added support for multiple handlers for the same GPIO
- Added generalized section support for multiple platforms
- Reject TC rejoin with MAC capabilities change to prevent security vulnerability (CSA incident no. 2021-ZP-0401)
- Added retry mechanism to the MAC association process for robustness in dense networks
- Explicitly set the destination PAN ID in case of injecting an unsolicited rejoin response due to address conflict (improve interoperability with 3rd party stack)
- Reject a leave request during the startup process if a rejoin is already in progress
- Routing optimization, add weak provisional default route to trust center
- Indicate parent router link failure upon failed keep-alive mechanism by making use of the end device timeout approach
- Introduced a multi-pass priority scheme for network leave processing (improve modularity)
- Ensure factory new state when a Touch Link commissioning procedure is instigated (for devices which do not reboot)
- Improved the Touch Link commissioning process flow in case of router/end device joining (await confirmation for pending leave request)
- Improved the transition behavior for the Level Control cluster
- Color Control cluster: Improved the behavior when changing color modes
- Extended support for the Fan Control cluster
- Added support for the Basic client cluster
- Added framework support for processing ZCL Read Attributes response command
- Enhanced the behavior upon receipt of an OTA Image Notify command
- Consider the fact that All Hubs and Touch Link clusters are only optionally available
- Consider the fact that a remote OTA server might not support rate limiting
- Prohibited OTA downgrade by default
- Added support for the gateway attribute “current channel”
- Added support for I2C TAP
- Added support for a unified and fully configurable join/rejoin algorithm with back-offs and retries at the stack level
- Reject trust center rejoin on a distributed security network (CSA incident no. 2021-ZP-0401)
- Start TCLK exchange if an end device could not successfully finish TCLK exchange during its initial joining and has just rejoined
- Improved sleep management: Checking both transmission and reception queues for pending packets, if necessary
- Extended the advanced parent link maintenance mechanism by the new criterion „poor poll control reactivity“
- More granular startup progress notifications, including kick-off of a Touch Link commissioning procedure
- Stop ongoing join/rejoin retry attempts when Touch Link commissioning procedure is instigated
- Encapsulated the All Hubs cluster’s dependency on the Touch Link server, IAS Zone server and Time client clusters, for better modularity
- Added Enhancements to the Thermostat cluster
- Made the hard limit for the scene table capacity configurable
- Added support for the Relative Humidity Measurement cluster
- Added framework support for initiating enroll request and IAS zone status change indication via the ZCL request queue
- Added framework support for time query initiated by a Time client cluster
- Prohibit automatic CIE detection by default; application is still able to instigate it though should legacy systems require it
- Explicitly stop fast polling mode as soon as no more response frame is pending
- Resume network activity if a router device just failed a rejoin attempt
- Enhancement: PAN-ID and permit joining state changes are forwarded to application clusters
- Bug-fix: Idle processing requires thread-safety on some platforms
- Bug-fix: Improve co-existence of AODV and MTO routing algorithms
- Bug-fix: Under rare circumstances a pending outgoing attribute report got discarded inadvertently
- Bug-fix: OTA hash calculation must account for data chunks not arriving in-sequence
- Bug-fix: Make sure all code paths align the transmit options for default responses with the mating request
- Bug-fix: Cluster-level global flags and individual configuration options used to be not maintained persistently
- Bug-fix: Disentangle cluster-level policy settings for APS ACKs and default responses
- Bug-fix:Fixed Green Power OOB key encryption for emerging Green Power install code support
- Bug-fix: Nonce setup for GPD vs. GPS used to be incorrect (relates to Hybrid Green Power feature)
- Bug-fix: NWK short address might be invalidated after a failed TC rejoin when the NWK key material has not been received in time
- Bug-fix: Ensure resetting the startup parameters during a cold-start
- Bug-fix: Ensure resetting the network layer’s retransmission queue across stack restarts
- Bug-fix: On some platforms loss of timer ticks might occur due to internal timer resolution discrepancy
- Bug-fix: Need to only evaluate the router/end device capacity fields in a beacon payload when performing network discovery during initial joining
- Bug-fix: Startup parameters might be inadvertently dropped across startup retry attempts
- Bug-fix: Unexpected behavior might be encountered while resolving an ongoing PAN ID conflict (caused by typo)
- Bug-fix: Internal coordinator flag might have inadvertently been set while forming a distributed network
- Bug-fix: Client/server cluster role not always properly honored when accessing an attribute
- Bug-fix: Increment network update ID in course of network-wide channel change (improve interoperability)
- Bug-fix: Global ZCL commands used to be silently dropped if the APS security level was insufficient. Instead, create a proper response mirroring the incoming security and indicating insufficient privileges.
- Bug-fix: Under rare circumstances, a frame might linger in the transmission queue without being actually sent
- Bug-fix: Potential overflow of 64-bit timer values might occur when unsigned arithmetic is used for comparison of due times
- Bug-fix: During MAC association, if an unrelated frame is being received via data polling, MAC association might be incorrectly terminated; account for this case and retry if permissible
- Bug-fix: Periodical polling timer used to be unconditionally kept alive, even in case of data poll failure; temporarily cancel it to avoid interference with subsequent retry attempts. Once succeeded, the periodical polling timer will be reinstated for its normal usage.
- Bug-fix: When assessing MAC capability changes for a rejoining device verify the „Device Type“ and „Receiver on when Idle“ bits only
- Bug-fix: Skip route discovery table verification diagnostics in case of an end device
- Bug-fix: Limit the use of incoming APS security material to few select cases only
- Bug-fix: Periodical reporting on a cluster attribute could lead to undue delays of reports for other clusters
- Bug-fix: Startup behavior of the OnOff cluster might be incorrect due to interactions with Level Control or Color Control clusters on the same application endpoint
- Bug-fix: Brightness adjustment of the Level control cluster might be incorrect due to interactions with a Color Control cluster on the same application endpoint
- Bug-fix: Under rare circumstances, neighbor table entries might be incorrect (caused by a typo)
- Bug-fix: Under rare circumstances, out-of-sequence or truncated OTA data block could result in failed OTA download attempts
Note: To install this firmware version, at least the version 1.9.4 is required .
06. Mai 2022
Version Identification
- OTA file version: 0194020E
- Application: 1.9.4
- Stack: 2.0.14
New in version 1.9.4
- Upgraded the internal bootloader to support larger application firmware images extending into the second internal flash memory bank (future-proofing).
- Bootloader migration is a one-way process and devices will have a different OTA image type after the upgrade. The new image type is 0x7b31
13. Juli 2021
Version Identification
- OTA file version: 0193020E
- Application: 1.9.3
- Stack: 2.0.14
New in version 1.9.3
- Added support for manufacturer-specific MinimumOnLevel attribute. Defaults to 20% for devices that have no specific configuration of this attribute
ubisys Compact7B Stack Changes between 2.0.13 and 2.0.14
- Added support for the manufacturer-specific MinimumOnLevel attribute in the Level Control cluster. This is a generic application framework extension, which defaults to no MinimumOnLevel, unless configured differently in the application firmware
Note: To install this firmware version, at least the version 1.9.2 is required .
22. März 2021
Version Identification
- OTA file version: 0192020D
- Application: 1.9.2
- Stack: 2.0.13
New in version 1.9.2
- Migration to new factory block format (FB1)
- Migration to new Persistent Storage 2.0 format and increase of NVM space from 2KB to 20KB
- Migration to ubisys Compact Firmware Upgrade 2.0: CFWU 2.0 is an encrypted, signed and compressed OTA file format. This improves security, cuts update time per device in half with positive effects on battery life for battery powered devices and reduced network bandwidth utilization, and increases available space on the device for future upgrades and new features. We are making all ubisys devices ready for the next major Zigbee release with lots of new features – stay tuned
- Migration is a one-way process and devices will have a different OTA image type after the upgrade. The new image type is 0x7b21
- Added human readable version string
- Added product URL
- Added product code (EAN)
ubisys Compact7B Stack Changes between 2.06 and 2.0.13
Introduced a new version management system and versioning scheme. Using semantic versioning with major.minor.patch in-line with Compact7B Zigbee stack release strategy.
The 2.0.13 release is the first release under this new regime.
- Overall improved reporting reliability
- New reporting engine with collated attribute reports
- Enhancements: Core stack changes to support Amazon’s Works With All Hubs cluster
- Optimizations of IEEE 802.15.4 MAC implementation (remove support for IEEE 802.15.4 beaconing networks, which are not used in Zigbee)
- Improved APS duplicate rejection filter algorithm
- Improved routing, in particular interoperability with third-party Zigbee stacks
- Improved source routing (account for local link failure)
- Improved handling of network-wide broadcasts
- Improved address conflict resolution on behalf of end-devices
- Bug-fix: Route discovery table entry would not expire under rare circumstances
- Bug-fix: Certain code paths need to be reentrant
- Bug-fix: Invalidate outgoing cost on link breakage
- Bug-fix: Issue only a single confirmation for APS data requests to multiple binding targets
- Bug-fix: End-device maintenance scheduling and triggering upon rejoin
- Bug-fix: Channel change was not properly persisted
- Bug-fix: Defer deleting binding targets until they are no longer in use
- Bug-fix: Guarantee that APS sequence numbers are unique (indirect messages live for longer periods of time)
- Bug-fix: APS security material was not always erased from persistent storage