Jump to content

AR3012: Bluetooth firmware uploader & injector - macOS 10.12 and later


kekkei
 Share

Recommended Posts

I have tested this on macOS 10.14.6 with AR9565 combo Wifi/BT card. The kexts have been developed by itlwm developer zxystd.

 

Background:
Last successful method for uploading Atheros 3012 Bluetooth adapter firmware at cold start on a Hackintosh was a closed source kext developed by @EMlyDinEsH which won't work beyond macOS 10.12. In September 2020, zxystd released Ath3kBT and Ath3kBTInjector kexts for uploading firmware and injecting ids for enabling On/Off switch in Bluetooth PrefPane for AR3012 chip in macOS 10.15+. Kexts were recently improved for compatibility with macOS 10.12+.

Caveats:
⚠️ Ath3kBTInjector kext has a small defect: if you want to switch Bluetooth On/Off, you 1st need to turn Wi-Fi off.  

Ath3kBTInjector can be avoided for those who don't mind grayed out bluetooth On/off switch in Bluetooth PrefPane.

 

Download:

Github Release Page

 

Tutorial :
1. Download latest version from developer's Github repo.
2. Place Ath3kBT.kext and Ath3kBTInjector.kext in your OpenCore kexts folder.
3. In OpenCore Config.plist, add those two kexts under Kernel->Add along the rest of your other kexts and enable them. Save your modified config afterwards.

⚠️Note that, in OpenCore Ath3kBTInjector must be loaded after Ath3kBT. This does not apply to Clover.

4. Reboot your Hackintosh.

 

Debug:

For debugging, last boot logs can be Inspected with kext id.

Sample log for successful upload of firmware under macOS 10.14.6.

2021-04-05 07:04:58.159179+0530  localhost kernel[0]: (Ath3kBT) Ath3kBT::probe
2021-04-05 07:04:58.166509+0530  localhost kernel[0]: (Ath3kBT) Ath3kBT::probe
2021-04-05 07:04:58.173544+0530  localhost kernel[0]: (Ath3kBT) Ath3kBT::start!
2021-04-05 07:04:58.180272+0530  localhost kernel[0]: (Ath3kBT) Ath3kBT::message
2021-04-05 07:04:58.186809+0530  localhost kernel[0]: (Ath3kBT) Ath3kBT::start: device reset
2021-04-05 07:04:58.193656+0530  localhost kernel[0]: (Ath3kBT) Ath3kBT::start: num configurations 1
2021-04-05 07:04:58.202250+0530  localhost kernel[0]: (Ath3kBT) Ath3kBT::message
2021-04-05 07:04:58.208436+0530  localhost kernel[0]: (Ath3kBT) Ath3kBT::message
2021-04-05 07:04:58.214628+0530  localhost kernel[0]: (Ath3kBT) Ath3kBT::message
2021-04-05 07:04:58.220651+0530  localhost kernel[0]: (Ath3kBT) Ath3kBT::message
2021-04-05 07:04:58.226862+0530  localhost kernel[0]: (Ath3kBT) Ath3kBT::message
2021-04-05 07:04:58.233100+0530  localhost kernel[0]: (Ath3kBT) Ath3kBT::message
2021-04-05 07:04:58.238779+0530  localhost kernel[0]: (Ath3kBT) Ath3kBT::start Found Bulk out endpoint!
2021-04-05 07:04:58.245970+0530  localhost kernel[0]: (Ath3kBT) Ath3kBT try to load patch rom file AthrBT_0x31010000.dfu
2021-04-05 07:04:58.305477+0530  localhost kernel[0]: (Ath3kBT) Ath3kBT try to load syscfg file ramps_0x31010000_40.dfu
2021-04-05 07:04:58.314216+0530  localhost kernel[0]: (Ath3kBT) Ath3kBT firmware was already in normal mode
2021-04-05 07:04:58.318405+0530  localhost kernel[0]: (Ath3kBT) Ath3kBT: firmware loaded successfully!
2021-04-05 07:04:58.319098+0530  localhost kernel[0]: (Ath3kBT) Ath3kBT::start: device status 3
2021-04-05 07:04:58.326628+0530  localhost kernel[0]: (Ath3kBT) Ath3kBT::message
2021-04-05 07:05:01.722502+0530  localhost kernel[0]: (Ath3kBT) Ath3kBT::message
2021-04-05 07:05:01.733098+0530  localhost kernel[0]: (Ath3kBT) Ath3kBT::message
2021-04-05 07:05:01.733460+0530  localhost kernel[0]: (Ath3kBT) Ath3kBT::message
2021-04-05 07:05:01.735147+0530  localhost kernel[0]: (Ath3kBT) Ath3kBT::message

 

Source:

https://github.com/zxystd/AthBluetoothFirmware/

 

Credits:

zxystd

  • Like 1
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

×
×
  • Create New...