Qualcommax NSS Build

Hey @qosmio,

Nice to see you have made a new commit to your repo, although work has been demanding lately.

I thought I'd let you and everyone else know that your repo is unfortunately not buildable at the moment. At least my automated builder keeps failing.

I have a similar problem too on my WRX36, with the WAN not connecting. My last good build from repo is on 30 April.
It seems the pppoe-wan tunnel device is missing.

I haven''t been able to come up with a fix yet.

Thanks for the info. I'll look into the missing pppoe-wan tunnel device and I'll take a look at what commits were merged around april 30th and see If I can figure something out. If I manage to get it working Ill post my solution.

All good keep me posted. I'm on vacation for 3 weeks so I won't be able to look into it until I return. Cheers.

GCC 14 seems way less forgiving, you are not the only one struggling with it.

For now I would just stay with GCC 13 until the the OpenWRT devs have ironed out the wrinkles

1 Like

it is fine on my side ...what are the errors you are getting

@jkool702 @qosmio
Did either of you actually get pstore to work on DL-WRX36?

I tried last year while still in older kernels, but failed...
I think that one reason is the missing reserved memory entity in DTS.

Note: When I packaged ramoops to be a module in OpenWrt with https://github.com/openwrt/openwrt/commit/97158fe10e6090a8b21629df130734bac53f87ee , I needed to add that definition to R7800/XR500 DTS to enable the functionality with https://github.com/openwrt/openwrt/commit/cf346dfadf5b8a40ae814b6fc171d6a4c4b64b9c

But I have not found suitable memory range for DL-WRX36. I am thinking that the bootloader might be preventing using it, or something similar.

So, I am really curious if you actually found it working with just those kernel config items...

Ps.
The memory range reservation should be something is style of

--- a/target/linux/ipq807x/files/arch/arm64/boot/dts/qcom/ipq8072-dl-wrx36.dts
+++ b/target/linux/ipq807x/files/arch/arm64/boot/dts/qcom/ipq8072-dl-wrx36.dts
@@ -14,6 +14,21 @@
 	model = "Dynalink DL-WRX36";
 	compatible = "dynalink,dl-wrx36", "qcom,ipq8074";
 
