Users needed to test Wi-Fi stability on Linksys WRT3200ACM & WRT32X on OpenWrt 21.02

You assume incorrectly. These problems are not fixed on 21.02 with the WRT3200ACM. Peter's comments were with respect to the WRT1900ACS.

1 Like

You've run into the inverse of my statement when replying to @WildByDesign above:

Basically, the build that I created uses a newer version of the Linux Kernel than what's used in 21.02.1.

That said, if I build against the exact same commit that the OpenWRT devs used to create 21.02.1 it should work.

Also, you're approach is interesting - manually installing the mac80211 kmod package to overwrite the existing package on other images. That might be the lowest impact change that other people can make to fix this issue on their own routers. I like it.

I think all this means that I need to make a 1:1 21.02.1 compatible image/set of packages. Once I do that, trying your approach @kevdel again would be worth a shot.

I'm currently putting a site together with better instructions on the current state of these WRT3200ACM / WRT32X routers and how to recreate my builds for anyone to use.

Once I have a moment free, I'll create a new (hopefully compatible) build.

1 Like

@adworacz

happy to help where possible

Okay, I've got a full write up here: https://austindw.com/wrt3200acm-wrt32x-builds/

Specific build instructions for those who want to 'DIY' it at home can be found here: https://austindw.com/wrt3200acm-wrt32x-builds/#diy-instructions

I'm working on a new build from the v21.02.1 git tag that should be fully compatible with the 21.02.1 repositories and hopefully allow for direct install of the kmod-mac80211 package as a fix.

1 Like

Okay, a new build r16325-88151b8303 that should be 100% compatible with 21.02.1 is up:

https://openwrt.austindw.com/linksys-wrt/working-wireless/r16325/

Updated my site as well: https://austindw.com/wrt3200acm-wrt32x-builds/#r16325-88151b8303

@kevdel - Try installing the kmod-mac80211 package from this build and see what happens on your 21.02.1 install. You'll need to reboot after installing. I recommend having a copy of the existing kmod-mac80211 package lying around in case you need to swap back.

3 Likes

@adworacz

root@OpenWrt:/mnt/sda1/wifi# opkg install kmod-mac80211_5.4.154\+5.7.5-1-1_arm_cortex-a9_vfpv3-d16.ipk
Package kmod-mac80211 (5.4.154+5.10.68-1-1) installed in root is up to date.
Collected errors:
 * pkg_hash_check_unresolved: cannot find dependency kernel (= 5.4.154-1-729b57a3fdf9042fc369f65cb352985a) for kmod-mac80211
root@OpenWrt:/mnt/sda1/wifi#

Huhhhhh... Looks like I need to do some more digging...

Edit - we might be able to just force (using one of the --force* flags) the install anyways. This is the exact same kernel version, so it's a pretty safe thing to force.

I'm not sure why the hash at the end is different. I'm not sure if it's a commit hash or something else, so it's a little difficult to tell what the source of the difference is.

Edit2 - it doesn't appear to be a commit hash, as the Linux kernel git history has no reference to those two hashes AND the hashes are suspiciously shorter in length than a standard commit hash. So that makes me thing it's some other kind of hash, which might be different just because of my build config being different than OpenWrt's.

First attempt.
Going to try some more force switches

369f65cb352985a) for kmod-mac80211
root@OpenWrt:/mnt/sda1/wifi# opkg install --force-depends --force-downgrade kmod-mac80211_5.4.154\+5.7.5-1-1_arm_cortex-a9_vfpv3-d16.ipk
Package kmod-mac80211 (5.4.154+5.10.68-1-1) installed in root is up to date.
Collected errors:
 * pkg_hash_check_unresolved: cannot find dependency kernel (= 5.4.154-1-729b57a3fdf9042fc369f65cb352985a) for kmod-mac80211
root@OpenWrt:/mnt/sda1/wifi# 

Edit - Retested with --force-checksum , --force-maintainer with the same result

Edit - also ran with --force-reinstall with the same result

Edit - maybe something in here is useful

root@OpenWrt:/mnt/sda1/wifi# opkg info kmod-mac80211
Package: kmod-mac80211
Version: 5.4.154+5.10.68-1-1
Depends: kernel (= 5.4.154-1-345456c5234da787004df250a0ea7bbd), kmod-cfg80211, hostapd-common
Status: install user installed
Section: kernel
Architecture: arm_cortex-a9_vfpv3-d16
Size: 290656
Filename: kmod-mac80211_5.4.154+5.10.68-1-1_arm_cortex-a9_vfpv3-d16.ipk
Description: Generic IEEE 802.11 Networking Stack (mac80211)
Installed-Time: 1636695186

Package: kmod-mac80211
Version: 5.4.154+5.7.5-1-1
Depends: kernel (= 5.4.154-1-729b57a3fdf9042fc369f65cb352985a), kmod-cfg80211, hostapd-common
Status: install prefer not-installed
Architecture: arm_cortex-a9_vfpv3-d16

root@OpenWrt:/mnt/sda1/wifi#
1 Like

Roger. I think I found a way to hack it. We can just overwrite the kernel module file itself, or I can create a new package with the changed hash. Trying the latter first, since its easy to distribute.

