OpenWrt is massively complicated, I understand little to nothing

Hi

I have an IT degree and working as a DBA. I connecten daily to Linux servers for DB maintenance tasks.

The flashing/installing on Router was easy, BUT.....

When I write questions / problems here, I don't understand the answers / instructions at all. I have no idea what the poster is trying to tell me.

Why is it so complicated? How can I learn the basics?

I surf the OpenWRT wiki, but those articles very complicated. I need some docs for beginners and then get into it.

I can hardly believe that OpenWRT is so incredibly difficult.

How to learn it?

5 Likes

Hi @Naftali,

Linux for embedded systems (which is what OpenWrt is) is probably a bit more complicated than say Linux for a server or Linux for a desktop computer as often the hardware is a lot more limited. Less RAM, less disc space, no console (or you need to do some soldering to access a serial console).

The best way to learn is by doing it. You'll get stuck often. Then ask a specific question in forums. You'll need time to learn and you'll need to be willing to spend the time to learn.

There are plenty of resources on the net. Most if not all of us here are not being paid to be here. So be polite, be nice, ask open questions, try to avoid judgements :slight_smile:

Good luck!

7 Likes

I have read the posts you have opened here, and my impression is that you lack basic networking knowledge, and that is why OpenWrt seems complicated.

6 Likes

Maintaining DBs is different from Maintaining a Network. A well known Ubuntu Server where you can find a solution for any possible problem in WWW is different from a niche product/distribution like OpenWrt is. If you want to dive in deeper read the documentation and try out/test things. I know the documention is often outdated, incomplete and mostly very technical only. Compared to an ArchLinux for example. But that is a common "problem" if you want to learn things which are not "mainstream". Another starting point for understanding basics is using documentation from other projects e. g. https://forum.dd-wrt.com/wiki/index.php/Main_Page

1st Network Basics: ISO/OSI/DoD, Ethernet (Hub, Switch, Broadcast, Multicast, Unicast), VLANs, Wireless LAN, TCP/IP, NDP, ARP, ICMP, UDP, DHCP, DNS, UPNP, Firewall (NAT, DNAT, Routing, OpenWrt specific: "zones"), etc.
2nd Using/understanding tools: tcpdump, dig, iperf, hostapd, odhcp(d,c), dnsmasq, dropbear, ip, wpa_supplicant, OpenWrt specific: "UCI commandline", etc.
3rd Search for a "project" to learn: E. g. Try to start implementing IPv6 for your whole network. You will learn a lot. If you don't act like: Oooh ... it's running "somehow". :wink: And try to deal with VLANs, Guest Wifi, DNS crypting, etc. ... If you think you know a lot of this stuff above and get bored try to learn to make your own builds including all settings for your device(s) in order to do nothing after a router reset/upgrade. :slight_smile: ... And if you are still bored try to answer questions in this forum. :wink:

2 Likes

edit:
@pwned answered while I was writing this and I am happy that he condensed most of what I tried to say and I fully agree.


Hi @Naftali,

I like to spend some time here since I feel like you are opening a discussion which is much more general then "just using OpenWrt" (which is admittedly a huge topic on its own).
Since you are mentioning you DBA background. What I have noticed over time in IT you can split people in terms of there skills and interests in IT related concepts as follows:

Physical

  1. Network
  2. Hardware

Virtual:

  1. Software
  2. Databases

If you read this from top to bottom you get kind of "strictly defined by RFCs and ideally implementation independent" to "High abstraction with different implementations for more or less the same thing" (just think about SQL here). That is no definitive classification but some feeling. You probably are much more in the later mentioned area opposed to OpenWrt which more relates to the first 2 levels. This is no Issue by itself but probably makes you unfamiliar with the whole environment.

If you say this then sure you lag some experience which is quite normal for someone getting into a new area. I suspect that is as well related to the difference of abstractions between small embedded systems and fully fledged software products. In fact no matter if someone regards the wiki as hard to understand or not... It needs to be close to the respective OpenWrt Implementation and the issue the author tries to solve which might not be the same as yours. A good example of that is an Issue of mine which is quite simple and had quite a simple answer as well but if you have a look at the time range of the posts you see that it took me quite some effort to get it right...

I myself was kind of just starting out in that particular area and hat no clue of what I am doing.