+	reserved-memory {
+		#address-cells = <2>;
+		#size-cells = <2>;
+		ranges;
+
+		ramoops@42f80000 {
+			compatible = "ramoops";
+			reg = <0x0 0x42f80000 0x0 0x80000>;
+			record-size = <0x4000>;
+			console-size = <0x4000>;
+			ftrace-size = <0x4000>;
+			pmsg-size = <0x4000>;
+		};
+	};
+
 	aliases {
 		led-boot = &led_system_red;
 		led-failsafe = &led_system_red;

EDIT:
Interesting: kernel 5.15 has no reserved-memory definitions in upstream DTS, but 6.6 has, pointing to region around 0x4a600000 ... https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/arch/arm64/boot/dts/qcom/ipq8074.dtsi?h=v6.6.32#n84

None now. Very weird it failed 2 times before working with no changes on my end

1 Like

Hi! Guys, I would like to ask you to check the temperature using the built-in sensors on your routers. I checked it today on my RAX120 and was shocked that without load it’s 75 degrees and under load it’s 85-87 (Celsius).

Sorry for the "newbie" question. I am looking to get a 10-ish gigabit router (for use with PPPoE/VLAN-tagged WAN with a 10G-BASE-T XGS-PON ONT, with the "Tim" ISP in Italy, so 10 Gbps down / 2 Gbps up profile) and the QNAP Qhora 301W looks like a very attractive option.

If someone has or has had a similar setup, what NAT speeds are they able to actually get through this build? Does PPPoE hw offloading work with VLAN tagging on the WAN? Allegedly, it is around 8 Gbps on the stock firmware (which makes sense and is quite impressive given the overhead of PPPoE), but I'd much rather use OpenWrt. Thanks

I know that on mine the pstore kmod would at least load (seemingly) correctly with modprobe/insmod, but I never actually set it up and used it so I cant say if it actually worked or not. Sorry.

So I figured out a sorta hybrid approach that seems to work well (albeit is a bit tedious) and builds 99% of the build with GCC 14.

Details in this post, but basically I set up both GCC 13 and GCC 14 toolchains, build what I can with GCC 14, and [re]build just the ones that failed to compile using GCC 13. I switch between them by running make menuconfig and changing the selection for GCC version under "advanced developer settings > toolchain options".

I had to go through a few rounds of this before I could get through all the packages, but it worked (well the firmware built at least...I havent flashed it yet). All of the 7 or so packages that didnt compile under GCC 14 did compile (without needing any modifications) under GCC 13.

This approach worked for all but 1 of those 7-ish packages...wsdd2 didnt compile with GCC 14 and insisted on rebuilding itself every time make was called (so even though it compiled fine with GCC 13 that didnt help), but I got this one to compile with GCC 14 by adding -Wno-int-conversion to the target CFLAGS after everything else had already been built.

2 Likes

Would be great if you could make github issues for the packages. Thanks for your investigation!

You really want x86_64 for that.

1 Like

I know x86_64 is far better for that purpose, but the power consumption alone is making me shy away from that option. I already have two x86 machines (an ATX tower form-factor server and a NAS) running 24/7, and the wattage is insane.

Besides, my router is currently in a closet under my TV setup so cooling would be terrible in that scenario. And if I wanted to make my server also my router (maybe by upgrading from the i7-8700K to a more efficient and powerful i7-13700 or better), I'd have to also migrate to Proxmox or something and run my current Unraid from a VM (?) and pfSense or OpenWrt alongside it (I cannot afford losing network whenever I stop the Unraid "array").

How's the performance with 10 gigabit when running PPPoE in a VM (passing through a 2x10GbE NIC)?

So, easy way to use a virtual machine with OpenWrt via Proxmox or hyper-v with DDA (level 1 hypervisors) on one of your present machines

That is just a question of choosing the right hardware, my x86_64 router needs roughly a third less power than the ipq8065 router it replaced.

@qosmio - TL;DR: is there any chance that any of your NSS-related commits from the past few weeks would cause WAN to break if your ISP doesnt provide ip6 and only uses ip4?

so, Im now on rebuild number 6 or 7 and all of them have had no WAN connectivity, no matter what I try. Even setting it to use the same static address that it was previously assigned via DHCP from my ISP doesnt work. Everything else works perfectly, but nothing on WAN. ifconfig can bring wan UP and DOWN, but it never reports it as "RUNNING".

Now, being that there is no mention of this issue on the mainline build thread for the wrx36, its probably a fair guess that its something NSS related. when I reflash the image I built a month or so ago everything works so its not hardware. and the fact that @larrynz also has this issue on his wrx36 NSS build

would seem to indicate it isnt due to my rather extensively customized configuration. Furthermore, the fact that he is seemingly the only other wrx36 owner with this suggests that something beyond just using an NSS build is triggering this issue.

Looking through the commits made in the 1st 2 weeks of May. Out of the ones that apply at all to the WRX36, I only saw 3 or 4 that looked like they might be relevant:

The GRO/GSO-related ones caught my attention since I seem to remember some discussion about GRO/GSO being problematic a couple hundred messages previously in this thread. These patches seemed largely related to ip6, and it occurred to me that if your fix for those GRO/GSO problems was causing stuff to break without ip6 connectivity it would explain why Im having this problem while almost no one else is, why it worked with the same config a month ago, why it is only WAN thats broken while everything else works, and why trying damn near literally everything else I can think of to fix it hasnt worked.

So, @qosmio -- any chance Im on to something here? If not, any ideas for what might be causing this issue? THanks in advance for the help.

I would check mine, however, I am not sure how to get the statistics package to see the thermal sensors of this router. Did the thermal sensor just show up for you?
Also, I suspect the fan isn't supported yet for this device. I never hear it turn on.

For RAX120 I installed 3 packages - luci-app-statistics, lm-sensors and lm-sensors-detect to monitor temperature. I guess it will works for other routers too.