Netgear R7800 exploration (IPQ8065, QCA9984)

Yep, I've eventually managed to fix it, move on. Lede is very stable on Netgear R7800 right now even in trunk.

Great out of curiosity what was the issue? Finally should I just go to trunk, or is there a git hash you recommend?


LEDE trunk (master) is very stable for R7800. Just use the current HEAD.

1 Like

There's a 2 Mib size memory block in the end of ram region that kernel should not access or at least should not rely on. Seems to be used by bootloader. Pretty darn hard was to figure it out.

1 Like

well done for figuring that out! I'll give LEDE a go tomorrow. Very excited :smiley:

If you want an easy quick test with R7800, try my community build for R7800. It is tailored for R7800 and contains e.g. the CPU frequency and CPU temperature stats etc.

1 Like

Thanks for the offer but I need to run my own firmware on there.

So it seems LEDE has fixed that bug where it wouldn't boot up sometimes. Seems pretty stable, got a bunch of clients connected with no problems.

However there is still a very strange issue I see occasionally that also existed with OpenWRT. Sometimes files get corrupt, usually if you edit them then reboot.

For example I edited a /etc/init.d/ file then rebooted the router via reboot command.

When it booted my changes to the file had gone and the file had no permissions. If I did "ls -l" the permissions were listed as:
----------- 1 root root 977 Feb 15 11:19 xyz

The update time was correct. Is there something wrong with the overlayfs or perhaps the UBI? Has anyone else experienced this as well?

Sounds strange. I have not noticed similar behaviour. I am frequently testing this and that, and have rebooted right after editing text files.

You might consider issuing "sync" before rebooting.

I have never faced such issue myself, but I have a suspicion (that might be not be related to this issue though) that current nand driver is a bit faulty. And that may be the reason of those block-mount errors in syslog.
The driver that's currently in lede is a pre-upstream version. The upstream version has only made its way in k4.8 or 4.9.
I've tried to port it but failed in doing so because I do not have a serial to check the errors during boot failure.

Transition to 4.9 is probably just behind the corner. Some target platforms have already moved there. Have you tried anything to that direction?

Looks like there is quite much backported stuff in ipq806x to be removed. Lots of work :frowning:

Hello all,
Firstable I want to thank all of you for your great job on this project and specifically with R7800.
I have a question, in the official page of the R7800 says:
5GHz wifi, ADSL, FXS are unsupported features, Is it still true with RC2 version?

Thank you again

Sounds like you are mixing R7800 with D7800 or some other device?.
R7800 has no ADSL. And 5 GHz wifi works ok.

D7800 is discussed in several other threads.

I haven't tried to switch to 4.9, but I've faced 2 problems switching to k4.9 drivers - nand and pci - both of them lead to a boot failure that I cannot check without serial.
Other than that doesn't seem to make any problems actually, because I've already backported a lot of stuff from upstream kernel.

No, I'm not wrong, as you can see in the attached screenshot the main R7800's page says:

I know this model doesn't support ADSL of course, my question is related to 5GHz.


That is the general device-independent help text table "Conventions per characteristic" at the bottom of each device page explaining what kind of values should be in each field...

Nothing to do with R7800

But in any case, wifi 5GHZ works.

I've rebased patches for 4.9 kernel, it compiles ok. I'll add some device tree changes and post a link to the repo. Hope it will boot up and function properly

Interesting, I started the same yesterday. But didn't quite get it compiled (and I hopped over the pcie patches). I had also trouble with some of the clock patches and have not finalized things.

I have not uploaded things to Github, but I can compare my patches to yours.

(I noticed that your 49-1 branch does not included config-4.9. I coped config-4.4 and did "make kernel_oldconfig" to get the new options in.)

I don't understand, last hunk in patch 172 in my tree doesn't apply for some reason, so I get an error for undefined call during compilation.... there're no errors during patch application

I took your patches from "49-1" and they apply nicely, but in the install phase there is error, likely the same as you get:

drivers/cpufreq/cpufreq-dt.c: In function 'cpufreq_init':
drivers/cpufreq/cpufreq-dt.c:342:3: error: label 'out_unregister_nb' used but not defined
   goto out_unregister_nb;
scripts/ recipe for target 'drivers/cpufreq/cpufreq-dt.o' failed
make[6]: *** [drivers/cpufreq/cpufreq-dt.o] Error 1

Likely the upstream code has changed somewhat. There may not be the goto target any more.