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

How to fix BLE devices #12

Open
AuroraWright opened this issue Jul 30, 2018 · 60 comments
Open

How to fix BLE devices #12

AuroraWright opened this issue Jul 30, 2018 · 60 comments

Comments

@AuroraWright
Copy link

AuroraWright commented Jul 30, 2018

I just made my BLE MS Designer mouse work on both Windows and macOS.
Steps are as follows:

  • Pair on macOS first, and then on Windows.
  • Export HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keys\{bluetooth adapter MAC}\{BLE device MAC} to a reg file and reboot into macOS.
  • Disable Bluetooth.
  • Modify /Library/Preferences/com.apple.Bluetooth.plist replacing all instances of the previous MAC address of the BLE device with the new one, and also modify /private/var/root/Library/Preferences/blued.plist (up to Sierra) or /private/var/root/Library/Preferences/com.apple.Bluetooth.plist (High Sierra onwards) as follows:
    -- Expand SMPDistributionKeys, and expand again the dictionary named after the bluetooth adapter MAC, you'll find one sub-dictionary for each BLE device, named after their MACs. Replace the MAC of the device you're dealing with with the new one, and expand that dictionary.
    -- LTK, RAND, IRK, address and EDIV need to be changed. They're respectively LTK, ERand, IRK, Address and EDIV from the reg file, nothing needs to be endian swapped except for the EDIV (as an example, "EDIV"=dword:000080b4 in the reg file means the macOS EDIV is b480) and the Address (as an example, "Address"=hex(b):46,78,f9,ba,1a,db,00,00 in the reg file means the macOS Address is db1abaf9 7846).
  • Save the files and reboot, re-enable Bluetooth.
@AuroraWright AuroraWright changed the title How to fix BLE How to fix BLE devices Jul 30, 2018
@foxevereg
Copy link

Thank you very much for your solution.
I've followed your steps but failed.
I'm using win10 1809 & macOS 10.14.2 mojave.
My BT device is Logitech M585 Bluetooth4.0 BLE which requires CSRK value under win10.
Following the steps, after modified Bluetooth.plist and bluetoothd.plist ,reboot .
the mouse automaticly link to macOS ,but the EDIV LTK RAND value in bluetoothd.plist changed.
It lose connection with win10.
Did you encounter with this problem?
Any suggestion?
Thank u!

@AuroraWright
Copy link
Author

No, that never happened to me. I also recently got ahold of a Microsoft Designer Keyboard (which is also BLE) and it works fine on that too. CSRK is useless basically, it's only used during the initial key generation process, no idea why Microsoft keeps it in the registry (if you edit it to all zeros it still works).

@foxevereg
Copy link

Thank u so much for ur reply.
it seems when macos links to the mouse, it does a pair action, changes the values in bluetoothd.plist.

i've tried to fill the values to win registry but the mouse was still not working.
it connected to win, and disconnected after a short while. connet and disconnect.

i'will look for other bluetooth 4.0 mouse to do a test. Maybe it's device variant.

@foxevereg
Copy link

No, that never happened to me. I also recently got ahold of a Microsoft Designer Keyboard (which is also BLE) and it works fine on that too. CSRK is useless basically, it's only used during the initial key generation process, no idea why Microsoft keeps it in the registry (if you edit it to all zeros it still works).

I managed to find a Mictosoft Designer mouse and modified the plists, then rebooted. The values changed all the same.
How about your macOS version? And how did you modify the plists, PlistEdit Pro or just command line?

image

@AuroraWright
Copy link
Author

AuroraWright commented Dec 12, 2018

I first disable bluetooth on macOS before replacing the plists. Then I use the command line (with sudo) to copy the plists somewhere else, make them accessible by myself, and use the XCode built-in plist editor. I then change the permissions back to those of the originals and copy them back, then reboot. I finally re-enable bluetooth. This works on both Sierra and High Sierra. I doubt anything changed on Mojave.

@foxevereg
Copy link

Disabling bluetooth is the KEY STEP.
Disable bluetooth, then replace the plists, the values will not change.My mouse works fine under both macOS and win10 now.
Thank u so much for your detail steps!

@foxevereg
Copy link

