OpenIntelWireless / IntelBluetoothFirmware

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

Bluetooth Controller Address is NULL | MacOS Sonoma | #476

Closed brrandrade closed 6 months ago

brrandrade commented 7 months ago

Have you read the docs?

Yes

macOS Version

Version 14.3.1 (23D60)

Kext Version

v2.4.0

Wireless Adapter Model and USB Product ID

INTEL Vendor ID 0x8087 | Product ID 0x0029

Description

USB Mapping in Hackintool: image

IOREg image

Info in System Report - Bluetooth

Hardware -> Bluetooth
 Bluetooth Controller:
  Address:  NULL
  State:    On
  Discoverable: On
  Vendor ID:    0x004C (Apple)

Hardware -> USB
USB32Bus:

  Host Controller Driver:   AppleUSBXHCIPCI
  PCI Device ID:    0x7ae0 
  PCI Revision ID:  0x0011 
  PCI Vendor ID:    0x8086 

Bluetooth USB Host Controller:

  Product ID:   0x0029
  Vendor ID:    0x8087  (Intel Corporation)
  Version:  0.01
  Speed:    Up to 12 Mb/s
  Location ID:  0x00c00000 / 7
  Current Available (mA):   500
  Current Required (mA):    100
  Extra Operating Current (mA): 0
  Built-In: Yes

Relevant log output

sudo dmesg | grep -i IntelBluetooth
[    0.988858]: IOUSBHostDevice@00c00000: IOUSBHostDevice::setConfigurationGated: IntelBluetoothFirmware selected configuration 1

Kernel Panic Logs

No response

brrandrade commented 7 months ago

IOREG FILE: iMac Pro.zip

zxystd commented 7 months ago

The log is incomplete, the actual keyword is 'IntelFirmware' but not 'IntelBluetooth', please collect again.

brrandrade commented 7 months ago

Hi @zxystd , now with the correct command: sudo dmesg | grep -i IntelFirmware Password: [ 0.823169]: IntelFirmware: Driver init() [ 0.823173]: IntelFirmware: Driver Probe() [ 0.823176]: IntelFirmware: name=IOUSBHostDevice, class=IOService, vendorID=0x8087, productID=0x0029 [ 0.823181]: IntelFirmware: Driver Start() [ 0.823200]: IntelFirmware: virtual bool BtIntel::initWithDevice(IOService , IOUSBHostDevice ) [ 0.823202]: IntelFirmware: virtual bool USBDeviceController::init(IOService , IOUSBHostDevice ) [ 0.823209]: IntelFirmware: virtual bool USBDeviceController::initConfiguration() [ 0.823214]: IntelFirmware: set configuration to 1 [ 0.823561]: IntelFirmware: virtual bool USBDeviceController::findInterface() [ 0.823568]: IntelFirmware: Found interface!!! [ 0.823617]: IntelFirmware: virtual bool USBDeviceController::findPipes() [ 0.823621]: IntelFirmware: Found Interrupt endpoint! [ 0.823918]: IntelFirmware: Found Bulk out endpoint! [ 0.824186]: IntelFirmware: Found Bulk in endpoint! [ 0.824450]: IntelFirmware: BT init succeed [ 0.825198]: IntelFirmware: Read the legacy Intel version information [ 0.825201]: IntelFirmware: Firmware revision 0.0 build 111 week 53 2019 [ 0.825204]: IntelFirmware: Frimware is already running, finishing [ 0.826196]: IntelFirmware: Clean up... [ 0.826199]: IntelFirmware: virtual void BtIntel::free() [ 0.826201]: IntelFirmware: virtual void USBDeviceController::free()

brrandrade commented 7 months ago

More info:

image

Wifi is working normally: image

derpuma commented 6 months ago

macOS Version Version 14.4 (23E214)

Kext Version v2.4.0

Wireless Adapter Model and USB Product ID INTEL Vendor ID 0x8087 | Product ID 0x0032

Description USB Port Mapping is done

Adapter shows under System Info -> USB

Bluetooth Controller is NULL under System Info -> Bluetooth

Kexts are loading

Bluetooth switch can be switched on and off in Settings and in Control Center

No devices are found

I have the same problem. I tried 14.3.1. 14.4beta and 14.4. Always the sam fault with BT. The IntelBluetoothFirmware.kext driver is loaded with ibt-0041-0041.sfi. I see BT under USB Hardware, but the Controller under Bluetooth show is with [Null]- Bildschirmfoto 2024-03-10 um 16 44 48

