Netgear R6350: max power for 5GHz lower after upgrading to 21.02 RC1

I upgraded to the 21.02RC from 19.07.6, and suddenly the highest power for the 5GHz antenna is 6dBm, instead of the 25dBm from before. I tried switching back to 19.07.6 but the problem appeared there as well. I have no idea what the issue could be here, but I have reinstalled 21.02RC. I tried installation with both nmrpflash and the inbuilt upgrader but no dice. Any idea what I should do? My router is a Netgear R6350

We're not playing the guessing game here. Specify your router model please.

2 Likes

My bad, its a Netgear R6350

I have amended your topic title for clarity.

Your wireless calibration data should be sitting at 0x8000:

&pcie0 {
	wifi@0,0 {
		compatible = "mediatek,mt76";
		reg = <0x0 0 0 0 0>;
		mediatek,mtd-eeprom = <&factory 0x8000>;
		ieee80211-freq-limit = <5000000 6000000>;
	};
};

&pcie1 {
	wifi@0,0 {
		compatible = "mediatek,mt76";
		reg = <0x0 0 0 0 0>;
		mediatek,mtd-eeprom = <&factory 0x0>;
		ieee80211-freq-limit = <2400000 2500000>;
	};
};

Can you check /proc/mtd contents to see to which partition 'factory' is mapped? Then run hexdump -C on the contents of the partition? You can backup and transfer the contents by simply doing cat /dev/mtdX > /tmp/factory.mtd and copying that file to your computer, where you can run hexdump on it.

Often the issue has to to with NAND bad blocks and your device is one in a series of Netgear devices using NAND but not having bad block management implemented in OpenWrt. See this topic e.g.:

And for the patches needed for bad block management:

I followed your instructions, and this is the output from the hexdump command

00000000  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
*
00200000

It is of course much shorter than the post that you sent which confuses me since I have double checked every step and that I have selected the correct partition

Which partition is factory and can you share the dump?

The factory partition is /dev/mtd5. Here is the file
https://fieryeagle.org/factory.mtd

That looks weird... Looks empty almost?

This is e.g. how it looks on one of my devices (radio calibration data at 0x8000):

$ hexdump -C radio |grep 08000
00008000  63 76 00 01 00 0c 43 26  60 88 63 76 c3 14 00 80  |cv....C&`.cv....|

The fact reverting to 19.07 still shows broken wireless might imply something went wrong during flashing 21.02 somehow. I'd try the following:

  • Revert to Netgear OEM firmware.
  • Flash 19.07, back up a copy of /dev/mtd5 (hopefully the Netgear firmware restores it, but there's a chance it does not...).
  • Install 21.02, check /dev/mtd5, and if it's showing the same content as now try restoring it from the backup (you'll need the kmod-mtd-rw package for that).
1 Like

Two questions,

  1. How do I make a copy of the partiton?
  2. What are my options in case flashing OEM firmware does not fix it?

Well 19.07 worked, so it's reasonable to assume flashing that from OEM won't touch the factory partition. You already have a backup of the (dysfunctional) factory partition. Just use the commands again like I explained.

If that doesn't work then you'll need someone to help you with a backup of their R6350 factory partition. It's not optimal but it should get your device going again. Calibration data is normally specific to your device.

I have good news, so I flashed the OEM firmware using nmrpflash and crossed my fingers and went straight to 21.02RC, and it works! My headache is finally over and I can now take a nap

1 Like

That's great. Do make a backup of /dev/mtd5 though, so if you run into this again for whatever reason, you can restore it.

Can you share your calibration for R6350,

Thanks,

@Borromini I am having same issue on R6350 after upgrading to 21, does this looks good? or I have same issue above?

root@LAPTOP:/mnt/c/Users/me/Downloads# hexdump -C mtd5.bin | grep 08000
00008000  15 76 11 00 14 59 c0 ca  4c 16 15 76 c3 14 00 80  |.v...Y..L..v....|

That looks okay to me, starts with 76 15 to be sure you could downgrade to 19.07 (don't forget to wipe configs) and check, but I reckon it will be the same.

Hi @Borromini, I found this thread when I got the same problem on flashing a brand new R6350 with 21.02.01.
After reading this thread, I tried the following - all of them have the 5 Ghz wifi max transmit up to only 6 dbm:

  1. nmrpflash factory img, then flash 21.02.0-rc2
  2. nmrpflash factory img, then flash 19.07.8
  3. nmrpflash factory img, then flash 19.07.1

I tried the last 2 because I thought they would have predated the "bug" when upgrading from factory img.

I would appreciate your suggestions what other images to try, when do you believe this bug was introduced? And how do we report this bug so they can revert to the working one in the latest builds?

Edit: I flashed your Sercomm patch builds for the R6850 from the R6850 low power thread. It turned the R6350 into an R6850, and wifi looks fixed now, will test some more later.
Questions: now should I just stick to R6850 builds rather than R6350 builds?
If I flash a later stable build, is it going to unfix the problem again?

Thank you!

Hi @FieryEagle954 - which version of OEM firmware did you flash? Is it 1.1.0.78 or earlier? I'm wondering if different versions of OEM firmware have different factory partition layout??

Hi there, sorry to hear you're having the same issue as me. Since this was a little bit ago I have absolutely no memory of what version of the OEM firmware I used. All I did was nmrp flash the newest OEM firmware and then the then newest OpenWRT build and it has been working fine ever since

Hi @FieryEagle954 - thanks, based on the timing of your posts, I tried to nmrpflash factory img 1.1.0.78 (Dec'20) and then flash 21.02rc1 (Jan'20) but still no luck.
Would you be able to share a copy of your mtd5 factory file? I think mine is corrupted and not getting updated at all because every time the hexdump shows "15 76 00 ..." starting at 00048000 instead of 28000 or 8000.
Thanks!

I see you already installed the R6850 build, it's been a while and I don't have either R6850 or R6350, so I can't tell the exact differences. You've been lucky, since e.g. flash layout might differ and flashing builds for another device might easily wipe your radio calibration data altogether, rendering wireless completely unusable. So please don't do that again in the future.

And yes, reverting to vanilla OpenWrt images will make the problem show up again. The patches used in my build parse the bad block table of the device, which vanilla OpenWrt doesn't.

The bug's been reported and patches have been sent in by someone, but they're not in a state to be merged. That being said, you can build an image with them and they should work, or you build an image with a modified DTS. The latter is the easier approach: check the address of your calibration data (like you already did for one radio), and adapt the DTS accordingly, then build an image. You have two radios, so you have two addresses in your DTS. You need to modify both, usually by the same offset (I haven't seen it otherwise yet).