OpenWrt support for Linksys MX4200

Thanks. :slight_smile:

I ran and no changes I guess?

fed@Chronos:~/ow/mx4300$ git pull
Already up to date.

fed@Chronos:~/ow/mx4300$ ll
total 472
drwxr-xr-x 22 fed fed   4096 Sep 11 10:58 ./
drwxr-xr-x  3 fed fed   4096 Sep 10 17:12 ../
drwxr-xr-x 19 fed fed   4096 Sep 10 17:48 .ccache/
-rw-r--r--  1 fed fed 283881 Sep 10 18:46 .config
-rw-r--r--  1 fed fed   4876 Sep 10 18:46 .config.old
drwxr-xr-x  3 fed fed   4096 Sep 10 16:37 .devcontainer/
drwxr-xr-x  8 fed fed   4096 Sep 12 15:01 .git/
-rw-r--r--  1 fed fed      8 Sep 10 16:37 .gitattributes
drwxr-xr-x  4 fed fed   4096 Sep 10 16:37 .github/
-rw-r--r--  1 fed fed    362 Sep 10 16:37 .gitignore
-rw-r--r--  1 fed fed    106 Sep 10 16:37 BSDmakefile
-rw-r--r--  1 fed fed    284 Sep 10 16:37 COPYING
-rw-r--r--  1 fed fed    699 Sep 10 16:37 Config.in
drwxr-xr-x  2 fed fed   4096 Sep 10 16:37 LICENSES/
-rw-r--r--  1 fed fed   4233 Sep 10 16:37 Makefile
-rw-r--r--  1 fed fed   4296 Sep 10 16:37 README.md
drwxr-xr-x  4 fed fed   4096 Sep 10 20:03 bin/
drwxr-xr-x  6 fed fed   4096 Sep 10 20:03 build_dir/
drwxr-xr-x  2 fed fed   4096 Sep 10 16:37 config/
drwxr-xr-x  2 fed fed  12288 Sep 10 20:45 dl/
drwxr-xr-x 14 fed fed   4096 Sep 10 18:45 feeds/
-rw-r--r--  1 fed fed    590 Sep 10 16:37 feeds.conf.default
drwxr-xr-x  3 fed fed   4096 Sep 11 10:58 files/
drwxr-xr-x  3 fed fed   4096 Sep 10 16:37 include/
-rw-r--r--  1 fed fed    176 Sep 10 20:07 key-build
-rw-r--r--  1 fed fed     92 Sep 10 20:07 key-build.pub
-rw-r--r--  1 fed fed    356 Sep 10 20:07 key-build.ucert
-rw-r--r--  1 fed fed    260 Sep 10 20:07 key-build.ucert.revoke
drwxr-xr-x  3 fed fed   4096 Sep 10 16:37 nss-setup/
drwxr-xr-x 12 fed fed   4096 Sep 10 16:42 package/
-rw-r--r--  1 fed fed  15812 Sep 10 16:37 rules.mk
drwxr-xr-x  4 fed fed   4096 Sep 10 16:37 scripts/
drwxr-xr-x  7 fed fed   4096 Sep 10 20:46 staging_dir/
drwxr-xr-x  7 fed fed   4096 Sep 10 16:37 target/
drwxr-xr-x  4 fed fed  20480 Sep 10 21:02 tmp/
drwxr-xr-x 12 fed fed   4096 Sep 10 16:37 toolchain/
drwxr-xr-x 74 fed fed   4096 Sep 10 16:37 tools/

Yes. Your menu should show.

1 Like

Thank you. Compiling now.

1 Like

Correct, as I haven't rebased with upstream. I do whenever there's a change specific to the qualcommax platform, kernel, or any of the default system packages.

The current commits for example are not for this platform, so I haven't rebased.

โฏ git diff --name-only 0db6f9a856..c7ba5574f5
package/boot/arm-trusted-firmware-rockchip/Makefile
package/boot/uboot-rockchip/Makefile
package/utils/ucode/Makefile
target/linux/ipq40xx/image/generic.mk
target/linux/ramips/dts/mt7628an_yuncore_cpe200.dts
target/linux/ramips/dts/mt7628an_yuncore_m300.dts
target/linux/rockchip/image/armv8.mk
1 Like

NSS introduces A LOT of changes, that a simple sysupgrade is advised against. The only base configs you should be ok to carry over are:

/etc/config/dhcp
/etc/config/wireless