This is something I noticed myself looking into some of the questions other people asked. Since they don't know the environment they are working in yet they are not able to immediately ask precise questions. Which of cause makes the answers feel unrelated. I had tried to answer such a question a few days ago and as you can see there are quite some things wrong at the beginning and you need to learn a lot which is fine by me. I try to suggest some commands you can use to debug your issue. Because this is what it comes down to a lot. Debugging and taking the time to spend some effort... to learn...

And please realise. Even if it looks just absurd what is happening. You ALWAYS can figure it out !

If you do this you are probably fine with using the console. Which is really good and should help a lot. But that is just not all you need. Are you using the ip command and tcpdump on a regular bases and think about why everything works as it does? In fact this is not about using the console or even about using Linux. It is about configuring and networking which might be completely different from what you are used to.

Conclusion:
If you think about all that it is neither about people being stupid nor about developers are to complicated. It is more like "this is how things are" and it works for people who are digging into it.
I admit that some tutorials could be a bit more modern or maybe discuss the respective topic a bit more broadly. But as far as I know we lack some central authority (and in open source we probably should lag that) to oversee the creation of arbitrary documentation post which might be redundant and therefore confusing. I happily leave this to the more experienced users but sure help them out If I can.

@Naftali,what ever you get out of this. Please try to continue asking questions in the forum and try to read about the topics you don't get immediately. If so we will figure things out.

I am only using OpenWrt for about two years myself and this is what I have noticed so far. So please correct me If I am wrong at any point.

3 Likes

Hi if you are finding OpenWrt to hard to learn there is a OpenWrt baste OS for routers called Gargoyle here: https://www.gargoyle-router.com/index.php
The interface is made to be simple to use for new users that don't know as mutch as the OpenWrt users. It's is a good starting point and where I started about 10 years ago. At the same time I played around with Ddwrt but swiched to OpenWrt in the end because I could install all the packages I wanted. It is a lot to take in when you first get started but just keep on and you will pick up bits here and there. Good luck.

2 Likes

I have been dealing with Linux experts for quite a long time and it is embarrassing and shameful what I haven't been able to learn. Just like all other spoken languages, there seems to be a block where you "learn just enough to barely communicate and thus to get by" so past that many don't push themselves that much further.

I've discovered that people who are trained to the level that understand this facility to a point of being productive are normally a) a genius or b) someone who has 10 good years of 14hr or more days into it. Also when you do find someone who is both knowledgeable and sympathetic to your cause as a rookie, then do properly appreciate them as they are indeed the rare breed. The armchair psychologists are few and far between in this profession and bedside-manner is something unheard of. Be prepared for short and quippy answers and derogatory remarks about your inability to read or to receive other strikes against your personality but try not to take that personally, after all it is 2020 and that's the way the world rolls.

Still if you want real frustration, then go outside of this group and find it 10x worse so you are now in a good place, and with many decades as a IT professional on other platforms (non-Linux) I don't really know how to describe the career path of a someone who understands all this inside and out. It's basically as deep into the Linux OS and networking as anyone can get and if these guys aren't making 6 figure salaries they should be; maybe that's why not many suffer the burden of hand holding and scout the help section for only the most challenging questions ... or not..... Open Source is kind of like that.

Otherwise before you "play" the home network, get a backup router that stays in working order. Unfortunately most of us don't have multiple facilities to play with a test network while managing a full functioning working environment or family environment either. With a roll-back plan you can allocate say 2 hours of play/learn time on the experimental router while kids of significant are watching TV (hopefully not streaming LOL) and then before anyone starts yelling you can drop the stock router back in place and everyone there at home is back up and your neck is saved while you do some more research to see why the "experimental router" is now bricked or in some hopeless loop.

After a good 6-7 years here I'd like to say it gets a lot better but I can't. If you don't dedicate most of your free time to learning all this has to offer, you're going to be pretty much stuck with the basic functions. Several years ago my company sent me to an expensive networking school that started in with terms like 7 layers and used everything based on a layer analogy. My problem was I could never relate that to anything but baking a good cake when I got home. Teaching has to be formed around concepts one can understand and while I personally pride myself with having an open mind and with sponge-like curiosity, maybe some of us are just not built for the task.

6 Likes

Otherwise, what is it you think you would like to do with OpenWRT?

