After updating the kernel (to 6.10.9-401) and a few other packages (bluez and some firmware-packages) this morning , wifi and bluetooth are not working anymore, as if the system doesn’t detect any bluetooth and wifi controller.
Downgrading some of the newly updated packages (brcmfmac-firmware , bluez, qcom-firmware, linux-firmware) doesn’t change anything.
But booting another kernel (6.10.6-401) solves the issues.
Here is what I noticed when attempting to understand what was going on (I’m very far from being an expert, so that may be useless) :
during the boot with kernel 6.10.9-401 , the countdown from 2 to 0 is longer than with the previous kernels
with kernel 6.10.9-401 , 2 of the 4 usb-c port at the back of my iMac are not working. Only the two with the small flash symbol above them are working . With kernel 6.10.6 , all 4 are working.
Note : when I select kernel 6.10.6-401 in the grub menu, it seems I fall in a loop displaying “XHCI timeout on event type 0” . I have to hit a random key so that the system boots.
Question : what can I do to fix the issues with 6.10.9 or to avoid selecting kernel 6.10.6 with grub at each boot ?
Does /lib/firmware/vendor exist and have contents when you boot into the broken kernel? This sounds like a firmware issue, possibly caused by the initramfs. Check that you have asahi-platform-metapackage and asahi-scripts installed.
There are some PCIe related changes in 6.10.9-401 but I don’t understand how they could break PCIe on some devices and/or some conditions.
Please attach a kernel log from a boot with 6.10.9-401. Is the ethernet PCIe card present? The output of lspci would be interesting as well.
/lib/firmware/vendor exists and has content when using the broken kernel : 3 folders (apple , asmedia and brcm , which are not empty). asahi-platform-metapackage and asahi-scripts are installed.
here is a kernel log file from a boot with 6.10.9-401 : Kernel logs (where my username is replaced by *********)
Output of lspci with 6.10.9-401
00:00.0 PCI bridge: Apple Inc. Apple Silicon PCI Express Root Port (rev 01)
00:01.0 PCI bridge: Apple Inc. Apple Silicon PCI Express Root Port (rev 01)
00:02.0 PCI bridge: Apple Inc. Apple Silicon PCI Express Root Port (rev 01)
Output of lspci with 6.10.6-401 :
00:00.0 PCI bridge: Apple Inc. Apple Silicon PCI Express Root Port (rev 01)
00:01.0 PCI bridge: Apple Inc. Apple Silicon PCI Express Root Port (rev 01)
00:02.0 PCI bridge: Apple Inc. Apple Silicon PCI Express Root Port (rev 01)
01:00.0 Network controller: Broadcom Inc. and subsidiaries BCM4378 802.11ax Dual Band Wireless Network Adapter (rev 03)
01:00.1 Network controller: Broadcom Inc. and subsidiaries BRCM4378 Bluetooth Controller (rev 03)
02:00.0 USB controller: ASMedia Technology Inc. ASM2142/ASM3142 USB 3.1 Host Controller
03:00.0 Ethernet controller: Broadcom Inc. and subsidiaries NetXtreme BCM57762 Gigabit Ethernet PCIe
Does it make make a difference if you boot without keyboard connected (I assume this is one of the Apple keyboards included in the imac).
The journalctl kernel.log is unfortunately truncated. can you instead post the output of sudo dmesg | grep pci for both the broken 6.10.9-401 and the working 6.10.6-401.
When I boot 6.10.9-401 without keyboard connected (yes, it’s the apple magic keyboard connected with its wire) , the boot process seems to be more “normal” :
the system isn’t stuck at “booting nvme 0” for around 10 seconds as it is when booting with keyboard connected
the system display the logs while booting whereas it doesn’t when booting with keyboard connected
But still no ethernet PCIe card / bluetooth/wifi controller detected.
Since installing 6.10.9-401.asahi.fc40 on my M1 iMac I don’t have working ethernet either. Just no adapter listed in the output of “ip l”. Booting in to 6.10.6 fixes the issue. I don’t use Bluetooth so unsure if it is affected here.
I tried a few things: power cycling the PSU, plugging / unplugging from the iMac end, booting in to macOS etc.
I think the issue may be related to these lines from the outputs of dmesg (after booting with 6.10.9-401) :
pcie-apple 690000000.pcie: /soc/pcie@690000000/pci@0,0 link didn’t come up
pcie-apple 690000000.pcie: /soc/pcie@690000000/pci@1,0 link didn’t come up
pcie-apple 690000000.pcie: /soc/pcie@690000000/pci@2,0 link didn’t come up
The asahi developers have already discussed in the past about this kind of lines :
The issue is understood and fixes (for kernel and u-boot) are underway. It wasn’t caught during testing since iboot configures GPIO pins inconsistently and only the configuration on imacs (as far as I’m aware).