| Both sides previous revision Previous revision Next revision | Previous revision Next revisionBoth sides next revision |
| toh:recommended_routers [2020/10/08 21:42] – [Wireless] add Wikipedia link for QCA Wireless pcryan | toh:recommended_routers [2023/11/09 22:17] – move wsm20 to the correct place knarrff |
|---|
| * ipq806x (QCA wireless) | * ipq806x (QCA wireless) |
| * ipq40xx (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. | The mvebu units tend to be the highest performance. The ipq40xx units tend to be available at lower price points. |
| |
| |
| **//Remember that if you want to use SQM (Smart Queue Management) or similar, offload generally can't be used.//** | **//Remember that if you want to use SQM (Smart Queue Management) or similar, hardware flow offloading can't be used.//** |
| |
| 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 "offload" basic routing and NAT from the CPU itself. This is a cost-effective way to get "better" numbers and "marketing bullets" for those that use their SoCs ("Full, gigabit routing" or the like). | 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 "offload" basic routing and NAT from the CPU itself. This is a cost-effective way to get "better" numbers and "marketing bullets" for those that use their SoCs ("Full, gigabit routing" or the like). |
| This specialized hardware often requires closed-source drivers and/or proprietary information from the SoC manufacturer to utilize robustly. As a result, //hardware// offload to the switch, or to things like NSS cores in the IPQ806x devices, is generally not supported with open-source firmware. This is often the reason why //any// third-party firmware doesn't match the LAN <=> WAN, NAT-only throughput of OEM firmware. | This specialized hardware often requires closed-source drivers and/or proprietary information from the SoC manufacturer to utilize robustly. As a result, //hardware// offload to the switch, or to things like NSS cores in the IPQ806x devices, is generally not supported with open-source firmware. This is often the reason why //any// third-party firmware doesn't match the LAN <=> WAN, NAT-only throughput of OEM firmware. |
| |
| However, if you use SQM (bandwidth shaping, "bufferbloat" mitigation) or similar functionality, you generally can't use flow offloading (software or hardware). Functions like SQM require each packet to be handled by the the CPU, so the various software or hardware "shortcuts" can't be used. Even with high-bandwidth connections, SQM can greatly reduce "lag", improve responsiveness of Internet browsing, and make VOIP and FaceTime calls smoother. OEM firmware generally doesn't support SQM, so no direct comparison is possible. | However, if you use SQM (bandwidth shaping, "bufferbloat" mitigation) or similar functionality, you generally can't use hardware flow offloading, but software flow offloading [[https://forum.openwrt.org/t/software-flow-offloading-implications/90957|seems to work]]. Functions like SQM require each packet to be handled by the the CPU, so the various hardware "shortcuts" can't be used. Even with high-bandwidth connections, SQM can greatly reduce "lag", improve responsiveness of Internet browsing, and make VOIP and video calls smoother. OEM firmware generally doesn't support SQM, so no direct comparison is possible. |
| |
| Flow offload generally does not improve VPN performance significantly as the limitations there come primarily from the CPU and its ability to encrypt/decrypt the packets and move them between interfaces. | Flow offload generally does not improve VPN performance significantly as the limitations there come primarily from the CPU and its ability to encrypt/decrypt the packets and move them between interfaces. |
| |
| 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/s (LAN-WAN without PPPoE) and ~45mbyte/s using the USB3 interface. It's also worth noting that products using this SoC are usually cheaper or priced about the same as the Atheros 11n and 11ac counterparts but might be hard to come by. \\ | 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/s (LAN-WAN without PPPoE) and ~45mbyte/s using the USB3 interface. It's also worth noting that products using this SoC are usually cheaper or priced about the same as the Atheros 11n and 11ac counterparts but might be hard to come by. \\ |
| |
| :!: As of writing there's **no working** VLAN support in the switch for this SoC. \\ | |
| :!: Currently, it may have stability issues if you are using more than one wireless network (wifi-iface) for each radio (wifi-device) | |
| |
| ---- datatable ---- | ---- datatable ---- |
| cols : Brand, Model, Versions, Platform, CPU MHz, Flash MB_mbflashs, RAM MB_mbram, WLAN Hardware, WLAN 2.4Ghz, WLAN 5.0Ghz, Ethernet Gbit ports_, Modem, USB ports_, Device Page_page | cols : Brand, Model, Versions, Supported Current Rel, CPU, CPU MHz, Flash MB_mbflashs, RAM MB_mbram, WLAN Hardware, WLAN 2.4Ghz, WLAN 5.0Ghz, Ethernet Gbit ports_, Modem, USB ports_, Device Page_page |
| header : Brand, Model, Version,SoC,CPU MHz,Flash MB,RAM MB,WLAN Hardware,WLAN2.4,WLAN5.0,Gbit ports,Modem,USB, Device Page | header : Brand, Model, Version, Current Release, SoC,CPU MHz,Flash MB,RAM MB,WLAN Hardware,WLAN2.4,WLAN5.0,Gbit ports,Modem,USB, Device Page |
| align : c,c,c,c,c,c,c,c,c,c,c,c,c | align : c,c,c,c,c,c,c,c,c,c,c,c,c |
| filter : Model=DIR-860L | filter : Model=DIR-860L |
| ---- | ---- |
| ---- datatable ---- | ---- datatable ---- |
| cols : Brand, Model, Versions, Platform, CPU MHz, Flash MB_mbflashs, RAM MB_mbram, WLAN Hardware, WLAN 2.4Ghz, WLAN 5.0Ghz, Ethernet Gbit ports_, Modem, USB ports_, Device Page_page | cols : Brand, Model, Versions, Supported Current Rel, CPU, CPU MHz, Flash MB_mbflashs, RAM MB_mbram, WLAN Hardware, WLAN 2.4Ghz, WLAN 5.0Ghz, Ethernet Gbit ports_, Modem, USB ports_, Device Page_page |
| header : Brand, Model, Version,SoC,CPU MHz,Flash MB,RAM MB,WLAN Hardware,WLAN2.4,WLAN5.0,Gbit ports,Modem,USB, Device Page | header : Brand, Model, Version, Current Release, SoC,CPU MHz,Flash MB,RAM MB,WLAN Hardware,WLAN2.4,WLAN5.0,Gbit ports,Modem,USB, Device Page |
| align : c,c,c,c,c,c,c,c,c,c,c,c,c | align : c,c,c,c,c,c,c,c,c,c,c,c,c |
| filter : Model=WF-2881 | filter : Model=WF2881 |
| | ---- |
| | ---- datatable ---- |
| | cols : Brand, Model, Versions, Supported Current Rel, CPU, CPU MHz, Flash MB_mbflashs, RAM MB_mbram, WLAN Hardware, WLAN 2.4Ghz, WLAN 5.0Ghz, Ethernet 1Gbit ports_, Modem, USB ports_, Device Page_page |
| | headers : Brand, Model, Version, Current Release, SoC,CPU MHz,Flash MB,RAM MB,WLAN Hardware,WLAN2.4,WLAN5.0,Gbit ports,Modem,USB |
| | align : c,c,c,c,c,c,c |
| | filter : Brand=ZyXEL |
| | filter : Model=WSM20 |
| ---- | ---- |
| |
| === Marvell Armada 385 aka 88F6820 === | === 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 occationally. 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. | 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 === | === MediaTek MT7620A === |
| Below are some models reported stable. | Below are some models reported stable. |
| ---- datatable ---- | ---- datatable ---- |
| cols : Brand, Model, Versions, Platform, CPU MHz, Flash MB_mbflashs, RAM MB_mbram, WLAN Hardware, WLAN 2.4Ghz, WLAN 5.0Ghz, Ethernet Gbit ports_, Modem, USB ports_, Device Page_page | cols : Brand, Model, Versions, Supported Current Rel, CPU, CPU MHz, Flash MB_mbflashs, RAM MB_mbram, WLAN Hardware, WLAN 2.4Ghz, WLAN 5.0Ghz, Ethernet 1Gbit ports_, Modem, USB ports_, Device Page_page |
| header : Brand, Model, Version,SoC,CPU MHz,Flash MB,RAM MB,WLAN Hardware,WLAN2.4,WLAN5.0,Gbit ports,Modem,USB, Device Page | header : Brand, Model, Version,Current Release, SoC,CPU MHz,Flash MB,RAM MB,WLAN Hardware,WLAN2.4,WLAN5.0,Gbit ports,Modem,USB |
| align : c,c,c,c,c,c,c,c,c,c,c,c,c | align : c,c,c,c,c,c,c,c,c,c,c,c,c |
| filter : Brand=Lenovo | filter : Brand=Lenovo |
| filter : Model*~Y1 | filter : Model*~Y1 |
| ---- | ---- |
| | |
| **Needs confirmation:** Buffalo WHR-1166D seems to be suitable? | **Needs confirmation:** Buffalo WHR-1166D seems to be suitable? |
| |