Adding OpenWrt support for Linksys MR6350

Hi, Roland. You have done a great job trying to push MR6350 into OpenWrt formal release. I still have my MR6350 and would like to see it get through. However. tt seems that your MR6350 submission didn't get much attention by the development community and I doubt this forum is the right place to get their attention. (Maybe the Mod will notice and do that for you. :slight_smile: ) I have been reading OpenWrt Develop Archive occasionally and thinking maybe you want to find out how to join the mailing list and send something there to get developer's attention.

2 Likes

I have it too (I have two in fact) and I will have them for a long time. They work spectacularly in the Rolando Magico compilation and deserve to be in official support.

@psherman, @richb-hanover-priv, @aparcar

See this.

Hi, this test image seems to limit the wired ethernet port link at 100M (lanOverview->Port status). I know you haven't done test with the image but could you do a quick check on this? Thanks.

I see 1G on my device:

Which image do you use?

The image posted a few weeks back - Release MR6350_Build_20240701. I think it might have something to do with my configuration.

Ok, same image I use in my setup. Do all devices result in 100M? Did you try a different cable?

I have succeeded in installing openwrt to my Linksys MR6350. I downloaded binaries from MR6350_Build_20240701 (link in post #117) and navigated to x.x.x.x/fwupdate.html and uploaded the factory.bin.

This seems to have worked. I then uploaded the sysupgrade.bin

I haven't figured out how to start the 5 GHz radio; the 2.4 GHz radio looks like it is working. I haven't tested download speed. My needs are modest; I am looking for a home router for a relatively small house.

I haven't been able to learn more about the 5 GHz radio not working. Any ideas? With the OEM firmware, the 5 GHz radio gives about 188 Mbps download speed (with my ISP).

The 2.4 GHz radio does work and download speed is near 100 Mbps. I was able to install package luci-app-advanced-reboot; it only succeeds in rebooting the router because the MR6350 is not supported. I was able to change partitions using the method described in post #29 of this thread and verify that OEM firmware still exists on the other partition.

How does the Luci WiFi page look when 5g is not working?
Is there further information in the logs?

I don't know what to look for in the logs.
I found these in the System Log:

Fri Sep 13 15:37:36 2024 daemon.notice netifd: radio0 (1472): WARNING: Variable 'data' does not exist or is not an array/object

Fri Sep 13 15:37:40 2024 daemon.notice netifd: Wireless device 'radio0' is now up

I found this in the serial port output:

[   14.105578] ath10k_ahb a000000.wifi: qca4019 hw1.0 target 0x01000000 chip_id 0x003b00ff sub 0000:0000
[   14.105648] ath10k_ahb a000000.wifi: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 0
[   14.117550] ath10k_ahb a000000.wifi: firmware ver 10.4b-ct-4019-fW-13-5ae337bb1 api 5 features mfp,peer-flow-ctrl,txstatus-noack,wmi-10.x-CT,ratemask-CT,regdump-CT,txrate-CT,flush-all-CT,pingpong-CT,ch-regs-CT,nop-CT,set-special-CT,tx-rc-CT,cust-stats-CT,txrate2-CT,beacon-cb-CT,wmi-block-ack-CT,wmi-bcn-rc-CT crc32 6b2b5c5b
[   14.169237] ath10k_ahb a000000.wifi: Loading BDF type 0
[   14.265150] ath10k_ahb a000000.wifi: board_file api 2 bmi_id 0:20 crc32 d140cd7d
[   15.552552] ath10k_ahb a000000.wifi: 10.4 wmi init: vdevs: 16  peers: 48  tid: 96
[   15.552625] ath10k_ahb a000000.wifi: msdu-desc: 2500  skid: 32
[   15.601319] ath10k_ahb a000000.wifi: wmi print 'P 48/48 V 16 K 144 PH 176 T 186  msdu-desc: 2500  sw-crypt: 0 ct-sta: 0'
[   15.602276] ath10k_ahb a000000.wifi: wmi print 'free: 53252 iram: 13432 sram: 35752'
[   15.746190] ath10k_ahb a000000.wifi: htt-ver 2.2 wmi-op 6 htt-op 4 cal pre-cal-file max-sta 32 raw 0 hwcrypto 1
[   17.043196] ath10k_ahb a800000.wifi: qca4019 hw1.0 target 0x01000000 chip_id 0x003b00ff sub 0000:0000
[   17.043266] ath10k_ahb a800000.wifi: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 0
[   17.055303] ath10k_ahb a800000.wifi: firmware ver 10.4b-ct-4019-fW-13-5ae337bb1 api 5 features mfp,peer-flow-ctrl,txstatus-noack,wmi-10.x-CT,ratemask-CT,regdump-CT,txrate-CT,flush-all-CT,pingpong-CT,ch-regs-CT,nop-CT,set-special-CT,tx-rc-CT,cust-stats-CT,txrate2-CT,beacon-cb-CT,wmi-block-ack-CT,wmi-bcn-rc-CT crc32 6b2b5c5b
[   17.083522] ath10k_ahb a800000.wifi: Loading BDF type 0
[   17.088594] ath10k_ahb a800000.wifi: failed to fetch board data for bus=ahb,vendor=0000,device=0000,subsystem-vendor=0000,subsystem-device=0000,variant=linksys-mr6350- from ath10k/QCA4019/hw1.0/board-2.bin
[   17.267028] ath10k_ahb a800000.wifi: failed to fetch board-2.bin or board.bin from ath10k/QCA4019/hw1.0
[   17.267116] ath10k_ahb a800000.wifi: failed to fetch board file: -12

There was one image where 5G didn’t work:

If you used this initially, all following firmware upgrades didn’t work an you’re still running the not working firmware.
Any possibility that is the root cause of your current problem?

Which version is currently shown in LuCI?

I don't think so; I don't know where I would have found a link to that build, although post #114 has a link to a similar build.

I forgot to mention that I am not able to ssh to the router.

It looks like I am using version LuCI openwrt-23.05 branch git-24.073.29889-cd7e519

Hello people I am a novice ... I have the same problem 5 ghz does not work and does not let me install the incompatible kernel program ... any solution?

I reread post #132 and realized that I may be affected by this problem. I tried loading MR6350_Build_20231201. I realize that this is probably a downdate rather that an update. The problem is still there.

Hello @gafre I'm not ignoring you. I just don't know what to tell you. They are very helpful here.

Ok, I'm using the same version (OpenWrt 23.05.3 r23809-234f1a2efa / LuCI openwrt-23.05 branch git-24.073.29889-cd7e519
) and wifi settings look like that in my environment after resetting the settings:

