thelittlefox 发表于 2018-12-9 16:00

[教程]实现win10 mojave蓝牙4.0鼠标共享

本帖最后由 thelittlefox 于 2022-4-11 15:21 编辑

20220411编辑:

Monterey中蓝牙协议栈有比较大的变化,原教程内容不适用于Monterey。

Monterey中BLE设备蓝牙同步可以使用Hackintool3.8.5,在macOS下导出注册表文件。然后在win中导入注册表文件。
在windows中配对BLE蓝牙设备,然后到macOS下配对蓝牙设备,保持蓝牙为开启状态,断开已经连接的蓝牙设备。
必须断开已经连接的蓝牙设备,否则无法导出reg文件。
导出的reg文件将放置在macOS的桌面上。


拷贝到U盘中,重启到windows。使用psexec工具启动注册表工具,导入reg文件。重启windows,看BLE蓝牙设备是否正常工作。
经实验,BLE蓝牙罗技M590鼠标,导入reg文件后,重启后即可连接到windows,实现双系统蓝牙连接。

ikbc s200蓝牙键盘导入reg文件后仍然不能连接。
关闭windows蓝牙,关闭蓝牙键盘。
(需要注意,每一次连接,ikbc键盘的地址第6位会+1,有的设备是最后一位+1。比如第一次在windows下配对时地址为28ef427ece08,去mac下配对后地址会变为28ef437ece08.)

在整个注册表中搜索ikbc键盘的mac地址28ef427ece08。将搜索到的所有键名中的28ef427ece08改为28ef437ece08,很多处,都需要仔细修改。修改完后,重启windows。打开windows蓝牙和蓝牙键盘。
键盘即可以通过蓝牙进行连接。







鸣谢
AuroraWright:https://github.com/digitalbirdo/BT-LinkkeySync/issues/12   
digitalbirdo:https://github.com/digitalbirdo/BT-LinkkeySync
jamyu:      https://www.insanelymac.com/forum/topic/318483-keep-bluetooth-devices-paired-once-between-macwindows/    Keep Bluetooth devices paired once between Mac/Windows   
wp8student:   https://bbs.pcbeta.com/viewthread-1760493-1-1.html                                                      [教程] 蓝牙鼠标(设备)自动连接多mac或者多win或者mac/win混合教程
xjzkp:      https://bbs.pcbeta.com/viewthread-1789383-1-1.html                                                      解决mac系统(high sierra)与Windows蓝牙鼠标共用问题(简单翻译)
Jamyu:      https://bbs.pcbeta.com/forum.php? ... &page=1#pid48193483                            MacOS、Windows、Linux蓝牙4.0鼠标共用配对



0x00:系统及设备:
win10 1809
macOS 10.14.2 mojave
Logitech M585Bluetooth4.0BLE

0x01:删除macOS下的蓝牙信息(注意:所有蓝牙配对信息将被清空)
sudo rm/private/var/root/Library/Preferences/com.apple.bluetoothd.plist
sudo rm /Library/Preferences/com.apple.Bluetooth.plist

0x02:配对鼠标,并导出配对信息
在macOS下配对鼠标,并备份配对信息(主要是获取配对成功后的bluetoothd.plist,Bluetooth.plist作为修改模板)
在桌面上新建/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/

注意:此时鼠标的mac地址为:<e082ec5c e5a0>
重启到win10,在win10下配对鼠标。

psexec工具的使用详见上面的鸣谢列表
psexec -s -i \\127.0.0.1 regedit
用psexec工具启动regedit,导出HKEY\_LOCAL\_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keys\{bluetooth adapter MAC}\{BLE device MAC} 到一个reg文件。

"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

此时鼠标的mac地址为:<e082ec5c e5a1>(比macOS下的地址多了1)
然后重启到macOS

