在Media Market看到一个颇为满意的蓝牙键盘。回来后便去京东入手了一个。在windows很简单的就配对上了,不料在Ubuntu上配对却折腾了良久。原来,Ubuntu提示在键盘上输入的PIN码竟然是错的。Ubuntu上配对成功后,返回windows,发现还要重新配对才可使用,鄙视下自己竟然没有想到这个双系统配对问题。Anything is possible, 本着折腾的精神,去网上搜索各种资料。天物绝人之路,最后还是成功解决了配对的问题。以下是笔者的配对方法,希望能对买了蓝牙键盘的童鞋有所帮助。
系统及蓝牙键盘信息:
Windows版本:Windows 7
Ubuntu版本:Ubuntu 12.04(64位)
蓝牙键盘:罗技K480
1.首先在Ubuntu下进行配对。使用ubuntu自带的蓝牙菜单进行配对,提示的配对密码是错误的。需要使用hcidump工具查找出真正的密码。详细步骤如下:
打开终端,输入如下命令安装bluez-hcidump
sudo apt-get install bluez-hcidump
使用hcidump工具开始抓取蓝牙配对密码
sudo hcidump -at | grep pass
在Ubuntu蓝牙菜单中,按照提示添加设备。
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文件即可。
下载PsExec: http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx
解压后,找到PsExec.exe. 右键点击,在其属性->兼容性中勾选“以管理员身份运行此程序”
运行cmd, 进入命令行,切换到PsExec.exe所在的目录,执行如下命令打开注册表编辑器:PsExec.exe -s -i regedit.exe
找到HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\services\BTHPORT\Parameters\Keys\aa1111111111\00:1F:20:F0:EF:75中的数据项(如f33a8cadac63b019e8533590b2821357),记录下来。(自己敲键盘记住吧,无法直接复制)
3.将windows下配对产生的key复制到Ubuntu配对文件中。
重启进入Ubuntu
将在windows中记录的key信息,找到文件/var/lib/bluetooth/AA:11:11:11:11:11/linkkeys的对应00:1F:20:F0:EF:75的配对信息,替换掉。
重启ubuntu(必须重启,否则使用的还是原来的key信息)
大功告成!
备注:
为什么要使用PsExec工具运行注册表管理器,因为不使用的话无法看到蓝牙配对的key信息。