OpenWrt support for Linksys MX4200

Look at the link that @qosmio provided , the nns-setup, that has a specific config for mx4300. Get it from there.

question,

cloned repo, feeds update -a, feeds install -a, copied your mx4300 .config, the one from nss-setup link and when I do make defconfig i get the warnings below.

did I missed a step or the deps really missing?

$ make defconfig
Collecting package info: done
Collecting target info: done
WARNING: Makefile 'package/utils/audit/Makefile' has a dependency on 'libev', which does not exist
WARNING: Makefile 'package/utils/busybox/Makefile' has a dependency on 'libpam', which does not exist
WARNING: Makefile 'package/utils/busybox/Makefile' has a dependency on 'libpam', which does not exist
WARNING: Makefile 'package/utils/busybox/Makefile' has a build dependency on 'libpam', which does not exist
WARNING: Makefile 'package/boot/kexec-tools/Makefile' has a dependency on 'liblzma', which does not exist
WARNING: Makefile 'package/network/services/lldpd/Makefile' has a dependency on 'libnetsnmp', which does not exist
WARNING: Makefile 'package/kernel/mac80211/Makefile' has a dependency on 'kmod-qca-nss-drv', which does not exist
WARNING: Makefile 'package/kernel/mac80211/Makefile' has a dependency on 'kmod-qca-nss-drv-wifi-meshmgr', which does not exist
WARNING: Makefile 'package/kernel/mac80211/Makefile' has a dependency on 'kmod-qca-nss-drv', which does not exist
WARNING: Makefile 'package/utils/policycoreutils/Makefile' has a dependency on 'libpam', which does not exist
WARNING: Makefile 'package/utils/policycoreutils/Makefile' has a dependency on 'libpam', which does not exist
WARNING: Makefile 'package/utils/policycoreutils/Makefile' has a build dependency on 'libpam', which does not exist
#
# configuration written to .config
#

You might be able to just make menuconfig and exit while saving the config. That will get it to see it like it does when we compile the Linux kernel.

But but what am -I- missing though? Which directory is the sample config file in after you cloned the repo? When you say “copied your mx4300 .config, the one from nss-setup link” which nss-setup link are you talking about and how do I get it? Sorry if I am being dumb after 30 years of doing Linux.

Never mind. I got it.

Do you have a custom feeds.conf defined? If so, it won't pick up my nss feeds repos.

❯ cat feeds.conf.default
src-git packages https://git.openwrt.org/feed/packages.git
src-git luci https://git.openwrt.org/project/luci.git
src-git routing https://git.openwrt.org/feed/routing.git
src-git telephony https://git.openwrt.org/feed/telephony.git
src-git nss_packages https://github.com/qosmio/nss-packages.git;NSS-12.5-K6.x
src-git sqm_scripts_nss https://github.com/qosmio/sqm-scripts-nss.git
#src-git video https://github.com/openwrt/video.git
#src-git targets https://github.com/openwrt/targets.git
#src-git oldpackages http://git.openwrt.org/packages.git
#src-link custom /usr/src/openwrt/custom-feed

Add them if you are using a custom feeds.conf

src-git nss_packages https://github.com/qosmio/nss-packages.git;NSS-12.5-K6.x
src-git sqm_scripts_nss https://github.com/qosmio/sqm-scripts-nss.git

You'll want to copy over nss-setup/config-nss.seed

cp nss-setup/config-nss.seed .config
make defconfig

Just unboxed and installed @qosmio mx4300 branch, using config-nss.seed. Wasn't sure USB was working based on a previous comment, for me it's working fine as a tether interface with kmod-usb-net-rndis.

2 Likes

Hi Qosmio,

Your feeds.conf.default uses 12.5 for NSS, but your config.seed enables NSS_MESH. Should the feeds.conf.default use 11.4 instead? Thanks.

src-git nss_packages https://github.com/qosmio/nss-packages.git;NSS-12.5-K6.x

CONFIG_ATH11K_NSS_MESH_SUPPORT=y

I am doing a:

git clone https://github.com/qosmio/openwrt-ipq.git
cd openwrt-ipq
scripts/feeds update -a
scripts/feeds install -a
make defconfig
make

what am i doing wrong? feed.conf.default has the two entry that qosmio mentioned for the additional NSS and MX4300. none of the NSS or mx4300 stuff gets incorporated and installed from the feed when I do the above steps.

Yes, if using mesh it should be

--edit, he just explained that there is logic in NSS-12.5 which includes the option to build for 11.4.

When you use make defconfig, those it changes your target device to Arcadyan AW100? This is what I am seeing.
I also noticed when using make menu config, there is no option for mx4300.

yes, I am seeing the same behavior. custom feed packages pulled don't get merged/installed.

My branch names can be a little confusing, but NSS-12.5 includes the option to build for 11.4. There's a separate patches-11.4 for qca-nss-drv and qca-nss-clients