This looks strange, should be something like that:

[   13.129775] ath10k_ahb a000000.wifi: qca4019 hw1.0 target 0x01000000 chip_id 0x003b00ff sub 0000:0000
[   13.129849] ath10k_ahb a000000.wifi: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 0
[   13.141721] ath10k_ahb a000000.wifi: firmware ver 10.4b-ct-4019-fW-13-5ae337bb1 api 5 features mfp,peer-flow-ctrl,txstatus-noack,wmi-10.x-CT,ratemask-CT,regdump-CT,txrate-CT,flush-all-CT,pingpong-CT,ch-regs-CT,nop-CT,set-special-CT,tx-rc-CT,cust-stats-CT,txrate2-CT,beacon-cb-CT,wmi-block-ack-CT,wmi-bcn-rc-CT crc32 6b2b5c5b
[   13.193451] ath10k_ahb a000000.wifi: Loading BDF type 0
[   13.289635] ath10k_ahb a000000.wifi: board_file api 2 bmi_id 0:20 crc32 d140cd7d
[   14.576931] ath10k_ahb a000000.wifi: 10.4 wmi init: vdevs: 16  peers: 48  tid: 96
[   14.577006] ath10k_ahb a000000.wifi: msdu-desc: 2500  skid: 32
[   14.625645] ath10k_ahb a000000.wifi: wmi print 'P 48/48 V 16 K 144 PH 176 T 186  msdu-desc: 2500  sw-crypt: 0 ct-sta: 0'
[   14.626602] ath10k_ahb a000000.wifi: wmi print 'free: 53252 iram: 13432 sram: 35752'
[   14.766678] ath10k_ahb a000000.wifi: htt-ver 2.2 wmi-op 6 htt-op 4 cal pre-cal-file max-sta 32 raw 0 hwcrypto 1
[   14.881137] ath: EEPROM regdomain: 0x833a
[   14.881168] ath: EEPROM indicates we should expect a country code
[   14.881180] ath: doing EEPROM country->regdmn map search
[   14.881188] ath: country maps to regdmn code: 0x37
[   14.881195] ath: Country alpha2 being used: GB
[   14.881203] ath: Regpair used: 0x37
[   15.978162] ath10k_ahb a800000.wifi: qca4019 hw1.0 target 0x01000000 chip_id 0x003b00ff sub 0000:0000
[   15.978236] ath10k_ahb a800000.wifi: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 0
[   15.990184] ath10k_ahb a800000.wifi: firmware ver 10.4b-ct-4019-fW-13-5ae337bb1 api 5 features mfp,peer-flow-ctrl,txstatus-noack,wmi-10.x-CT,ratemask-CT,regdump-CT,txrate-CT,flush-all-CT,pingpong-CT,ch-regs-CT,nop-CT,set-special-CT,tx-rc-CT,cust-stats-CT,txrate2-CT,beacon-cb-CT,wmi-block-ack-CT,wmi-bcn-rc-CT crc32 6b2b5c5b
[   16.041850] ath10k_ahb a800000.wifi: Loading BDF type 0
[   16.054161] ath10k_ahb a800000.wifi: board_file api 2 bmi_id 0:21 crc32 d140cd7d
[   17.341883] ath10k_ahb a800000.wifi: 10.4 wmi init: vdevs: 16  peers: 48  tid: 96
[   17.341953] ath10k_ahb a800000.wifi: msdu-desc: 2500  skid: 32
[   17.390979] ath10k_ahb a800000.wifi: wmi print 'P 48/48 V 16 K 144 PH 176 T 186  msdu-desc: 2500  sw-crypt: 0 ct-sta: 0'
[   17.391944] ath10k_ahb a800000.wifi: wmi print 'free: 53252 iram: 13432 sram: 35752'
[   17.530449] ath10k_ahb a800000.wifi: htt-ver 2.2 wmi-op 6 htt-op 4 cal pre-cal-file max-sta 32 raw 0 hwcrypto 1
[   17.644214] ath: EEPROM regdomain: 0x833a
[   17.644246] ath: EEPROM indicates we should expect a country code
[   17.644259] ath: doing EEPROM country->regdmn map search
[   17.644267] ath: country maps to regdmn code: 0x37
[   17.644274] ath: Country alpha2 being used: GB
[   17.644284] ath: Regpair used: 0x37

As far as I know, the required data for Wifi are stored in the ART partition. Is is possible to dump the partition and provide it?

@gafre and @relmoyd: What is the Model No. printed on the bottom label of your devices? And if you still have the packaging for them: What is written there (e.g. MR6350-EU)?

This is normal for custom builds: You cannot install kernel modules. If you need specific kernel modules, you have to create your own image. See here:

@gafre and @relmoyd: Regarding the 5G problem. I just realized that the not working version reports the same version as the working one. And there I get the same error message regarding 5G Wifi.
Can you ssh/scp in your devices and check /lib/upgrade/platfrom.sh: Does line 171 contain "linksys,mr6350 |"? Should look like this:

	linksys,ea8300 |\
	linksys,mr6350 |\
	linksys,mr8300 |\

If it is missing, please add the line, it is required to perform firmware upgrades. Then update to the version here:

I also recommend to disable "Keep settings and retain the current configuration" during the firmware upgrade to start with a clean wifi config.

1 Like

I assume that the "incompatible kernel program" means "official repository" for the particular release build (version 23.05.3). To be able to do that, you can build the image with the same kernel "vermagic" as the official release. This link explains how to do it.