FWIW, have 2x MX4300 in within 20" of each other - @lytr's build 59C, @qosmio's - 61C. Minimal load on both.

Yup, expected (and normal), as you're using the physical NSS cores to offload everything.

1 Like

Oh we got nss working now??, can I know where to get qosmios build from, my server died so I can't build

Edit: oh it's mx4300 not 4200 my bad

@qosmio In your branch I am able to build but if I enable wireguard it fails due to this error. Do I need to update the package hash?

2024-09-12T13:38:59.2196042Z Collected errors:
2024-09-12T13:38:59.2197144Z  * pkg_hash_check_unresolved: cannot find dependency ip for wireguard-tools
2024-09-12T13:38:59.2198637Z  * pkg_hash_check_unresolved: cannot find dependency ip for wireguard-tools
2024-09-12T13:38:59.2200731Z  * pkg_hash_fetch_best_installation_candidate: Packages for wireguard-tools found, but incompatible with the architectures configured

There are bunch of builds in this thread, including for MX4200: Qualcommax NSS Build - #3752 by dtr

Ah thanks for that

I'm following the steps provided by @qosmio to build the firmware, but when I run the command make defconfig V=s, I get several prompts with menus and submenus. I'm not sure what options I should select.

Can someone guide me on how to handle these prompts or what selections are needed to proceed with the build?

git clone https://github.com/qosmio/openwrt-ipq mx4300 -b qualcommax-6.x-nss-mx4300
cd mx4300
./scripts/feeds update
./scripts/feeds install -a
cp nss-setup/config-nss.seed .config
make deconfig V=s

Thank you

It is

make defconfig V=s -j4

and you have a typo there.

Can I get some help from the wisdom of this group? I have built @qosmio's NSS version of MX4300 firmware and flash it to my device. After flashing my router is soft-bricked and I have to enter failsafe mode to restore. I'm seeing that the SSID (OpenWrt) is actually up, but I can't ping 192.168.1.1 either connected via static IP using wired or wireless. Getting OpenWrt to failsafe allowed me to ssh into it, but I have no clue how to further diagnose this. Any help from @qosmio or anyone successfully built and running the firmware on their device would be great.

Here are some other things I have tested / ruled out.

  1. I've went through the discussion in this thread and made sure I didn't misunderstand any steps to build this as best as I could.
  2. I've built this on my own Ubuntu host and also tried a custom github action. Both builds get the same outcome.
  3. I've made sure I'm on the right branch (qualcommax-6.x-nss-mx4300)
  4. I've tested lytr's build and it works.
  5. I've also made sure I got the MX4300 stock firmware, not HOMEWRK, based on the web UI screenshot from the thread.
  6. I've made sure I do not mistaken mx4200 v.s. mx4300

Here are things I might be doing a bit differently:

  1. I did not customize 03-uci-defaults as I think this is for mesh nodes and it shouldn't affect whether I boot into OpenWrt
  2. Also I only do make defconfig with the seed config file in nss-setup folder.

For whom might be willing to help further and know how to unbrick (please do not try this if you are not, this is a NON WORKING build, only for experts to help me out), you can download the build from Release qualcommax-c7eac27 ยท henryouly/openwrt-ipq (github.com), again I have warned this build will not work and will likely brick the device.

BTW, @qosmio if I'm able to address the issue, would you mind to integrate the github action back to your branch so it can make anyone else a flavor to avoid having to build by their own? Otherwise I can maintain the github action in my fork.

Thanks everyone for reading and advice.

I forgot to mention, for reference, Build Qualcomm AX ยท henryouly/openwrt-ipq@c7eac27 (github.com) is the history of the build action (just in case I miss a step there)

Since you can ssh into it, can you install luci and try it out? I am not sure whether luci package is included in your build or not.

I tried. Since the device doesn't connect to my internet (DHCP). opkg update fails.

Also from my understanding even I don't have LuCI I should be able to ping 192.168.1.1 when I set my static IP to the same subnet. Right?

Yes. But, you already logged into the router using ssh. I am not sure whether this will help but since you are stuck, maybe, give it a try?

mount_root ## this remounts your partitions from read-only to read/write mode

firstboot ## This will reset your router after reboot

reboot -f ## And force reboot

1 Like

Does NSS work right out of the box after flashing your build? Or are there other things to be turned on?

Offloading For LAN/WAN/WiFi enabled by default.

1 Like