多系统如何共享蓝牙设备?

之前一直使用2.4G的无线鼠标,双系统下都是免驱动的直接用很方便。一直没出什么问题。后来看见微软那个带触摸侧边键的鼠标好像挺方便的,就买了。之后发现鼠标在windows下配对了能用了,但是到linux或者同一台机器的其他系统又要重新配对。一旦重新配对原来的系统中又不能用了。导致鼠标使用起来非常的难受。之后上网查了查,解决了这个问题。
##问题之源
蓝牙协议或者硬件上应该存在配对上存在一个安全机制。不像使用平时自己使用NRF2401这种2.4G射频芯片一样只要频率和收发地址对了就直接通信。两个鼠标电脑配对的过程,配对时会随机产生一个密钥。所以每次切换系统重新配对鼠标储存的密钥就变了。之前的系统储存的和新的不能匹配了。
##解决之道
鼠标不是自己做的设备,动不了手脚。那只能在电脑上动手了。配对的密钥总得储存个地方吧。那就直接改了就好了。

  • Windows系统:
    Windows平台的密钥存在注册表中,路径是KEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\BTHPORT\Parameters\Keys 。这里会看到一个或者多个长度为12的16进制数字名称的子键,那就是电脑上的蓝牙设备。感觉和MAC地址一样的,代表着电脑上不同的蓝牙适配,一般电脑只有一个。进入电脑上和目标蓝牙设备配对的蓝牙适配器对应的子键下面,可以看到很多16进制数字名称的键值——这就是代表连接过不同设备啦。点开里面里16Byte的密钥。
  • Linux系统:
    这个改起来更方便啦,直接以文件形式储存的,在/var/lib/bluetooth下。一个文件夹代表一个蓝牙适配器。文件名和Win平台注册表下的类似。一个是a0v1c2d3e4f5的形式一个是A0:B1:C2:D3:E4:F5的形式。
    进去可以看到更多这样的文件夹代表不同设备。找到目标设备的文件夹,进去后有个名为info的文本文件。内容如下形式:

[General] Name=Microsoft Sculpt Comfort Mouse
Class=0x000580
SupportedTechnologies=BR/EDR;
Trusted=true
Blocked=false
Services=00001000-0000-1000-8000-00805f9b34fb;00001124-0000-1000-8000-00805f9b34fb;00001200-0000-1000-8000-00805f9b34fb;

[LinkKey]
Key=C628CDC86B2308285728DFE14A65D559
Type=4 PINLength=0

[DeviceID]
Source=2
Vendor=1118
Product=1954
Version=297

基本上设备各种信息都有了。把Key后面那串就是要找的密钥。

知道上述要点后就很好办了。先在各系统下匹配一边生成文件或者注册表。然后把最后一次匹配生成的Key复制到各个系统下正确的地方就可以在多个系统下正常使用了。无需每次重新配对。

多系统如何共享蓝牙设备?相关推荐

  1. 多系统下的蓝牙设备共用配对问题之LTK、EDIV、ERAND.以 Manjaro、Debian、Windows10 为例

    最新版参加博客 多系统下的蓝牙设备共用配对问题之 LTK.EDIV.ERAND.以 Manjaro.Debian.Windows10 为例 date: 2020-09-6 lastmod: 2022- ...

  2. win10未开启没有运行无线服务器,win10系统提示共享无线自动配置服务没有自动运行的解决办法...

    win10系统提示共享无线自动配置服务没有自动运行的解决办法? win10系统有很多人都喜欢使用,我们操作的过程中常常会碰到win10系统提示共享无线自动配置服务没有自动运行的问题.如果遇到win10 ...

  3. 解决Win8.1系统LYNC共享PPT提示“演示文稿遇到问题”

    解决Win8.1系统LYNC共享PPT提示"演示文稿遇到问题" 在LYNC Server 2013的环境下面,Win8.1上的LYNC2013客户端在共享PPT时,提示" ...

  4. win10共享打印机怎么设置_小编为你叙述 win10系统网络共享理光打印机的设置方法的技巧介绍 -win10使用教程...

    大家在操作win10系统电脑的过程中,经常会遇到小编为你叙述 win10系统网络共享理光打印机的设置方法的技巧介绍 的情况,相信有太多的用户是不愿意遇到小编为你叙述 win10系统网络共享理光打印机的 ...

  5. Android系统匿名共享内存Ashmem(Anonymous Shared Memory)简要介绍和学习计划

    在Android系统中,提供了独特的匿名共享内存子系统Ashmem(Anonymous Shared Memory),它以驱动程序的形式实现在内核空间中.它有两个特点,一是能够辅助内存管理系统来有效地 ...

  6. CentOS系统NAT共享上网

    CentOS系统NAT共享上网 时间 2016-01-05 17:40:20 宠辱不惊,一心问学! 原文  http://www.chenlianfu.com/?p=2411 主题 网络地址转换 Ce ...

  7. Android系统匿名共享内存Ashmem(Anonymous Shared Memory)驱动程序源代码分析

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6664554 在上一文章Android系统匿名共 ...

  8. Android系统匿名共享内存Ashmem(Anonymous Shared Memory)在进程间共享的原理分析

    在前面一篇文章Android系统匿名共享内存Ashmem(Anonymous Shared Memory)驱动程序源代码分析中,我们系统地介绍了Android系统匿名共享内存的实现原理,其中着重介绍了 ...

  9. win7系统如何共享硬盘分区

    很多小伙伴不知道win7如何共享硬盘分区,共享硬盘分区可以让我们很好操作.其实win7共享硬盘分区的方法很简单,今天小编就来跟大家分享win7共享硬盘分区怎么操作,话不多说,感兴趣的小伙伴就跟小编一起 ...

最新文章

  1. Java项目:在线小说阅读系统(读者+作者+管理员)(java+SSM+jsp+mysql+maven)
  2. linux中的网络配置
  3. 分布式系统Paxos算法
  4. 杭州保俶塔实验机器人_【科教有闻】高照实验学校Pepper机器人课程亮相2020(杭州)国际数字教育大会“智能教育引领未来”论坛...
  5. android drawable 对象,Android Drawable开发简介
  6. JavaScript基础视频教程总结(001-010章)
  7. Unity WebGL自带VideoPlayer播放视频
  8. 利用Racher轻松构建PASS平台
  9. 起底白帽黑客郭盛华读过的学校,看完流眼泪了!
  10. php期末作业总结,期末考试总结与反思(精选6篇)
  11. dgen模拟器 linux,怎么样在Linux/FreeBSD下玩模拟器游戏
  12. 基于UFEI下的win10 + Ubuntu18.04双系统攻略!!!
  13. Hive表分区查询show partitions tablename
  14. 各大搜索引擎收录地址
  15. Competing-Consumers模式
  16. 理解accuracy/precision_score、micro/macro
  17. BindingException: Mapper method ‘com.itheima.dao.BookDao.update‘ has an un unsupported return
  18. QPSK 对OQPSK对 pi/4QPSK 的区别
  19. 倍福--手动配置添加伺服
  20. postman 接口测试

热门文章

  1. 没有gpedit.msc这个文件获取管理员权限
  2. SEO新手不知道每天做什么,看了你就知道
  3. C# CultureInfo列表详细说明
  4. ros:init()
  5. 测试用例之因果图/判定表
  6. 大型网站具备的9大特点
  7. scada与MySQL连接_SCADA系统与实时数据库数据同步
  8. DCT变换及matlab实现
  9. 利用conda安装包、卸载包、升级包、查看包信息等操作
  10. 红米RM-AX6000 SWRT固件/刷机教程 支持fullcone