Skip to content

Latest commit

 

History

History
168 lines (119 loc) · 3.5 KB

File metadata and controls

168 lines (119 loc) · 3.5 KB

Guida all'Installazione — bcm4360-apple

Prerequisiti

Verifica che il tuo HW sia supportato

lspci -knn | grep -i network

Output 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).

Installa le dipendenze

sudo apt-get update
sudo apt-get install -y \
    dkms \
    broadcom-sta-dkms \
    build-essential \
    linux-headers-$(uname -r) \
    patch \
    wireless-tools \
    iw

Installazione Rapida

cd /home/matteo/Dev/prj-driver-wifi
sudo make install
sudo modprobe -r wl && sudo modprobe wl

Installazione Manuale (step-by-step)

Step 1 — Verifica stato attuale

make check-deps
make status

Salva l'output come baseline (vedi docs/ANALYSIS.md).

Step 2 — Copia i sorgenti in staging

sudo make fetch

I sorgenti vengono copiati da /usr/src/broadcom-sta-6.30.223.271/ a .build/staging/ (relativa alla directory del progetto).

Step 3 — Applica le patch Apple

sudo make patch

Se una patch fallisce, vedi la sezione Troubleshooting Patch in docs/PATCHES.md.

Step 4 — Registra e compila con DKMS

sudo make dkms-add
sudo make dkms-build

La compilazione richiede circa 2-3 minuti.

Verifica:

dkms status
# Deve mostrare: bcm4360-apple/1.0: 6.12.63+deb13-amd64, x86_64: installed

Step 5 — Installa le configurazioni di sistema

sudo make system-install

Installa:

  • /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

Step 6 — Ricarica il modulo

sudo modprobe -r wl && sudo modprobe wl

Step 7 — Verifica

make test                                # suite di test automatica
iwconfig wlp3s0 | grep 'Power Management'  # deve mostrare: off
journalctl -b | grep bcm4360-pm          # log del service

Aggiornamenti Kernel

DKMS 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 --force

Se ci sono errori di compilazione, controlla il log in:

/var/lib/dkms/bcm4360-apple/1.0/build/make.log

Rollback

Per tornare al driver standard broadcom-sta-dkms:

sudo make uninstall

Note su Kernel 6.13+

Per 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.


IBT/CET su CPU Intel 11a gen+

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