At Sartura, we transform complex embedded Linux systems into streamlined solutions that work for you. Our expertise in OpenWrt, the leading open-source Linux distribution for embedded devices, comes from years of hands-on development and innovation.
At Sartura, we transform complex embedded Linux systems into streamlined solutions that work for you. Our expertise in OpenWrt, the leading open-source Linux distribution for embedded devices, comes from years of hands-on development and innovation. We're excited to share our latest contribution: uci2 – a modern, secure, and user-friendly alternative to the traditional libuci library that makes device configuration easier than ever.
Deep OpenWrt expertise that delivers results
OpenWrt isn't just what we do, it's who we are. Founded by one of OpenWrt's original developers, we've built our reputation on creating tailored solutions that solve real-world challenges. Every day, we put our OpenWrt expertise to work, developing custom systems that transform how our clients manage their networks.
At the heart of OpenWrt lies the Unified Configuration Interface (UCI) — think of it as your device's control center. This powerful framework brings all your device settings together in one place, making complex network management feel simple. Whether you're adjusting basic settings or fine-tuning advanced configurations, UCI provides a clear, consistent way to control your system.
UCI brings two powerful advantages to the table. First, it acts as a central hub where all OpenWrt services come together under one unified system. Second, it uses human-readable configuration files that developers can easily extend, meaning you can seamlessly add your own custom configurations while staying perfectly in sync with the OpenWrt ecosystem.
The libuci story
While libuci laid the groundwork for OpenWrt's unified device configuration and serves many users well, we saw room for improvement. Our customers needed more flexibility and robust security features – that's what inspired us to develop an independent implementation of the UCI data model.
The challenges with libuci are twofold. First, its LGPL v2.1 license restricts how you can integrate it into commercial products – particularly when it comes to static linking. Second, its handwritten parser opens the door to potential security vulnerabilities, from syntax misinterpretations to edge cases that could affect your system's stability.
Meet uci2
Since 2020, uci2 has been transforming how developers work with OpenWrt configurations. This powerful open-source library takes complex device settings and turns them into something beautifully organized and intuitive. By leveraging industry-standard tools like Flex and Bison, uci2 transforms your configuration data into an Abstract Syntax Tree (AST) – a structured, hierarchical map that makes your settings both safer to manage and easier to navigate.
Why choose uci2?
We've designed uci2 with your needs in mind. First, its permissive license gives you the freedom to integrate it seamlessly into commercial products through static linking. Second, we've built it with security at its core – using a formal grammar-based parser generator that dramatically reduces the risk of parsing errors. Finally, we've created a well documented and intuitive API where every configuration element has dedicated GET and SET functions, complete with comprehensive documentation. The result? A system that's not just more secure, but also more straightforward to use.
uci2 in action: powering RocketCWMP
Let's explore how uci2 works in the real world. We've integrated it into our RocketCWMP platform, where it has transformed how we handle device configurations. By bridging uci2 with OpenWrt's UCI format, we've created a system that's not just more flexible and secure, but ready to tackle whatever tomorrow's networks throw at it.
When we couldn't find a production-ready CWMP client that met our standards, we built our own: RocketCWMP. This premium solution speaks the language of TR-069, TR-181, and other technical protocols fluently, giving you complete control over your network devices. You can read more about RocketCWMP in previous blog posts here and here.
For context, CWMP (or TR-069) is your remote control center for internet-connected devices. It's the industry standard that lets you automatically configure and manage everything from modems to routers – think of it as your command center for device management across the network.

Communication sequences
CWMP orchestrates a systematic interaction pattern between your network devices and their management center. The diagram illustrates several core communication sequences, though it represents only a subset of the protocol's capabilities. Here's what we're seeing.
First, your device (CPE) initiates communication with the ACS, transmitting essential configuration data and capabilities. This establishes their operational relationship. From there, the ACS takes control – monitoring current parameters, implementing new configurations, and maintaining performance metrics. When system updates or diagnostics are required, the ACS coordinates these operations while the device provides continuous status feedback.
This visualization captures the fundamental CWMP interactions, but the protocol extends far beyond these examples. Its comprehensive feature set enables everything from sophisticated troubleshooting to customized configuration deployments. The protocol's strength lies in its ability to transform complex management tasks into streamlined, automated operations.
Since we built RocketCWMP specifically for OpenWrt routers, it was natural to use UCI for managing device configurations. By integrating uci2 into the mix, we've created a secure bridge between TR-181 specifications and OpenWrt devices—making complex device management feel surprisingly simple.
Bringing innovation to life
We've taken uci2 from concept to reality, weaving it into a powerful platform that makes remote device management feel effortless. The result? A system that lets you configure and control OpenWrt devices across your entire network with confidence.
Solutions that make a difference
At Sartura, we don't just write code, we solve real-world challenges. The success of uci2 shows how we blend open-source innovation with practical solutions that streamline your workflows and drive results.