OpenWrt is massively complicated, I understand little to nothing

@psherman - I concur but would add that there is I think a two part answer to the gripe the OP presents as well:

  1. OpenWRT is free community project. You can expect that there is work left undone in all sorts of areas from UI design to documentation. If you're struggling and on a learning curve you're always invited to contribute to these projects documentation. That said the OpenWRT documentation is actually pretty darn good by most standards I've met. Still, if it lacks something and I learn it (in forums, stackoverflow, or empirically) I tend to try and update the docs on such projects. Often there's a slight hurdle in getting permission (as open wiki's tend to descend in to marginal chaos at least)

  2. It's a router, and deals with networking and all its features and nuances and there are bundles of standards in that space that have come and gone, evolved and more. Keeping up with it is often the subject of a degree itself. That said a handful of key protocols have more or less become defacto norms (TCP/IP, PPP, DNS, DDNS, DHCP ...) and OpenWRT touches on all these and frankly it's not a goal to document them all or even provide the learning an tutorials. If you need plug and play, there are plenty of products on the market that offer that. OpenWRT was written by and for people who want more control than most proprietary products offer but the cost of control is you engage lower level tech. I mean if just want to drive, you buy a car, if you want more control you buy a car that has manuals, and open tech, and you maintain it, but you won't find the repair manual giving you all the theory of each mechanical part and how they interplay etc ... there's an expected background knowledge either already present or your job to acquire ...

5 Likes

I strongly disagree. May be, standards changed to the worst, over time. Or standards in open source/openwrt are far below commercial standards. I.e. to figure out, how certain, more or less openwrt-specific packages work, is rather difficult. There is no serious docs about ubus or procman or netmanager, only bits and pieces to be found.
There is no docs like "Principles of Operations", I am used to read or write in the (very) past, also describing the interfaces to other modules, besides the intended functionality. The only serious docs is to read und understand the code. Which means, the advanced user needs to be expert in C, and ash, programming, at least.
BTW: Docs need to be written by the author of the code, not by the user.

Personally, I can live with that, as I rather often bypass the special openwrt-functionality, and replace it by well-known, well documented generic LINUX functionality. Best example here is the openwrt-firewall. I never include it in my custom builds, use generic iptables-rules instead. As it also allows fast implementation of advanced functionality. Example: Transparent squid combined with coova-chilli.

Erm yes, they are. Why should we invest our spare time meeting commercial standards for zero return at all? So that you can further increase your profit without giving anything back? All I read from you in this forum is bitching and moaning, yet apparently OpenWrt functions well enough for you to base your business activities on. Please quit the bitching - it is annoying, distracting and not helpful at all.

If the project does not meet your commercial standards then please go elsewhere, license some commercial embedded OS offering or simply install a standard Linux distro on your devices.

14 Likes

(I think this is the perfect time to:)

https://openwrt.org/inbox/donate

1 Like

Feel free to contribute to the wiki. Or if you find good (reputable, accurate, and well written) sources for this information available elsewhere on the internet, external links can be added to the wiki, too.

1 Like

14 posts were split to a new topic: Donations via SPI

I prefer Open Source software over Closed Source. My goal for the future only Open Source software in our home.

Any particular reason for this preference? For example, cost (free vs paid)? Ability to audit the code? Trust factor with open source communities vs closed source commercial code? The general promise of more up-to-date code?

Open source software can be really good, but just because it is open source doesn't always mean it is better, or more importantly better suited for a specific environment. Sometimes the benefits of a commercial product can outweigh the challenges of open source -- documentation, dedicated (paid) support staff, additional integrations/polish/qa testing, etc.

OpenWrt is awesome, IMO. But like many open source projects, it is often easier to use if you are either reasonably well versed in the core technologies or if you want to learn about them.

When I started dabbling with linux in the mid-to-late 90's, I remember how hard it was to get the system up and running and even more difficult to make it useful. For me it was a chicken or egg -- I wanted a useful system that I could use to learn (as a sort of background task/side project), but in order to get it to a state of usefulness, I needed to learn how to compile software because the advanced package managers weren't yet really a thing. It wasn't until Mac OS X came out in 2001 that I had a system that really served both the useful and learning goals simultaneously. Obviously all of the major linux distros have come a long way since then, but I can remember when I was in a similar situation to how you must feel now.

I am not advocating for commercial over open source, but just pointing out that part of the difference is that open source tends to be a bit more targeted to the tinkerer -- opening up worlds of possibilities but also complexities.

If this is the case, understand that there will be a larger burden on you to get your household systems up and running, configured, and constantly updated when compared to commercial products. Again, things have gotten easier than they used to be, but the vast majority of open source software is developed by people who are volunteering their time and efforts -- complete documentation, support, and even QA testing cannot always be guaranteed, since most of these people have jobs and/or families and other priorities and commitments that take precedence.

The community here is generally really helpful. However, to get help, you need to ask very specific questions... general "I don't understand how this router is supposed to work" aren't going to get you very far. But saying that you want to change the LAN address will get you answers. Running into trouble adding a guest network while following a guide -- identify where you're stick and sure, you'll get help there, too.

1 Like

19 posts were split to a new topic: Howto configure DMZ?

I might echo a second sentiment to try something simpler like Gargoyle, and then move to OpenWrt once you outgrow it.
For basic config, it holds your hand through everything.

Thats where I started, then expanded my knowledge by making GUI changes and watching the corresponding changes in /etc/config. There's a lot you can learn this way.
The Gargoyle web UI code is also a lot easier to read for less experienced users. It isn't written as neatly or succinctly as Luci so just a basic JavaScript background is all that is needed.

3 Likes

This just is inherent of such a complicated system. Complicated in a good way this time, you can pretty much do whatever you want with OpenWRT, it is so flexible and robust, it comes with a cost. That cost is that you need to know a lot of things and be able to see the connections between different packages and networking.
I started using OpenWRT a long time ago, when I wanted to install Transmission on DD-WRT, which wasn't possible. Then I really had a hard time getting it to work (which I expected and didn't think a thing about in a bad way), but when I did, I learned a lot and have in the years after, using OpenWRT.

