diff mbox series

[PATCHv2] backports: Update hwsim defconfig

Message ID 20220411073931.19198-1-Mathy.Vanhoef@kuleuven.be (mailing list archive)
State New, archived
Headers show
Series [PATCHv2] backports: Update hwsim defconfig | expand

Commit Message

Mathy Vanhoef April 11, 2022, 7:39 a.m. UTC
In the current hwsim config no rate control algorithm is enabled. This
means that, when using defconfig-hwsim, the mac80211_hwsim fails to load
with the following error:

	[  132.155183] ieee80211 phy0: Failed to select rate control algorithm
	[  132.155196] ieee80211 phy0: Failed to initialize rate control algorithm

Fix this by enabling rate control algorithms in the provided hwsim
config.

Experiments were also less reliable when WEXT was enabled. So this patch
also disables WEXT when using defconfig-hwsim to make the default more
reliable for users.

Signed-off-by: Mathy Vanhoef <Mathy.Vanhoef@kuleuven.be>
---
 backport/defconfigs/hwsim | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

Comments

Johannes Berg April 11, 2022, 7:58 a.m. UTC | #1
On Mon, 2022-04-11 at 15:39 +0800, Mathy Vanhoef wrote:
> In the current hwsim config no rate control algorithm is enabled. This
> means that, when using defconfig-hwsim, the mac80211_hwsim fails to load
> with the following error:
> 
> 	[  132.155183] ieee80211 phy0: Failed to select rate control algorithm
> 	[  132.155196] ieee80211 phy0: Failed to initialize rate control algorithm
> 
> Fix this by enabling rate control algorithms in the provided hwsim
> config.

Makes sense, thanks.

> Experiments were also less reliable when WEXT was enabled. So this patch
> also disables WEXT when using defconfig-hwsim to make the default more
> reliable for users.
> 

Huh? How so? Maybe some other tool was present on the system that was
using wext, and disabling wext made that tool no longer detect the
wireless or so? I cannot see how else it would be "less reliable" with
wext enabled, if you don't really use it.

johannes
--
To unsubscribe from this list: send the line "unsubscribe backports" in
Mathy Vanhoef May 18, 2022, 1:52 p.m. UTC | #2
On Mon, 11 Apr 2022 09:58:31 +0200
Johannes Berg <johannes@sipsolutions.net> wrote:

> On Mon, 2022-04-11 at 15:39 +0800, Mathy Vanhoef wrote:
> > In the current hwsim config no rate control algorithm is enabled.
> > This means that, when using defconfig-hwsim, the mac80211_hwsim
> > fails to load with the following error:
> > 
> > 	[  132.155183] ieee80211 phy0: Failed to select rate
> > control algorithm [  132.155196] ieee80211 phy0: Failed to
> > initialize rate control algorithm
> > 
> > Fix this by enabling rate control algorithms in the provided hwsim
> > config.  
> 
> Makes sense, thanks.
> 
> > Experiments were also less reliable when WEXT was enabled. So this
> > patch also disables WEXT when using defconfig-hwsim to make the
> > default more reliable for users.
> >   
> 
> Huh? How so? Maybe some other tool was present on the system that was
> using wext, and disabling wext made that tool no longer detect the
> wireless or so? I cannot see how else it would be "less reliable" with
> wext enabled, if you don't really use it.

I checked this in more detail: when using kernel 5.13.0-30-generic on
Ubuntu 20.04 with backports-5.15.5-1 the kernel crashes when adding
interfaces in case WEXT has been enabled in backports (in my case when
inserting mac80211_hwsim in a virtual machine). The problem is that
wdev->netdev is NULL inside the function cfg80211_init_wdev, causing
the kernel to hang. The same happens on kernel 5.15.40-1-lts on Arch
Linux (this is currently the most up-to-date LTS kernel on Arch Linux).

Interestingly, on kernel 5.13.0-41-generic on Ubuntu 20.04 this isn't a
problem because the field wdev->netdev is then initialized.
--
To unsubscribe from this list: send the line "unsubscribe backports" in
diff mbox series

Patch

diff --git a/backport/defconfigs/hwsim b/backport/defconfigs/hwsim
index 9d8006ea..7dda0cd9 100644
--- a/backport/defconfigs/hwsim
+++ b/backport/defconfigs/hwsim
@@ -1,11 +1,15 @@ 
 CPTCFG_CFG80211=m
 CPTCFG_CFG80211_DEFAULT_PS=y
 CPTCFG_CFG80211_DEBUGFS=y
-CPTCFG_CFG80211_WEXT=y
+# CPTCFG_CFG80211_WEXT is not set
 CPTCFG_MAC80211=m
+
 # CPTCFG_MAC80211_RC_PID is not set
-# CPTCFG_MAC80211_RC_MINSTREL is not set
-# CPTCFG_MAC80211_RC_DEFAULT_MINSTREL is not set
+CPTCFG_MAC80211_HAS_RC=y
+CPTCFG_MAC80211_RC_MINSTREL=y
+CPTCFG_MAC80211_RC_DEFAULT_MINSTREL=y
+CPTCFG_MAC80211_RC_DEFAULT="minstrel_ht"
+
 CPTCFG_MAC80211_DEBUGFS=y
 CPTCFG_MAC80211_MESSAGE_TRACING=y
 CPTCFG_WLAN=y