0x03:使用Plist Edit Pro工具修改com.apple.bluetoothd.plist文件
注册表--->bluetoothd.plist,需要删除其中的逗号
键值                                    注册表                                                   bluetoothd.plist
EDIV:需要转换顺序                        dword:0000043b                                          <3b04>
IRK:需要转换顺序                         hex:76,d9,aa,05,2d,3b,db,e7,40,9d,59,a7,f9,94,f0,72   <72f094f9 a7599d40 e7db3b2d 05aad976>
LTK:顺序一样,直接拷贝                  hex:2c,21,a6,81,62,b3,3f,16,b5,10,ed,ac,5a,12,09,dc   <2c21a681 62b33f16 b510edac 5a1209dc>
RAND:顺序一样,直接拷贝                   hex(b):95,f8,1f,05,cb,fa,0b,78                        <95f81f05 cbfa0b78>                                    
ADDRESS:去除末尾的00,00后,转换顺序      hex(b):a1,e5,5c,ec,82,e0,00,00                        <e082ec5c e5a1>

修改后的部分内容如下:
       "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>;保存。

0x04:修改bluetoothd.plist使用Plist Edit Pro工具修改~/Desktop/mouse/AfterPaired/中的com.apple.bluetoothd.plist
将文件中所有的原mac地址e082ec5c e5a0替换为新mac地址   e082ec5c e5a1,保存。

0x05:替换系统文件


替换前关闭蓝牙!关闭蓝牙!关闭蓝牙!
确认文件权限600,所有者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然后使用
sudo defaults read /private/var/root/Library/Preferences/com.apple.bluetoothd.plist
sudo defaults read /Library/Preferences/com.apple.Bluetooth.plist来确认文件内容是否正确。

0x06:分别重启至win10和mac,看鼠标是否已经连接。

需要注意的是修改完成并替换的bluetoothd,Bluetooth文件需要多次确认内容正确。

目前遇到的问题是,在mac下修改完成,重启后,鼠标会不需要配对,自动连接到系统上。
但是查看bluetoothd.plist的时候,修改好的EDIV等值已经发生改变,看起来是mac系统连接鼠标的时候自动执行了一次配对。

1213update:
成功在两个系统下连接鼠标。
关键在于0x05步,替换两个文件之前确认下权限:600和文件所有者:root:wheel。
替换的时候关闭蓝牙!关闭蓝牙!关闭蓝牙!


有条件的坛友能否测试下这个方法,然后将您用的设备型号,系统版本,能否不再配对双系统直连回复到这个帖子下面?






B!ueice 发表于 2018-12-11 09:54

沙发,谢谢分享,试试看

jamyu 发表于 2018-12-11 10:02

感谢楼主分享心得!

czmppppp 发表于 2018-12-11 10:09

好麻烦。苹果原装网卡就可以搞定了。

zxwzz 发表于 2018-12-11 10:43

太麻烦了,看的眼花缭乱。。

步骤1 先去win10配对一次 ,然后去mac配对一次

然后在mac运行这个命令
sudo defaults read /private/var/root/Library/Preferences/com.apple.bluetoothd.plist

