OpenIntelWireless / IntelBluetoothFirmware

Intel Bluetooth Kernel Extensions for macOS
https://OpenIntelWireless.github.io/IntelBluetoothFirmware
GNU General Public License v3.0
2.45k stars 260 forks source link

Bluetooth firmware will not upload on Intel AC7265 (0x8087, 0x0a2a) #373

Closed Overc1ocker closed 2 years ago

Overc1ocker commented 2 years ago

-MacOS Monterey (this issue was present on older macOS versions as well) -Verified kext is loaded via kextstat

How to reproduce: -Shut computer down completely -Attempt to boot MacOS. Check system profiler for bluetooth device.

Result: No bluetooth device shows up. Bluetooth does not work.

How to verify this kext is at fault: -Power up computer, boot into linux -After Linux boots, REBOOT the computer -Attempt to boot MacOS. Check system profiler for bluetooth device. -Intel Bluetooth device shows up; devices connect via bluetooth normally

zxystd commented 2 years ago

Attach logs would be fine.

Overc1ocker commented 2 years ago

There are no logs to attach: Kext will not load AT ALL if Linux is not loaded first.

If Linux is loaded first, then MacOS Monterey via a reboot

$kextstat |grep IntelBluetooth  
Executing: /usr/bin/kmutil showloaded
No variant specified, falling back to release
  115    0 0                  0x6d5000   0x6d5000   com.zxystd.IntelBluetoothFirmware (2.1.0) EB72D6E1-12D7-3035-8E82-2EC10ED3F7A9 <24 7 6 3>

If MacOS Monterey is loaded first.

kextstat |grep IntelBluetooth  
Executing: /usr/bin/kmutil showloaded
No variant specified, falling back to release

Same behavior with BlueToolFixup.

When booting MacOS first, Bluetooth HCI is also missing from "System Information"

sudo dmesg | grep IntelFirmware Shows nothing no matter if bluetooth is present or not. Debug Enhancer is installed.

williambj1 commented 2 years ago

@Overc1ocker DebugEnhancer is broken on macOS Monterey so currently there is no way to collect logs. Could you please upload the ioreg file when the system is booted in the two different situations? Thanks.

Overc1ocker commented 2 years ago

IOreg: Cold boot (I booted directly into MacOS without rebooting from Linux. No Bluetooth chip is present in "USB" section of system information) ioreg-cold-boot.log

IOreg: Linux (I booted MacOS after using linux to initialize the intel bluetooth chip. It is present and working.)

ioreg-boot-after-linux.log Note: I also remapped my usb ports and verified that the port the bluetooth chip is on is present in the USBmap.kext

I'm using a HP DA0014dx laptop

williambj1 commented 2 years ago

@Overc1ocker Looks like the bluetooth device is completely dead if a cold boot is performed, USB port mapping looks good though. Does bluetooth work if IntelBluetoothFirmware is removed? (IntelBluetoothFirmware only patches the ram on 1st gen devices, they should already have a working builtin BT4.0 firmware)

Urberzelda commented 2 years ago

Intel AX210 (alder lake MSI Z690 DDR 5) bluetooth not working either :)

Overc1ocker commented 2 years ago

No. It doesn't seem to. The card remains dead

Overc1ocker commented 2 years ago

Ok. My laptop is a confusing mess. -- Intel Bluetooth firmware will not load if I do not boot linux first. Otherwise "bluetooth HCI" does not even show up.

--My EC (embedded controller) cannot be enabled if I want bluetooth to work. If I enable it using a SSDT, "bluetooth HCI" does not show up and kext does not load

So 2 things cannot be true if I want this kext to work

  1. No cold booting
  2. EC cannot be enabled (which is almost a requirement for a laptop)

I wonder if anyone knowledgeable in hackintoshing knows why this happens

Overc1ocker commented 2 years ago

I will make another post to explain the issue. Turns out I had some things wrong