@kevdel - try this hacked up ipk file instead: https://openwrt.austindw.com/linksys-wrt/working-wireless/testing/kmod-mac80211_5.4.154+5.7.5-1-1_arm_cortex-a9_vfpv3-d16.ipk

I might have screwed it up, but its worth a shot. I'll also uploaded the kernel module directly, so you can manually overwrite the file at /lib/modules/5.4.154/mac80211.ko if need be: https://openwrt.austindw.com/linksys-wrt/working-wireless/testing/mac80211.ko

Tried with `-noaction' first to make sure

oot@OpenWrt:/mnt/sda1/wifi/hash-test# opkg install --noaction kmod-mac80211_5.4.154\+5.7.5-1-1_arm_cortex-a9_vfpv3-d16.ipk
Package kmod-mac80211 (5.4.154+5.10.68-1-1) installed in root is up to date.
Collected errors:
 * pkg_hash_check_unresolved: cannot find dependency kernel (= 5.4.154-1-729b57a3fdf9042fc369f65cb352985a) for kmod-mac80211

Edit - Overwriting the kernel module and a reboot caused the wifi to NOT come back up. I need to go switch to a laptop and restore the 21.02.1 mac80211.ko so I'll be back in a bit

Double check you're using the right file - I just did the same thing with my router and it (correctly in my case) rejected with the 345456c5234da787004df250a0ea7bbd hash. Which implies you are using the old ipk in your --noaction attempt above.

root@OpenWrt:/tmp# opkg install --noaction kmod-mac80211_5.4.154\+5.7.5-1-1_arm_cortex-a9_vfp
v3-d16.ipk
Package kmod-mac80211 (5.4.158+5.7.5-1-1) installed in root is up to date.
Collected errors:
 * pkg_hash_check_unresolved: cannot find dependency kernel (= 5.4.154-1-345456c5234da787004df250a0ea7bbd) for kmod-mac80211

I think the new lines have to come before the exit command, or else they will only be a placebo. You can also edit them through luci System > Startup > Local Startup

My /etc/rc.local is:

root@OpenWrt:~# cat /etc/rc.local
# Put your custom commands here that should be executed once
# the system init finished. By default this file does nothing.
#fix wifi bug
echo "0" >> /sys/kernel/debug/ieee80211/phy0/mwlwifi/tx_amsdu
echo "0" >> /sys/kernel/debug/ieee80211/phy1/mwlwifi/tx_amsdu

Yeah, i was worrying about mixing ipks up but I was keeping track as close as I could

So i cleared everything to reset and using this ipk
https://openwrt.austindw.com/linksys-wrt/working-wireless/testing/kmod-mac80211_5.4.154+5.7.5-1-1_arm_cortex-a9_vfpv3-d16.ipk

and opkg install -noaction kmod-mac80211_5.4.154+5.7.5-1-1_arm_cortex-a9_vfpv3-d16.ipk

I get the same error

root@OpenWrt:/mnt/sda1/wifi/hash-test# ls -la
drwxr-xr-x    2 root     root          4096 Nov 12 00:14 .
drwxr-xr-x    4 root     root          4096 Nov 11 23:57 ..
-rw-r--r--    1 root     root        288220 Nov 12 00:14 kmod-mac80211_5.4.154+5.7.5-1-1_arm_cortex-a9_vfpv3-d16.ipk
root@OpenWrt:/mnt/sda1/wifi/hash-test# opkg install -noaction kmod-mac80211_5.4.154\+5.7.5-1-1_arm_cortex-a9_vfpv3-d16.ipk
Package kmod-mac80211 (5.4.154+5.10.68-1-1) installed in root is up to date.
Collected errors:
 * pkg_hash_check_unresolved: cannot find dependency kernel (= 5.4.154-1-729b57a3fdf9042fc369f65cb352985a) for kmod-mac80211
root@OpenWrt:/mnt/sda1/wifi/hash-test#

edit - this was after the original kmod-mac80211.ko was restored on a 21.02.1 install

Indeed, as @adworacz states my wifi problems were solved with a different solution due to the different chip on 1900 vs 3200. But the solution for the 3200 in this thread looks promising. In your shoes I'd give a try to the builds adworacz is posting here.

2 Likes

exit 0 must remain or must be deleted?

Regarding the manual attempts to install kmod-mac80211, you will probably need to also install the identical version of kmod-cfg80211 as it is a dependency of the other.

Both work.

1 Like

Remove it, but it does not matter. You don’t need to change exit code here at all.

1 Like

Edit: I just want to note that this post is referring to known affected builds, not the recent good builds.

I was able to successfully reproduce the wireless cutouts in my laptop by swapping out the Atheros wifi chip for an older Intel 7260 wifi chip.

The cutouts were horrendous just as they are with my iPhone XR.

However, unfortunately, I was unable to resolve the cutouts by changing any of the 21 advanced wireless options for the Intel 7260 wifi chip driver on the client device.

I was hoping to reproduce it and than resolve it for the purpose of narrowing down a specific client device driver option which would then hopefully help us track down a possible trigger source for the main issue.

Intel wifi chips and mwlwifi have a history of not working well together.

The source of the wireless cutout issue remains a mystery for now. But I do wonder how many of these client devices have an Intel wireless chip in them.