OpenIntelWireless / IntelBluetoothFirmware

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

Intel 9260 BTLE: Not sure the firmware (v1.1.3) loads correctly nor can I switch On/Off in BigSur 11.4.0 #309

Closed mackonsti closed 3 years ago

mackonsti commented 3 years ago

Description Updated my Lenovo laptop to Big Sur 11.4.0 and OpenCore 0.6.9. At the same time, using IntelFirmware kexts 1.1.3. OpenCore configuration checked and kexts seem to load. But the BTLE device doesn't seem responsive, nor can it be switched on or off. Possibly not yet supported in the kext? (but mentioned in "Compatibility" page) Perhaps an OpenCore setting that causes conflict?

Environment

Info in System Report - Bluetooth

  Name: Lenovo-Laptop
  Address:  3C-6A-A7-52-3D-79
  Bluetooth Low Energy Supported:   Yes
  Handoff Supported:    Yes
  Instant Hot Spot Supported:   Yes
  Manufacturer: Intel
  Transport:    USB
  Firmware Version: 10.256 (10.256)
  Bluetooth Power:  On
  Auto Seek Pointing:   On
  Remote wake:  On
  Vendor ID:    0x8087
  Product ID:   0x0025
  Bluetooth Core Spec:  5.1 (0xA)
  HCI Revision: 0x100
  LMP Version:  5.1 (0xA)
  LMP Subversion:   0x100
  Device Type (Major):  Computer
  Device Type (Complete):   Mac Portable
  Composite Class Of Device:    0x38010C
  Device Class (Major): 0x01
  Device Class (Minor): 0x03
  Service Class:    0x1C0
  Auto Seek Keyboard:   On

Logs

Use log show --last boot | grep IntelFir in terminal to get logs

Cannot seem to get any logs at all; kext loads but no output at all !

The kext seems to load correctly, however:

105 0 0 0x9d2000 0x9d2000 com.zxystd.IntelBluetoothFirmware (1.1.3) EED47901-F352-3C8B-8361-572CBA2B4D00 <22 6 5 3>

Kernel Panic Logs None

Screenshots System Report Kindly let me know what else I can provide for your assistance, like logs if available. Thank you!

zxystd commented 3 years ago

I have ac9260 and it works fine, the same as yours according to the screenshot.

mackonsti commented 3 years ago

Hello @zxystd thank you but in my case, with BigSur 11.4.0 there is no possibility to turn ON or OFF the device. I have tried changing the order of the kext in the OpenCore configuration but without results. Please, can you provide here your instructions (and also kindly update your main README.md) on the correct order of the kexts that need to load?

IntelBluetoothFirmware.kext first? IntelBluetoothInjector.kext second? Does the presence or order of AirportItlwm.kext have any impact?

Referring to OpenCore 0.7.0 and BigSur 11.4.0 please. In both my machines (just installed on my Lenovo laptop the 9260 NFF card and Intel NUC10 has AX201) I get the exact same behaviour with the ON/OFF toggle...

Thank you for your time and patience!

zxystd commented 3 years ago

@mackonsti AFAIK, there is no difference with the injection order, so I can't figure out what is the 'correct order'. Have you tried disable IntelBluetoothInjector.kext?

mackonsti commented 3 years ago

Hi @zxystd thanks for your time.

I have played with the order of kexts in OpenCore and placed USBPorts.kext before any BT kexts according to this post here and it seems to have solved the issue.

I made sure that my correct USB port is mapped as internal and in IORegistryExplorer where I see IntelBluetoothFirmware being attached under it.

I also tried the "Reset Module" hidden menu (Shift+Option+click on icon) just to be sure, and rebooted immediately after.

Please know that I had to add msgbuf=1048576 in my boot-args of OpenCore, to get more debugging info but log show --last boot | grep IntelFir doesn't produce results. It appears that with msgbuf=1048576 we need another command, please add it to your instructions: sudo dmesg | grep -i intelfir

Here is the log with IntelBluetoothInjector.kext enabled and preceding IntelBluetoothFirmware.kext in OpenCore:

~ % sudo dmesg | grep -i intelfir
[    1.181344]: IntelFirmware: Driver init()
[    1.181349]: IntelFirmware: Driver Probe()
[    1.181353]: IntelFirmware: name=IOUSBHostDevice, class=IOService, vendorID=0x8087, productID=0x0025
[    1.181458]: IntelFirmware: Driver Start()
[    2.653105]: successfully truncated syncroots to 0 bytessuccessfully truncated syncroot_ancestors to 0 bytesSandbox: 1 duplicate report for dirhelper deny(1) file-write-unlink /private/var/folders/zz/zyxvpxvq6csfxvn_n00000sm00006d/T/.CalendarLocksSandbox: contextstored(104) deny(1) user-preference-read kCFPreferencesAnyApplicationsuccessfully truncated network-exemptions to 0 bytesSandbox: 1 duplicate report for contextstored deny(1) user-preference-read kCFPreferencesAnyApplicationSandbox: distnoted(120) deny(1) file-read-metadata /usr/sbin/distnotedSandbox: distnoted(120) deny(1) file-read-metadata /usrIntelFirmware: set configuration to 1
[    2.682535]: IntelFirmware: Found interface!!!
[    2.682556]: IntelFirmware: Found Interrupt endpoint!
[    2.682734]: IntelFirmware: Found Bulk out endpoint!
[    2.682915]: IntelFirmware: Found Bulk in endpoint!
[    2.683102]: IntelFirmware: usb init succeed
[    2.683105]: IntelFirmware: HCI_OP_INTEL_VERSION
[    2.683385]: IntelFirmware: interrupt wait
[    2.683721]: IntelFirmware: Bootloader revision 0.4 build 0 week 30 2018IntelFirmware: suspect device firmware: ibt-19-0-4.sfi
[    2.683740]: IntelFirmware: interrupt continue
[    2.683745]: IntelFirmware: HCI_OP_BOOT_PARAMS
[    2.683922]: IntelFirmware: interrupt wait
[    2.684721]: IntelFirmware: Device revision is 2
[    2.684725]: IntelFirmware: Secure boot is enabled
[    2.684727]: IntelFirmware: OTP lock is enabled
[    2.684729]: IntelFirmware: API lock is enabled
[    2.684731]: IntelFirmware: Debug lock is disabled
[    2.684734]: IntelFirmware: Minimum firmware build 1 week 10 2014
[    2.690417]: IntelFirmware: Found device firmware: ibt-19-0-4.sfi
[    2.690433]: IntelFirmware: interrupt continue
[    2.690438]: IntelFirmware: send firmware header
[    2.690882]: IntelFirmware: send firmware pkey
[    2.691431]: IntelFirmware: send firmware signature
[    2.692217]: IntelFirmware: send firmware data
[    3.748722]: successfully truncated homedirs to 22 bytessuccessfully truncated homedir_ancestors to 16 bytesIntelFirmware: boot_param=0x24800
[    4.074602]: IntelFirmware: send firmware done
[    4.074605]: IntelFirmware: interrupt continue
[    4.074607]: IntelFirmware: HCI_OP_INTEL_RESET
[    4.074744]: IntelFirmware: Intel reset succeed
[    4.075700]: IntelFirmware: Notify: Firmware download done
[    4.075702]: IntelFirmware: can not proceed response
[    4.075714]: IntelFirmware: interrupt wait
[    4.088704]: IntelFirmware: Notify: Device reboot done
[    4.088707]: IntelFirmware: can not proceed response
[    4.088710]: IntelFirmware: interrupt continue
[    4.088712]: IntelFirmware: HCI_OP_INTEL_EVENT_MASK
[    4.088856]: IntelFirmware: interrupt wait
[    4.089701]: IntelFirmware: interrupt continue
[    4.089707]: IntelFirmware: End download
[    4.089712]: IntelFirmware: Clean up...

P.S. I think you miss a line-feed character before "IntelFirmware: suspect device firmware".

Thank you again for your support. Issue closed indeed.