OpenWrt Forum Archive

Topic: OpenWrt wiki: Recommended routers

The content of this topic has been archived on 22 Apr 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

We have a new page in the OpenWrt Wiki:
https://wiki.openwrt.org/toh/recommended_routers

Some issues:
- This page overlaps with https://wiki.openwrt.org/toh/buyerguide -> include "Recommended routers" into "Buyerguide"
- This page is in contradiction to https://wiki.openwrt.org/toh/buyerguide, which says "OpenWrt does not recommend any hardware or manufacturer! There is no "best hardware", so stop asking. Purchase something that meets your requirements."
- Why are the routers on this page recommended? What are the criteria to list a device as "Recommended"?
- Will those recommendations still be valid in 1...2 years? Devices may reach their EoL over time, becoming unavailable. -> When are devices no longer recommended? What are the criteria to unlist a device as "Recommended"?


My fear: Without any clear criteria for adding/removing devices to this "recommended" list, it will become cluttered with devices
- because someone is thinking "Ha, MY device is the best, because it fits perfectly to MY needs!"
- because people keep adding devices, but do not remove outdated recommendations


There is a reason, why the buyerguide states "OpenWrt does not recommend any hardware or manufacturer!"...

@tmo26, again kudos on your work. Since this question comes up every now and then in the forums, it's a great idea to have it addressed by experts.

I don't think you should ponder wherever or not devices on that page will be still recommended in 1-2 years. "I pay professionals to predict the future and even they sometimes get it wrong." wink As long as the device is available in a significant region or can be purchased online globally it should be listed based on its current merits and current release/trunk support.

I can suggest some categories instead of the current separation by chipset/CPU:
1. Portable/Travel Router
2. Wireless Router
3. Wired Router

I believe in each category you can easily set the minimal criteria:
1. Flash/RAM (set the requirement per price tier).
2. WiFi support (802.11ac vs 802.11n, WiFi bandwidth).
3. CPU (yeah, that's tricky I know, but that's why the gurus can make the call).
4. Global/regional availability.
5. Ease of unlock/flashing OpenWrt.
6. Additional points for additional features (like the modes slider on travel routers, USB3 vs USB2, etc).

If there're 4-5 routers in each category falling into different price tiers, that'd be great. Also the criteria above should be different for different price tiers (ie the more expensive routers should only be listed if they are equipped with significantly better radios and/or larger flash/RAM, etc).

My concern would be unwanted/malicious edits of the page, so I suggest you pick a few volunteers and lock the edits to yourself and them. And you can get expert/user opinions here in the forums. Maybe a special/pinned thread in general discussion will do?

(Last edited by stangri on 10 Apr 2016, 11:32)

A merger seems only logical.

While you raise valid questions, a cursory reading of that page does offer explanations as to why the hardware in question is recommended, no? I do agree we should have a clear concept of what makes a device a candidate and what does not.

My first guess was hardware support and availability of FOSS drivers. On both points the ar71xx and mt7621 platforms score very well.

With that in mind, I don't think the Marvell hardware belongs on that list... To my understanding, the Marvell AC wireless is far more locked down than the Mediatek, similarly to Qualcomm's AC wireless.

I agree the OpenWrt project by itself does/should not make any official recommendations on what to buy; however, the wiki being predominantly community maintained, I do think the community can and may safely recommend hardware - I think it should, even. After all - this is the only way manufacturers will start listening - if they get or lose your money.

(Last edited by Borromini on 10 Apr 2016, 11:36)

Borromini wrote:

My first guess was hardware support and availability of FOSS drivers. On both points the ar71xx and mt7621 platforms score very well.
With that in mind, I don't think the Marvell hardware belongs on that list... To my understanding, the Marvell AC wireless is far more locked down than the Mediatek, similarly to Qualcomm's AC wireless.

We butted heads on that before my friend, I still think that if the device is currently supported by OpenWrt, be it with the use of manufacturer-supplied proprietary binary blob or FOSS driver, it can be recommended.

I'd be more concerned with manufacturers (TP-Link) locking their routers from easy flash to 3rd party firmwares.

The logic on those pages should offer advice on criterias that are important in router selection. And various user groups (plain dumb end-user, tweaking enthusiast, kernel driver developer) have different needs. So there is no single best advice.

One addition to the nice list from stangri:

The ability to recover from failed flash / problematic firmware via a built-in recovery procedure.
  It is a major plus if the router has either
  - dual firmware: fallback to the "second firmware" if the first one fails to boot x times consecutively.
  - recovery/failsafe logic in bootloader (u-boot, ...) offering an easy tftp upload.