Bildschirmfoto 2024-03-10 um 16 34 23

Bildschirmfoto 2024-03-10 um 16 33 18 Bildschirmfoto 2024-03-10 um 16 32 50

Kextstat shows that all relevant drivers are loaded:

Bildschirmfoto 2024-03-10 um 19 13 17

Under Monterey the card works 100% Wifi and BT. On Sonoma only Wifi works. My ID is slightly different > 8087:0032.

Bildschirmfoto 2024-03-10 um 20 55 11 Bildschirmfoto 2024-03-10 um 20 54 56

This is my dmesg: admin@iMac-Pro ~ % sudo dmesg | grep -i IntelFirmware
[ 2.684701]: IntelFirmware: Driver init() [ 2.686943]: IntelFirmware: Driver Probe() [ 2.689154]: IntelFirmware: name=IOUSBHostDevice, class=IOService, vendorID=0x8087, productID=0x0032 [ 2.691976]: IntelFirmware: Driver Start() [ 2.694265]: IntelFirmware: virtual bool BtIntel::initWithDevice(IOService , IOUSBHostDevice ) [ 2.697061]: IntelFirmware: virtual bool USBDeviceController::init(IOService , IOUSBHostDevice ) [ 2.699871]: IntelFirmware: virtual bool USBDeviceController::initConfiguration() [ 2.702498]: IntelFirmware: set configuration to 1 [ 2.714432]: IntelFirmware: virtual bool USBDeviceController::findInterface() [ 2.717199]: IntelFirmware: Found interface!!! [ 2.727415]: IntelFirmware: virtual bool USBDeviceController::findPipes() [ 2.729935]: IntelFirmware: Found Interrupt endpoint! [ 2.754424]: IntelFirmware: Found Bulk out endpoint! [ 2.754513]: IntelFirmware: Found Bulk in endpoint! [ 2.754615]: IntelFirmware: BT init succeed [ 2.759659]: IntelFirmware: Firmware timestamp 2023.42 buildtype 1 build 73111 [ 2.759662]: IntelFirmware: Firmware SHA1: 0x2e575f2a [ 2.759806]: IntelFirmware: Found device firmware ibt-0041-0041.sfi [ 2.762691]: IntelFirmware: Found device firmware: ibt-0041-0041.sfi [ 2.762710]: IntelFirmware: Boot Address: 0x100800 [ 2.762712]: IntelFirmware: Firmware Version: 151-42.23 [ 2.762714]: IntelFirmware: Firmware already loaded [ 2.762767]: IntelFirmware: Frimware is already running, finishing [ 2.766661]: IntelFirmware: Clean up... [ 2.766666]: IntelFirmware: virtual void BtIntel::free() [ 2.766667]: IntelFirmware: virtual void USBDeviceController::free()

zxystd commented 6 months ago

@brrandrade @derpuma From your logs, we can see the IntelBluetoothFirmware firmware driver is working fine, so your issue is about Hackintosh, that's out of our control, please see other way for help. Thanks.

zxystd commented 6 months ago

You can upload a log file of bluetoothd, maybe I can help you locate what's the problem.

log show --last 5m | grep bluetoothd > ~/desktop/a.txt
derpuma commented 6 months ago

Of course! It would be be great if you could help. I am not on a hackintosh. My macOS runs in a KVM, but should act like a hacky!

As long as the BT shows up as a USB Device, it should also be loaded as a Bluetooth device. Not sure were the quirk is here...

Here is the logfile: a.txt

brrandrade commented 6 months ago

I am also running in KVM, it was ok even on Ventura, I have collected the log and toggled off and on the bluetooth to populate more info. a.txt

derpuma commented 6 months ago

I am also running in KVM, it was ok even on Ventura, I have collected the log and toggled off and on the bluetooth to populate more info. a.txt

Hey @brrandrade. My bluetooth works now...

Please feel free to add this kext into your EFI/OC/Kext and add it to your config.plist:

Bluetooth File Exchange.kext.zip

And please post results. If you send me the details of your hardware, I may can help you further. Are you on AMD or Intel? Which CPU, GPU and Mainboard do you use?

See the results on my side now!