I've managed to build regular networks, over air LAN bridges, network servers with attached USB drives, printer servers, USB cell-modem hot-spots, OpenVPN servers and clients, dumb access points, torrent clients, adblock links and well now that I list them, it's kind of short my list of accomplishments compared to others. Networking is certainly not my forte while plagiarism of those with more knowledge than me is my most productive move. There is a lot written about how to do many of these tasks but what documentation there is generally ends up outdated almost every couple of months, so that's tough to keep up with the changes. Otherwise to just become a general expert in what you can do with this system which is a subset of Linux and the total of networking as a whole, you are likely going to have to take a networking class or two and hope you are more successful than I was.

@Naftali - I say this in the good way -- why are you here? This is somewhat rhetorical, but feel free to answer, too. Clearly, there was something that interested you about OpenWrt, so what was it? Was there something specific you had in mind that you wanted to achieve or to learn? If so, keep a narrow focus to start and grow your OpenWrt specific and networking skills from there.

Start with a specific project or objective. For me, it was setting up VPNs and travel routers that could connect back through my home internet connection while I was traveling abroad. I went from PPTP to OpenVPN to Wireguard. I started to pick up shell scripting, VLAN, firewalls, routing, extroot, and so on. I had a goal in mind and I learned how to achieve it -- mainly using tutorials from various places and asking questions...I'd obsess over it until I finally got it working. Then I would think "wouldn't it be cool if..." and I'd start down the next rabbit hole.

As a few people have commented already, being a linux database expert does not necessarily give you all the domain specific knowledge about networking and embedded linux, but it does give you a start in a number of really important ways. You should theoretically have a good basis in linux and software logic. Embedded systems can be quite different, but once you begin to identify the nuances, you can start to apply your more general linux knowledge

Don't try to use OpenWrt as a general linux box and don't worry about or try to learn everything about OpenWrt and networking all at once. Just identify a goal and play until you get there. Ask specific questions where you get stuck. And I think I've said this before, but worth repeating -- get yourself an extra router that you can use as your dev/test box, or setup a VM with OpenWrt. Having the freedom to mess everything up and start over with no consequences is invaluable. Do not use your primary router as your experimental system because every time you mess up, you might have to bring down the network.

3 Likes

I haven't seen many OpenWrt-related setup and usage questions from the OP...unless I'm simply mistaken. Most questions are about: general networking, "why does this exist - should I remove it", wanting to use the web GUI when a command line answer was given (and vice versa), general hardware-related inquires, trying to understand basic radio theory, is OpenWrt related to X-unrelated Linux distro, etc. And counting this post, a decent percentage of posts don't actually ask questions about; or state problems the OP is having with - setup/use of a router running OpenWrt.

If someone needs a LuCI procedure for everything...I do agree that's OpenWrt-related...but as one gets experienced in OpenWrt - realizes it's quite unreasonable to expect a web GUI procedure for every config. This could be a source of frustrations for the OP. BTW, "rant posts" related to OpenWrt are cool; but I just don't think the body of postings from the OP don't support the asserted points-of-view.

I see very few posts like: "I want to do X-Y-Z with OpenWrt...how do you configure A-B-C...?"

I see a single OpenWrt-specific thread...and to be honest, that's debatable...asking what "Join Network" means falls into the category of simply not knowing about networks or network hardware (e.g. wireless devices).

(And to be fair, I do see one thread asking if a device(s) is supported.)

1 Like

Maybe @Naftali asks for a new feature without knowing it.
A cut down version of luci (lite?) with just the basic features (like most routers come from operators NAT, DHCP, Auto config etc.) and a 3-4 step setup wizard to initiate most of interfaces with some default values. No package manager but a standard "basic" set of packages.

Of course the project tries to provide more and more features and that should be the target always, so I am not really a supporter for the above feature. If someone needs the basics then stay with the factory firmware, there is no point to mess with Openwrt. I do not discourage anyone to try "play" with it and learn from it but it will take time until it's ready to be deployed for "production".

@Naftali the truth is that OpenWRT is like a IQ upgrade for the routers. You get them from the manufacturers as children and transform them to MIT PhD scientists in 20-30 minutes. Of course to follow these kind of change you need some learning curve that most of the time is really really hard to even follow because of missing background (in IT and Networking). I work as a System Administrator and I am still following guides on many OpenWRT configuration steps (but at least I understand why these steps has to be done).

There is no guide to "Learn OpenWRT". There are books, websites, videos etc.etc to learn about OS's (Unix based OS's) and Networking. After you become familiar with these OpernWRT will become friendlier to you.

1 Like

@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?