For this criteria there are "really easy ones" with TFTP server triggered automatically or via button (e.g. WNDR3700), and more restricted ones with TFTP client (where you have to provide a TFTP server at a specific IP address for recovery). Easiest is a built-in web interface or TFTP server without a complex trigger, least useful is TFTP client requiring triggering via characters from keyboard via serial and a TFTP server at a defined address.

It might not seem that important at the first glance, but in the long run that is a useful feature especially if the user is going to tweak/develop Openwrt. I have de-bricked my WNDR3700/3800 several dozen times during the past 6 years, so the relatively easy recovery mode has been really beneficial.

stangri wrote:
Borromini wrote:

My first guess was hardware support and availability of FOSS drivers. On both points the ar71xx and mt7621 platforms score very well.
With that in mind, I don't think the Marvell hardware belongs on that list... To my understanding, the Marvell AC wireless is far more locked down than the Mediatek, similarly to Qualcomm's AC wireless.

We butted heads on that before my friend, I still think that if the device is currently supported by OpenWrt, be it with the use of manufacturer-supplied proprietary binary blob or FOSS driver, it can be recommended.

That depends on how you look at it. Chances are, if you pick OpenWrt consciously, you'll also like drivers to be accessible and fixable, without needing to depend on the hardware manufacturer. At least, that's how I think about it. I am not a hardliner when it comes to GNU, FOSS etc., but for stuff like this, if I have the choice, especially when you look at long term support (for me as a consumer that means 4-5 years), I get hardware that depends least on manufacturer goodwill for software updates.

I'd be more concerned with manufacturers (TP-Link) locking their routers from easy flash to 3rd party firmwares.

A very valid concern as well, but as long as there's some way to get have those devices flashed, I would still recommend them (obviously not for beginners). Given the FCC's recent decision, I'm afraid others will follow suit; and it's not completely fair to blame TP-Link for that. Sure, they decided on the easiest way to comply, but that doesn't make them the only guilty party.

(Last edited by Borromini on 10 Apr 2016, 11:58)

Hi,

First of all, sorry if such a page existed I didn't find one and I had no intentions to step on anyone's toes. So, given that we live in 2016 and most ppl who asks about this aren't hardcore Linux users and whatnot I figured that a list with hardware that isn't hard to restore, works decently (ie stable), doesn't need serial for install/recovery of firmware and they might want to use something more such as openvpn, USB etc. Even I personally would appreciate such a list. I honestly think that you have to turn down the zealotry a few notches and see the overall picture if you want to keep/"help" the ("novice") user base.

Requirements: at least 8/64, resonable stable for normal usage, doesn't need serial for flashing and recovery.
I know 4/32 works but it honestly does poorly today and given how software evolves it's not going to get smaller/more efficient anytime soon. I'm not going into the holy war about programming but that's just how it is today.
Hardware should be available and have case, there's no point in recommend something like the WRT54GL even if its free for general usage nowdays. I think regional availability shouldn't be needed in consideration.

As I also mentioned, if you're an advanced user you aren't going to need that page at all (which is also mentioned at the bottom). You have very nice platforms that OpenWrt supports but they aren't always very user friendly (bare boards comes to mind or models which you have to disassemble and use serial). I honestly think you're going to find more use cases where ppl have a router in a case just working than someone having a bare broad and have to thinker with it frequently.

Am I being totally unreasonable? :-)

I personally think Buyers' Guide kinda misses where my aim is at, it's great as a checklist if you actually know what you're looking for. However, if you're not I think a general list isn't such a bad idea given that above criterias.

(Last edited by diizzy on 10 Apr 2016, 18:14)

Good discussion so far! I didn't expect that much response in this short time :)
And I noticed that the page has been updated in the meantime. Cool! I like fast response :)

stangri wrote:

I can suggest some categories instead of the current separation by chipset/CPU:
1. Portable/Travel Router
2. Wireless Router
3. Wired Router

I believe in each category you can easily set the minimal criteria:
1. Flash/RAM (set the requirement per price tier).
2. WiFi support (802.11ac vs 802.11n, WiFi bandwidth).
3. CPU (yeah, that's tricky I know, but that's why the gurus can make the call).
4. Global/regional availability.
5. Ease of unlock/flashing OpenWrt.
6. Additional points for additional features (like the modes slider on travel routers, USB3 vs USB2, etc).

If there're 4-5 routers in each category falling into different price tiers, that'd be great.

Filtering the currently available ToH data is easy for
- Devicetype
- RAM
- Flash
- CPU
- Availability
- Wifi

In fact, we already have a datatables which provide this (more or less):
https://wiki.openwrt.org/toh/views/toh_available_864
https://wiki.openwrt.org/toh/views/toh_ … ilable_864 (more detailed)

The filters of these datatables can easily be set to show only AR9x / QCA9x + MT720, or whatever we think is recommended. Tell me what you want, I'll create the datatables accordingly (or create them yourselves if you want, but the filtering can sometimes be tricky).