Bildschirmfoto 2024-03-12 um 19 17 11 Bildschirmfoto 2024-03-12 um 18 55 40
brrandrade commented 6 months ago

Hi @derpuma, that is great that you got it working, I jus tried your kext, but didn't work for me. My specs: INTEL i9-12900K GPU AMD Radeon RX 580 8 GB Motherboard: Aorus Z690 PRO DDR5

Your kext is not loading here: kextstat | grep bluetooth -i Executing: /usr/bin/kmutil showloaded No variant specified, falling back to release 50 0 0xffffff800236a000 0x37000 0x37000 com.apple.iokit.IOBluetoothFamily (9.0.0) 94011177-9DC3-353A-85CD-A0081589A3DB <49 38 17 9 8 7 6 3 1> 98 0 0xffffff8003d16000 0xafd000 0xafd000 com.zxystd.IntelBluetoothFirmware (2.4.0) F9DD55B4-27C6-39D5-AAFC-C599DB3DEBCA <38 7 6 3>

Thanks for the help.

derpuma commented 6 months ago

Here you have my EFI Folder, with all the things I tried to get it to work. To be honest, there are so many inputs I got. I am not 100% sure, what brought Bluettooth to life in the end. Maybe you can look and find something that helps you too...

https://mega.nz/file/SVQmwALI#kZVztxxoQNbKNRBuhD-UH5lsbqLXg5K_iM5pwQzM58g

maxpicelli commented 6 months ago

@brrandrade Bruno, essa EFI do Derpuma seria para Ryzen, pois eu a modifiquei e refiz alguns parâmetros na plist e as minhas Kexts da intel. A plist dele estava faltando algumas modificações. As Kexts que ele se refere são de um amigo que é programador. Mas o problema mesmo está nas Kexts da intel. Eu uso uma versão compilada.

You can't use @derpuma EFI, is for Ryzen AMD, you use intel, so im modified some parameters, and use my Intel kexts. Look especially in SecureBootModel, was X86platform but in fact, Intel or Ryzen (or other processors) is better use Disabled on plist

If you can try use those kexts to help your Bluetooth connexion, check GitHub developer page

https://github.com/hnanoto/AirPort-Utility and here https://github.com/hnanoto/Bluetooth-File-Exchange

My kexts that im using on Bluetooth works is on EFI or here

Im using a different kext to works OTA update without issue

Kexts for intel Bluetooth Sonoma 14.4.zip

maxpicelli commented 6 months ago

@brrandrade você pode acessar o Discord ou o Youtube de nosso amigo Henrique Nonato

Veja no canal Hackintosh and Beyond do Youtube, Ali tem todos os links de acesso.

derpuma commented 6 months ago

Kudos @maxpicelli Great that you give support here too, like you helped me!

brrandrade commented 6 months ago

Hi @derpuma, thank you for your EFI, it worked and I can't believe lol, I was hopeless with that.

It worked even without using usbport kext and with the XHCIPortLimit enabled.

@maxpicelli, I didn't use your kexts, do you think it will bring something for my intel, or leave as it is? I got the channels in youtube and discord, thanks for that.

I just had one Problem, I can't boot with boot-args= -v, it gets stuck as showed in the picture below, without it, boot normally, do you have any idea what can I do to enable debug without get stuck?

PXL_20240313_195910892

derpuma commented 6 months ago

@brrandrade I guess, as we are running macOS in a KVM, it is possible, that you run your macOS also with my AMD kext from my EFI folder. The KVM emulates the hardware, the kext pretend to be... I bet it doesn't make any difference to have some kext or not. As I do not know, what exactly made the difference for BT to be detected as the right Controller, I am not sure at all. I will investigate more over the weekend and try to specify which enabled it at the end. For now I am happy, thanks to @maxpicelli who gave me a helping hand at insanelymac forum.

brrandrade commented 6 months ago

I had disabled your AMDRyzen... maybe I could give a try on it to see if something occurs.

maxpicelli commented 6 months ago

Maybe you should try install in normally without KVM. After that, use same EFI to try boot on KVM. Need extract DMAR table, with SSDTTime or similar and so enable VT-d.

brrandrade commented 6 months ago

I did extracting it from linux and windows, but both in KVM got stuck at boot, I need to try with a mac installation, it might generate different files, but for now, no extra disk to try it. but the goal here was reached with the bluetooth working, thanks again :).