package management – Bad return status for 5.4.0-42-generic (x86_64)

I have a fresh install of elementaryos 5.1.7 on ubuntu 18.04.4 on an otherwise os-less 2008 macbook, and in classic fashion I’m trying to install bcmwl-kernel-source to turn on my wifi. I think I’ve installed all the necessary packages and dependencies with some flash drive hopping, but when I try to dpkg the folder the installation fails and tells me

sudo dpkg -i *.deb
(sudo) password for funandoatmeal:
(Reading database … 144607 files and directories currently installed.)
Preparing to unpack bcmwl-kernel-source_6.30.223.271+bdcom-0ubuntu4_amd64.deb …
Removing all DKMS Modules
Done.
Unpacking bcmwl-kernel-source (6.30.223.271+bdcom-0ubuntu4) over (6.30.223.271+bdcom-0ubuntu4) …
Preparing to unpack dkms_2.3-3ubuntu9_all.deb …
Unpacking dkms (2.3-3ubuntu9) over (2.3-3ubuntu9) …
Preparing to unpack dpkg-dev_1.19.0.5ubuntu2_all.deb …
Unpacking dpkg-dev (1.19.0.5ubuntu2) over (1.19.0.5ubuntu2) …
Preparing to unpack gcc_7.4.0-1ubuntu2.3_amd64.deb …
Unpacking gcc (4:7.4.0-1ubuntu2.3) over (4:7.4.0-1ubuntu2.3) …
Preparing to unpack gcc-7_7.5.0-3ubuntu1~18.04_amd64.deb …
Unpacking gcc-7 (7.5.0-3ubuntu1~18.04) over (7.5.0-3ubuntu1~18.04) …
Preparing to unpack gcc-7-base_7.5.0-3ubuntu1~18.04_amd64.deb …
Unpacking gcc-7-base:amd64 (7.5.0-3ubuntu1~18.04) over (7.5.0-3ubuntu1~18.04) …
Preparing to unpack gcc-8-base_8.4.0-1ubuntu1~18.04_amd64.deb …
Unpacking gcc-8-base:amd64 (8.4.0-1ubuntu1~18.04) over (8.4.0-1ubuntu1~18.04) …
Preparing to unpack libasan4_7.5.0-3ubuntu1~18.04_amd64.deb …
Unpacking libasan4:amd64 (7.5.0-3ubuntu1~18.04) over (7.5.0-3ubuntu1~18.04) …
Preparing to unpack libatomic1_8.4.0-1ubuntu1~18.04_amd64.deb …
Unpacking libatomic1:amd64 (8.4.0-1ubuntu1~18.04) over (8.4.0-1ubuntu1~18.04) …
Preparing to unpack libc6_2.27-3ubuntu1.2_amd64.deb …
Unpacking libc6:amd64 (2.27-3ubuntu1.2) over (2.27-3ubuntu1.2) …
Preparing to unpack libc6-dev_2.27-3ubuntu1.2_amd64.deb …
Unpacking libc6-dev:amd64 (2.27-3ubuntu1.2) over (2.27-3ubuntu1.2) …
Preparing to unpack libcc1-0_8.4.0-1ubuntu1~18.04_amd64.deb …
Unpacking libcc1-0:amd64 (8.4.0-1ubuntu1~18.04) over (8.4.0-1ubuntu1~18.04) …
Preparing to unpack libc-dev-bin_2.27-3ubuntu1.2_amd64.deb …
Unpacking libc-dev-bin (2.27-3ubuntu1.2) over (2.27-3ubuntu1.2) …
Preparing to unpack libcilkrts5_7.5.0-3ubuntu1~18.04_amd64.deb …
Unpacking libcilkrts5:amd64 (7.5.0-3ubuntu1~18.04) over (7.5.0-3ubuntu1~18.04) …
Preparing to unpack libdpkg-perl_1.19.0.5ubuntu2_all.deb …
Unpacking libdpkg-perl (1.19.0.5ubuntu2) over (1.19.0.5ubuntu2) …
Preparing to unpack libgcc1_8.4.0-1ubuntu1~18.04_amd64.deb …
Unpacking libgcc1:amd64 (1:8.4.0-1ubuntu1~18.04) over (1:8.4.0-1ubuntu1~18.04) …
Preparing to unpack libgcc-7-dev_7.5.0-3ubuntu1~18.04_amd64.deb …
Unpacking libgcc-7-dev:amd64 (7.5.0-3ubuntu1~18.04) over (7.5.0-3ubuntu1~18.04) …
Preparing to unpack libitm1_8.4.0-1ubuntu1~18.04_amd64.deb …
Unpacking libitm1:amd64 (8.4.0-1ubuntu1~18.04) over (8.4.0-1ubuntu1~18.04) …
Preparing to unpack liblsan0_8.4.0-1ubuntu1~18.04_amd64.deb …
Unpacking liblsan0:amd64 (8.4.0-1ubuntu1~18.04) over (8.4.0-1ubuntu1~18.04) …
Preparing to unpack libmpx2_8.4.0-1ubuntu1~18.04_amd64.deb …
Unpacking libmpx2:amd64 (8.4.0-1ubuntu1~18.04) over (8.4.0-1ubuntu1~18.04) …
Preparing to unpack libquadmath0_8.4.0-1ubuntu1~18.04_amd64.deb …
Unpacking libquadmath0:amd64 (8.4.0-1ubuntu1~18.04) over (8.4.0-1ubuntu1~18.04) …
Preparing to unpack libtsan0_8.4.0-1ubuntu1~18.04_amd64.deb …
Unpacking libtsan0:amd64 (8.4.0-1ubuntu1~18.04) over (8.4.0-1ubuntu1~18.04) …
Preparing to unpack libubsan0_7.5.0-3ubuntu1~18.04_amd64.deb …
Unpacking libubsan0:amd64 (7.5.0-3ubuntu1~18.04) over (7.5.0-3ubuntu1~18.04) …
Preparing to unpack linux-libc-dev_4.15.0-122.124_amd64.deb …
Unpacking linux-libc-dev:amd64 (4.15.0-122.124) over (4.15.0-122.124) …
Preparing to unpack make_4.1-9.1ubuntu1_amd64.deb …
Unpacking make (4.1-9.1ubuntu1) over (4.1-9.1ubuntu1) …
Setting up gcc-7-base:amd64 (7.5.0-3ubuntu1~18.04) …
Setting up gcc-8-base:amd64 (8.4.0-1ubuntu1~18.04) …
Setting up libdpkg-perl (1.19.0.5ubuntu2) …
Setting up linux-libc-dev:amd64 (4.15.0-122.124) …
Setting up libc6:amd64 (2.27-3ubuntu1.2) …
Setting up libc-dev-bin (2.27-3ubuntu1.2) …
Setting up libgcc1:amd64 (1:8.4.0-1ubuntu1~18.04) …
Setting up libitm1:amd64 (8.4.0-1ubuntu1~18.04) …
Setting up liblsan0:amd64 (8.4.0-1ubuntu1~18.04) …
Setting up libmpx2:amd64 (8.4.0-1ubuntu1~18.04) …
Setting up libquadmath0:amd64 (8.4.0-1ubuntu1~18.04) …
Setting up libtsan0:amd64 (8.4.0-1ubuntu1~18.04) …
Setting up libubsan0:amd64 (7.5.0-3ubuntu1~18.04) …
Setting up make (4.1-9.1ubuntu1) …
Setting up dpkg-dev (1.19.0.5ubuntu2) …
Setting up libasan4:amd64 (7.5.0-3ubuntu1~18.04) …
Setting up libatomic1:amd64 (8.4.0-1ubuntu1~18.04) …
Setting up libc6-dev:amd64 (2.27-3ubuntu1.2) …
Setting up libcc1-0:amd64 (8.4.0-1ubuntu1~18.04) …
Setting up libcilkrts5:amd64 (7.5.0-3ubuntu1~18.04) …
Setting up libgcc-7-dev:amd64 (7.5.0-3ubuntu1~18.04) …
Setting up gcc-7 (7.5.0-3ubuntu1~18.04) …
Setting up gcc (4:7.4.0-1ubuntu2.3) …
Setting up dkms (2.3-3ubuntu9) …
Setting up bcmwl-kernel-source (6.30.223.271+bdcom-0ubuntu4) …
Loading new bcmwl-6.30.223.271+bdcom DKMS files…
Building for 5.4.0-42-generic
Building for architecture x86_64
Building initial module for 5.4.0-42-generic
Error! Bad return status for module build on kernel: 5.4.0-42-generic (x86_64)
Consult /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/make.log for more information.
modprobe: FATAL: Module wl not found in directory /lib/modules/5.4.0-42-generic
update-initramfs: deferring update (trigger activated)
Processing triggers for man-db (2.8.3-2ubuntu0.1) …
Processing triggers for libc-bin (2.27-3ubuntu1.2) …
Processing triggers for initramfs-tools (0.130ubuntu3.9) …
update-initramfs: Generating /boot/initrd.img-5.4.0-42-generic
I: The initramfs will attempt to resume from /dev/dm-2
I: (/dev/mapper/elementary–vg-swap_1)
I: Set the RESUME variable to override this.
s