qca-nss-drv/patches
qca-nss-drv/patches-11.4
qca-nss-clients/patches
qca-nss-clients/patches-11.4

It was easier from a development standpoint to just have a single working area when I needed to push a patch for 11.4 or 12.x.

1 Like

rename feeds.conf.default to feeds.conf but there are other issues that need to be resolved and I suggest you wait until these are resolved.

Qosmio, do I have the build steps correctly above? Thanks for any help. I've tried to resolve this on my own but continue to struggle as scripts/feeds install -a doesn't seem to merge in the custom packages.

what are the correct build steps?

I can try renaming it, but feeds script logic and documentation says that it looks at either feeds.conf or feeds.conf.default so that shouldn't matter. happy to rename it and try.

So i've got 3 of the LN1301 / MX4300. 1 to keep on stock (for now) for a test comparison, and 2 that I've put lytr's build on (https://github.com/testuser7/openwrt/releases/tag/qualcommax-2540ea6). It's been a while since I've used OpenWRT at home and have mostly used it to turn old wireless routers into wireless extenders for family, so I don't know if some of the issues I've ran into are common OpenWRT, or specific to this hardware/build.

So I've only been testing these as dumb wireless APs, tinkering with meshing, etc. and not as actual routers. Most of my testing has been on radio2 (the faster 5ghz) since I was interested in the maximum speed. Here's the issues I've ran into that seem to be easy to reproduce:

  • In the Luci webui when setting up the access point, it lets you set the width to a higher value (160mhz) than it actually supports (80mhz). It seems like most of the time it just won't work until you correct it, but I believe at least on one occasion it did work but just limited it to 80mhz.
  • Behavior seems erratic when setting the encryption to "WPA2-PSK/WPA3-SAE Mixed" instead of just WPA2-PSK. I've had behavior where my laptop (PopOS using an Intel AX210 wireless card) can't even see the SSID being broadcast, but my Pixel 7 phone can. I've also had it where my laptop can see it and connect, but keeps getting disconnected and reconnected so frequently that the connection isn't feasibly usable. I saw one user state radio2 only worked for them on channels 157 or 161 and that did seem to fix/help the issue when using "WPA2-PSK/WPA3-SAE Mixed", but when using just WPA2-PSK then any channel seemed to work (I didn't try them all, but a random sampling).
  • Sometimes when changing/adding a new access point, before saving and applying the settings, the default "OpenWRT" access points are present again (despite me having deleted them first thing after getting Luci installed). I can revert the changes before I apply them, make the changes again, and it doesn't happen the next time. (this one seems not as easy to reproduce since it seems fairly random).
1 Like

ok, that solved one of the issues. many thanks for that. I can now build but, I did noticed that when you use make defconfig, it changes your target device to Arcadyan AW1000? This is what I am seeing.
I also noticed when using make menu config, there is no option for mx4300.

Make sure you clone his branch "qualcommax-6.x-nss-mx4300".

1 Like

Not sure about that.

when I left it as feeds.conf.default this is what I got.

$ make defconfig
Collecting package info: done
Collecting target info: done
WARNING: Makefile 'package/utils/audit/Makefile' has a dependency on 'libev', which does not exist
WARNING: Makefile 'package/utils/busybox/Makefile' has a dependency on 'libpam', which does not exist
WARNING: Makefile 'package/utils/busybox/Makefile' has a dependency on 'libpam', which does not exist
WARNING: Makefile 'package/utils/busybox/Makefile' has a build dependency on 'libpam', which does not exist
WARNING: Makefile 'package/boot/kexec-tools/Makefile' has a dependency on 'liblzma', which does not exist
WARNING: Makefile 'package/network/services/lldpd/Makefile' has a dependency on 'libnetsnmp', which does not exist
WARNING: Makefile 'package/kernel/mac80211/Makefile' has a dependency on 'kmod-qca-nss-drv', which does not exist
WARNING: Makefile 'package/kernel/mac80211/Makefile' has a dependency on 'kmod-qca-nss-drv-wifi-meshmgr', which does not exist
WARNING: Makefile 'package/kernel/mac80211/Makefile' has a dependency on 'kmod-qca-nss-drv', which does not exist
WARNING: Makefile 'package/utils/policycoreutils/Makefile' has a dependency on 'libpam', which does not exist
WARNING: Makefile 'package/utils/policycoreutils/Makefile' has a dependency on 'libpam', which does not exist
WARNING: Makefile 'package/utils/policycoreutils/Makefile' has a build dependency on 'libpam', which does not exist
#
# configuration written to .config
#

After I renamed it from feeds.conf.default to feeds.conf all these errors went away.

You only saw these errors if you modify the following line to use 11.4. You don't have to copy feeds.conf.default to feeds.conf. Just make sure you don't change anything in the original feeds.conf.default.

src-git nss_packages https://github.com/qosmio/nss-packages.git;NSS-12.5-K6.x

1 Like

jesus, how could i have missed this. that should do it!!