What's new

UCI support

  • SNBForums Code of Conduct

    SNBForums is a community for everyone, no matter what their level of experience.

    Please be tolerant and patient of others, especially newcomers. We are all here to share and learn!

    The rules are simple: Be patient, be nice, be helpful or be gone!

Magissia

Occasional Visitor
Hello, it's not listed in the feature list, do we have UCI support on Merlin ?
If not, is it easy to add ?

Regards.
 
No idea what UCI is, but it's not supported.
 
TL;DR : It save a lot of time when managing the router because it gives you an unified interface for everything on every supported systems


Long version :
UCI is a tool allowing you to keep the same syntax for every services when configuring them from command-line, UCI act as a bridge and will transform somewhat human readable stuff to stuff you'd rather not read or think how to write when you're tired ( unless when you are masochist ).

It allows bulk export and import of configuration with every UCI supported router, even if they don't always use the same software behind because UCI will bridge it.

For example two router can share the same configuration for web service without using the same web server, each will have it's own config file tied to its software, but the UCI version of the config can be exported from one and imported from the other to save time as UCI will act as a translator, the end user doesn't need to learn each router software specificity when configuring it from command line that way, unless the user wish to use a very specific feature of a software.

It allows easy cloning of configuration between different router ( for example when changing router because yours is dying ), it allows non router specific backup, it allows the end user to rely on only one syntax for everything, it allows actual humans to set advanced scenarios on iptable without keeping 15 documentation tabs open next to the terminal when adding a rule.

http://wiki.openwrt.org/doc/uci
It is used on OpenWRT, Gargoyle and some dd-wrt have it but it's not mainline for the dd-wrt guys.

Hope to have poked your interest on this.
 
This is an OpenWRT interface, which is not related to any other vendor's firmware. UCI will work only on OpenWRT and it's forks.
 
From what I gather, this is intended specifically for OpenWRT and the way it stores its configuration into actual config files. This is impossible to apply to an nvram-based environment such as used by Asuswrt, this basically means rewriting the entire firmware from scratch.
 
Please, refer to asuswrt-merlin project goal.
This was a suggestion to improve compatibility, not to make it replace three firmwares at once.
From what I gather, this is intended specifically for OpenWRT and the way it stores its configuration into actual config files. This is impossible to apply to an nvram-based environment such as used by Asuswrt, this basically means rewriting the entire firmware from scratch.
OpenWRT used the nvram stuff too at start, didn't tough it would be that complicated to add support for it. They made this to give an easier front-end for users, I tough it would be possible to integrate the uci front-end to generate or modify the start scripts accordingly.

Thanks for looking though.
 
This was a suggestion to improve compatibility, not to make it replace three firmwares at once.

OpenWRT used the nvram stuff too at start, didn't tough it would be that complicated to add support for it. They made this to give an easier front-end for users, I tough it would be possible to integrate the uci front-end to generate or modify the start scripts accordingly.

Thanks for looking though.

That's the thing - Asuswrt is not based on scripts, it's based on a binary daemon (rc).
 
I tough there were sripts running at startup and/or on events from /jffs/scripts/ ?

Those are my own additions on top of the core code, they aren't what make the firmware itself run. A basic firmware setup has no script at all in /jffs/scripts.
 
Of course, but the point of UCI is to have the same syntaxe everywhere, even if behind the scene it doesn't work the same way on every devices.

It means, if ported to your build, UCI commands would create/modify scripts you made instead of using other functions to do what it needs, that's the magic : provide the end user the same syntaxe everywhere and let the system do whatever translation it require for the softwares behind.

I'll understand if you don't want to implement this, on my side i'm a user with wishes of unified end user interfaces and don't care how it works behind if it works, being able to use the same syntaxe everywhere is a gain of time for the end user, but I also understand it can be too much time to invest on your side, I don't know how much time and work it may require to port UCI to your fork of asuswrt.

Regards
 

Similar threads

Latest threads

Sign Up For SNBForums Daily Digest

Get an update of what's new every day delivered to your mailbox. Sign up here!
Top