i've posted the full steps on a hackintosh forum to help more people.
Have a look at the acknowledgments list:)
image
[http://bbs.pcbeta.com/forum.php?mod=viewthread&tid=1800655&page=1#pid48751782]

@AuroraWright
Copy link
Author

Thanks for the acknowledgement, I also clarified that Bluetooth should be disabled and then enabled again in the first post

@filipnavara
Copy link

filipnavara commented Dec 23, 2018

Just a heads-up. After upgrading to Windows 10 build 18298 the keys were actually moved somewhere else in the registry. The old values before the update could still be found at "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Upgrade\BTHPORT\Keys" (note the Upgrade part), but for newly paired devices you are out of luck.

@AuroraWright
Copy link
Author

Did you try looking for the new location?

@filipnavara
Copy link

filipnavara commented Dec 23, 2018

I did, there's new "FingerprintString" in the "Devices" key, but I didn't really see an obvious mapping between the two. It's possible they are unrelated.

@AuroraWright
Copy link
Author

I'd try looking for the mac addresses of the devices or something like that... if nothing shows up, maybe they're in the filesystem now

@filipnavara
Copy link

filipnavara commented Dec 23, 2018

Turns out I was probably wrong. I re-paired the mouse and re-run regedit under PSExec and there are new values in the Keys... I guess I must have done something wrong the first time.

UPDATE: And it indeed works! Thanks!

@foxevereg
Copy link

foxevereg commented Jan 1, 2019

0x00:System and Device:

win10 1809
macOS 10.14.2 mojave
Logitech M585  Bluetooth4.0  BLE

0x01:Delete paired bluetooth info.(All paired devices will be deleted!!!)

sudo rm  /private/var/root/Library/Preferences/com.apple.bluetoothd.plist
sudo rm /Library/Preferences/com.apple.Bluetooth.plist

0x02:Pair your device under macOS, export pair info.
create a new folder and copy plists into this folder.
~/Desktop/mouse/AfterPaired

sudo cp  /private/var/root/Library/Preferences/com.apple.bluetoothd.plist ~/Desktop/mouse/AfterPaired/
sudo cp  /Library/Preferences/com.apple.Bluetooth.plist ~/Desktop/mouse/AfterPaired/

Notice:mac address of the mouse at this time is :
reboot to win10,pair the mouse under win10。
use psexec to export the pair info of win10
psexec -s -i \\127.0.0.1 regedit

use psexec to run regedit,export HKEY\_LOCAL\_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keys\{bluetooth adapter MAC}\{BLE device MAC} to a reg file。

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keys\48d705c4730a\e082ec5ce5a1]
"LTK"=hex:2c,21,a6,81,62,b3,3f,16,b5,10,ed,ac,5a,12,09,dc
"KeyLength"=dword:00000000
"ERand"=hex(b):95,f8,1f,05,cb,fa,0b,78
"EDIV"=dword:0000043b
"IRK"=hex:76,d9,aa,05,2d,3b,db,e7,40,9d,59,a7,f9,94,f0,72
"Address"=hex(b):a1,e5,5c,ec,82,e0,00,00
"AddressType"=dword:00000001
"CSRK"=hex:27,82,02,83,53,b2,cf,9e,87,c8,48,bb,c4,c5,dc,a9
"OutboundSignCounter"=dword:00000000
"MasterIRKStatus"=dword:00000001
"AuthReq"=dword:0000002d

the mac address of the mouse at this time :(1 more than macOS)
reboot to macOS

0x03:use Plist Edit Pro to modify com.apple.bluetoothd.plist
reg--->bluetoothd.plist,

value                                     reg                                                   bluetoothd.plist
EDIV:modify                        dword:0000043b                                              <3b04>
IRK:modify                         hex:76,d9,aa,05,2d,3b,db,e7,40,9d,59,a7,f9,94,f0,72         <72f094f9 a7599d40 e7db3b2d 05aad976>
LTK:copy                           hex:2c,21,a6,81,62,b3,3f,16,b5,10,ed,ac,5a,12,09,dc         <2c21a681 62b33f16 b510edac 5a1209dc>
RAND:copy                          hex(b):95,f8,1f,05,cb,fa,0b,78                              <95f81f05 cbfa0b78>                                     
ADDRESS:delete00,00,modify         hex(b):a1,e5,5c,ec,82,e0,00,00                              <e082ec5c e5a1>