And make.log tells me this

DKMS make.log for bcmwl-6.30.223.271+bdcom for kernel 5.4.0-42-generic (x86_64)
Fri Oct 30 12:13:42 PDT 2020
make: Entering directory ‘/usr/src/linux-headers-5.4.0-42-generic’
CFG80211 API is prefered for this kernel version
Using CFG80211 API
AR /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/built-in.a
CC (M) /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/shared/linux_osl.o
CC (M) /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_linux.o
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_linux.c: In function ‘wl_pci_probe’:
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_linux.c:780:2: warning: this ‘if’ clause does not guard… (-Wmisleading-indentation)
if ((val & 0x0000ff00) != 0)
^~
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_linux.c:782:3: note: …this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
bar1_size = pci_resource_len(pdev, 2);
^~~~~~~~~
CC (M) /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_iw.o
CC (M) /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_cfg80211_hybrid.o
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_cfg80211_hybrid.c: In function ‘wl_dev_ioctl’:
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_cfg80211_hybrid.c:462:9: error: implicit declaration of function ‘get_ds’; did you mean ‘get_fs’? (-Werror=implicit-function-declaration)
set_fs(get_ds());
^~~~~~
get_fs
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_cfg80211_hybrid.c:462:9: error: incompatible type for argument 1 of ‘set_fs’
In file included from ./include/linux/uaccess.h:11:0,
from ./arch/x86/include/asm/fpu/xstate.h:5,
from ./arch/x86/include/asm/pgtable.h:26,
from ./include/linux/mm.h:99,
from /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/include/linuxver.h:65,
from /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_cfg80211_hybrid.c:26:
./arch/x86/include/asm/uaccess.h:29:20: note: expected ‘mm_segment_t {aka struct }’ but argument is of type ‘int’
static inline void set_fs(mm_segment_t fs)
^~~~~~
In file included from /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_cfg80211_hybrid.c:40:0:
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_cfg80211_hybrid.c: In function ‘wl_set_auth_type’:
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_cfg80211_hybrid.h:52:5: warning: this statement may fall through (-Wimplicit-fallthrough=)
if (wl_dbg_level & WL_DBG_DBG) {
^
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_cfg80211_hybrid.c:816:3: note: in expansion of macro ‘WL_DBG’
WL_DBG((“network eapn”));
^~~~~~
/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_cfg80211_hybrid.c:817:2: note: here
default:
^~~~~~~
cc1: some warnings being treated as errors
scripts/Makefile.build:273: recipe for target ‘/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_cfg80211_hybrid.o’ failed
make(1): *** (/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_cfg80211_hybrid.o) Error 1
Makefile:1731: recipe for target ‘/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build’ failed
make: *** (/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build) Error 2
make: Leaving directory ‘/usr/src/linux-headers-5.4.0-42-generic’

I don’t have much advanced or even intermediate linux knowledge, so I’d appreciate being walked through this some.
Big thanks and apologies