Created
August 12, 2025 18:15
-
-
Save joanbm/4e7f18febc2c25f5fdf8143a739dccd1 to your computer and use it in GitHub Desktop.
Tentative patch for broadcom-wl 6.30.223.271 driver for Linux 6.17-rc1
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| From 7c805f65d72befd067ad63387aaa94b764d3f70d Mon Sep 17 00:00:00 2001 | |
| From: =?UTF-8?q?Joan=20Bruguera=20Mic=C3=B3?= <[email protected]> | |
| Date: Sat, 28 Jun 2025 22:14:42 +0000 | |
| Subject: [PATCH] Tentative patch for broadcom-wl 6.30.223.271 driver for Linux | |
| 6.17-rc1 | |
| Some function prototype updates, rel. commit "wifi: cfg80211/mac80211: | |
| Add support to get radio index" (Roopni Devanathan, 15 Jun 2025) | |
| --- | |
| src/wl/sys/wl_cfg80211_hybrid.c | 28 ++++++++++++++++++++++++---- | |
| 1 file changed, 24 insertions(+), 4 deletions(-) | |
| diff --git a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c | |
| index fa9d75e..205c5dd 100644 | |
| --- a/src/wl/sys/wl_cfg80211_hybrid.c | |
| +++ b/src/wl/sys/wl_cfg80211_hybrid.c | |
| @@ -68,7 +68,11 @@ wl_cfg80211_scan(struct wiphy *wiphy, | |
| static s32 wl_cfg80211_scan(struct wiphy *wiphy, struct net_device *ndev, | |
| struct cfg80211_scan_request *request); | |
| #endif | |
| +#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 17, 0) | |
| +static s32 wl_cfg80211_set_wiphy_params(struct wiphy *wiphy, int radio_idx, u32 changed); | |
| +#else | |
| static s32 wl_cfg80211_set_wiphy_params(struct wiphy *wiphy, u32 changed); | |
| +#endif | |
| static s32 wl_cfg80211_join_ibss(struct wiphy *wiphy, struct net_device *dev, | |
| struct cfg80211_ibss_params *params); | |
| static s32 wl_cfg80211_leave_ibss(struct wiphy *wiphy, struct net_device *dev); | |
| @@ -87,7 +91,10 @@ static int wl_cfg80211_connect(struct wiphy *wiphy, struct net_device *dev, | |
| struct cfg80211_connect_params *sme); | |
| static s32 wl_cfg80211_disconnect(struct wiphy *wiphy, struct net_device *dev, u16 reason_code); | |
| -#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 8, 0) | |
| +#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 17, 0) | |
| +static s32 wl_cfg80211_set_tx_power(struct wiphy *wiphy, struct wireless_dev *wdev, int radio_idx, | |
| + enum nl80211_tx_power_setting type, s32 dbm); | |
| +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(3, 8, 0) | |
| static s32 | |
| wl_cfg80211_set_tx_power(struct wiphy *wiphy, struct wireless_dev *wdev, | |
| enum nl80211_tx_power_setting type, s32 dbm); | |
| @@ -99,7 +106,10 @@ static s32 wl_cfg80211_set_tx_power(struct wiphy *wiphy, | |
| enum tx_power_setting type, s32 dbm); | |
| #endif | |
| -#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 14, 0) | |
| +#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 17, 0) | |
| +static s32 wl_cfg80211_get_tx_power(struct wiphy *wiphy, struct wireless_dev *wdev, int radio_idx, | |
| + u32 link_id, s32 *dbm); | |
| +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(6, 14, 0) | |
| static s32 wl_cfg80211_get_tx_power(struct wiphy *wiphy, struct wireless_dev *wdev, u32 /*link_id*/, s32 *dbm); | |
| #elif LINUX_VERSION_CODE >= KERNEL_VERSION(3, 8, 0) | |
| static s32 wl_cfg80211_get_tx_power(struct wiphy *wiphy, struct wireless_dev *wdev, s32 *dbm); | |
| @@ -659,7 +669,11 @@ static s32 wl_set_retry(struct net_device *dev, u32 retry, bool l) | |
| return err; | |
| } | |
| +#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 17, 0) | |
| +static s32 wl_cfg80211_set_wiphy_params(struct wiphy *wiphy, int radio_idx, u32 changed) | |
| +#else | |
| static s32 wl_cfg80211_set_wiphy_params(struct wiphy *wiphy, u32 changed) | |
| +#endif | |
| { | |
| struct wl_cfg80211_priv *wl = wiphy_to_wl(wiphy); | |
| struct net_device *ndev = wl_to_ndev(wl); | |
| @@ -1093,7 +1107,10 @@ wl_cfg80211_disconnect(struct wiphy *wiphy, struct net_device *dev, u16 reason_c | |
| return err; | |
| } | |
| -#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 8, 0) | |
| +#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 17, 0) | |
| +static s32 wl_cfg80211_set_tx_power(struct wiphy *wiphy, struct wireless_dev *wdev, int radio_idx, | |
| + enum nl80211_tx_power_setting type, s32 dbm) | |
| +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(3, 8, 0) | |
| static s32 | |
| wl_cfg80211_set_tx_power(struct wiphy *wiphy, struct wireless_dev *wdev, | |
| enum nl80211_tx_power_setting type, s32 dbm) | |
| @@ -1154,7 +1171,10 @@ wl_cfg80211_set_tx_power(struct wiphy *wiphy, enum tx_power_setting type, s32 db | |
| return err; | |
| } | |
| -#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 14, 0) | |
| +#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 17, 0) | |
| +static s32 wl_cfg80211_get_tx_power(struct wiphy *wiphy, struct wireless_dev *wdev, int radio_idx, | |
| + u32 link_id, s32 *dbm) | |
| +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(6, 14, 0) | |
| static s32 wl_cfg80211_get_tx_power(struct wiphy *wiphy, struct wireless_dev *wdev, u32 /*link_id*/, s32 *dbm) | |
| #elif LINUX_VERSION_CODE >= KERNEL_VERSION(3, 8, 0) | |
| static s32 wl_cfg80211_get_tx_power(struct wiphy *wiphy, struct wireless_dev *wdev, s32 *dbm) | |
| -- | |
| 2.50.1 | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Hello all
Same case on Debian. With the patch of Satmandu I was able to install 6.17.3-x64v2-xanmod1 kernel and wifi is ok!
broadcom-sta-dkms/unstable,now 6.30.223.271-28 amd64 [installé]...
lspci -nnk | grep -i broad -A2
03:00.0 Network controller [0280]: Broadcom Inc. and subsidiaries BCM4313 802.11bgn Wireless Network Adapter [14e4:4727] (rev 01)
DeviceName: Broadcom 802.11n+BT combo module
Subsystem: Hewlett-Packard Company Device [103c:1483]
Kernel driver in use: wl
uname -a
Linux debian 6.17.3-x64v2-xanmod1 #0~20251016.g8be7ecd SMP PREEMPT_DYNAMIC Thu Oct 16 05:17:56 UTC x86_64 GNU/Linux