Modified:

       "48-d7-05-c4-73-0a" =         {
            "e0-82-ec-5c-e5-a1" =             {
                Address = <e082ec5c e5a1>;
                AddressType = 1;
                EDIV = <3b04>;
                IRK = <72f094f9 a7599d40 e7db3b2d 05aad976>;
                LTK = <2c21a681 62b33f16 b510edac 5a1209dc>;
                LTKLength = <10>;
                MITMProtection = 0;
                OriginalAddressType = 1;
                RAND = <95f81f05 cbfa0b78>;

Save。

0x04:modify ~/Desktop/mouse/AfterPaired/com.apple.bluetoothd.plist using Plist Edit Pro
modify mac address from e082ec5c e5a0 to new e082ec5c e5a1,保存。

0x05:replace system file

TURN OFF bluetooth!!
TURN OFF bluetooth!!
TURN OFF bluetooth!!

make sure the privilidge is 600,owner is root:wheel。
MBP:AfterPaired user$ ls -al ~/Desktop/mouse/AfterPaired

sudo cp  ~/Desktop/mouse/AfterPaired/com.apple.bluetoothd.plist  /private/var/root/Library/Preferences/com.apple.bluetoothd.plist
sudo cp  ~/Desktop/mouse/AfterPaired/com.apple.Bluetooth.plist  /Library/Preferences/com.apple.Bluetooth.plist

make sure the content of the file is correct

sudo defaults read /private/var/root/Library/Preferences/com.apple.bluetoothd.plist
sudo defaults read /Library/Preferences/com.apple.Bluetooth.plist

0x06:reboot to win10 and mac seperetely,check whether the mouse is connected。

@AuroraWright
Copy link
Author

@foxevereg You don't need to endian-swap the IRK as far as I know. Both my Designer mouse and my Designer keyboard work without swapping it (and I think it doesn't make sense that Apple would have IRK and LTK with different endianness).

@foxevereg
Copy link

@foxevereg You don't need to endian-swap the IRK as far as I know. Both my Designer mouse and my Designer keyboard work without swapping it (and I think it doesn't make sense that Apple would have IRK and LTK with different endianness).

I think it doesn't make sense that Apple would have IRK and LTK with different endianness too.
I was also confused with the fact.
When I was trying to connect my mouse to both win10 and macOS.
It was found that IRK won't change after repairing my mouse.
when paired under Win10, the IRK is hex:76,d9,aa,05,2d,3b,db,e7,40,9d,59,a7,f9,94,f0,72(in exported reg file)
when paired under macOS, the IRK is <72f094f9 a7599d40 e7db3b2d 05aad976>
so, I make endian-swap to IRK.

It seems either endianness will work under macOS?

@pwiatrowski
Copy link

it's been a while since the last update to this post but I didn't want to open a new case so let's write here.
I followed the procedure described here and successfully dual-paired the Microsoft Mobile Mouse 3600 - thanks for that!

However, I've got a big issue with the Microsoft Modern keyboard - I cannot get it to work :(
I tried multiple options but no joy - the problem is that I cannot pair it at all in macos as it requires connecting via USB for the initial pairing in Windows. I did that and tried to transfer the keys and create manual entries in /Library/Preferences/com.apple.Bluetooth.plist but I get nowhere.
I feel I'm missing correct settings in DeviceCache section - is that correct assumption?

