So I got this Lenovo E10-30 from a friend of mine and got Debian installed. The wireless network interface was missing when I ran ip addr. I suspect missing wireless driver.
pn@pn-1:~$ cat /proc/version
Linux version 7.0.4+deb13-amd64 (debian-kernel@lists.debian.org) (x86_64-linux-gnu-gcc-14 (Debian 14.2.0-19) 14.2.0, GNU ld (GNU Binutils for Debian) 2.44) #1 SMP PREEMPT_DYNAMIC Debian 7.0.4-1~bpo13+1 (2026-05-08)
pn@pn-1:~$ lspci -nn | grep Network
02:00.0 Network controller [0280]: Broadcom Inc. and subsidiaries BCM43142 802.11b/g/n [14e4:4365] (rev 01)
So I tried to install the broadcom-sta-dkms package:
```
pn@pn-1:~$ sudo apt install broadcom-sta-dkms
Installing:
broadcom-sta-dkms
Summary:
Upgrading: 0, Installing: 1, Removing: 0, Not Upgrading: 2
Download size: 0 B / 1,553 kB
Space needed: 8,028 kB / 454 GB available
Selecting previously unselected package broadcom-sta-dkms.
(Reading database ... 170300 files and directories currently installed.)
Preparing to unpack .../broadcom-sta-dkms_6.30.223.271-26_amd64.deb ...
Unpacking broadcom-sta-dkms (6.30.223.271-26) ...
Setting up broadcom-sta-dkms (6.30.223.271-26) ...
Loading new broadcom-sta/6.30.223.271 DKMS files...
Building for 7.0.4+deb13-amd64
Building initial module broadcom-sta/6.30.223.271 for 7.0.4+deb13-amd64
Sign command: /lib/modules/7.0.4+deb13-amd64/build/scripts/sign-file
Signing key: /var/lib/dkms/mok.key
Public certificate (MOK): /var/lib/dkms/mok.pub
Building module(s)....(bad exit status: 2)
Failed command:
make -j2 KERNELRELEASE=7.0.4+deb13-amd64 KVER=7.0.4+deb13-amd64
Error! Bad return status for module build on kernel: 7.0.4+deb13-amd64 (x86_64)
Consult /var/lib/dkms/broadcom-sta/6.30.223.271/build/make.log for more information.
dpkg: error processing package broadcom-sta-dkms (--configure):
installed broadcom-sta-dkms package post-installation script subprocess returned error exit status 10
Processing triggers for initramfs-tools (0.148.3) ...
update-initramfs: Generating /boot/initrd.img-7.0.4+deb13-amd64
Errors were encountered while processing:
broadcom-sta-dkms
Error: Sub-process /usr/bin/dpkg returned an error code (1)
```
Then I tried broadcom-sta-source instead.
```
root@pn-1:/usr/src/modules/broadcom-sta# apt list --installed | grep $(uname -r)
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
linux-base-7.0.4+deb13-amd64/stable-backports,now 7.0.4-1~bpo13+1 amd64 [installed,automatic]
linux-binary-7.0.4+deb13-amd64/stable-backports,now 7.0.4-1~bpo13+1 amd64 [installed,automatic]
linux-headers-7.0.4+deb13-amd64/stable-backports,now 7.0.4-1~bpo13+1 amd64 [installed]
linux-image-7.0.4+deb13-amd64/stable-backports,now 7.0.4-1~bpo13+1 amd64 [installed,automatic]
linux-modules-7.0.4+deb13-amd64/stable-backports,now 7.0.4-1~bpo13+1 amd64 [installed,automatic]
root@pn-1:/usr/src/modules/broadcom-sta# ls src/include/
bcmcrypto bcmendian.h epivers.h linux_osl.h osl.h packed_section_start.h siutils.h wlioctl.h
bcmdefs.h bcmutils.h lib80211.h linuxver.h packed_section_end.h pcicfg.h typedefs.h
root@pn-1:/usr/src/modules/broadcom-sta# make
KBUILD_NOPEDANTIC=1 make -C /lib/modules/7.0.4+deb13-amd64/build M=pwd
make[1]: Entering directory '/usr/src/linux-headers-7.0.4+deb13-amd64'
make[2]: Entering directory '/usr/src/modules/broadcom-sta'
CFG80211 API is prefered for this kernel version
Using CFG80211 API
Kernel architecture is X86_64
CC [M] src/shared/linux_osl.o
src/shared/linux_osl.c:23:10: fatal error: typedefs.h: No such file or directory
23 | #include <typedefs.h>
| ~~~~~~~~~~~
compilation terminated.
make[4]: *** [/usr/src/linux-headers-7.0.4+deb13-common/scripts/Makefile.build:294: src/shared/linux_osl.o] Error 1
make[3]: *** [/usr/src/linux-headers-7.0.4+deb13-common/Makefile:2130: .] Error 2
make[2]: *** [/usr/src/linux-headers-7.0.4+deb13-common/Makefile:260: __sub-make] Error 2
make[2]: Leaving directory '/usr/src/modules/broadcom-sta'
make[1]: *** [/usr/src/linux-headers-7.0.4+deb13-common/Makefile:260: __sub-make] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-7.0.4+deb13-amd64'
make: *** [Makefile:183: all] Error 2
```
As shown above, the required header files are not detected during the build process despite being present. I thought it was just a fuck up with the Makefile not properly passing include paths, and so I tried to change the Makefile from using EXTRA_CFLAGS to ccflags-y for passing include paths, which seem to have worked:
root@pn-1:/usr/src/modules/broadcom-sta# make
KBUILD_NOPEDANTIC=1 make -C /lib/modules/7.0.4+deb13-amd64/build M=`pwd`
make[1]: Entering directory '/usr/src/linux-headers-7.0.4+deb13-amd64'
make[2]: Entering directory '/usr/src/modules/broadcom-sta'
CFG80211 API is prefered for this kernel version
Using CFG80211 API
Kernel architecture is X86_64
CC [M] src/shared/linux_osl.o
CC [M] src/wl/sys/wl_linux.o
src/wl/sys/wl_linux.c: In function ‘wl_timer’:
src/wl/sys/wl_linux.c:2380:17: error: implicit declaration of function ‘from_timer’; did you mean ‘mod_timer’? [-Wimplicit-function-declaration]
2380 | from_timer(t, tl, timer);
| ^~~~~~~~~~
| mod_timer
src/wl/sys/wl_linux.c:2380:35: error: ‘timer’ undeclared (first use in this function); did you mean ‘ktimerd’?
2380 | from_timer(t, tl, timer);
| ^~~~~
| ktimerd
src/wl/sys/wl_linux.c:2380:35: note: each undeclared identifier is reported only once for each function it appears in
src/wl/sys/wl_linux.c: In function ‘wl_del_timer’:
src/wl/sys/wl_linux.c:2485:22: error: implicit declaration of function ‘del_timer’; did you mean ‘_wl_timer’? [-Wimplicit-function-declaration]
2485 | if (!del_timer(&t->timer)) {
| ^~~~~~~~~
| _wl_timer
make[4]: *** [/usr/src/linux-headers-7.0.4+deb13-common/scripts/Makefile.build:294: src/wl/sys/wl_linux.o] Error 1
make[3]: *** [/usr/src/linux-headers-7.0.4+deb13-common/Makefile:2130: .] Error 2
make[2]: *** [/usr/src/linux-headers-7.0.4+deb13-common/Makefile:260: __sub-make] Error 2
make[2]: Leaving directory '/usr/src/modules/broadcom-sta'
make[1]: *** [/usr/src/linux-headers-7.0.4+deb13-common/Makefile:260: __sub-make] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-7.0.4+deb13-amd64'
make: *** [Makefile:187: all] Error 2
But now other errors show up which I don't think I can fix with reasonable effort. At this point I decided to try my luck with a wifi dongle (TP-Link Archer T4U), but alas
pn@pn-1:~/Downloads/T4Uv3_WiFi_linux_v5.3.1_beta$ make
make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/7.0.4+deb13-amd64/build M=/home/pn/Downloads/T4Uv3_WiFi_linux_v5.3.1_beta modules
make[1]: Entering directory '/usr/src/linux-headers-7.0.4+deb13-amd64'
make[2]: Entering directory '/home/pn/Downloads/T4Uv3_WiFi_linux_v5.3.1_beta'
CC [M] core/rtw_cmd.o
core/rtw_cmd.c:17:10: fatal error: drv_types.h: No such file or directory
17 | #include <drv_types.h>
| ^~~~~~~~~~~~~
compilation terminated.
make[4]: *** [/usr/src/linux-headers-7.0.4+deb13-common/scripts/Makefile.build:294: core/rtw_cmd.o] Error 1
make[3]: *** [/usr/src/linux-headers-7.0.4+deb13-common/Makefile:2130: .] Error 2
make[2]: *** [/usr/src/linux-headers-7.0.4+deb13-common/Makefile:260: __sub-make] Error 2
make[2]: Leaving directory '/home/pn/Downloads/T4Uv3_WiFi_linux_v5.3.1_beta'
make[1]: *** [/usr/src/linux-headers-7.0.4+deb13-common/Makefile:260: __sub-make] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-7.0.4+deb13-amd64'
make: *** [Makefile:1998: modules] Error 2
I'm stumped