OpenIntelWireless / IntelBluetoothFirmware

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

Bluetooth detected under USB but default card appears under bluetooth #466

Closed darderik closed 10 months ago

darderik commented 11 months ago

Have you read the docs?

Yes

macOS Version

macOS 13.6.1

Kext Version

2.3.0

Wireless Adapter Model and USB Product ID

Intel AX210 (0x32)

Description

Even if usb map is consistent, and the bluetooth card gets recognized on an internal port under USB peripherals, bluetooth hardware gives the default BCM_4350C2. Plist is populated using propertree and all loading orders are respected. Secureboot model is set to j185 My apologies if some of the given logs are not in english.

dardo@iMac ~ % kextstat | grep -i "intel"
Executing: /usr/bin/kmutil showloaded
No variant specified, falling back to release
   60    0 0xffffff8005ce2000 0xf000     0xf000     com.zxystd.IntelBTPatcher (2.3.0) F9DF6EFA-A777-3697-93DB-07E825BAB8A6 <55 25 9 7 6 3 2 1>
  103    0 0xffffff80052b9000 0x757000   0x757000   com.zxystd.IntelBluetoothFirmware (2.3.0) C5BAB8CE-0F29-3390-ABE8-D83CEF5ACE1F <25 7 6 3>
  112    0 0xffffff7f95d89000 0xfff      0xfff      com.apple.driver.AppleIntelSlowAdaptiveClocking (4.0.0) 3997D94F-122B-37B1-A644-5BBA8B2800A2 <111 6 3>

Info in System Report - Bluetooth

USB 
  Controller Bluetooth:
  Indirizzo:    NULL
  Stato:    Non attivo
  Chipset:  BCM_4350C2
  Visibile: Non attivo
  Versione firmware:    v0 c0
  Servizi supportati:   0x382039 < HFP AVRCP A2DP HID Braille AACP GATT SerialPort >
  Collegamento: USB
  ID produttore:    0x004C (Apple)

BLUETOOTH
  ID prodotto:  0x0032
  ID fornitore: 0x8087  (Intel Corporation)
  Versione: 0.00
  Velocità: Fino a 12 Mb/s
  ID posizione: 0x14930000 / 4
  Corrente disponibile (mA):    500
  Corrente necessaria (mA): 100
  Corrente operativa extra (mA):    0

Relevant log output

[    2.137061]: IOUSBHostDevice@14930000: IOUSBHostDevice::setConfigurationGated: IntelBluetoothFirmware selected configuration 1
[   19.713620]: 1 duplicate report for Sandbox: knowledge-agent(383) deny(1) file-read-data /Users/dardo/Library/Biome/FlexibleStorage/registrations.dbSandbox: siriactionsd(429) deny(1) mach-lookup com.apple.bird.tokenSandbox: knowledge-agent(383) deny(1) file-read-data /Users/dardo/Library/Biome/FlexibleStorage/registrations.db15 duplicate reports for Sandbox: knowledge-agent(383) deny(1) file-read-data /Users/dardo/Library/Biome/FlexibleStorage/registrations.dbSandbox: com.apple.quicklook.ThumbnailsA(500) deny(1) mach-lookup com.apple.bird.tokenSandbox: com.apple.quicklook.ThumbnailsA(500) deny(1) file-read-xattr /Users/dardo/Downloads/IntelBluetooth-v2.3.0.zipmemorystatus_update(enter): pid 514, priority 210, dirty=0x0, Active(-1MB NF), Inactive(-1MB, NF)

IntelFirmware output