Does anyone have any ideas what I can try to make it work?
I found that someone did exactly that on Linux (https://askubuntu.com/a/1063285) but Linux has a different syntax of the Bluetooth config files (especially the 'Services' section).

Any help is more than welcome!

Cheers!

@someperson
Copy link

someperson commented Jun 25, 2019

I have a device that shows up as BLE in macOS, but Classic Bluetooth in Windows. What can I do to make this somehow work? The device is a Bose QuietComfort 35 II, and in Windows, it actually shows up in the pairing list as two devices, one of which is BLE and does absolutely nothing, the other of which is Classic Bluetooth and works. macOS, on the other hand, only seems to want to connect to it using BLE, which works. Is it possible to somehow disable BLE in macOS temporarily so I can get it paired to both systems using the same method?

@ruiderson
Copy link

it's been a while since the last update to this post but I didn't want to open a new case so let's write here.
I followed the procedure described here and successfully dual-paired the Microsoft Mobile Mouse 3600 - thanks for that!

However, I've got a big issue with the Microsoft Modern keyboard - I cannot get it to work :(
I tried multiple options but no joy - the problem is that I cannot pair it at all in macos as it requires connecting via USB for the initial pairing in Windows. I did that and tried to transfer the keys and create manual entries in /Library/Preferences/com.apple.Bluetooth.plist but I get nowhere.
I feel I'm missing correct settings in DeviceCache section - is that correct assumption?

Does anyone have any ideas what I can try to make it work?
I found that someone did exactly that on Linux (https://askubuntu.com/a/1063285) but Linux has a different syntax of the Bluetooth config files (especially the 'Services' section).

Any help is more than welcome!

Cheers!

Anyone has any tip for the above case? I would love to use my Microsoft Modern Keyboard on macOS without the USB cable, but that seems impossible. =/

@Stampoo
Copy link

Stampoo commented Jan 25, 2020

Howdy, I have Microsoft Modern Mobile Mouse (it's next step evolution Microsoft Designer Mouse), after paring, OS (Windows 10 and Hight Sierra) not created IRK and Address Fields in *.plist and Reg, who fighting with this trouble?

@macmeister1967
Copy link

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keys\

is EMPTY under Windows 10

@borodaxel
Copy link

It is empty after 20H2 upgrade.

@roddy20
Copy link

roddy20 commented May 8, 2021

It is empty after 20H2 upgrade.

it is not empty
you have no access rights to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT
make yourself an owner

@macmeister1967
Copy link

@roddy20 , how do I do that exactly?

@borodaxel
Copy link

It is empty after 20H2 upgrade.

Sorry. You need to run regedit with pstool (official from MS) to get rights of SYSTEM user. Then you will see contents of BTHPORT section.

@macmeister1967
Copy link

macmeister1967 commented May 10, 2021 via email

@macmeister1967
Copy link

macmeister1967 commented May 10, 2021 via email

@dekun-ph
Copy link

dekun-ph commented Jun 1, 2021

try this fork:
https://github.com/lietxia/BT-LinkkeySync

it works with mine.

@Mahasvan
Copy link

Is this normal that this method doesn't work in Monterey?

/Library/Preferences/com.apple.Bluetooth.plist looks like this (as expected, I suppose)
image

However, there is no com.apple.Bluetooth.plist in /private/var/root/Library/Preferences.

mahas@MacBook-Pro ~ % sudo ls /private/var/root/Library/Preferences
.GlobalPreferences.plist
.GlobalPreferences_m.plist
ByHost
applessdstatistics.plist
com.apple.ASPCarryLog.plist
com.apple.AppleMultitouchMouse.plist
com.apple.AppleMultitouchTrackpad.plist
com.apple.BTServer.plist
com.apple.CoreBrightness.plist
com.apple.CoreGraphics.plist
com.apple.CrashReporterSupportHelper.plist
com.apple.GEO.plist
com.apple.MobileAsset.plist
com.apple.MobileSoftwareUpdate.plist
com.apple.ReportCrash.plist
com.apple.UserAccountUpdater.plist
com.apple.WirelessRadioManager.debug.plist
com.apple.airplay.plist
com.apple.awdd.persistent.plist
com.apple.cloudd.plist
com.apple.contextstored.plist
com.apple.corecaptured.plist
com.apple.coreduetd.plist
com.apple.das.fairscheduling.plist
com.apple.driver.AppleBluetoothMultitouch.mouse.plist
com.apple.driver.AppleBluetoothMultitouch.trackpad.plist
com.apple.driver.AppleHIDMouse.plist
com.apple.duetactivityscheduler.plist
com.apple.iCal.plist
com.apple.icloud.findmydeviced.notbackedup.plist
com.apple.icloud.findmydeviced.plist
com.apple.icloud.searchpartyd.plist
com.apple.mediaremote.plist
com.apple.mediaremoted.plist
com.apple.powerd.lowpowermode.state.plist
com.apple.rtcreporting.plist
com.apple.security.ctkd-db.plist
com.apple.smartcharging.topoffprotection.plist
com.apple.symptomsd-diag.plist
com.apple.systempreferences.plist
com.apple.systemstats.microstackshot.plist
com.apple.tailspin.plist
com.apple.uarp.database.plist
com.apple.universalaccess.plist
com.apple.xpc.activity2.plist
com.logitech.LogiOptions-Installer.plist
memoryanalyticsd.plist
sharedfilelistd.plist

com.apple.BTServer.plist looks like this
Screen Shot 2021-11-25 at 11 38 21 AM

I am aware the bluetooth stack was rewritten in Monterey, so I am guessing the file which has the necessary keys has changed. Does anyone have any info about this?

@whatnameisit
Copy link

whatnameisit commented Dec 5, 2021

/Library/Preferences/com.apple.Bluetooth.plist looks like this (as expected, I suppose)

That's probably a residual file from previous OS. After fresh installing macOS Monterey, I have no such file with multiple BT devices connected. BCM94360NG.
The creator of Hackintool has come up with a fix for porting keys of generic(?) BT devices in Monterey:
benbaker76/Hackintool@6398a4b
benbaker76/Hackintool@c12446d
and I have connected Logitech K380 keyboard on both macOS and Windows with a single profile.
But as of now, the tool has never supported porting keys of BLE devices, and I have no idea what's going on in the source code.
@headkaze, would it be possible for you to give us any information?

@benbaker76
Copy link

@whatnameisit you can view this post on Reddit for manual instructions.

@whatnameisit
Copy link

@whatnameisit you can view this post on Reddit for manual instructions.

Thanks, headkaze. I am now able to use BLE devices on macOS and Windows with single profiles!
For anyone if they would like to know, I edited four properties:

EDIV:modify
IRK:modify
LTK:copy
RAND:copy

@benbaker76
Copy link

@whatnameisit you can view this post on Reddit for manual instructions.

Thanks, headkaze. I am now able to use BLE devices on macOS and Windows with single profiles! For anyone if they would like to know, I edited four properties:

EDIV:modify
IRK:modify
LTK:copy
RAND:copy

I'd be interested in adding support for these 4 additional attributes to Hackintool. Can you please post the output to the following commands (as well as your final working Windows .reg file).

  1. security find-generic-password -s MobileBluetooth -w
  2. system_profiler SPBluetoothDataType -xml

@whatnameisit
Copy link

whatnameisit commented Dec 9, 2021

@headkaze, I don't think the first command would do anything meaningful because BLE devices have their own respective "key" like below:
스크린샷 2021-12-09 오전 10 44 49
I used the above key to extract relevant information.
If you still need them, here is the output.

  1. 1.txt
  2. 2.txt

Windows .reg file 8863df8a2d80.zip

I double-clicked the BLE device with familiar "Account"; clicked "Show Password" as stated in the reddit post; 3.txt found four attributes Encrypted Diversifier(EDIV), Long-term Key(LTK), Random Number(RAND), and Remote IRK(IRK); endian swapped EDIV and IRK; copied swapped EDIV, LTK, RAND, and swapped IRK over to Windows; and pasted them in Windows regedit accordingly. IRK was pasted in two respective places which I will show later.
IRK once here:
4
and again with other keys marked with blue lines:
5
I noticed the "Account" name in Keychain Access is the same as the "Address" in Windows regedit in red.

@benbaker76
Copy link

benbaker76 commented Dec 9, 2021

Thanks @whatnameisit. I've pretty much got it implemented in Hackintool.

Can you please try the attached version and see if it will generate a matching reg file.

@whatnameisit
Copy link

@headkaze Hackintool has managed to generate reg keys for devices other than the very device I'm using right now. Honestly, I have no idea what devices those keys are for because I only have one BLE mouse. Keychain through Apple account copied from previous BLE devices which I don't know of, maybe?

Bluetooth.reg.zip

One other thing I noticed is that the "Account" name of those two is "Public xx:xx:xx:xx:xx:xx" whereas that for the actual device I'm using is "Random xx:xx:xx:xx:xx:xx".

스크린샷 2021-12-09 오후 7 20 19
스크린샷 2021-12-09 오후 7 20 17
스크린샷 2021-12-09 오후 7 20 21

If you know anything about them, I'm pretty sure you will have everything sorted. If you don't, please let me know and I may do a fresh installation of macOS 12 and do the test before logging into Apple ID.

@benbaker76
Copy link

benbaker76 commented Dec 9, 2021

@whatnameisit yes those devices you're seeing are old BT devices you've connected to in the past. You don't need to do a fresh installation you can safely delete them from the keychain.

I have two devices connected and one has a Public and the other has a Random entry. The Public version has no Remote Encryption->Random Number entry whereas Random does.

First issue I'm seeing is the "MasterIRK" value will be overwritten with each device so there must be some other way to deal with this.

Second issue is the file you sent me only has a "Remote Encryption" entry but mine also contain "Local Encryption->Encrypted Diversifier" entries. These could in fact be another layer of encryption. What version of macOS do you have? Mine is macOS Monterey 12.1 Beta (21C5031d)

I've also added the following entries manually although I'm not sure what they mean or what they relate to.

"AddressType"=dword:00000001
"MasterIRKStatus"=dword:00000001
"AuthReq"=dword:0000002d

Please try the attached version and see if you can get two BT devices (preferably with Public and Random entries) working. What happens if you remove the "MasterIRK" entry?

@whatnameisit
Copy link

whatnameisit commented Dec 10, 2021

My OS version is 12.0.1(21A559). I only have one Random BLE device, so I can't test with Public BLE device.
The newly attached version recognized my Random BLE mouse. It did not reverse the ERand or EDIV though.
Hackintool generated: Bluetooth.reg.zip
Windows exported: 8863df8a2d80.zip

I deleted "MasterIRK" entry yet the mouse is still working after reboot: bluetooth.zip

@benbaker76
Copy link

I've just done a release of Hackintool with ERand and EDIV reversed and removed "MasterIRK". Can you please give it a try and let me know if it looks correct to you.

@whatnameisit
Copy link

Yes, it's working all right! Thank you for your work :)

@trintin94
Copy link

@headkaze, I don't think the first command would do anything meaningful because BLE devices have their own respective "key" like below: 스크린샷 2021-12-09 오전 10 44 49 I used the above key to extract relevant information. If you still need them, here is the output.

  1. 1.txt
  2. 2.txt

Windows .reg file 8863df8a2d80.zip

I double-clicked the BLE device with familiar "Account"; clicked "Show Password" as stated in the reddit post; 3.txt found four attributes Encrypted Diversifier(EDIV), Long-term Key(LTK), Random Number(RAND), and Remote IRK(IRK); endian swapped EDIV and IRK; copied swapped EDIV, LTK, RAND, and swapped IRK over to Windows; and pasted them in Windows regedit accordingly. IRK was pasted in two respective places which I will show later. IRK once here: 4 and again with other keys marked with blue lines: 5 I noticed the "Account" name in Keychain Access is the same as the "Address" in Windows regedit in red.

Sorry if this is a silly question, but how did you convert the format of the values from 3.txt into the correct format for the registry? Following the reddit post I was able to get an output in the same format as yours, but I can't copy paste the values as they aren't hexadecimals
Key.txt

@benbaker76
Copy link

benbaker76 commented Mar 29, 2022

Sorry if this is a silly question, but how did you convert the format of the values from 3.txt into the correct format for the registry?

You can use Hackintool to generate the Windows registry file (it's in the Tools tab)

@trintin94
Copy link

trintin94 commented Mar 29, 2022

Sorry if this is a silly question, but how did you convert the format of the values from 3.txt into the correct format for the registry?

You can use Hackintool to generate the Windows registry file (it's in the Tools tab)

I tried that, but after importing, I found my headphones had started working, but not my mouse, so I tried looking at the generated reg file and comparing addresses there appeared to be no entry for the mouse at all, and so using Keychain Access I noticed that only the headphones had a "MobileBluetooth" entry, while the mouse had an entry similar to above.
Screenshot 2022-03-29 at 21 51 07

Bluetooth.reg.zip

@thelittlefox
Copy link

thelittlefox commented Apr 5, 2022

``Monterey has changed bluetooth architecture.
Chanzong write a blog of synchronizing bluetooth between Monterey and Windows in Chinese.
https://zhuanlan.zhihu.com/p/483454678

headkaze's hackintool can export windows reg files.
My mouse works fine both macOS and win11. Export reg file with bluetooth devices disconnected.
it's the first choice to sync BLE device between windows and mac.

But keyboard does not work, there is both Local Encryption key and Remote Encryption key in macOS keychain xml.
I tried to replace EDVI and ERand in reg file with the value in Local Encryption key. It did not work.

Keyboard still works after deleting Local Encryption keys. It seems Local Encryption does not affect BLE device connection.

20220411update:
After replacing all old MAC address with new MAC address in all the keys and values of windows registry。
BLE keyborad gets to work。

截屏2022-04-06 09 49 41
截屏2022-04-06 09 51 57

@lilce083
Copy link

lilce083 commented Apr 15, 2022

Hi. Hope anyone can help me.
Im pairing my combo ( keyboard and mouse ) device on monterey and win 11. This is Bluetooth LE device
Here is my device. Its rii i4 : http://www.riitek.com/product/i4.html
I found some problem
i can pair magic mouse of both, but can not connect i4 on mac os. When my friend connect his airpod on my mac os, then i can connect my i4, when he disconnect his airpod, i still can connect and use my i4. And when i remove his airpod profile, i will lose connect of i4. I though this problem like my i4 need something from airpod profile, then i4 can connect and use

about pair my i4 with monterey and win 11.
I tried get information from xml source of keychain access ( ediv, ltk, rand, irk ). Then edit registry on windows with that information. It did not work

Tried use hackintool 3.8.7 for get bluetooth reg. And i can see this reg file make 2 new keys on registry (cc088d04f4b6 and dca4cad9aea4). But that key not correct with MAC address. Test it and it did not work too

help help help … sos sos

my i4 mac address : 72000012373e

5FF880AF-2ABD-4C11-8BB8-74D7985FAC50
B317256C-457E-4721-87CF-60EB10558390
88651B29-49B7-41F6-BEB3-CF6712B15FA5
7673844A-70A3-4629-A9CF-2FABF5A851DF

@thelittlefox
Copy link

thelittlefox commented Apr 16, 2022

lilce083
@lilce083
it seems i4 has 2.4G usb dongle,since you are running a real mac.
why not try 2.4G usb dongle.

@lilce083
Copy link

lilce083
@lilce083
it seems i4 has 2.4G usb dongle,since you are running a real mac.
why not try 2.4G usb dongle.

Becauce the place i control my computer so far. With 2.4G, the connection have some trouble. With that range i test bluetooth connection is better than 2.4G
Im using hackintosh

@lilce083
Copy link

@headkaze can u help me some information for pairing my rii i4. Hope u can help

@lilce083
Copy link

Pair is complete. Just do it step by step with tutorial from china and hackintool 3.8.7

  1. Connect to windows
  2. Connect to monterey
  3. Disconnect from monterey ( keep profile on bluetooth pres ). This step make me can export bluetooth reg file from hackintool with my ble device ( rii i4). If i dont disconnect, i cant export reg file have my device
  4. Generate reg file by hackintool
  5. Import to windows
  6. Restart and bingo
    Tks all

@Buckeyes1995
Copy link

I am unable to see any Keys under

Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keys

I ran PsExec -i RegEdit (had to create a shortcut since I have to run it as Admni) and I still see no keys. What am I doing wrong?

Thanks

@Mahasvan
Copy link

I am unable to see any Keys under

Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keys

I ran PsExec -i RegEdit (had to create a shortcut since I have to run it as Admni) and I still see no keys. What am I doing wrong?

Thanks

In my Intel AC9560, I (re)installed bluetooth drivers after I didn't see any entries in the registry. Afterwards, I merged the keys and it has worked ever since.

@Buckeyes1995
Copy link

Buckeyes1995 commented Aug 13, 2022

I am unable to see any Keys under
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keys
I ran PsExec -i RegEdit (had to create a shortcut since I have to run it as Admni) and I still see no keys. What am I doing wrong?
Thanks

In my Intel AC9560, I (re)installed bluetooth drivers after I didn't see any entries in the registry. Afterwards, I merged the keys and it has worked ever since.

Thanks, I just tried that. I removed the Intel Bluetooth driver, rebooted.. still nothing. When you say 'merged the keys".. is there another step I need to do to see them?

Just the default key.

image

@Fox19781005
Copy link

I use BUFFALO BSMBB09DS to test the success steps as follows

  1. WIN 10 pairing is completed and confirmed to be available
  2. macOS Monterey re-pairing confirmation can be used
  3. BUFFALO BSMBB09DS power off
  4. Use Hackintool to export the Bluetooth configuration file name Bluetooth.reg
  5. Reboot to enter WIN 10
  6. Modify Bluetooth.reg
  7. Change "AddressType"=dword:00000001 to "AddressType"=dword:00000000
  8. Save the new file Bluetooth_FIX.reg
  9. Use PSTools PsExec.exe to import BluetoothFix.reg
    10 Reboot and test OK

@Malumen
Copy link

Malumen commented Jun 29, 2024

Hackintool does nothing for my devices, and I cannot access the guide mentioned here.

Still looking for BLE support between macOS and Windows.

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

No branches or pull requests