Optimized build for IPQ40xx devices

What do you mean crashes? I have two ASUS RT-AC58Us running stock OpenWrt and they seem to be working exceptionally fine (apart from VLAN1/2 being hardcoded). One acts as a router, one as a dumb AP.

Waiting for @NoTengoBattery to port his fw so I can forget VLAN issue :smiley:

I would also like to request a build for the Zyxel NBG6617, is there anything I can do to make it happen? Thanks in advance!

Hello, everyone.

@paraskevas you can now test the RT-AC58U build. Let us know your experience.

@adrez99 I uploaded the build again. You can test if you like. I would recommend install the normal version first, as the slim version barely contains any packages.

@kastellsc @pingec it is absolutely possible. I need a volunteer to test it out knowingly that there is a chance of bricking and needing hardware recovery methods!

@NoTengoBattery I'm getting errors when updating the package list, it showed up after installing the latest build.

 * opkg_download: Failed to download https://downloads.notengobattery.com/projects/openwrt-v3.0.0/targets/ipq40xx/generic/packages/Packages.gz, wget returned 5.
 * opkg_download: Failed to download https://downloads.notengobattery.com/projects/openwrt-v3.0.0/packages/arm_cortex-a7_neon-vfpv4/notengobattery_feed/Packages.gz, wget returned 5.

Connecting to 3.20.183.177:443
Connection error: Invalid SSL certificate

This is due to the expired root certificates. OpenWrt solved that server-side but in my case I can't.
Currently and until the new certificates are rolled (likely in the next minor version) you will need to use the command line with the --no-check-certificate flag.
I will try to fix this myself this week, just been busy. For the fix to work, tho, people will need to re-flash the firmware.

1 Like

Hello hello,

I have been happily using my EA6350v3 on vanilla OpenWRT 19.07 for sometime now, and it has been a great wired-only router for my 70Mbps down/20Mbps up WAN connection (I use a separate Unifi AP for WiFi). It handles my simple requirements (SQM, guest network on a VLAN) easily.