AR934X are preferred due to their performance (MIPS 74Kc) -> Is this a valid / useful criteria for automatically created recommendations?

Filtering is currently not possible for above #5 + #6, and also price.
Price is very problematic, because it is even more fluctuating than availability. It's nearly impossible to keep this up to date in our ToH as selection criteria.

hnyman wrote:

The ability to recover from failed flash / problematic firmware via a built-in recovery procedure.

We currently do not have this characteristic in the ToH, but sounds good.
I love my DIR-505's for their Emergency Flashing mode: Hold reset while plugging it in, flash firmware, be happy :)

My concern would be unwanted/malicious edits of the page, so I suggest you pick a few volunteers and lock the edits to yourself and them. And you can get expert/user opinions here in the forums. Maybe a special/pinned thread in general discussion will do?

Ideally, all these special efforts (editing only for selected people) would not be necessary.
Ideally, the generation of the "Recommended Hardware" tables would be completely automatic, without any manual editing. -> Define filter criteria only once, and the updating of the datatables happens automatically when the dataentries are updated.

Prerequisite for this: Datafields must be present in the dataentries that allow that filtering.
As written above, filtering for #5 + #6 + ability to recover from failed flash is currently not possible: The datafields do not exist yet. Emphasis on yet.

How could we implement these in the dataentries?

Characteristic: Ease of unlock/flashing OpenWrt
Fieldname: ?
Valid values: ?

Note: "Ease" of $something is highly depending on the one doing that $action. Can we change this characteristic to something more objective?


Characteristic: ability to recover from failed flash
Characteristic: built-in recovery procedure
Fieldname: OEM recovery mode
Valid values: Yes, No, <more values?>


Characteristic: FW flashing method
Fieldname: Flashmethods
Valid values: Serial, TFTP, OEM WebUI, <more values?>


Borromini wrote:

While you raise valid questions, a cursory reading of that page does offer explanations as to why the hardware in question is recommended, no?

Not clear enough and too long for my taste.

Imagine you want to add or remove a device, and prior to that, quickly check if yes or no.
A bullet list or table listing the criteria would certainly speed up this checking process by making the criteria transparent to everyone, and besides of that, enable automatical creation of lists according to those criteria. As a co-admin of this wiki I can tell you: Everything that's automatical and does not require manual maintenance is GOOD. ;-)

Indeed, avoid doing manual labor would be a very handy feature indeed but we do lack a few parameters. Also, just because one SoC is used doesn't mean that all boards/routers/products are stable per se. This is a very important criteria, performance is also useless if it doesn't work most of the time. As hnyman menioned and what I also put as a bullet point on the wiki page recovery should be easy, again not hardcore users.

Forget about pricing, it fluctuate quite a bit depending on region.

I also do think that mentioning generic "expected" performance is a good thing, right now it's really hard to compare SoCs and the OpenSSL.benchmark page doesn't really help.

diizzy wrote:

Also, just because one SoC is used doesn't mean that all boards/routers/products are stable per se.

Stability is hard to capture, IMHO.

How could we implement this in the ToH?

We already have the "Unsupported" column, which serves as a place to put information about things not working as expected. However, since this is a free text field, you can hardly filter for it. Besides that, my recognition is that this field is poorly filled as per today.

Characteristic: Stability
Valid values: Stable, unstable, <other values?>

Stable: 'Unsupported'= emtpy
Unstable: 'Unsupported'=WIP or WiFi or ....?; Supported current release = xx trunk

Suggestions how to capture or define 'Stability' are welcome!

It should probably be based on a driver (wifi, eth), that said I added a few notes about Mediatek MT7620 but I'd like some feedback by actual users of that platform.

I don't think we can create criteria for filters in ToH (how can you script that double the RAM is a good upgrade for an extra $10 for example). It should be a list of what can be recommended by humans based on their experience.

Bad example, since 'more RAM = better' is trivial, RAM is already included in the criteria, and $ are not part of the criteria anyways. Our users are able to read the RAM information out of the ToH and the price from their favourite seller, hence being able to decide for themselves.

Hard part is, the whole environment is changing.  There are so many great development boards and micro systems that are designed to run OpenWRT.

Then, there are some routers that are very well supported in trunk, but not much community documentation yet, so the TOH doesn't really lead one there.

I'm thinking of the GL.iNet GL-MT300N V1 as an example.

Which wifi driver does it user, is it stable overall?
I've been waiting on getting feedback for the MT7620 (see bottom of the page).
The Nexx WT3020 seems to be quite a popular platform however all tutorials only mentions eth so I guess wifi isn't working all that great....

The discussion might have continued from here.