MacBook Air 11 with Broadcom WiFi on 7.0

[SOLVED] Kernel 7.0.0-28 boot failure / Broadcom BCM4360 Wi-Fi on MacBook Air – Zorin OS

I ran into a boot problem after updating Zorin OS to kernel 7.0.0-28-generic on an older Intel MacBook Air.

The machine is a MacBook Air with a Broadcom Wi-Fi adapter:

Broadcom Inc. BCM4360 802.11ac Dual Band Wireless Network Adapter

PCI ID: 14e4:43a0

The previous kernels 6.17.0-29 and 6.17.0-35 worked, including Wi-Fi.

After the 7.0.0-28 kernel was installed, the system initially failed to boot correctly. I eventually booted a Zorin live USB and mounted/chrooted into the installed system.

The installed system was on /dev/sda2 and EFI on /dev/sda1:

sudo mount /dev/sda2 /mnt

sudo mount /dev/sda1 /mnt/boot/efi

sudo mount --bind /dev /mnt/dev

sudo mount --bind /dev/pts /mnt/dev/pts

sudo mount --bind /proc /mnt/proc

sudo mount --bind /run /mnt/run

sudo chroot /mnt

One problem was that the new kernel had been installed but its initramfs was missing. /boot contained:

vmlinuz-7.0.0-28-generic

System.map-7.0.0-28-generic

config-7.0.0-28-generic

but no corresponding initrd.img.

I recreated it manually:

update-initramfs -c -k 7.0.0-28-generic

update-grub

This restored normal booting.

Broadcom DKMS problem

There was still another problem. During configuration of kernel 7.0.0-28, DKMS failed while compiling the Broadcom STA driver:

dkms autoinstall on 7.0.0-28-generic/x86_64 failed for broadcom-sta

Error! Bad return status for module build on kernel: 7.0.0-28-generic

The machine had:

broadcom-sta-dkms

6.30.223.271-23ubuntu1.2+zorin1

installed.

However, checking the package policy showed that the Zorin driver repository contained a newer patched version:

6.30.223.271-29ubuntu1+zorin2

from:

packages.zorinos.com/zorinos/drivers/ubuntu

After updating/installing the newer Zorin Broadcom package and completing the pending package configuration, DKMS successfully built the Broadcom module for kernel 7.0:

broadcom-sta/6.30.223.271, 6.17.0-35-generic, x86_64: installed

broadcom-sta/6.30.223.271, 7.0.0-28-generic, x86_64: installed

I then rebuilt initramfs/GRUB as necessary and rebooted.

The machine now boots normally with:

uname -r

returning:

7.0.0-28-generic

and Broadcom BCM4360 Wi-Fi works normally under kernel 7.0.0-28.

Important point

If you have a MacBook/MacBook Air with BCM4360 and broadcom-sta-dkms fails when moving to kernel 7.0, check which Broadcom package you have:

apt policy broadcom-sta-dkms

In my case the older:

6.30.223.271-23ubuntu1.2+zorin1

failed to build against kernel 7.0, while the newer Zorin patched package:

6.30.223.271-29ubuntu1+zorin2

successfully built and works.

Also verify DKMS afterwards:

dkms status

You should see broadcom-sta installed for the new kernel.

So, at least for BCM4360 [14e4:43a0], there is no need to stay on kernel 6.17 simply because of the Broadcom STA driver — the newer Zorin package works with 7.0.0-28.

“Zorin kernel 7.0 Broadcom BCM4360 dkms failed”.

1 Like

Welcome to the Forum!

I changed the Thread Category to Tutorials & Guides because it is a Guide and not really a Help Request.