Live data from Hacker News

How to build a Linux-based wireless router out of spare parts (1998)

rage.net

101–105 of 105 posts

Re: How to build a Linux-based wireless router out of spare parts (1998)

#101
post #98

Earlier quoted context omitted.

I switched to generic amd64 machines for my main router and 2 access points and haven't looked back. Each machine has a Mikrotik R11e-2HnD for 2.4GHz (AR958x), and a Compex card (WLE900VX?) for 5Ghz (QCA986x/988x, surplus). I think the 2.4GHz cards are fine with libre software out of the box, but the 5GHz cards want a firmware blob (which I consider the same freedom/security concerns as if the blob were loaded from f…

I hope you use sqm-scripts also. It works on any linux. I have worked hard to make the ath10k work well on everything. mt76 is pretty good now, the mt79, coming along. The wifi stack we developed for openwrt is now the default in linux for all these cards. https://www.cs.kau.se/tohojo/airtime-fairness/

Ath10k does seem to work well out of the box with no fussing. Thank you for making it work so well I can take it for granted! Otherwise I wouldn't really want to be in the business of tinkering with my own access points - one of the main goals of my setup is to get away from tinkering.

I haven't found a need for traffic shaping, with a symmetric Gbit fibre uplink. And if I had wireless contention, the first thing I would do is put a third card in each machine to use an additional channel.

Do you have any pointers to pcie (m.2/mini) cards that use chips supported by m76/m79?

The main thing I'm missing is clients being steered to the best AP. From what I understand this feature is really only found on enterprise gear (with patched hostapd and the like) and isn't readily available in the libre world.

Re: How to build a Linux-based wireless router out of spare parts (1998)

#102
post #98

Earlier quoted context omitted.

I hope you use sqm-scripts also. It works on any linux. I have worked hard to make the ath10k work well on everything. mt76 is pretty good now, the mt79, coming along. The wifi stack we developed for openwrt is now the default in linux for all these cards. https://www.cs.kau.se/tohojo/airtime-fairness/

Ath10k does seem to work well out of the box with no fussing. Thank you for making it work so well I can take it for granted! Otherwise I wouldn't really want to be in the business of tinkering with my own access points - one of the main goals of my setup is to get away from tinkering. I haven't found a need for traffic shaping, with a symmetric Gbit fibre uplink. And if I had wireless contention, the first thing I w…

I am better at email.

Oh, the ath10k used to suck! :/ https://forum.openwrt.org/t/aql-and-the-ath10k-is-lovely/590...

A sore point for me, is that yes you do need FQ+AQM on your fiber link, and if you are running linux - you probably already are running the no-fuss-no-muss BQL + fq_codel combination on that uplink at that line rate. No knobs, it just works. These days you might want to try cake with no bandwidth setting as a default instead, there. No explicit shaping required, just the native backpressure from BQL.

It is unfortunately highly likely that your ISP is using something like a policer or tail drop on your downlink instead of preseem or libreqos, so believe it or not, shaping the downlink can help a bit more, in some cases. I am a big believer in actual measurements using the flent tool: https://blog.cerowrt.org

I find it weird that mt76/mt79 pcie or m2 cards are so rare. I would like it if they penetrated the laptop market where intel presently dominates with that.

Cynically the "best" AP may often not be the actual one you want. Too many best algorithms depend just on RSSI rather than (for example) sporadic interference on the same channel, causing jitter. A narrower channel width with less folk on it is sometimes better than a wide one duking it out with everyone else.

Re: How to build a Linux-based wireless router out of spare parts (1998)

#103
Definitely brings back memories.

I used to build small networks including supplying 386 boxes that booted LRP from a floppy to share a dialup internet connection for small businesses or university student houses. A lot were 10b2 internal networks since they didn't need to spend extra on a hub.

Later, I remember choosing a Cisco Aironet 350? PCMCIA 802.11b card over the ORiNOCO (probably on price as I think both had wide compatibility and good power output) to use both in my NEC mobilepro and with a few improvised long-range wifi links. I built cantennas and biquads to get remote access to free and fast university internet....

Also remember trying to get my hands on a Senao 200mW PCMCIA card to squeeze out more range.

Re: How to build a Linux-based wireless router out of spare parts (1998)

#104

What if I'd like to build a linux router out of modern hardware? I would like to stop upgrading routers every two years (maybe just upgrade the wifi cards in it), and have full control over router's UI (command line is fine). Is this a stupid idea?

You don't need to upgrade every two years. This is why:

1) There are only a few standards that changed. You didn't need to upgrade unless you bought a low-end device first and then upgraded to a high end for more speed on the same standard.

2) You need to also upgrade the clients to support the new standard. If you didn't upgrade the clients, the new router was a waste.

3) Speed differences are significat on paper, but not so much in real life.

- 802.11b = you can have SD video streaming with this link

- 802.11g = you can have 1080p video streaming.

- 802.11n = enough for UHD videos.

Between b and n, speed increase is ~10 times, but the ethernet was always at least 10 times faster than any wifi and with a *reliable* connection. So if you are using wifi for heavy data transfers other than live video on a *mobile device*, then you're doing it wrong.

Re: How to build a Linux-based wireless router out of spare parts (1998)

#105

What if I'd like to build a linux router out of modern hardware? I would like to stop upgrading routers every two years (maybe just upgrade the wifi cards in it), and have full control over router's UI (command line is fine). Is this a stupid idea?

It's not a stupid ideea, just not very practical:

1) Modern routers actually use modern hardware. Nobody builds routers today with 2010's network interfaces or CPUs.

2) Modern hardware is only modern now. You can replace the wifi once or twice, but at some point new adapters won't fit the old slot on the MB. Then you need to change everything: CPU, memory, etc.

3) It will cost a lot more initially, then only a little less than a router when you replace the wifi card and then a lot more when you have to upgrade everythig (see #2).

4) Wifi cards have big issues with linux kernel/drivers. Many have no linux support at all, many are proprietary binary blob driver only, so you can't upgrade the kernel version, many are unmaintained and don't support new protocols such as WPA3, and many only support client mode, so you can't create access points with them.

5) Routers usually have proprietary acceleration for NAT and other network operations. Until ~recently, linux had no acceleration at all and even today, most routers are a lot faster with their official firmware than with OpenWrt or DD-WRT. With any open source linux you only get more flexibility, not speed.

6) It will eat your time permanently. There will always be updates to be done, incompatibilities to debug, bugs to fix, stuff to adjust, performance graphics to waste time looking at, logs to monitor... If this is what you want, go for it. Creating a linux router is very educational, but be warned that anything linux-related is VERY time consuming.

7) If you want to use anything else other than a SBC, or use a separate ethernet switch, it will consume more power than a router. Then you need a bigger UPS, which consumes even more power. Power costs over 2 years might be more the price of the router you replaced.

Post reply on HN