If you want a less complicated system with mostly the same functionalities, buy a more expensive router that comes with all that functionality out of the factory. There is no other way to be able to use OpenWRT to its full extent without being massive and complicated, at least at first.

5 Likes

Take a look at Kong Mod DD-WRT it way easier for people just getting into this. The author Kong is now a contributor to Open WRT You can implement in 15 steps! Once your use to it you can migrate. You can read about it here

1 Like

I gave you a thumbs up but with hesitation. The reason for the hesitation is "If you want a less complicated system with mostly the same functionalities, by a more expensive router that comes with all that functionality out of the factory." The problem with that is the expensive router may not have good factory software on it or if it does you will find that the factory software does not get regular security patches if any at all.

2 Likes

Well.. One can get a properly Managed Switch or Router, learn CiOS and call it a day.. Or, one can learn how to do it cheaper, which is what aftermarket, free firmware is all about.

I'm starting to agree with @lleachii. This is starting to seem like the Master Mechanic who doesn't know how to drive a car..

Your whole post is right on the money... very well said...

Probably already mentioned here... OpenWrt almost does too many things for too many different use cases... and this lulls those without fundamentals or simpler expectations into a false sense of security.

The fundamental truth is that while there are minor improvements here and there... the options and frontend that is provided for basic usage and options is adequate if not impressive, both in scope and usability.

In summary, I think the commonality here is that it's easy to get lost trying to whack a turbo onto the common sedan you just purchased... often while you're wondering why you are doing it.

3 Likes

Re: Documentation:

I look at Wikis as social media, except where everyone now has a delete button for your post. I have written far too many documentation pieces for various software that I knew well, only to have them deleted within a half hour, and that's deleted and not "corrected" and this has happened too many times. After losing 100% of my first 20 or so wiki posts, I never made another. It's just too easy for someone to come along and say "that's wrong" and delete any "help" that anyone tries to provide. Also the social halls of "the Internets" see loaded with more critics than creators one will soon find.

Still where OpenWrt is concerned, there seems not much focus on trying to explain things at an elementary level for beginners. Only docs which lean toward a very high technical level seem to remain. I have contributed a few how-tos here in the forums based on the understanding of basic Windows users because I know while people can follow on with critiques, at least the original stands as a base for someone with no skills for them to have a starting point.

And for the existing docs, there's no dating or stating which release an instruction set pertains to, so it's hard to know where to start. At minimum the wiki doc should have a date and a release level that the doc was written for. Just take OpenVPN for example - granted a seriously complex topic but one can find dozens of how-tos on how to set it up but who can determine which are no longer valid, especially those who are at the level of needing such introduction level documentation.

Perhaps minimally wiki fields could be added for "last updated" and "pertains to release". Otherwise, perhaps a beginners wiki series could be created that spoke in the terms of common household users. Still as has been stated, what is the reward for going to such trouble other than the standard 30 seconds of data included in a 10 minute paid-content Youtube video. Such are the times.

2 Likes

I should add...once I realized (at least in my thinking) that OpenWrt is: "simply Linux with routing enabled and a 'UCI' overlay that translates iptables commands - along with other configs"....it became simple.

Understanding:

  • iptables
    • chaining by grouped PHYs (i.e. Zone-based Firewalling)
    • default rules
  • VLANs in Linux

I was "good to go"! :+1:

More advanced:

  • Policy-based routing (I learned this from Ubuntu and learned the UCI syntax later - as most know, I still don't use the PBR package).
    • Routing specific traffic via VPNs
  • Hardware Switches, assigning VLANs and VLAN tags (VLAN trunks) - since OpenWrt exposes this Level of Abstraction to the user, this is likely the first time most consumer router users experience this...case-in-point...a common loss of connection to OpenWrt devices in new configs is: deleting VLANs, their tags to the CPU or disabling VLAN functionality on the switch. Most users without a knowledge of VLANs immediately try to setup their device without them - not realizing that in OpenWrt the routing plane is created in most cases by a default LAN (VLAN 1) and WAN (VLAN 2) on devices with a 5-port switch (i.e. 1 WAN port and 4 LAN ports on a single chip). But an advantage is that if the port becomes damaged or destroyed, another port can be assigned as WAN instead. On most default firmware, the router would become useless.

I thought every Wiki page was dated by its last edit, with changes, etc.

2 Likes

That's standard since the old oldwiki:
grafik

See also the "Old revisions" for more details:
grafik

1 Like

Last edit date - Was a word misspelled or the entire page revamped
Make that then "Last procedural revision date" vs "last update"

This information is there, albeit I agree it's not how you desire it to be displayed: