Add support for Linksys EA6350 v3

Thank you, @chunkeey

I will do that as soon as I get enough feedback regarding to this. I don't want to fail twice in a row... LOL.

Isn't Add support for Linksys EA6350 v3 :

already a second confirmation?

But Ok, let's wait and see. :slight_smile:

(Also Q: Do the files you sent to the ath10k Mailing list need updating as well? Or did you sent the original files there?)

Because ipq-wifi is just a stop-gap measure and I'm planing to ping Kalle in the near future so he adds the outstanding board-files to the main ath10k-firmware repo.

1 Like

Ok, I think you need some explanation.

First of all: the files that I tested are "new". It's the first time that I tested. The files from @imi2003 are not the same. My purpose was to test all calibration board files.

The files tested (as the codename used by OEM) were as follows:

  • hw1_DK01
  • hw1_Y9803
  • fcc_Y9803
  • eu_Y9803
  • and finally, the working one: au_Y9803

The au_Y9803 was never used or published till now. The files sent to infradead and the file sent to upstream are hw1_DK01. If this file actually works, I see myself amending the other files I sent. Else, I will keep trying till all files are tested.

1 Like

Hi @NoTengoBattery i've just flashed your prebuilt image, and i can confirm its working great.
Have you had a chance to test luici-app-advance-reboot from @stangri repo?
I think it would make a great addition to your prebuilt, as it lets you easily reboot between the two partitions from the web interface.
I'll test over the next few days and come back with any findings


My 5GHz iperf3 TCP test speed just went from 0 to 274 Mbps (client receive) and 158 Mbps (client send) and rock stable!

Maybe 2.4GHz feels a bit more unstable than before but it's a bit early to say.

Yes, I've tested @stangri's luici-app-advance-reboot and it works good. However I cannot add it to my prebuilt (it refuses to build from source) yet. If he/she can publish his/her patches to upstream, it wold make a great value addition to the device!

And I'm glad to know that it is working. As @anders said, it looks like it's not performing rock solid in the 2.4GHz band. We need more testing before saying so, by the way. For now we just have 1 (one) calibration board to test: ah_Y9803.

I will upload a new prebuilt soon because I see that nginx is painfully slow and it wastes too much resources. But for applying it you will need to do a factory reset... again. I promise that this will be the last prebuilt that requieres a factory reset.

Someone messed up with OpenSSL in upstream so you will need to access LuCI using HTTP (not HTTPS) unless you have your own self-signed certificated (is a good idea to have a backup of it instead of adding random certificates each time). I've changed nginx with uhttpd and it breaks the the device.

PS: The GOOD thing is that now that I know how this works, I pick the best performing calibration for 2.4GHz and 5.8GHz individually! So don't worry about 2.4GHz not being so good right now. With enough feedback we can optimize this device to the max!

About uhttpd and TLS: this is interesting. It worked previously until this commit.

1 Like

@NoTengoBattery Have a look here for the advance-reboot source

Yep. I know. It refuses to build. I don't know how to integrate the source code to my build, or how to integrate the prebuilts into my image. I barely know how the build system works!
I've more concentrated in keep track of upstream changes that break my custom configuration and the board files.
If someone know how to include the source code into the build (note: not the image builder) I will definitely add it.

It's (mostly) a single lua script, you can just install the normal package (without support for your device) and replace /usr/lib/lua/luci/controller/advanced_reboot.lua with the modified one on the installed system.

its a single line addition to following source file


{"Linksys EA6350v3", "linksys-ea6350v3", "mtd10", "mtd11", 192, "boot_part", 1, 2},

This is the only differance from the upsteam version

Edit the file once you have run the feed update, then it will build.


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!


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!


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.


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.


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?