Oh, and of course you have to put the calibration-variant statement back in.
Seems there is room for some refinement. I just tested the firmware on a second unit. It bootet as well, but the boot log shows a few retries when accessing the PHY. This gets better with the reset-post-delay prolonged to 2ms, will try 5ms next.
I also replaced a Linksys EA8300 in my wifi setup with the MR9000. Wifi performance of the MR9000 is OK, but not as good as the EA8300's so maybe I did use the wrong boarddata_x.bin file from the OEM firmware. If only I knew which one the OEM wifi driver loads ...
There's a folder for each reg domain which contains 4 different files for the QCA9988.
boarddata_0.bin boarddata_1.bin boarddata_2.bin boardData_QCA9988_CAS04_4x4_80M_5G_v1_016.bin
I've started with boarddata_0.bin, but this doesn't seem to be the right one.
I got it to work, using your board files, but had to use the -ct drivers. I was using non-ct before.
I also use -ct drivers, but don't see a reason for it not to work with non-ct.
Suggestion: you could copy all the board files over to the device, and then copy them in/out of lib/firmware/ath10k/ one by one, and reload the ath10k_pci via
and test each board-2.bin file that way rather quickly (better than building a whole new firmware).
Don't know if that will work. board-2.bin is a kind of container file, usually with several different calibration files in it. Your suggestion would depend on the driver to also accept raw calibration files.
But of course I could build several containers and then try your approach. Still faster than building new firmware each time.
Update: Not much difference when using the boardData_QCA... files. For the QCA4019 radios there are only 2 files to choose from so let's try something else. The files from the MR8300 should also work for those, shouldn't they? The design is more or less identical apart from the 3rd radio.
Oh, the choice is easier than expected: A simple cmp showed all the files for one reg domain to be bit-perfect copies of each other. No wonder there wasn't much difference to be seen.
@drandyhaas How does wifi perform with your unit?
I get about 320 Mbps when 50 feet away or so. Can get up to 480 when closer. This is about the same as with the ea8300. It's like this on both the 5 GHz radios. Both are set to 80 MHz bandwidth. The 2 GHz radio gives about 50 Mbps on 40 MHz bandwidth.
Just in case anybody wants to try it out , I have uploaded a 20.02.0-rc3 firmware with support for the MR9000.
I have found nothing which could explain the slightly inferior wifi performance compared to my EA8300 in an otherwise identical setup. Maybe it's down to the slightly different antenna design.
I will give this a shot later on today. Hey thanks for looking further into the code, you did the part that I just haven't had time to sit down and look at.
Alright, time to get involved. The efforts made here are based on my custom build, something that I appreciate a lot. I will finish adding the missing parts to fully support all my changes on this device and publish it to my download website, making this build a usable one (with the ability to download and install packages).
After testing this further enough, I will make the efforts to port it back to the vanilla OpenWrt codebase, so the device can run an official OpenWrt build as well. However, since the OpenWrt reviewers are a little bit picky, I would like to hold back the "backporting" for a while.
Let me know your thoughts.
P.D.: I sent a request to Linksys to get the source code of the OEM firmware. Hopefully they'll release it soon. Do anybody have the full OEM bootlog? That will be useful for checking in the mean time.
P.P.D.: This custom build supports ramoops, which is marvelous to debug kernel panics and crashes. Just need to polish the code that handles that and enable it for this device.
By all means I say go for it. I am on an off with looking at things given my crazy schedule. As for the build recently posted here I am 13+ days up with no issues. If you could get this into mainstream though that would be awesome. I have already bricked one of these two years ago (wiped it's eprom entirely) trying to figure out what's going on with these.
Where is the repo for or files for this?
Here: download and install RC3. It is a fully usable (with installable software) build: Optimized build for IPQ40xx devices
Keep in touch with the thread as I will put the future released in there as well.
Am I missing something but can’t find where in the web UI to upload the firmware
Am I looking it the wrong place?
Thanks,That got me to a login pop up. But could not long in. Tired linksys email and password and a few others but could not get in. Suggestion?
You have to first log in to the router via the normal webpage of the router. Default pw is admin. You can reset the router pw by holding the reset button while the unit is on.
Thanks a bunch @NoTengoBattery and all others for your hard work on this. I got your RC4 and installed it on a MR9000, and it went smoother than the initial setup of the device using stock. So far, I've only tested but not used/deployed this device, but it worked really well.
I've not seen MR9000 port for official OpenWRT RC4, does that mean it's not going to be part of the official release? Maybe it's going to live as a snapshot until next version?
I'm fairly new in terms of my knowledge of OpenWRT ecosystem, so I'm just wondering how such custom / community builds live for devices that are officially unsupported by OpenWRT releases.
When there's an official point release for OpenWRT, do the custom/community builds fall behind until full release?
I tried this, and looks like default works good. But when I tried to update software list from web page, I receive this(from ssh the same):
Executing package manager Downloading https://downloads.notengobattery.com/projects/openwrt-v3.0.0-rc4/targets/ipq40xx/generic/packages/Packages.gz *** Failed to download the package list from https://downloads.notengobattery.com/projects/openwrt-v3.0.0-rc4/targets/ipq40xx/generic/packages/Packages.gz Downloading https://downloads.openwrt.org/releases/21.02.0-rc4/packages/arm_cortex-a7_neon-vfpv4/base/Packages.gz Updated list of available packages in /var/opkg-lists/notengobattery_base Downloading https://downloads.openwrt.org/releases/21.02.0-rc4/packages/arm_cortex-a7_neon-vfpv4/base/Packages.sig Signature check passed. Downloading https://downloads.openwrt.org/releases/21.02.0-rc4/packages/arm_cortex-a7_neon-vfpv4/luci/Packages.gz Updated list of available packages in /var/opkg-lists/notengobattery_luci Downloading https://downloads.openwrt.org/releases/21.02.0-rc4/packages/arm_cortex-a7_neon-vfpv4/luci/Packages.sig Signature check passed. Downloading https://downloads.notengobattery.com/projects/openwrt-v3.0.0-rc4/packages/arm_cortex-a7_neon-vfpv4/notengobattery_feed/Packages.gz *** Failed to download the package list from https://downloads.notengobattery.com/projects/openwrt-v3.0.0-rc4/packages/arm_cortex-a7_neon-vfpv4/notengobattery_feed/Packages.gz Downloading https://downloads.openwrt.org/releases/21.02.0-rc4/packages/arm_cortex-a7_neon-vfpv4/packages/Packages.gz Updated list of available packages in /var/opkg-lists/notengobattery_packages Downloading https://downloads.openwrt.org/releases/21.02.0-rc4/packages/arm_cortex-a7_neon-vfpv4/packages/Packages.sig Signature check passed. Downloading https://downloads.openwrt.org/releases/21.02.0-rc4/packages/arm_cortex-a7_neon-vfpv4/routing/Packages.gz Updated list of available packages in /var/opkg-lists/notengobattery_routing Downloading https://downloads.openwrt.org/releases/21.02.0-rc4/packages/arm_cortex-a7_neon-vfpv4/routing/Packages.sig Signature check passed. Downloading https://downloads.openwrt.org/releases/21.02.0-rc4/packages/arm_cortex-a7_neon-vfpv4/telephony/Packages.gz Updated list of available packages in /var/opkg-lists/notengobattery_telephony Downloading https://downloads.openwrt.org/releases/21.02.0-rc4/packages/arm_cortex-a7_neon-vfpv4/telephony/Packages.sig Signature check passed. Errors Collected errors: * opkg_download: Failed to download https://downloads.notengobattery.com/projects/openwrt-v3.0.0-rc4/targets/ipq40xx/generic/packages/Packages.gz, wget returned 5. * opkg_download: Failed to download https://downloads.notengobattery.com/projects/openwrt-v3.0.0-rc4/packages/arm_cortex-a7_neon-vfpv4/notengobattery_feed/Packages.gz, wget returned 5. The opkg update command failed with code 2.