Linux和Win10共用一个蓝牙4.0设备

装双系统的朋友都应该尝试过,在一台电脑的L和W双系统上使用同一个蓝牙设备,但是总是失败。
网上有人已经总结出原理:同一个蓝牙设备在与不同系统进行配对的时候会生成不同的认证信息,但蓝牙设备只能存储一个认证~
知道了原理所以解决方案也很简单:使得两个系统都使用同一认证即可。

针对蓝牙3.0版本,可以参考这篇文章:http://www.linuxdiyf.com/linux/29086.html

本次我介绍的是蓝牙4.0版本,对应双系统为 Windows 10 和 Linux Mint 18.2

0.删除两个系统中所有曾经连接过的蓝牙设备,方便接下去操作~~

1.在Linux下进行蓝牙配对(目的是生成蓝牙配置文件)

  • 启动Linux,修改/etc/bluetooth/main.conf文件【sudo】;
  • 去掉行[Policy]和AutoEnable前的注释;
  • 将 AutoEnable=false 改为 AutoEnable=true;
  • 然后搜索到蓝牙鼠标后配对,开机或唤醒后都可以自动连接;

2.在Windows下进行蓝牙配对

  • 在蓝牙鼠标配对完成后,从这里下载PSEXEC工具,解压;
  • 管理员打开CMD或者管理员打开PowerShell,进入解压目录,执行命令`psexec.exe -s -i
    regedit`之后会自动打开windows的注册表(64位系统使用:psexec64.exe -s -i regedit);
  • 打开注册表如下节点
    HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesBTHPORTParametersKeysxxxxxxxxxxxxyyyyyyyyyyyy
    ,
    其中xxxxxxxxxxxxyyyyyyyyyyyy是代表电脑端蓝牙和蓝牙鼠标的地址,不同电脑不同,(如果电脑连接过多个蓝牙设备,xxxxxxxxxxxx下可能有多个地址,此时可用设备管理器中蓝牙设备的硬件ID作为唯一值来找,将此蓝牙地址记录下来备用;(比如我的蓝牙地址为:C2E1D27ABB7B)

3.记录下如下几个参数的值:
微软Designer鼠标,罗技:CSRK, IRK, LTK, EDIV, ERand,其中EDIV和ERand需要10进制;
小米:IRK, LTK, EDIV, ERand,其中EDIV和ERand需要10进制;
2222.png

4.重启进入linux(此时之前生效的鼠标应该是变得无法使用了),需要做出如下修改,
以下操作需要超级权限,请先su获取权限:
打开/var/lib/bluetooth/XX:XX:XX:XX:XX:XX/YY:YY:YY:YY:YY:YY/info文件,
(其中 XX:XX:XX:XX:XX:XX/YY:YY:YY:YY:YY:YY为电脑端蓝牙地址和鼠标蓝牙地址),一般蓝牙鼠标重新配对之后蓝牙地址会发生变化,所以此时的蓝牙地址可能和windows下的地址有所不同,需要修改成和windows下相同的蓝牙地址。(我的就改成C2:E1:D2:7A:BB:7B)

修改info文件中如下几个参数的值:

[IdentityResolvingKey]Key=(数值等于Windows下的IRK值的大写)
[LocalSignatureKey]Key=(数值等于Windows下的CSRK值的大写(小米鼠标无此项))
Counter=0
Authenticated=false
[LongTermKey]Key=(数值等于Windows下的LTK值的大写)
Authenticated=0
EncSize=16
EDiv=(数值等于Windows下的EDIV值的10进制)
Rand=(数值等于Windows下的ERand值的10进制)

3333.png
5.修改完成,保存,重启,即可在两个系统中使用蓝牙鼠标了

添加新评论

  Timeline:又是一天

test

updated on :

  关于博主

一个快乐的肥宅~

  近期评论

  •  钉钉: 上面明摆着地址你不看
  •  心灵博客: 白苹果我都不想用了,还是win牛逼。哈哈
  •  ccyuhang: efi可以发一下么
  •  FLy: 你好,我的surfacepro4 接的pro3的扩展坞,在黑苹果下面pd口可用,能够识别到显示...
  •  BeiDou: 谢谢,已成功解决。
  •  ud3的博客: 第一种方法没有找到路径啊。CommonMark没有
  •  helloworld: 度盘地址呢
  •  老油条: 感谢楼主和老赵的付出。感叹确实现实可悲,种种原因不能继续做下去。
  •  ian: 请问这里说的完美驱动扩展坞,是微软原装的那台充电口扩展坞吗
  •  TIGRE: 求config.plist!同Miix4用户,感谢🙏

你是否在某个夜深人静的时刻,静静地听着Bressanone,思念着某人。—— by 小宇

每个人心里都有一段伤痕,时间才是最好的疗剂。

人总是珍惜未得到的,而遗忘了所拥有的。

退一步,并不象征我认输;放手,并不表示我放弃;微笑,并不意味我快乐!

人海中再回首,朋友真诚依旧,生命里重逢,心境平和温柔,往事如风,岁月如歌,漫漫人生路,苍桑几许,幸福几何!