{"id":1689,"date":"2020-10-29T09:46:43","date_gmt":"2020-10-29T14:46:43","guid":{"rendered":"https:\/\/blog.iqonda.net\/?p=1689"},"modified":"2020-10-29T09:46:43","modified_gmt":"2020-10-29T14:46:43","slug":"linux-broadcom-wireless-issue-5-x-kernel","status":"publish","type":"post","link":"https:\/\/blog.ls-al.com\/linux-broadcom-wireless-issue-5-x-kernel\/","title":{"rendered":"Linux Broadcom Wireless Issue 5.x kernel"},"content":{"rendered":"
Recent update caused wireless to stop working. Seems like PopOS (20.04 flavor and likely other distros) does not have a new enough bcmwl-kernel-source for 5.6 or 5.8 kernels.<\/p>\n
LINKS: <\/p>\n
NOTE: I tried to install a different kernel to see if that will work but that showed me the issue at least.<\/p>\n
# apt install linux-image-5.8.0-23-generic\n...\nmake -j4 KERNELRELEASE=5.8.0-23-generic -C \/lib\/modules\/5.8.0-23-generic\/build M=\/var\/lib\/dkms\/bcmwl\/6.30.223.271+bdcom\/build....(bad exit status: 2)\nERROR (dkms apport): kernel package linux-headers-5.8.0-23-generic is not supported\nError! Bad return status for module build on kernel: 5.8.0-23-generic (x86_64)\nConsult \/var\/lib\/dkms\/bcmwl\/6.30.223.271+bdcom\/build\/make.log for more information.<\/code><\/pre>\nhold a kernel that works just for safety<\/h2>\n# dpkg -l | grep linux-image-\nii linux-image-5.4.0-7642-generic 5.4.0-7642.46~1598628707~20.04~040157c amd64 Linux kernel image for version 5.4.0 on 64 bit x86 SMP\nii linux-image-5.8.0-23-generic 5.8.0-23.24~20.04.1 amd64 Signed kernel image generic\nii linux-image-5.8.0-7625-generic 5.8.0-7625.26~1603389471~20.04~f6b125f amd64 Linux kernel image for version 5.8.0 on 64 bit x86 SMP\nii linux-image-generic 5.8.0.7625.26~1603389471~20.04~f6b125f amd64 Generic Linux kernel image\n\n# echo linux-image-5.4.0-7642-generic hold | dpkg --set-selections\n\n# dpkg -l | grep linux-image-\nhi linux-image-5.4.0-7642-generic 5.4.0-7642.46~1598628707~20.04~040157c amd64 Linux kernel image for version 5.4.0 on 64 bit x86 SMP\nii linux-image-5.8.0-23-generic 5.8.0-23.24~20.04.1 amd64 Signed kernel image generic\nii linux-image-5.8.0-7625-generic 5.8.0-7625.26~1603389471~20.04~f6b125f amd64 Linux kernel image for version 5.8.0 on 64 bit x86 SMP\nii linux-image-generic 5.8.0.7625.26~1603389471~20.04~f6b125f amd64 Generic Linux kernel image<\/code><\/pre>\nNOTE: set grub with longer timeout, show the boot menu and save last booted item<\/p>\n
patches<\/h2>\n
Looking at the patches it appears we may need 0028? or something for newer than 5.1 kernels?<\/p>\n
# ls \/usr\/src\/bcmwl-6.30.223.271+bdcom\/patches\/\n0001-MODULE_LICENSE.patch 0008-add-support-for-linux-3.9.0.patch 0015-add-support-for-Linux-3.18.patch 0022-add-support-for-Linux-4.8.patch\n0002-Makefile.patch 0009-add-support-for-linux-3.10.0.patch 0016-repair-make-warnings.patch 0023-add-support-for-Linux-4.11.patch\n0003-Make-up-for-missing-init_MUTEX.patch 0010-change-the-network-interface-name-from-eth-to-wlan.patch 0017-add-support-for-Linux-4.0.patch 0024-add-support-for-Linux-4.12.patch\n0004-Add-support-for-Linux-3.2.patch 0011-do-not-define-__devinit-as-__init-in-linux-3.8-as-__.patch 0018-cfg80211_disconnected.patch 0025-add-support-for-Linux-4.14.patch\n0005-add-support-for-linux-3.4.0.patch 0012-add-support-for-Linux-3.15.patch 0019-broadcom-sta-6.30.223.248-3.18-null-pointer-fix.patch 0026-add-support-for-Linux-4.15.patch\n0006-add-support-for-linux-3.8.0.patch 0013-gcc.patch 0020-add-support-for-linux-4.3.patch 0027-add-support-for-linux-5.1.patch\n0007-nl80211-move-scan-API-to-wdev.patch 0014-add-support-for-Linux-3.17.patch 0021-add-support-for-Linux-4.7.patch<\/code><\/pre>\nInstall Ubuntu 20.10 (groovy) package<\/h2>\n
Looking at the file list in the newer Ubuntu 20.10 source I see at least a 5.6 patch although I need 5.8.<\/p>\n
# wget http:\/\/mirrors.kernel.org\/ubuntu\/pool\/restricted\/b\/bcmwl\/bcmwl-kernel-source_6.30.223.271+bdcom-0ubuntu7_amd64.deb\n...\n2020-10-29 08:14:10 (656 KB\/s) - \u2018bcmwl-kernel-source_6.30.223.271+bdcom-0ubuntu7_amd64.deb\u2019 saved [1545816\/1545816]\n\n# dpkg -i bcmwl-kernel-source_6.30.223.271+bdcom-0ubuntu7_amd64.deb \n(Reading database ... 283701 files and directories currently installed.)\nPreparing to unpack bcmwl-kernel-source_6.30.223.271+bdcom-0ubuntu7_amd64.deb ...\nRemoving all DKMS Modules\nDone.\nUnpacking bcmwl-kernel-source (6.30.223.271+bdcom-0ubuntu7) over (6.30.223.271+bdcom-0ubuntu5) ...\nSetting up bcmwl-kernel-source (6.30.223.271+bdcom-0ubuntu7) ...\nLoading new bcmwl-6.30.223.271+bdcom DKMS files...\nBuilding for 5.4.0-7642-generic 5.8.0-7625-generic\nBuilding for architecture x86_64\nBuilding initial module for 5.4.0-7642-generic\nDone.\n\nwl.ko:\nRunning module version sanity check.\n - Original module\n - No original module exists within this kernel\n - Installation\n - Installing to \/lib\/modules\/5.4.0-7642-generic\/updates\/\n\ndepmod...\n\nDKMS: install completed.\nBuilding initial module for 5.8.0-7625-generic\nDone.\n\nwl.ko:\nRunning module version sanity check.\n - Original module\n - No original module exists within this kernel\n - Installation\n - Installing to \/lib\/modules\/5.8.0-7625-generic\/updates\/\n\ndepmod........\n\nDKMS: install completed.\nupdate-initramfs: deferring update (trigger activated)\nProcessing triggers for initramfs-tools (0.136ubuntu6.3) ...\nupdate-initramfs: Generating \/boot\/initrd.img-5.8.0-7625-generic\ncryptsetup: WARNING: Resume target cryptswap uses a key file<\/code><\/pre>\nlooks like rebuild wl.ko ok<\/h2>\n# ls \/lib\/modules\/5.8.0-7625-generic\/updates\/\ndkms wl.ko\n\n# find \/lib\/modules\/5.4.0-7642-generic\/ -name wl.ko\n\/lib\/modules\/5.4.0-7642-generic\/updates\/wl.ko\n\n# find \/lib\/modules\/5.8.0- -name wl.ko\n5.8.0-23-generic\/ 5.8.0-7625-generic\/ \n\n# find \/lib\/modules\/5.8.0-23-generic\/ -name wl.ko\n\n# find \/lib\/modules\/5.8.0-7625-generic\/ -name wl.ko\n\/lib\/modules\/5.8.0-7625-generic\/updates\/wl.ko<\/code><\/pre>\ncleanup the 5.8.0-23 kernel I tried<\/h2>\n# apt purge linux-image-5.8.0-23-generic\n...\nrmdir: failed to remove '\/lib\/modules\/5.8.0-23-generic': Directory not empty\n\nNOTE: PopOS may not be cleaning up \/lib\/modules because of the additional module. \n\n# rm -rf \/lib\/modules\/5.8.0-23-generic\n\n# apt purge linux-headers-5.8.0-23-generic\n# apt purge linux-modules-5.8.0-23-generic\n\n# ls \/boot\nconfig-5.4.0-7642-generic grub initrd.img-5.4.0-7642-generic initrd.img.old System.map-5.8.0-7625-generic vmlinuz-5.4.0-7642-generic vmlinuz.old\nconfig-5.8.0-7625-generic initrd.img initrd.img-5.8.0-7625-generic System.map-5.4.0-7642-generic vmlinuz vmlinuz-5.8.0-7625-generic<\/code><\/pre>\ncheck<\/h2>\n
Rebooted with 5.8 kernel and it works<\/p>\n
# dkms status\nbcmwl, 6.30.223.271+bdcom, 5.4.0-7642-generic, x86_64: installed\nbcmwl, 6.30.223.271+bdcom, 5.8.0-7625-generic, x86_64: installed\nnvidia-340, 340.108, 5.4.0-7642-generic, x86_64: installed\nsystem76, 1.0.9~1597073326~20.04~5b01933, 5.4.0-7642-generic, x86_64: installed\nsystem76, 1.0.9~1597073326~20.04~5b01933, 5.8.0-7625-generic, x86_64: installed<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"Broadcom Wireless Issue Recent update caused wireless to stop working. Seems like PopOS (20.04 flavor and likely other distros) does<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9,123],"tags":[],"class_list":["post-1689","post","type-post","status-publish","format-standard","hentry","category-linux","category-wireless"],"_links":{"self":[{"href":"https:\/\/blog.ls-al.com\/wp-json\/wp\/v2\/posts\/1689","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.ls-al.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.ls-al.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.ls-al.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.ls-al.com\/wp-json\/wp\/v2\/comments?post=1689"}],"version-history":[{"count":0,"href":"https:\/\/blog.ls-al.com\/wp-json\/wp\/v2\/posts\/1689\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.ls-al.com\/wp-json\/wp\/v2\/media?parent=1689"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.ls-al.com\/wp-json\/wp\/v2\/categories?post=1689"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.ls-al.com\/wp-json\/wp\/v2\/tags?post=1689"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}