FS#69045 - [broadcom-wl-dkms] interface broken (BCM4352)
Attached to Project:
Community Packages
Opened by gamezelda (gamezelda) - Sunday, 20 December 2020, 22:45 GMT
Last edited by Alexander F. Rødseth (xyproto) - Tuesday, 22 December 2020, 14:54 GMT
Opened by gamezelda (gamezelda) - Sunday, 20 December 2020, 22:45 GMT
Last edited by Alexander F. Rødseth (xyproto) - Tuesday, 22 December 2020, 14:54 GMT
|
Details
Description:
I have some Asus a device with a Broadcom chip (BCM4352). If I install the broadcom-wl-dkms 6.30.223.271-24 package from testing (with corresponding linux 5.10.1.arch1-1 kernel from testing), the network interface still shows up but it doesn't work, and some kernel messages are printed and it doesn't work in NetworkManager. I have been testing Linux 5.10 release candidates for some months and using this patch instead without problems so far for my network adapter: https://gist.github.com/joanbm/5c640ac074d27fd1d82c74a5b67a1290 (it should apply cleanly over the full set of patches of broadcom-wl-dkms 6.30.223.271-23). Additional info: * package version(s): broadcom-wl-dkms 6.30.223.271-24 * config and/or log files etc.: Included below * link to upstream bug report, if any: None, I think upstream is dead? Steps to reproduce: Upgrade to broadcom-wl-dkms 6.30.223.271-24 and try to connect to the network with NetworkManager Logs: $ lspci -v | grep -i broadcom 25:00.0 Network controller: Broadcom Inc. and subsidiaries BCM4352 802.11ac Wireless Network Adapter (rev 03) $ journalctl -e | egrep -i -B 3 -A 3 "wl|broadcom" Dez 20 23:28:06 SOL kernel: EDAC amd64: Node 0: DRAM ECC disabled. Dez 20 23:28:06 SOL kernel: wl: loading out-of-tree module taints kernel. Dez 20 23:28:06 SOL kernel: wl: module license 'MIXED/Proprietary' taints kernel. Dez 20 23:28:06 SOL kernel: Disabling lock debugging due to kernel taint Dez 20 23:28:06 SOL kernel: wl: module verification failed: signature and/or required key missing - tainting kernel Dez 20 23:28:06 SOL kernel: EDAC amd64: F17h detected (node 0). Dez 20 23:28:06 SOL kernel: EDAC amd64: Node 0: DRAM ECC disabled. Dez 20 23:28:06 SOL kernel: ERROR @wl_dev_intvar_get : Dez 20 23:28:06 SOL kernel: error (-14) Dez 20 23:28:06 SOL kernel: ERROR @wl_cfg80211_get_tx_power : Dez 20 23:28:06 SOL kernel: error (-14) Dez 20 23:28:06 SOL kernel: wlan0: Broadcom BCM43b1 802.11 Hybrid Wireless Controller 6.30.223.271 (r587334) Dez 20 23:28:06 SOL kernel: -- Dez 20 23:28:06 SOL systemd-udevd[474]: ethtool: autonegotiation is unset or enabled, the speed and duplex are not writable. Dez 20 23:28:06 SOL kernel: wl 0000:25:00.0 wlp37s0: renamed from wlan0 Dez 20 23:28:06 SOL kernel: snd_hda_codec_realtek hdaudioC1D0: autoconfig for ALC892: line_outs=3 (0x14/0x15/0x16/0x0/0x0) type:line -- Dez 20 23:28:08 SOL NetworkManager[642]: <info> [1608503288.5485] dns-mgr[0x5555b0c96220]: init: dns=default,systemd-resolved rc-manager=symlink (auto) Dez 20 23:28:08 SOL NetworkManager[642]: <info> [1608503288.5490] rfkill0: found Wi-Fi radio killswitch (at /sys/devices/pci0000:00/0000:00:01.3/0000:03:00.2/0000:20:04.0/0000:25:00.0/ieee80211/phy0/rfkill0) (driver wl) Dez 20 23:28:08 SOL NetworkManager[642]: <info> [1608503288.5491] manager[0x5555b0cbe030]: rfkill: Wi-Fi hardware radio set enabled -- Dez 20 23:28:08 SOL dockerd[664]: time="2020-12-20T23:28:08.772572454+01:00" level=info msg="ClientConn switching balancer to \"pick_first\"" module=grpc Dez 20 23:28:08 SOL NetworkManager[642]: <info> [1608503288.9095] manager: (wlp37s0): new 802.11 Wi-Fi device (/org/freedesktop/NetworkManager/Devices/3) Dez 20 23:28:08 SOL NetworkManager[642]: <info> [1608503288.9103] device (wlp37s0): state change: unmanaged -> unavailable (reason 'managed', sys-iface-state: 'external') Dez 20 23:28:08 SOL kernel: r8169 0000:22:00.0 enp34s0: Link is Down Dez 20 23:28:08 SOL kernel: ERROR @wl_dev_intvar_get : Dez 20 23:28:08 SOL kernel: error (-14) Dez 20 23:28:08 SOL kernel: ERROR @wl_cfg80211_get_tx_power : Dez 20 23:28:08 SOL kernel: error (-14) -- Dez 20 23:28:08 SOL NetworkManager[642]: <info> [1608503288.9663] manager: (lxcbr0): new Bridge device (/org/freedesktop/NetworkManager/Devices/4) Dez 20 23:28:08 SOL kernel: ERROR @wl_set_mode : Dez 20 23:28:08 SOL kernel: WLC_SET_INFRA error (-14) Dez 20 23:28:08 SOL kernel: ERROR @wl_update_wiphybands : Dez 20 23:28:08 SOL kernel: error (-14) Dez 20 23:28:08 SOL kernel: ERROR @wl_dev_intvar_get : Dez 20 23:28:08 SOL kernel: error (-14) Dez 20 23:28:08 SOL kernel: ERROR @wl_cfg80211_get_tx_power : Dez 20 23:28:08 SOL kernel: error (-14) -- Dez 20 23:28:09 SOL systemd[1]: Started WPA supplicant. Dez 20 23:28:09 SOL kernel: ERROR @wl_dev_intvar_get : Dez 20 23:28:09 SOL kernel: error (-14) Dez 20 23:28:09 SOL wpa_supplicant[730]: Could not set interface wlp37s0 flags (UP): Operation not permitted Dez 20 23:28:09 SOL wpa_supplicant[730]: nl80211: Could not set interface 'wlp37s0' UP Dez 20 23:28:09 SOL wpa_supplicant[730]: nl80211: deinit ifname=wlp37s0 disabled_11b_rates=0 Dez 20 23:28:09 SOL wpa_supplicant[730]: Could not set interface wlp37s0 flags (UP): Operation not permitted Dez 20 23:28:09 SOL wpa_supplicant[730]: WEXT: Could not set interface 'wlp37s0' UP Dez 20 23:28:09 SOL wpa_supplicant[730]: wlp37s0: Failed to initialize driver interface Dez 20 23:28:09 SOL NetworkManager[642]: <error> [1608503289.0249] device (wlp37s0): Couldn't initialize supplicant interface: GDBus.Error:fi.w1.wpa_supplicant1.UnknownError: wpa_supplicant couldn't grab this interface. Dez 20 23:28:09 SOL audit[731]: NETFILTER_CFG table=filter family=2 entries=8 op=xt_replace pid=731 comm="iptables" -- Dez 20 23:28:16 SOL py3status[1061]: starting module moc Dez 20 23:28:18 SOL NetworkManager[642]: <warn> [1608503298.9942] device (wlp37s0): re-acquiring supplicant interface (#1). Dez 20 23:28:18 SOL wpa_supplicant[730]: Could not set interface wlp37s0 flags (UP): Operation not permitted Dez 20 23:28:18 SOL wpa_supplicant[730]: nl80211: Could not set interface 'wlp37s0' UP Dez 20 23:28:18 SOL wpa_supplicant[730]: nl80211: deinit ifname=wlp37s0 disabled_11b_rates=0 Dez 20 23:28:18 SOL wpa_supplicant[730]: Could not set interface wlp37s0 flags (UP): Operation not permitted Dez 20 23:28:18 SOL wpa_supplicant[730]: WEXT: Could not set interface 'wlp37s0' UP Dez 20 23:28:18 SOL wpa_supplicant[730]: wlp37s0: Failed to initialize driver interface Dez 20 23:28:18 SOL NetworkManager[642]: <error> [1608503298.9963] device (wlp37s0): Couldn't initialize supplicant interface: GDBus.Error:fi.w1.wpa_supplicant1.UnknownError: wpa_supplicant couldn't grab this interface. Dez 20 23:28:18 SOL kernel: net_ratelimit: 15 callbacks suppressed Dez 20 23:28:18 SOL kernel: ERROR @wl_dev_intvar_get : Dez 20 23:28:18 SOL kernel: error (-14) Dez 20 23:28:18 SOL kernel: ERROR @wl_cfg80211_get_tx_power : Dez 20 23:28:18 SOL kernel: error (-14) Dez 20 23:28:18 SOL kernel: ERROR @wl_dev_intvar_get : Dez 20 23:28:18 SOL kernel: error (-14) Dez 20 23:28:18 SOL kernel: ERROR @wl_cfg80211_get_tx_power : Dez 20 23:28:18 SOL kernel: error (-14) Dez 20 23:28:18 SOL kernel: ERROR @wl_dev_intvar_get : Dez 20 23:28:18 SOL kernel: error (-14) Dez 20 23:28:18 SOL kernel: ERROR @wl_cfg80211_get_tx_power : Dez 20 23:28:18 SOL kernel: error (-14) Dez 20 23:28:18 SOL kernel: ERROR @wl_dev_intvar_get : Dez 20 23:28:18 SOL kernel: error (-14) Dez 20 23:28:18 SOL kernel: ERROR @wl_cfg80211_get_tx_power : Dez 20 23:28:18 SOL kernel: error (-14) Dez 20 23:28:18 SOL kernel: ERROR @wl_dev_intvar_get : Dez 20 23:28:18 SOL kernel: error (-14) Dez 20 23:28:18 SOL kernel: ERROR @wl_cfg80211_get_tx_power : Dez 20 23:28:18 SOL kernel: error (-14) |
This task depends upon
Closed by Alexander F. Rødseth (xyproto)
Tuesday, 22 December 2020, 14:54 GMT
Reason for closing: Fixed
Additional comments about closing: Fixed for Linux 5.10 in [community-testing]
Tuesday, 22 December 2020, 14:54 GMT
Reason for closing: Fixed
Additional comments about closing: Fixed for Linux 5.10 in [community-testing]
I had no hardware to test this on when patching broadcom-wl-dkms.
I'll try to apply the patch mentioned by mog@centrum.cz in the out-of-date notification for broadcom-wl instead:
https://gist.githubusercontent.com/joanbm/5c640ac074d27fd1d82c74a5b67a1290/raw/53fd95f23ef352f31c3ca596c7568e32f5e7a9b7/broadcom-wl-fix-linux-5.10.patch
/var/lib/dkms/broadcom-wl/6.30.223.271/build/src/shared/linux_osl.c:949:10: error: implicit declaration of function ‘ioremap_nocache’; did you mean ‘ioremap_cache’? [-Werror=implicit-function-declaration]
949 | return (ioremap_nocache((unsigned long)pa, (unsigned long)size));
https://gist.github.com/joanbm/5c640ac074d27fd1d82c74a5b67a1290
That also, unfortunately, did not make the kernel module compile.
/var/lib/dkms/broadcom-wl/6.30.223.271/build/src/wl/sys/wl_cfg80211_hybrid.c: In function ‘wl_dev_ioctl’:
/var/lib/dkms/broadcom-wl/6.30.223.271/build/src/wl/sys/wl_cfg80211_hybrid.c:460:7: error: implicit declaration of function ‘get_fs’; did you mean ‘sget_fc’? [-Werror=implicit-funtion]
460 | fs = get_fs();
| ^~~~~~
| sget_fc
/var/lib/dkms/broadcom-wl/6.30.223.271/build/src/wl/sys/wl_cfg80211_hybrid.c:460:7: error: incompatible types when assigning to type ‘mm_segment_t’ from type ‘int’
`get_fs` should be relatively easy to replace, and `mm_segment_t` can probably just be removed, but I ran out of time here now.
PKGBUILD.diff.2 does the above plus merges 5.9 patch with 5.10 patch which made it redundant.
PKGBUILD.diff.2 (15.7 KiB)
I forked your Arch PKGBUILD repo and fixed it by comparing it with my custom PKGBUILD I had around, basically the change is that the patch was supposed to apply also over 011-linux59.patch (even though it's basically redundant so you may squash them if you want), and reverting some stuff that was probably attempts to fix it.
Full PKGBUILD and patches: https://github.com/joanbm/broadcom-wl-dkms-fix-linux-510-pkgbuild/tree/f779b4b49f4d9051f20c090731c960ee2f6e8612/repos/community-testing-x86_64
Diff: https://github.com/joanbm/broadcom-wl-dkms-fix-linux-510-pkgbuild/commit/f779b4b49f4d9051f20c090731c960ee2f6e8612#diff-804217494dce561085d47b6de4537dae625460c0f3686755ba2aead9a03745e3
This build and works for me on my machine, please tell me if it's still giving you trouble building.
I also tested the improved PKGBUILD.diff.2 and it builds and works for me.