@kubrickfr Hmmm interesting. What happens if you use arinc9's new build?
Also, I see that you are using some of the old wifi config changes that never fixed the cutouts (things like option disassoc_low_ack '0'). I recommend reverting everything to stock/defaults so that we can do proper apples to apples comparisons.
@maxromanovsky This is a good question, and one that I haven't tested myself yet. What image are you running and do you have the install logs from when you ran the command?
just installed the latest firmware off of arinc9's github.. has anyone successfully installed sqm? I think forcing dependencies breaks since it hangs at configuring sqm-scripts.. Maybe I can install an older version with matching kernel dependencies, but will have to take a look later on since I'm heading out for a bit
I might have to make a custom repo with all packages that everyone can point their images at. We should see if we can make the official repos work for now, but if not, I can likely whip a custom repo together.
Here's what II still have. It's on @arinc921.02.1 build:
root@linksys3200:~# opkg update && opkg install openvpn-openssl ip-full luci-app-openvpn
Downloading https://downloads.openwrt.org/releases/21.02.1/targets/mvebu/cortexa9/packages/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_core
Downloading https://downloads.openwrt.org/releases/21.02.1/targets/mvebu/cortexa9/packages/Packages.sig
Signature check passed.
Downloading https://downloads.openwrt.org/releases/21.02.1/packages/arm_cortex-a9_vfpv3-d16/base/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_base
Downloading https://downloads.openwrt.org/releases/21.02.1/packages/arm_cortex-a9_vfpv3-d16/base/Packages.sig
Signature check passed.
Downloading https://downloads.openwrt.org/releases/21.02.1/packages/arm_cortex-a9_vfpv3-d16/luci/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_luci
Downloading https://downloads.openwrt.org/releases/21.02.1/packages/arm_cortex-a9_vfpv3-d16/luci/Packages.sig
Signature check passed.
Downloading https://downloads.openwrt.org/releases/21.02.1/packages/arm_cortex-a9_vfpv3-d16/packages/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_packages
Downloading https://downloads.openwrt.org/releases/21.02.1/packages/arm_cortex-a9_vfpv3-d16/packages/Packages.sig
Signature check passed.
Downloading https://downloads.openwrt.org/releases/21.02.1/packages/arm_cortex-a9_vfpv3-d16/routing/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_routing
Downloading https://downloads.openwrt.org/releases/21.02.1/packages/arm_cortex-a9_vfpv3-d16/routing/Packages.sig
Signature check passed.
Downloading https://downloads.openwrt.org/releases/21.02.1/packages/arm_cortex-a9_vfpv3-d16/telephony/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_telephony
Downloading https://downloads.openwrt.org/releases/21.02.1/packages/arm_cortex-a9_vfpv3-d16/telephony/Packages.sig
Signature check passed.
Installing openvpn-openssl (2.5.3-3) to root...
Downloading https://downloads.openwrt.org/releases/21.02.1/packages/arm_cortex-a9_vfpv3-d16/packages/openvpn-openssl_2.5.3-3_arm_cortex-a9_vfpv3-d16.ipk
Installing ip-full (5.11.0-3) to root...
Downloading https://downloads.openwrt.org/releases/21.02.1/packages/arm_cortex-a9_vfpv3-d16/base/ip-full_5.11.0-3_arm_cortex-a9_vfpv3-d16.ipk
Installing zlib (1.2.11-3) to root...
Downloading https://downloads.openwrt.org/releases/21.02.1/packages/arm_cortex-a9_vfpv3-d16/base/zlib_1.2.11-3_arm_cortex-a9_vfpv3-d16.ipk
Installing libelf1 (0.180-1) to root...
Downloading https://downloads.openwrt.org/releases/21.02.1/packages/arm_cortex-a9_vfpv3-d16/base/libelf1_0.180-1_arm_cortex-a9_vfpv3-d16.ipk
Installing libbpf0 (5.10.10-2) to root...
Downloading https://downloads.openwrt.org/releases/21.02.1/packages/arm_cortex-a9_vfpv3-d16/base/libbpf0_5.10.10-2_arm_cortex-a9_vfpv3-d16.ipk
Installing libmnl0 (1.0.4-2) to root...
Downloading https://downloads.openwrt.org/releases/21.02.1/packages/arm_cortex-a9_vfpv3-d16/base/libmnl0_1.0.4-2_arm_cortex-a9_vfpv3-d16.ipk
Installing luci-app-openvpn (git-21.188.55022-d943037) to root...
Downloading https://downloads.openwrt.org/releases/21.02.1/packages/arm_cortex-a9_vfpv3-d16/luci/luci-app-openvpn_git-21.188.55022-d943037_all.ipk
Installing luci-compat (git-21.099.45066-7bb2fc4) to root...
Downloading https://downloads.openwrt.org/releases/21.02.1/packages/arm_cortex-a9_vfpv3-d16/luci/luci-compat_git-21.099.45066-7bb2fc4_all.ipk
Configuring zlib.
Configuring libelf1.
Configuring libbpf0.
Configuring libmnl0.
Configuring ip-full.
Configuring luci-compat.
Configuring luci-app-openvpn.
Collected errors:
* pkg_hash_check_unresolved: cannot find dependency kernel (= 5.4.154-1-345456c5234da787004df250a0ea7bbd) for kmod-tun
* pkg_hash_fetch_best_installation_candidate: Packages for kmod-tun found, but incompatible with the architectures configured
* satisfy_dependencies_for: Cannot satisfy the following dependencies for openvpn-openssl:
* kernel (= 5.4.154-1-345456c5234da787004df250a0ea7bbd)
* opkg_install_cmd: Cannot install package openvpn-openssl.
And then separately:
root@linksys3200:~# opkg install --force-depends kmod-tun
Unknown package 'kmod-tun'.
Collected errors:
* pkg_hash_check_unresolved: cannot find dependency kernel (= 5.4.154-1-345456c5234da787004df250a0ea7bbd) for kmod-tun
* pkg_hash_fetch_best_installation_candidate: Packages for kmod-tun found, but incompatible with the architectures configured
* opkg_install_cmd: Cannot install package kmod-tun.
And then:
opkg install --force-depends openvpn-openssl ip-full luci-app-openvpn
Installing openvpn-openssl (2.5.3-3) to root...
Downloading https://downloads.openwrt.org/releases/21.02.1/packages/arm_cortex-a9_vfpv3-d16/packages/openvpn-openssl_2.5.3-3_arm_cortex-a9_vfpv3-d16.ipk
Installing kmod-tun (5.4.154-1) to root...
Downloading https://downloads.openwrt.org/releases/21.02.1/targets/mvebu/cortexa9/packages/kmod-tun_5.4.154-1_arm_cortex-a9_vfpv3-d16.ipk
Installing liblzo2 (2.10-4) to root...
Downloading https://downloads.openwrt.org/releases/21.02.1/packages/arm_cortex-a9_vfpv3-d16/packages/liblzo2_2.10-4_arm_cortex-a9_vfpv3-d16.ipk
Installing libopenssl1.1 (1.1.1l-1) to root...
Downloading https://downloads.openwrt.org/releases/21.02.1/packages/arm_cortex-a9_vfpv3-d16/base/libopenssl1.1_1.1.1l-1_arm_cortex-a9_vfpv3-d16.ipk
Package ip-full (5.11.0-3) installed in root is up to date.
Package luci-app-openvpn (git-21.188.55022-d943037) installed in root is up to date.
Configuring kmod-tun.
Configuring liblzo2.
Configuring libopenssl1.1.
Configuring openvpn-openssl.
Collected errors:
* pkg_hash_check_unresolved: cannot find dependency kernel (= 5.4.154-1-345456c5234da787004df250a0ea7bbd) for kmod-tun
* pkg_hash_fetch_best_installation_candidate: Packages for kmod-tun found, but incompatible with the architectures configured
* satisfy_dependencies_for: Cannot satisfy the following dependencies for openvpn-openssl:
* kernel (= 5.4.154-1-345456c5234da787004df250a0ea7bbd)
I just tried some kmods as well. Can confirm the router won't boot.
Short answer for why this is happening:
Normally, we're supposed to compile kernel modules to specifically load for the kernel that we run. Everytime the kernel tries to load these kernel modules, it probably panics hence the reason the router boots to the second partition instead.
Maybe @adworacz can host ipks of the most popular kmods compiled for our version of the kernel. Those should install without opkg warnings and work fine.
You should do that, I'll include your feed on my images when it's ready.
For anyone who can compile their own builds, just clone my branch and enable whatever programs you want on the menuconfig. @adworacz will do the same and host the ipks on their feed.
I have spent a full day running @adworacz builds and another full day running @arinc9 builds on my WRT3200ACM and I just wanted to confirm that the wireless cutouts are definitely fixed.
If kmod packages are compiled, would they be compatible with both builds?
I assume kernels in both builds would have to be compiled with identical settings.
I have an idea. What if both builds follow the exact same building procedure for mac80211 and kernel built following @arinc9 method?
If we can achieve some kernel compatibility between the two builds so that kmod packages can be used by both, that would be best for the community.
Possibly @adworacz builds can be more like a community build resembling Davidc502 builds with additional packages included, customized, etc.?
Possibly @arinc9 builds can be like a vanilla OpenWrt for users who prefer to start from scratch with a base build just like official builds?
Both builds follow Stable channel releases but follow same kernel and mac89211 to hopefully remain compatible for kmod package purposes.
This is really just a rough idea and suggestions. But hopefully as a community of mwlwifi/WRT enthusiasts, we can all share some opinions and suggestions on this.
Personally, I prefer a bare bones vanilla build and do my own customizations. But I also know that a lot of community members like having everything they need already there.
Let's start with something simple. For now, I plan to add @adworacz's upcoming feed on my build. Anyone can install additional packages using opkg using this feed.
If, as you said, there's demand for builds with a set of packages preinstalled, we can just make another build and put it on the same post.
@arinc9 Is your build config hosted anywhere? I want to make sure that I build packages that are compatible with your kernel hash, and the safest way is if I can just take your existing build config and then turn on all package builds.
I cloned your branch and got a compile error related to ZD1211FW. I compared your Makefile to the one @adworacz made and he did not delete line 448 as you did in your last commit. Is that line needed? I put the line back in and started compiling again but my computer is so slow, I may not know if that gets me past my compile error anytime soon.
All I do is choose Target System & Target Profile, then enable luci-ssl under LuCI > 1. Collections on the default config. I don't have this config anymore as I use MPTCPv0 along with a few custom userspace tools so you should just do the steps above to replicate it.
Do not enable any packages under Kernel modules > Wireless Drivers, they compile under mac80211 package which will fail to do so.
I figured out what was causing interference and therefore fluctuations in my wireless speeds a few days ago.
I removed kmod-btmrvl and kmod-bluetooth which are associated with the Bluetooth functionality that is a component of radio2(88W8887/mwifiex) on these WRT3200ACM/WRT32X devices. radio2 was not configured in my wireless config nor was it enabled. So I don't know if it's Bluetooth module could have still been initializing somehow when OpenWrt boots up or not.
After removing those, and no other changes, my wireless speeds have been at a consistent maximum and zero fluctuations.
Are you absolutely certain that you had fluctuations on Wi-Fi and removing the bluetooth kernel modules you described absolutely prevented them? I know it's hard to come up with rock solid results when we're diagnosing something like this.
I'm going to run a few stress tests with iperf3, with and without the bluetooth kernel modules.
Yes, but it was not an issue until later in the day when the two devices with Bluetooth enabled connected to the network. At that point those were the only two devices on the network. An iPhone XR and an ultrabook both with Bluetooth enabled. However that Ultrabook never had issues before.
That is when I checked the syslog and saw mention about Bluetooth during init.
After removing those modules there is no more issue and also no mention in syslog of Bluetooth during init.
I'm taking a crack at this right now, building against your v21.02.1-mvebu tag. I had some false starts, so we'll see how this actually pans out. Currently downloading the mountain of every package...
Edit: Lordy this is finicky. I completed an attempt to build all packages locally with a moderate level of success. A number of feed packages failed to build in the process, so I'm not 100% on posting the results yet.
I've put together a way of using the same Docker setup that OpenWrt's Buildbot fleet uses, albeit modified for my convenience (local builds, no actual Buildbot integration).
I'm having that run through its paces to see what happens. Might be the most reproducible setup I can create, considering it's built from the OpenWrt build fleet setup.
One thing I did notice - this might produce a kernel hash that's incompatible with the existing image you posted @arinc9 . I'm not 100% just yet, and I need to tweak the build config a bit more, but it's possible that disabling (almost) everything in Kernel modules > Wireless Drivers produces a different hash. I've still got the required bits on per the target profiles, but it's been finicky.
Worst comes to worst - we just use the image that's produced, since that's guaranteed to be compatible with the rest of the repo.