Recently, I decided to revisit WiFi performance - when I first got the EA6350v3, I tested WiFi and was underwhelmed. 5Ghz was fine, pulling about 450Mbps on 2x2 clients in the same room - but 2.4Ghz was terrible, maxing at 10Mbps even when right next to it. I tried replacing the calibration file from this build - at this time (v1.11), there was one single calibration file and various options. I was advised (Archer c7 vs Linksys EA6350v3 vs Mikrotik hap ac2 - #8 by eginnc) to overwrite /lib/firmware/ath10k/QCA4019/hw1.0/board-2.bin with /files/etc/calibration/pwr/board-linksys_ea6350v3.bin - however, this made no difference. At the time I gave up, as I have the Unifi AP broadcasting from the same spot and giving me a solid 30-40Mbps.

Skip to today and I now have two EA6350v3s so I can use one for testing purposes. Since 21.02 is out now, I decided to do some testing on my spare unit. However, I have tried 19.07 and 21.02 vanilla OpenWRT builds, as well as the optimised build from this thread and they all still produce the same 10Mbps speed on 2.4Ghz.

I notice in the optimised build that there is a folder called /etc/calibration/ that contains a script called extract_calibration.sh. However, when I execute it, it just says:

/Users/notengobattery/3.1.10.191322/rootfs: No such file or directory

What am I doing wrong? I feel like I need to try out some other calibration files to perhaps boost the 2.4Ghz performance?

It's no great issue - I still have my Unifi AP to provide WiFi, but it would be nice to at least have the EA6350v3 as an option as well.

And thanks for all your work @NoTengoBattery!

1 Like

Thats an script to, you bet, extract calibration from an OEM firmware. To test them out use TestCalibration.
Even tho is not the best analysis tool ever, I recommend using this to track your results.

If you can perform a speed test as well, add them to your results in a new column and, of course, share them with me so I can update this public copy!

Sorry, just to clarify - how exactly do I use the calibration script?

I flashed your latest build and then connected via SSH as root, then changed to the /etc/calibration/ directory. Then I made extract_calibration.sh executable (chmod +x) then ran ./extract_calibration.sh but I get the error message:

/Users/notengobattery/3.1.10.191322/rootfs: No such file or directory

What is the correct procedure for actually trying out different calibration files? I tried overwriting /lib/firmware/ath10k/QCA4019/hw1.0/board-2.bin with the various files in /etc/calibration/EA6350v3/<directory>/2G but that doesn't seem to do anything, and those files seem too small to replace board-2.bin (each one is about half the size of it).

Where am I going wrong?

You'll need to restore all files that you changed. As I told you, that script is not to test anything. Is to extract from an OEM firmware. That step, for this device, is done. And of course you don't have an unpacked OEM firmware laying around I suppose.

The script is, again TestCalibration. As soon as you type that and hit enter in the shell prompt you will get instructions to use it.

Ah ha - understood. As you were replying I found TestCalibration under /usr/bin so I now understand what you are saying - it is in root's path and can just be run from a terminal.

I don't have time to test right now but I will later on and report back.

Thanks for the clarification.

I recently posted some rudimentary EA6350v3 test results here using a relatively current snapshot:
https://forum.openwrt.org/t/archer-a-c-7-versions/107533/13?u=eginnc

I'm still getting ~70 Mbps on 2.4 GHz no problem using the same replacement calibration file stolen from NoTengoBattery's build I've always used (Thank you NoTengoBattery!). Much better with 5GHz of course.

That 10 Mbps you are getting is pretty bad. You might try looking for other causes? Are you forcing legacy 2.4 GHz rates or some other strange setting you've lost track of? Maybe try a couple different clients to see if it is client specific issue? Hard to say - wish I could be more help than just telling you it works great for me. Best of luck sorting it out.

Thanks for the update :slight_smile:

Unfortunately, even when I tried using that old calibration file (that you call pwr.bin) I still get 10Mbps, even right on top of the router. I also tried the TestCalibration script on the latest build - every single option I tried (and I tried them all) gave the exact same result.

Just to rule out a hardware issue, I just returned to stock (the last official Linksys firmware), and on the same device (a OnePlus 6T) I get at least 40Mbps consistently over 2.4Ghz :frowning:

As I say, it isn't a huge problem, as I have a separate Unifi AP that works very well to cover my WiFi requirements. I'm not exactly sure what the issue is - my setup is exactly the same as yours on paper; 2.4 GHz is on channel 11 and 20 MHz width, no forced legacy rates and no legacy clients to cause the speed to be limited.

I'm not a fan of WiFi anyway - give me a hardwire any day :wink:

I'm sorry for contacting you this way, but wasn't sure exactly how to do it. One of my routers is a Linksys MR9000. I have used Openwrt in the past, and really want to run it again. I stumbled across your name in some other location where you talked about building a custom version of Openwrt that would work on this router. I found links to this forum and felt this might be the place to check in with you. Do you have a working version of Openwrt that will work on this router? If so, how can I get a copy of it, and load it on my router? Unfortunately, I don't have a lot of experience with this stuff, but I've been in the IT field for 30+ years and pick things up quickly.

The build for that device is along with all other devices and the link is in the post #1 of this thread :slight_smile:

I hate to ask another stupid question. I know that somewhere in this thread there were instructions for loading the firmware to my stock router, but I've been searching for an hour now and can't find it again. Can you point me to instructions on loading the firmware? The stock firmware GUI does not have an option to pick a firmware upgrade file, only auto-update.

I didn't develop that code. I just reviewed and included other's dev work. However as far as I know, you should perform a normal update in the OEM firmware but instead of uploading a Linksys file, you should upload the factory version for your device.
Read the file name's carefully. For flashing OpenWrt from the OEM firmware you should use the factory version. For updating within OpenWrt itself you use the sysupgrade version.

@reka you probably know better.

That is the issue. On many Linksys routers, the is an option to manually pick a firmware file to install. In my GUI, the only option available is to upgrade the factory firmware with online factory firmware. There is no option to select any other file.

@reka did you sideloaded the firmware?

Also, did you check this? https://www.linksys.com/my/support-article?articleNum=316371#F1

The option to upload a local firmware file is there if you know where to look. Go to http://192.168.1.1/fwupdate.html (or whatever your router's ip is) and login with admin/admin. There you can upload the openwrt factory image file.

So, I've downloaded the RC files in message one. What else do I need, and what is the procedure to install everything? Sorry for the noob questions.