LinkKeys =   {
      "04-d3-b0-bd-99-de" =         {
            "00-18-00-3b-ec-22" = <1bca90eb e9b6f94a ed75b831 bc575c7a>;
      };

得到上面的linkkey 1bca90eb e9b6f94a ed75b831 bc575c7a

再回到win10,先下载一个PSTOOLS 解压到SYSTEM32文件夹,然后cmd运行命令 psexec -s -i regedit

打开注册表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\BTHPORT\Parameters\Keys\(蓝牙适配器地址,不是你蓝牙鼠标/键盘的地址)

然后把右边的linkkey键值 右键修改 ,改成mac系统提取下来的,把它倒过来,2个字符倒一次

例如 mac 是 1BCD8K3HDJ4G5G,win下修改的顺序就是5G4GDJ3H8KCD1B。

改完就完事了。双系统任何蓝牙设备都能一起访问。包括蓝牙键盘音响,但是有一个不方便的地方就是如果蓝牙设备添加了新的就需要重新来弄一次linkkey。

cheungser 发表于 2018-12-11 14:33

    win10
    macOS 10.14.1 mojave
    鼠标:DesignerMouse
按LZ的办法测试成果,可以双系统共享

jamyu 发表于 2018-12-11 18:12

zxwzz 发表于 2018-12-11 10:43 https://www.pcbeta.com/static/image/common/back.gif
太麻烦了,看的眼花缭乱。。

步骤1 先去win10配对一次 ,然后去mac配对一次


LinkKey只针对蓝牙3.0的设备,蓝牙4.0以上就不是LINKKEY那么简单咯。

thelittlefox 发表于 2018-12-12 18:47

cheungser 发表于 2018-12-11 14:33 https://www.pcbeta.com/static/image/common/back.gif
win10
    macOS 10.14.1 mojave
    鼠标:DesignerMouse


我去为啥我不可以。。。

thelittlefox 发表于 2018-12-12 18:50

jamyu 发表于 2018-12-11 10:02 https://www.pcbeta.com/static/image/common/back.gif
感谢楼主分享心得!

大部分都是借鉴的你的帖子{:5_264:}

thelittlefox 发表于 2018-12-12 18:52

cheungser 发表于 2018-12-11 14:33 https://www.pcbeta.com/static/image/common/back.gif
win10
    macOS 10.14.1 mojave
    鼠标:DesignerMouse


恭喜恭喜
我也用designer mouse试了,依然有键值改变的问题。。。
你用的哪个哪个型号的蓝牙?

cheungser 发表于 2018-12-13 10:53

thelittlefox 发表于 2018-12-12 18:52 https://www.pcbeta.com/static/image/common/back.gif
恭喜恭喜
我也用designer mouse试了,依然有键值改变的问题。。。
你用的哪个哪个型号的蓝牙?

用的BCM94352z 无线蓝牙一体的

thelittlefox 发表于 2018-12-13 12:14

cheungser 发表于 2018-12-13 10:53 https://www.pcbeta.com/static/image/common/back.gif
用的BCM94352z 无线蓝牙一体的

我也试过94352z的卡,macOS下正常,win10下驱动总是有问题,不知道为什么。
后来换成94360CS2+转接卡了

rruuczy12345 发表于 2019-1-5 16:26

thelittlefox 发表于 2018-12-13 12:14 https://www.pcbeta.com/static/image/common/back.gif
我也试过94352z的卡,macOS下正常,win10下驱动总是有问题,不知道为什么。
后来换成94360CS2+转接卡了

你的蓝牙音箱重启mac能自动连接吗?

thelittlefox 发表于 2019-1-10 09:32

rruuczy12345 发表于 2019-1-5 16:26 https://www.pcbeta.com/static/image/common/back.gif
你的蓝牙音箱重启mac能自动连接吗?

暂时还没试过蓝牙音箱    你的不自动连接?

rruuczy12345 发表于 2019-1-11 00:43

thelittlefox 发表于 2019-1-10 09:32 https://www.pcbeta.com/static/image/common/back.gif
暂时还没试过蓝牙音箱    你的不自动连接?

我发现问题客厅,就是小爱mini不能自动连接,蓝牙耳机可以,不知道是不是bug

mrmg 发表于 2019-1-11 08:19

拆机卡,mac下配对好,win下忽略设备驱动直接用

thelittlefox 发表于 2019-1-21 18:37

mrmg 发表于 2019-1-11 08:19 https://www.pcbeta.com/static/image/common/back.gif
拆机卡,mac下配对好,win下忽略设备驱动直接用

我用的是BCM94360CS2的卡+ngff转接板。貌似仍然需要重新配对。
不需重配对的是不是台式机的卡?

xlmelon 发表于 2019-1-21 20:20

多谢楼主的分享

mrmg 发表于 2019-1-21 21:51

thelittlefox 发表于 2019-1-21 18:37 https://www.pcbeta.com/static/image/common/back.gif
我用的是BCM94360CS2的卡+ngff转接板。貌似仍然需要重新配对。
不需重配对的是不是台式机的卡?

卡是没问题,你不会在win下装驱动了吧??

577327048 发表于 2019-1-22 01:41

Windows10 1809 专业版
macOS 10.14.2 mojave
鼠标:微软 DesignerMouse
蓝牙:bcm94352z的网卡
实测可以,最后一步要先重启到win,然后再重启到mac
之前的教程一直不成功,原来是漏了蓝牙鼠标的mac地址会改变。
感谢楼主
页: [1] 2 3
查看完整版本: [教程]实现win10 mojave蓝牙4.0鼠标共享