Add support for Linksys EA6350 v3

Hello!

I want to tell you 2 things: I feel that now this device is kinda "stable" (it cannot be that way because no stable release of OpenWrt itself is available by the time). The device is pretty solid now, even wireless looks rock solid.

I want to tell you that I uploaded a new prebuilt that will:

  • Fix OpenSSL (leftover configuration after upstream patch)
  • Remove nginx (which is extremely slow)
  • Use a more modest libffmpeg (10 MB free space available now)
  • Enable WiFi by default (don't worry: password secured!)
  • Disable some services by default
  • Have a calibration file that according to my non-exhaustive tests is the best for both 2.4GHz and 5GHz
  • Use OpenSSH by default (not true in the Lite version)
  • Enables and uses DNSSEC by default (plus 4 secure public servers included)
  • Do not redirect LuCI HTTP to HTTPS so you can restore your certificate after a factory reset
  • Include a the advanced-reboot app (good addition by the way)
  • Do not redirect LuCI to Failsafe Mode

This is not a full changelog! Read carefully the "Release Notes" for both the full and the lite versions. Please do a factory reset, this is the last prebuilt that requieres it.

More work to do:

  • Enable hardware acceleration in OpenSSL (does not work now)
  • If enough attention is drawn, I will setup a server with all packages. So you can use the lite version and install your things (easily, not more install cherrypicked packages) instead of using the full distro

Also: I would like anybody interested to use this interesting feature:


Have fun!

2 Likes

I have now installed "Release 9" and I can only confirm that Wifi now feels rock stable for both 5GHz and 2.4GHz! Excellent work @NoTengoBattery!!!

I did not run any iperf3 throughput tests on my EA6350 using the original Linksys firmware and I have flashed it several times so there is no reverting back to run such tests either.
But I have two other AC1200 routers: One TP-Link Archer C1200 and one D-Link DWR-953. Compared to these two I get the same throughput on 2.4GHz: just above 100Mbps in both directions.
The throughput on 5GHz is higher on my other routers which both delivers up to 500Mbps iperf3 TCP throughput using vendor firmware compared to up to 300Mbps for the EA6350 running OpenWRT.
But the important thing is that it's stable! People with real throughput needs knows that a cable is the only sane choice anyway.

Has the latest calibration board changes been merged upstream?

1 Like

you did a great job @NoTengoBattery ,wifi rock , now my router is revived with a new possibilities thanks a lot

Thanks to everyone for the phenomenal work being done for this device! I've been following it for a while and just picked one up on ebay to test and finally upgrade my production 6-year-old router.

Is the ipq-wifi code in the master branch known to be working? I'm wondering because I tried using the current snapshot's imagebuilder:

make image PROFILE=linksys_ea6350v3

but it fails with errors for ipq-wifi:

Unknown package 'ipq-wifi-linksys_ea6350v3'.
...
Collected errors:
 * opkg_install_cmd: Cannot install package ipq-wifi-linksys_ea6350v3.

I haven't drilled into it too deeply but am wondering if this is an expected problem at this time?

The image builds cleanly (because I build the image myself and because I check the buildbot logs). You should be able to build the image.

But: some files sent to upstream are not up to date. Mainly, you will experience the poor wireless performance issue.

As I've found the right files (after 6 weeks, dear gosh), you can find those in my GitHub fork, in the releases section, a file called "calibration". Or you can fork/clone my repo.

Just to be clear, I'm talking about using the imagebuilder (openwrt-imagebuilder-ipq40xx.Linux-x86_64.tar.xz) to customize packages, and not building an image from sources.

So you have a working imagebuilder? Thanks, I will check your repo.

Understood. Definitely lots of moving parts in this effort.

Great, your work is very much appreciated!

Hi!

I've working in 2 tools for this device and they are ready now. The concept is as follows;

  • test_calibration is a custom script that makes safer and easier to test calibration board files. Useful if your wireless performance is not good: at least you have alternatives and options to test before reverting back to stock. Give a try to all options and please report back to me which files gives you the best performance in 2.4GHz and 5GHz. With enough reports, fixing the files in upstream will be faster! Somebody told me that testing calibration board files was out of it's league: now is easy and safe. No excuses.
  • BackToStock is a script that makes easier and safer to revert back to stock if for any reason you want or have to.

The two works out of the box in my new prebuilt. They are public domain so feel free to use and distribute them! For other builds you will need to install extra tools.

I will upload the prebuilt soon. 3 prebuilts this week: don't worry, after this I will do one per week.

3 Likes

Hi. I just bought this exact router and spent a couple of hours earlier in a "do I or don't I send it back" after reading reports that V3 isn't supported. Now I know it is, I'll be holding on to it. Great work with this one guys.

NoTengoBattery - will your image be a simple plug n play install or will I need a usb-serial adapter to flash? Will there be instructions on how to install? I am totally new to the actual nitty gritty of dd-wrt. The only experience I have is just installing precompiled images on a couple of old dlink routers in the past.

Hello.

All the images (mine and OpenWrt official) are plug-and-play. You install them using the "factory" image just like a Linksys firmware update. After performing the "update", it will boot in OpenWrt.

The main difference between my images and official OpenWrt is that the former contains a collection of software preinstalled, so is less likely that you have to install separated packages (and some packages such as Samba4 may be too big to be even installed). Official OpenWrt images have only the core system and a SSH server.

So, using my prebuilt is more similar to using DD-WRT which comes with software preinstalled and ready to configure and use.

Have fun!

Thanks for the info. Just one other, probably silly, question - I have always used the same network names (Netgear, Netgear3, Netgear_Guest etc) and ip addressing (192.168.0.*) on my routers, so it is connectible on all devices after configuration. Will I be able to change everything on this build okay?

Your question is a bit off topic because this thread is related to the device support, as is. But if you are wondering: the device is pretty capable of running almost all OpenWrt features. OpenWrt itself is a powerful firmware, so if you can do what you want with an OEM firmware, it's very likely that you can do it or even more with OpenWrt. As all firmwares, it starts with a generic configuration and from there you can personalize your router.

Related to configuration and setup: read the OpenWrt's wiki.
Related to my custom build, I will answer questions and problems if you open a issue in my GitHub's fork.
Related to this hardware, this thread is the correct.

Better link to the documentation: https://openwrt.org/docs/start

Hi @NoTengoBattery, that test_calibration script sounds very interesting (even though I'm very pleased with the Wifi on Release 9 as it is). And you are correct, if it's that easy to change it's not out of my league anymore :slight_smile:
I found the calibration board files at your github download page but I can't seem to find the scripts.
Or should I wait for release 10 of your firmware build?

All the thing I've done to get my custom build, and all the things you need to reproduce my work is on my GitHub fork of OpenWrt. For example, the script is here.
Those are a dedication to the public domain so feel free to do what you want without even noticing my existence. :wink:

You can, of course, use them in my custom build that I can guarantee that they work as expected, out of the box and as I documented them. But I will not send those files to upstream because they don't belong there, and I'm not searching to pass their quality control, but mine and the critical eye of people that know more than me.


P.D.: I will send the calibration board files to upstream and to infradead as soon as we feel confident of the results. Please: do not send the files yourself. Let's be really sure first.

Just created this account to say Release 9 is perfect so far for me. I started around release 4; at the time, 2.4G range was about 5 meters, and 5G wouldn't even authenticate. Now though it's flawless. Great range, great throughput.

Thank you for all your work @NoTengoBattery!

I have now tested all the calibration board files for both 2.4 and 5 GHz, thanks a lot for making this possible @NoTengoBattery.

For 2.4 I would say that: hw_1_DK01 and hw_1_Y9803 are the best ones and gives very similar results. Hard to tell which one is the best, they are both great and much better than the other ones.

For 5 GHz I would say that ah_Y9803 and ic_Y9803 are the best ones, very similar results but if I had to pick one I would say that ic_Y9803 is the winner for 5GHz.

These results are the best I have seen, if you need more speed than this connect a cable :slight_smile:

iperf3 -c 192.168.0.12
Connecting to host 192.168.0.12, port 5201
[  4] local 192.168.0.103 port 65247 connected to 192.168.0.12 port 5201
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-1.00   sec  61.1 MBytes   512 Mbits/sec
[  4]   1.00-2.00   sec  73.3 MBytes   615 Mbits/sec
[  4]   2.00-3.00   sec  76.5 MBytes   641 Mbits/sec
[  4]   3.00-4.00   sec  78.5 MBytes   660 Mbits/sec
[  4]   4.00-5.00   sec  79.8 MBytes   669 Mbits/sec
[  4]   5.00-6.00   sec  74.2 MBytes   622 Mbits/sec
[  4]   6.00-7.00   sec  78.8 MBytes   661 Mbits/sec
[  4]   7.00-8.00   sec  78.9 MBytes   662 Mbits/sec
[  4]   8.00-9.00   sec  77.3 MBytes   648 Mbits/sec
[  4]   9.00-10.00  sec  79.4 MBytes   666 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-10.00  sec   758 MBytes   636 Mbits/sec                  sender
[  4]   0.00-10.00  sec   758 MBytes   636 Mbits/sec                  receiver

iperf Done.

iperf3 -Rc 192.168.0.12
Connecting to host 192.168.0.12, port 5201
Reverse mode, remote host 192.168.0.12 is sending
[  4] local 192.168.0.103 port 65244 connected to 192.168.0.12 port 5201
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-1.00   sec  50.9 MBytes   427 Mbits/sec
[  4]   1.00-2.00   sec  56.9 MBytes   477 Mbits/sec
[  4]   2.00-3.00   sec  55.8 MBytes   468 Mbits/sec
[  4]   3.00-4.00   sec  60.2 MBytes   505 Mbits/sec
[  4]   4.00-5.00   sec  63.5 MBytes   533 Mbits/sec
[  4]   5.00-6.00   sec  65.1 MBytes   546 Mbits/sec
[  4]   6.00-7.00   sec  64.2 MBytes   538 Mbits/sec
[  4]   7.00-8.00   sec  64.9 MBytes   544 Mbits/sec
[  4]   8.00-9.00   sec  65.3 MBytes   548 Mbits/sec
[  4]   9.00-10.00  sec  66.0 MBytes   553 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec   614 MBytes   515 Mbits/sec  128             sender
[  4]   0.00-10.00  sec   614 MBytes   515 Mbits/sec                  receiver

iperf Done.

Thank you for your testing!

I also did my testing and I can confirm that hw_1_Y9803 is better for me than hw_1_DK01. On the other side, I don't know for what calibration is the log you sent.

I think that with this confirmation I can safely update the files in upstream and send them to ath10k@lists.infradead.org. I think they are a safe bet and if someone is experiencing poor performance, they can test other calibration files.

For the sake of clarification, the files that will be sent to upstream will be:

  • 2.4 GHz: hw_1_Y9803
  • 5 GHz: ic_Y9803

I didn't tested ic_Y9803 until yesterday, so my prebuilt use hw_1_DK01 for 2.4GHz; ah_Y9803 for 5GHz, but yesterday I changed my mind.

Edit: not ah_Y9803, it's au_Y9803. My documentation was bugged. LOL.


P.D.: New prebuilt available: v0.01. That prebuilt comes with my custom scripts. It have a little bug in failsafe mode but, well, it's not that bad. I've fixed it and it will be available in the next week (v0.02).

Great! Yes that sounds like the winning combo!
Those logs I pasted above were for 5 GHz: ic_Y9803
For 2.4 GHz: hw_1_Y9803 i got the ones below:

iperf3 -c 192.168.0.12
Connecting to host 192.168.0.12, port 5201
[  4] local 192.168.0.103 port 65207 connected to 192.168.0.12 port 5201
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-1.00   sec  11.6 MBytes  97.3 Mbits/sec
[  4]   1.00-2.00   sec  11.6 MBytes  97.3 Mbits/sec
[  4]   2.00-3.00   sec  13.5 MBytes   113 Mbits/sec
[  4]   3.00-4.00   sec  12.3 MBytes   103 Mbits/sec
[  4]   4.00-5.00   sec  12.6 MBytes   106 Mbits/sec
[  4]   5.00-6.01   sec  13.3 MBytes   111 Mbits/sec
[  4]   6.01-7.00   sec  12.3 MBytes   104 Mbits/sec
[  4]   7.00-8.00   sec  12.6 MBytes   106 Mbits/sec
[  4]   8.00-9.00   sec  12.5 MBytes   105 Mbits/sec
[  4]   9.00-10.00  sec  13.4 MBytes   113 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-10.00  sec   126 MBytes   105 Mbits/sec                  sender
[  4]   0.00-10.00  sec   126 MBytes   105 Mbits/sec                  receiver

iperf Done.

iperf3 -Rc 192.168.0.12
Connecting to host 192.168.0.12, port 5201
Reverse mode, remote host 192.168.0.12 is sending
[  4] local 192.168.0.103 port 65209 connected to 192.168.0.12 port 5201
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-1.00   sec  8.52 MBytes  71.5 Mbits/sec
[  4]   1.00-2.00   sec  11.3 MBytes  94.4 Mbits/sec
[  4]   2.00-3.00   sec  11.5 MBytes  96.9 Mbits/sec
[  4]   3.00-4.00   sec  12.2 MBytes   102 Mbits/sec
[  4]   4.00-5.00   sec  11.4 MBytes  95.8 Mbits/sec
[  4]   5.00-6.00   sec  10.5 MBytes  87.7 Mbits/sec
[  4]   6.00-7.00   sec  11.4 MBytes  95.5 Mbits/sec
[  4]   7.00-8.00   sec  9.35 MBytes  78.5 Mbits/sec
[  4]   8.00-9.00   sec  10.9 MBytes  91.6 Mbits/sec
[  4]   9.00-10.00  sec  11.1 MBytes  92.9 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec   109 MBytes  91.5 Mbits/sec  168             sender
[  4]   0.00-10.00  sec   109 MBytes  91.1 Mbits/sec                  receiver

iperf Done.

Can someone give me a summary of how stable is the current snapshot for this device?

When can a stable openwrt release be expected for this device?

Hi @martin8, the current snapshot from the official openwrt website is broken, the build by @NoTengoBattery is very usable and has a lot of applications already installed.

If you are still on the stock firmware, it quite easy to switch back if you use @NoTengoBattery build as it includes advance reboot. So you can reboot to stock if you want

Hopefully this device makes it into the next official release, which will only be possible if lots of people test the builds and give feedback of any bugs