t2linux / wiki

Repository for the t2linux.org wiki
https://wiki.t2linux.org
Creative Commons Attribution Share Alike 4.0 International
179 stars 65 forks source link

Bluetooth firmware failing to load #419

Closed XLramones closed 1 year ago

XLramones commented 1 year ago

Im currently running Linux 6.2.13-300.mbp.fc38.x86_64 x86_64 kernel on fedora and am struggling to get my bluetooth to work. rfkill does not see the adapter, and the output of journalctl -k --grep=0000:01:00.1 is

May 06 13:39:50 elixi kernel: pci 0000:01:00.1: [14e4:5fa0] type 00 class 0x028000 May 06 13:39:50 elixi kernel: pci 0000:01:00.1: reg 0x10: [mem 0x91810000-0x91817fff 64bit] May 06 13:39:50 elixi kernel: pci 0000:01:00.1: reg 0x18: [mem 0x91400000-0x917fffff 64bit] May 06 13:39:50 elixi kernel: pci 0000:01:00.1: supports D1 D2 May 06 13:39:50 elixi kernel: pci 0000:01:00.1: PME# supported from D0 D1 D2 D3hot D3cold May 06 13:39:50 elixi kernel: pci 0000:01:00.1: Adding to iommu group 10 May 06 13:39:55 elixi kernel: hci_bcm4377 0000:01:00.1: can't disable ASPM; OS doesn't have ASPM control May 06 13:39:55 elixi kernel: hci_bcm4377 0000:01:00.1: enabling device (0000 -> 0002) May 06 13:39:55 elixi kernel: hci_bcm4377 0000:01:00.1: Unable to load firmware; tried 'brcm/brcmbt4377b3-apple,formosa-u.bin' and 'brcm/brcmbt4377b3-apple,formosa.bin' May 06 13:39:55 elixi kernel: hci_bcm4377 0000:01:00.1: Failed to load firmware May 06 13:39:55 elixi kernel: hci_bcm4377: probe of 0000:01:00.1 failed with error -2

any idea what i could do or how to approach this issue?

AdityaGarg8 commented 1 year ago

Do you have the firmware?

share ls /lib/firmware/brcm | grep brcmbt

XLramones commented 1 year ago

no output! i dont seem to have it

AdityaGarg8 commented 1 year ago

Is your wifi working?

AdityaGarg8 commented 1 year ago

If yes, from where did you get the firmware for the same?

XLramones commented 1 year ago

my wi-fi is working, i installed the firmware about a year ago from the script wi-fi.sh . when i try to go through the process of that again with the firmware.sh script, nothing seems to change. i have refind installed on my machine, however it never boots into refind, but looking at the /temp/apple-wi-fi-efi file, there is no firmware.sh, only the wifi.sh file which i assume is from when i first installed fedora on my machine. the tmp/apple-wifi-fw is also empty. i'm not sure if that is normal. running the script on both operating systems returns with no errors

XLramones commented 1 year ago

also the drive that is mounted at /boot is the nvme0n1p4 and /boot/efi is the nvme0n1p3 . don't know if that helps or if if that's irregular

AdityaGarg8 commented 1 year ago

wifi.sh didn’t support Bluetooth. Bluetooth support was added later and script renamed to firmware.sh. So firstly remove /tmp/apple-wifi-efi and /tmp/apple-wifi-fw, if present.

Then run firmware.sh, newly downloaded from t2linux on macOS, and run the same script again on Linux. Make sure you run the script with bash /path/to/script in both OSs.

AdityaGarg8 commented 1 year ago

After running all this, share ls /lib/firmware/brcm | grep brcmbt again.

XLramones commented 1 year ago

still no output :(

AdityaGarg8 commented 1 year ago

Can you share the output of

sudo mount /dev/nvme0n1p1 /mnt
ls /mnt

also, in Linux, can you try running the script with -v, i.e. bash /path/to/script -v

AdityaGarg8 commented 1 year ago

Also, from macOS, share diskutil list

XLramones commented 1 year ago

ah ha! on macos the file (or some other efi mount im not sure) seemed to still have been mounted, i unmounted it manually and the the firmware installed successfully. thank you for your help