lspci -knn | grep -i networkOutput atteso:
03:00.0 Network controller [0280]: Broadcom Inc. BCM4360 802.11ac [14e4:43a0] (rev 03)
Subsystem: Apple Inc. Device [106b:0117]
Kernel driver in use: wl
Se vedi un diverso chip Broadcom, il progetto può comunque funzionare ma le patch Apple-specifiche non avranno effetto (applica solo patch 001-003 come fix generici).
sudo apt-get update
sudo apt-get install -y \
dkms \
broadcom-sta-dkms \
build-essential \
linux-headers-$(uname -r) \
patch \
wireless-tools \
iwcd /home/matteo/Dev/prj-driver-wifi
sudo make install
sudo modprobe -r wl && sudo modprobe wlmake check-deps
make statusSalva l'output come baseline (vedi docs/ANALYSIS.md).
sudo make fetchI sorgenti vengono copiati da /usr/src/broadcom-sta-6.30.223.271/
a .build/staging/ (relativa alla directory del progetto).
sudo make patchSe una patch fallisce, vedi la sezione Troubleshooting Patch in docs/PATCHES.md.
sudo make dkms-add
sudo make dkms-buildLa compilazione richiede circa 2-3 minuti.
Verifica:
dkms status
# Deve mostrare: bcm4360-apple/1.0: 6.12.63+deb13-amd64, x86_64: installedsudo make system-installInstalla:
/etc/modprobe.d/bcm4360-apple.conf— blacklist + opzioni modulo/etc/udev/rules.d/70-bcm4360-pm.rules— PM off su interfaccia-up/etc/systemd/system/bcm4360-pm.service— PM off post-resume/etc/NetworkManager/conf.d/bcm4360-apple.conf— fix scan-rand + powersave/usr/local/sbin/bcm4360-pm-off.sh— script helper
sudo modprobe -r wl && sudo modprobe wlmake test # suite di test automatica
iwconfig wlp3s0 | grep 'Power Management' # deve mostrare: off
journalctl -b | grep bcm4360-pm # log del serviceDKMS ricompila il modulo automaticamente ad ogni aggiornamento kernel. Se la ricompilazione automatica fallisce (es. per breaking change nel kernel):
# Verifica stato
dkms status
# Ricompila manualmente
sudo dkms build bcm4360-apple/1.0
sudo dkms install bcm4360-apple/1.0 --forceSe ci sono errori di compilazione, controlla il log in:
/var/lib/dkms/bcm4360-apple/1.0/build/make.log
Per tornare al driver standard broadcom-sta-dkms:
sudo make uninstallPer kernel 6.13+, la patch 31 di Debian (lib80211.h spostato in libipw) è già inclusa nel sorgente broadcom-sta-dkms. Non sono necessarie azioni aggiuntive.
Se il PC non è un MacBook con CPU Broadwell (2015) ma ha una CPU Intel 11a generazione o successiva con IBT/CET hardware, sostituire il wl module potrebbe generare kernel warnings sul boot "Unpatched return thunk in use". Questi sono non-critici ma possono essere soppressi con:
In /etc/default/grub:
GRUB_CMDLINE_LINUX_DEFAULT="quiet ibt=off"
Poi: sudo update-grub && sudo reboot