Ubuntu和Windows双系统蓝牙键盘配对

前两天去欧洲出差,在Media Market看到一个颇为满意的蓝牙键盘。回来后便去京东入手了一个。在windows很简单的就配对上了,不料在Ubuntu上配对却折腾了良久。原来,Ubuntu提示在键盘上输入的PIN码竟然是错的。Ubuntu上配对成功后,返回windows,发现还要重新配对才可使用,鄙视下自己竟然没有想到这个双系统配对问题。Anything is possible, 本着折腾的精神,去网上搜索各种资料。天物绝人之路,最后还是成功解决了配对的问题。以下是笔者的配对方法,希望能对买了蓝牙键盘的童鞋有所帮助。

系统及蓝牙键盘信息:

  • Windows版本:Windows 7
  • Ubuntu版本:Ubuntu 12.04(64位)
  • 蓝牙键盘:罗技K480

1. 首先在Ubuntu下进行配对。使用ubuntu自带的蓝牙菜单进行配对,提示的配对密码是错误的。需要使用hcidump工具查找出真正的密码。详细步骤如下:

  1. 打开终端,输入如下命令安装bluez-hcidump
    • sudo apt-get install bluez-hcidump
  2. 使用hcidump工具开始抓取蓝牙配对密码
    • sudo hcidump -at | grep pass
  3. 在Ubuntu蓝牙菜单中,按照提示添加设备。
  4. Ubuntu搜索到蓝牙键盘后,点击连接。此时hcidump会抓到正确的密码,如下所示,在蓝牙键盘上输入此密码并按回车即可配对成功。(切记不要输入配对菜单提示的错误密码)
    •  bdaddr 00:1F:20:F0:EF:75 passkey 224095  (注意记录下此处蓝牙键盘的物理地址 00:1F:20:F0:EF:75)
2. 进入windows进行重新配对,配对成功后,上述ubuntu的配对则会失效。因为配对的key信息已经修改。我们要做的是取出当前蓝牙键盘与windows配对使用的key,将其复制到Ubuntu下的linkkeys文件即可。
  1. 下载PsExec: http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx
  2. 解压后,找到PsExec.exe. 右键点击,在其属性->兼容性中勾选“以管理员身份运行此程序”
  3. 运行cmd, 进入命令行,切换到PsExec.exe所在的目录,执行如下命令打开注册表编辑器:PsExec.exe -s -i regedit.exe
  4. 找到HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\services\BTHPORT\Parameters\Keys\aa1111111111\00:1F:20:F0:EF:75中的数据项(如f33a8cadac63b019e8533590b2821357),记录下来。(自己敲键盘记住吧,无法直接复制)
3. 将windows下配对产生的key复制到Ubuntu配对文件中。
  1. 重启进入Ubuntu
  2. 将在windows中记录的key信息,找到文件/var/lib/bluetooth/AA:11:11:11:11:11/linkkeys的对应00:1F:20:F0:EF:75的配对信息,替换掉。
  3. 重启ubuntu(必须重启,否则使用的还是原来的key信息)
大功告成!

备注:

阅读更多

没有更多推荐了,返回首页