[    2.138016]: IntelFirmware: Driver init()
[    2.138020]: IntelFirmware: Driver Probe()
[    2.138023]: IntelFirmware: name=IOUSBHostDevice, class=IOService, vendorID=0x8087, productID=0x0032
[    2.138029]: IntelFirmware: Driver Start()
[    2.138043]: IntelFirmware: virtual bool BtIntel::initWithDevice(IOService *, IOUSBHostDevice *)
[    2.138045]: IntelFirmware: virtual bool USBDeviceController::init(IOService *, IOUSBHostDevice *)
[    2.138051]: IntelFirmware: virtual bool USBDeviceController::initConfiguration()
[    2.138054]: IntelFirmware: set configuration to 1
[    2.138531]: IntelFirmware: virtual bool USBDeviceController::findInterface()
[    2.138536]: IntelFirmware: Found interface!!!
[    2.138554]: IntelFirmware: virtual bool USBDeviceController::findPipes()
[    2.138556]: IntelFirmware: Found Interrupt endpoint!
[    2.138723]: IntelFirmware: Found Bulk out endpoint!
[    2.138890]: IntelFirmware: Found Bulk in endpoint!
[    2.139076]: IntelFirmware: BT init succeed
[    2.142545]: IntelFirmware: Firmware timestamp 2022.46 buildtype 1 build 54536
[    2.142669]: IntelFirmware: Found device firmware ibt-0041-0041.sfi 
[    2.145803]: IntelFirmware: Found device firmware: ibt-0041-0041.sfi
[    2.145829]: IntelFirmware: Boot Address: 0x100800
[    2.145831]: IntelFirmware: Firmware Version: 134-39.21
[    2.145833]: IntelFirmware: resetToBootloader
[    2.296194]: IntelFirmware: Frimware is already running, finishing
[    2.296205]: IntelFirmware: intelSendHCISync sendHCIRequest failed: device is not ready -536870184
[    2.296212]: IntelFirmware: Clean up...
[    2.296214]: IntelFirmware: virtual void BtIntel::free()
[    2.296215]: IntelFirmware: virtual void USBDeviceController::free()
[    2.296267]: IntelFirmware: Driver Stop()
[    2.296343]: IntelFirmware: Driver free()
[    2.498425]: IntelFirmware: Driver init()
[    2.498432]: IntelFirmware: Driver Probe()
[    2.498435]: IntelFirmware: name=IOUSBHostDevice, class=IOService, vendorID=0x8087, productID=0x0032
[    2.498441]: IntelFirmware: Driver Start()
[    2.498458]: IntelFirmware: virtual bool BtIntel::initWithDevice(IOService *, IOUSBHostDevice *)
[    2.498460]: IntelFirmware: virtual bool USBDeviceController::init(IOService *, IOUSBHostDevice *)
[    2.498465]: IntelFirmware: virtual bool USBDeviceController::initConfiguration()
[    2.498468]: IntelFirmware: set configuration to 1
[    2.498806]: IntelFirmware: virtual bool USBDeviceController::findInterface()
[    2.498811]: IntelFirmware: Found interface!!!
[    2.498818]: IntelFirmware: virtual bool USBDeviceController::findPipes()
[    2.498820]: IntelFirmware: Found Interrupt endpoint!
[    2.499018]: IntelFirmware: Found Bulk out endpoint!
[    2.499218]: IntelFirmware: Found Bulk in endpoint!
[    2.499418]: IntelFirmware: BT init succeed
[    2.501503]: IntelFirmware: Device revision is 0
[    2.501505]: IntelFirmware: Secure boot is enabled
[    2.501507]: IntelFirmware: OTP lock is enabled
[    2.501508]: IntelFirmware: API lock is enabled
[    2.501509]: IntelFirmware: Debug lock is disabled
[    2.501510]: IntelFirmware: Minimum firmware build 1 week 10 2014
[    2.501512]: IntelFirmware: Bootloader timestamp 2019.40 buildtype 1 build 38
[    2.501609]: IntelFirmware: Found device firmware ibt-0041-0041.sfi 
[    2.504737]: IntelFirmware: Found device firmware: ibt-0041-0041.sfi
[    2.504763]: IntelFirmware: Boot Address: 0x100800
[    2.504764]: IntelFirmware: Firmware Version: 134-39.21
[    2.504770]: IntelFirmware: downloadFirmwareData hwVariant: 23 sbeType: 1
[    2.504772]: IntelFirmware: send firmware header
[    2.505095]: IntelFirmware: send firmware header done
[    2.505101]: IntelFirmware: send firmware pkey
[    2.505331]: IntelFirmware: send firmware pkey done
[    2.505337]: IntelFirmware: send firmware signature
[    2.505568]: IntelFirmware: send firmware signature done
[    2.505571]: IntelFirmware: send firmware payload
[    3.749701]: IntelFirmware: send firmware payload done
[    3.750505]: IntelFirmware: Notify: Firmware download done
[    3.766288]: Sandbox apply: AudioComponentRegistrar[271] <bytes>IntelFirmware: Notify: Device reboot done
[    3.777516]: IntelFirmware: Found device firmware ibt-0041-0041.ddc 
[    3.777521]: IntelFirmware: Load DDC config: ibt-0041-0041.ddc 9
[    3.779507]: IntelFirmware: Load DDC config done
[    3.781504]: IntelFirmware: Firmware timestamp 2021.39 buildtype 1 build 31878
[    3.782514]: IntelFirmware: Clean up...
[    3.782516]: IntelFirmware: virtual void BtIntel::free()
[    3.782518]: IntelFirmware: virtual void USBDeviceController::free()

Kernel Panic Logs

no kps
zxystd commented 10 months ago

BluetoolFixup.kext is needed, from the log the firmware driver is working properly.

darderik commented 9 months ago

BluetoolFixup.kext is needed, from the log the firmware driver is working properly.

% kextstat|grep "acid" 
   58    0 0xffffff8005cce000 0xa000     0xa000     as.acidanthera.BlueToolFixup (2.6.8) F79E90EC-E91C-3D93-83D1-C0C5C9206285 <55 9 7 6 3 2 1>

Bluetoolfixup is loaded as stated on your guide. Unfortunately, bluetooth keeps on scanning forever