Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision Next revisionBoth sides next revision | ||
| toh:recommended_routers [2016/04/10 12:45] – Wording... diizzy | toh:recommended_routers [2023/11/09 22:17] – move wsm20 to the correct place knarrff | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== Recommended routers ====== | ||
| + | ===== Introduction ===== | ||
| + | |||
| + | <WRAP center round important 60%> | ||
| + | The second half of this page (specific device recommendations) is very outdated. | ||
| + | |||
| + | Users should consider multi-core, ARM-based (or x86_64/ | ||
| + | |||
| + | Purchase of a device with less than 16 MB of flash or less than 128 MB or RAM is unwise at this time (2019). | ||
| + | |||
| + | A device with two, " | ||
| + | </ | ||
| + | |||
| + | |||
| + | Really specific per scenario but these are **__generic recommendations__** based upon what's considered " | ||
| + | |||
| + | Note that some manufacturers claim "32 mb flash" or the like (small " | ||
| + | |||
| + | Platforms that have less than 16 Mbyte of flash **will have** noticeable space constraints. Having less than 128 Mbyte of RAM also imposes limitations, | ||
| + | |||
| + | A device with two, " | ||
| + | |||
| + | For many opinions, see the OpenWrt Forum. For example [[https:// | ||
| + | |||
| + | ==== Are " | ||
| + | |||
| + | Yes, devices are supported by OpenWrt " | ||
| + | |||
| + | In many cases, a newer device (or one that has recently had OpenWrt ported to it) will only be available as a snapshot build for months (or even over a year) before a formal release includes it. Snapshot (or '' | ||
| + | |||
| + | The main challenge for many users with snapshot builds are that they don't come with LuCI (GUI) preinstalled, | ||
| + | |||
| + | See further [[releases: | ||
| + | |||
| + | |||
| + | ===== SoC? ARM? MIPS? What's All This? ===== | ||
| + | |||
| + | All-in-one routers generally are built around a System-on-a-Chip (SoC). They often include a CPU, wireless subsystem, and Ethernet switch. Each of those components can impact performance of the device. | ||
| + | |||
| + | The Ethernet switch //usually// is limited only by the speed of its " | ||
| + | |||
| + | The next bottleneck is the connection between the switch and the CPU. This is, unfortunately, | ||
| + | |||
| + | The CPU, in most devices, needs to handle the packet flow, including firewall, connection tracking, and NAT. It also needs to handle every packet for SQM (smart queue management), | ||
| + | |||
| + | Because there are tasks other than just routing the traffic, the throughput doesn' | ||
| + | |||
| + | The CPU in an SoC is often licensed as a library. Think of it like building a car -- You go to the shop and buy a complete engine, rather than designing and building it from scratch. There are many different architectures, | ||
| + | |||
| + | ==== MIPS ==== | ||
| + | |||
| + | Older, lower-power design (compute and mains/ | ||
| + | |||
| + | Solid design, basic performance levels. Generally single-core devices. Good " | ||
| + | |||
| + | Mid-range, MIPS-based SoCs clock around 600 MHz in 2019. Many higher-performance devices clock around 750-775 MHz. MIPS-based SoCs clocked at 500 MHz or below are likely poor choices for purchase at this time. | ||
| + | |||
| + | Common OpenWrt " | ||
| + | * ar71xx (deprecated, | ||
| + | * ath79 (QCA wireless) | ||
| + | * ramips (MTK wireless) | ||
| + | * lantiq (QCA or MTK wireless) | ||
| + | |||
| + | FIXME: Discussion of " | ||
| + | ==== ARM ==== | ||
| + | |||
| + | More sophisticated, | ||
| + | |||
| + | There are " | ||
| + | |||
| + | Moderate to high performance levels. Generally multi-core devices. | ||
| + | |||
| + | |||
| + | Common OpenWrt " | ||
| + | * mvebu (Marvell wireless) | ||
| + | * ipq806x (QCA wireless) | ||
| + | * ipq40xx (QCA wireless) | ||
| + | * mediatek (MTK wireless) | ||
| + | |||
| + | The mvebu units tend to be the highest performance. The ipq40xx units tend to be available at lower price points. | ||
| + | |||
| + | |||
| + | |||
| + | ==== x86_64/ | ||
| + | |||
| + | For those desiring " | ||
| + | |||
| + | ==== Wireless ==== | ||
| + | |||
| + | **// | ||
| + | |||
| + | Wireless tends to be supplied by the SoC's designer. Almost always the wireless components are part of the SoC and, if they use a second chip set, are from the same vendor. | ||
| + | |||
| + | In addition to the chips themselves, there are " | ||
| + | |||
| + | You can't judge the performance of an antenna by its looks. Big, fat antennas generally aren't any better than skinny ones. Well-executed patch antennas or internal antennas can be every bit as good as impressive-looking external antennas. For a variety of reasons, using external antennas on feed lines is often a net loss (exceptions being for professional-quality antennas and feed lines for point-to-point links, which often cost more than a high-end router for just one). | ||
| + | |||
| + | === QCA Wireless === | ||
| + | |||
| + | The Atheros or Qualcomm Atheros ([[wp> | ||
| + | |||
| + | older "Wave 1" devices, such as the Archer C7v2, may need to use the non-CT drivers for 802.11s support. | ||
| + | |||
| + | " | ||
| + | |||
| + | === MTK Wireless === | ||
| + | |||
| + | |||
| + | FIXME: Help describing MTK drivers | ||
| + | |||
| + | === Marvell Wireless === | ||
| + | |||
| + | |||
| + | FIXME: Help describing Marvell drivers - please note issues with IBSS and 802.11s | ||
| + | |||
| + | === Broadcom Wireless === | ||
| + | |||
| + | |||
| + | FIXME: Which Broadcom wireless chips have meaningful support? | ||
| + | |||
| + | Broadcom wireless is generally problematic, | ||
| + | |||
| + | {{section> | ||
| + | |||
| + | See [[https:// | ||
| + | |||
| + | ===== Dual-Firmware Devices ===== | ||
| + | |||
| + | With NAND flash typically providing 128 MB or more of total storage capacity, many devices now support "dual firmware" | ||
| + | |||
| + | |||
| + | ===== Flow Offload (and OEM Throughput) ===== | ||
| + | |||
| + | |||
| + | **// | ||
| + | |||
| + | As discussed above, quite a bit of CPU resources are consumed doing routing and NAT functions. Since router-SoC manufacturers know that device reviewers will measure the throughput of the device under well-known conditions, they often include specialized hardware into the SoC to be able to " | ||
| + | |||
| + | This specialized hardware often requires closed-source drivers and/or proprietary information from the SoC manufacturer to utilize robustly. As a result, // | ||
| + | |||
| + | However, if you use SQM (bandwidth shaping, " | ||
| + | |||
| + | Flow offload generally does not improve VPN performance significantly as the limitations there come primarily from the CPU and its ability to encrypt/ | ||
| + | |||
| + | OpenWrt officially supports software flow offload on several SoCs, which can greatly speed " | ||
| + | |||
| + | |||
| + | ---- | ||
| + | |||
| + | |||
| + | ===== Older content (2016?) follows below ===== | ||
| + | |||
| + | <WRAP center round important 60%> | ||
| + | **Many devices listed below are outdated and no longer recommended (2019)** | ||
| + | </ | ||
| + | |||
| + | |||
| + | This page was solely created because people kept asking this question each and every day on #openwrt @ Freenode. | ||
| + | |||
| + | <WRAP center round important 60%> | ||
| + | Please also read the wiki page for the specific device as there may be information not mentioned here that may be of value. | ||
| + | </ | ||
| + | |||
| + | <WRAP center round help 60%> | ||
| + | If a specific SoC/model isn't listed please look [[# | ||
| + | </ | ||
| + | |||
| + | ==== Platforms ==== | ||
| + | |||
| + | === (Qualcomm) Atheros ar71xx === | ||
| + | This platform has been supported for years and have a proven to be a mature one including wifi. \\ Major downside is that it's a family of single core SoCs and their age are starting to show in terms of performance and also compared to what's available in the same price range. | ||
| + | |||
| + | * **AR9331** series uses a cheaper SoC (MIPS 24Kc) and lower clockrates which results in lower performance but also less power consumption making it a popular choice in small designs or development boards. \\ <Please provide generic numbers here> | ||
| + | ---- datatable ---- | ||
| + | cols : Brand, Model, Versions, Platform, CPU MHz, Flash MB_mbflashs, | ||
| + | header | ||
| + | align : c, | ||
| + | filter | ||
| + | ---- | ||
| + | |||
| + | * **AR934X** are preferred due to their performance (MIPS 74Kc), usually shipped with ath9k (11n) compatible radios and if any USB 2.0-port(s). \\ Generic throughput numbers are about 150-230mbit/ | ||
| + | ---- datatable ---- | ||
| + | cols : Brand, Model, Versions, Platform, CPU MHz, Flash MB_mbflashs, | ||
| + | header | ||
| + | align : c, | ||
| + | filter | ||
| + | filter | ||
| + | ---- | ||
| + | |||
| + | ---- datatable ---- | ||
| + | cols : Brand, Model, Versions, Platform, CPU MHz, Flash MB_mbflashs, | ||
| + | header | ||
| + | align : c, | ||
| + | filter | ||
| + | ---- | ||
| + | |||
| + | ---- datatable ---- | ||
| + | cols : Brand, Model, Versions, Platform, CPU MHz, Flash MB_mbflashs, | ||
| + | header | ||
| + | align : c, | ||
| + | filter | ||
| + | ---- | ||
| + | **US lockdown notes go here** | ||
| + | |||
| + | * **QCA95XX** are the latest family of MIPS based SoCs by QCA and provide a slight boost in performance (~10-15%) compared to the AR934*-series because of the higher clock frequency. These systems are usually shipped with ath10k radios which supports 11ac however these drivers need to rely more on the firmware blob which makes improving the driver hard. Wifi performance peaks at about 400mbit depending on conditions. | ||
| + | ---- datatable ---- | ||
| + | cols : Brand, Model, Versions, Platform, CPU MHz, Flash MB_mbflashs, | ||
| + | header | ||
| + | align : c, | ||
| + | filter | ||
| + | filter | ||
| + | ---- | ||
| + | **US lockdown notes go here** | ||
| + | |||
| + | ---- datatable ---- | ||
| + | cols : Brand, Model, Versions, Platform, CPU MHz, Flash MB_mbflashs, | ||
| + | header | ||
| + | align : c, | ||
| + | filter | ||
| + | filter | ||
| + | sort : Version | ||
| + | ---- | ||
| + | |||
| + | === Mediatek MT7621(A/ | ||
| + | |||
| + | A quite well supported platform, it has 2 cores and 2 threads (somewhat similar to Hyperthreading on x86) along with a more powerful core (MIPS 1004Kc) which makes this SoC about about twice as fast as the AR934X-series (depending on application). These are typically shipped with 11ac hardware and the driver (mt76) works fairly well, it's still under development but is more open than the ath10k driver making it a more interesting choice for the Open Source community. Generic throughput numbers are about 400-500mbit/ | ||
| + | |||
| + | ---- datatable ---- | ||
| + | cols : Brand, Model, Versions, Supported Current Rel, CPU, CPU MHz, Flash MB_mbflashs, | ||
| + | header | ||
| + | align : c, | ||
| + | filter | ||
| + | ---- | ||
| + | ---- datatable ---- | ||
| + | cols : Brand, Model, Versions, Supported Current Rel, CPU, CPU MHz, Flash MB_mbflashs, | ||
| + | header | ||
| + | align : c, | ||
| + | filter | ||
| + | ---- | ||
| + | ---- datatable ---- | ||
| + | cols : Brand, Model, Versions, Supported Current Rel, CPU, CPU MHz, Flash MB_mbflashs, | ||
| + | headers : Brand, Model, Version, Current Release, SoC,CPU MHz,Flash MB,RAM MB,WLAN Hardware, | ||
| + | align : c, | ||
| + | filter | ||
| + | filter | ||
| + | ---- | ||
| + | |||
| + | ==== Why isn't my device/ | ||
| + | |||
| + | There may be several reasons, here's a few: | ||
| + | * Unavailable | ||
| + | * Not supported | ||
| + | * Requires serial access (may not be an issue for some) for flashing and/or recovery. | ||
| + | * Unstable | ||
| + | |||
| + | === Marvell Armada 385 aka 88F6820 === | ||
| + | |||
| + | This is a relatively new platform based on ARM compared to the other ones here that are MIPS based. It offers the best performance but is also in general the most expensive one. It offers 2 cores running at 1.6Ghz and does linespeed NAT. It's usually coupled with wifi using the mwlwifi driver which is considered unstable for now and may crash the system occasionally. Wired performance and stability is good(?), USB (status?), SATA (status?) however. As of writing there are no known user friendly products available that OpenWrt supports, serial access is needed for recovery and stability isn't (yet) up the standard of the other platforms. | ||
| + | |||
| + | === MediaTek MT7620A === | ||
| + | |||
| + | A quite common " | ||
| + | |||
| + | Below are some models reported stable. | ||
| + | ---- datatable ---- | ||
| + | cols : Brand, Model, Versions, Supported Current Rel, CPU, CPU MHz, Flash MB_mbflashs, | ||
| + | header | ||
| + | align : c, | ||
| + | filter | ||
| + | filter | ||
| + | ---- | ||
| + | |||
| + | **Needs confirmation: | ||
| + | |||
| + | OpenWrt is a community project and works a lot of platforms, these are just a few ones that are " | ||
| + | |||
| + | This page isn't obviously for the hardcore user, if you were you wouldn' | ||