Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bluetooth Controller Address is NULL | MacOS Sonoma | #476

Closed
brrandrade opened this issue Mar 6, 2024 · 20 comments
Closed

Bluetooth Controller Address is NULL | MacOS Sonoma | #476

brrandrade opened this issue Mar 6, 2024 · 20 comments

Comments

@brrandrade
Copy link

brrandrade commented Mar 6, 2024

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 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

  • Kexts:

  • image

  • boot-args: keepsyms=1 -btlfxallowanyaddr -wegnoigpu agdpmod=pikera alcid=23 -dbgenhdbg

  • kextstat output:
    xxx@iMac-Pro ~ % kextstat | grep -E "BTPatcher|IntelBluetoothFirmware|BlueToolFixup|DebugEnhancer"
    Executing: /usr/bin/kmutil showloaded
    No variant specified, falling back to release
    59 0 0xffffff8004c87000 0xa000 0xa000 as.lvs1974.DebugEnhancer (1.0.9) A436CC6E-646F-3921-AD16-5151136BC7E2 <58 9 7 6 3 2 1>
    60 0 0xffffff8004c91000 0xf000 0xf000 com.zxystd.IntelBTPatcher (2.4.0) 06D53ACB-3381-3B25-BBA8-403841B1AE25 <58 30 9 7 6 3 2 1>
    61 0 0xffffff800579d000 0xa000 0xa000 as.acidanthera.BlueToolFixup (2.6.8) F79E90EC-E91C-3D93-83D1-C0C5C9206285 <58 9 7 6 3 2 1>
    105 0 0xffffff8004ca0000 0xafd000 0xafd000 com.zxystd.IntelBluetoothFirmware (2.4.0) F9DD55B4-27C6-39D5-AAFC-C599DB3DEBCA <30 7 6 3>

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
Copy link
Author

IOREG FILE: iMac Pro.zip

@zxystd
Copy link
Collaborator

zxystd commented Mar 9, 2024

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

@brrandrade
Copy link
Author

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
Copy link
Author

More info:

image

Wifi is working normally:
image

@derpuma
Copy link

derpuma commented Mar 10, 2024

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
Copy link
Collaborator

zxystd commented Mar 11, 2024

@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 zxystd closed this as completed Mar 11, 2024
@zxystd
Copy link
Collaborator

zxystd commented Mar 11, 2024

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
Copy link

derpuma commented Mar 11, 2024

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
Copy link
Author

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
Copy link

derpuma commented Mar 12, 2024

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
Copy link
Author

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
Copy link

derpuma commented Mar 13, 2024

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
Copy link

maxpicelli commented Mar 13, 2024

@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
Copy link

@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
Copy link

derpuma commented Mar 13, 2024

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

@brrandrade
Copy link
Author

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
Copy link

derpuma commented Mar 14, 2024

@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
Copy link
Author

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

@maxpicelli
Copy link

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
Copy link
Author

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 :).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

4 participants