Windows 7 配置蓝牙始末

此文系早年博客的备份,仅用于参考学习。
This article is an archival copy of my early years’ blog posts.

最近在研究一个可以实现手机操控电脑的软件(Salling Clicker),它支持手机以蓝牙或Wi-Fi的方式操控PC上的iTunes、PPT等软件(具体实现方法我在另一篇文章里有详细说明),可是由于我的蓝牙驱动(BlueSoleil)在 Windows 7 下一直存在兼容性问题,所以在调试手机与笔记本的蓝牙连接过程中遇到了诸多麻烦,费了很长时间,最终调试好后写下这篇文章,作为一个记录,也方便遇到同样问题的朋友参考。

用到的工具和软件:

  1. Z-TEK Bluetooth Adapter(很早以前买的,记不清包装上的全称了,似乎是Z-TEK Bluetooth Adapter v1.2)
  2. Bluetooth USB Dongle
  3. 驱动程序:IVT Bluesoleil 6.4.249/275
  4. 辅助工具:蓝牙遥控器手机端

问题一:

安装6.4.249版本的Bluesoleil之后,发现设备管理器里有一个“蓝牙虚拟网卡”的驱动程序无法正确安装,卸载重装也无效,手动指定驱动程序路径也无法解决。Google之后,发现是249版本的Bluesoleil虚拟网卡驱动不支持Windows 7,于是找到了一个网友从275版本中提取出来的驱动,更新驱动后问题解决。

问题二:

由于另一款软件连接手机时,需要用到COM3端口,可是在配置Bluesoleil的端口时,发现无论重装几次,COM3端口都无法正常工作,有时虽显示Serial Port(COM3)已安装,但设备管理器里依旧显示为叹号,有时则干脆显示成IVT_Virtual_Com_0003的未知设备,并且这个未知设备始终无法正确安装驱动。

要解决这个虚拟串口的问题,需要两步走,第一步是排除端口冲突。一般情况下,如果机器上有Modem,则Modem会被映射到COM3端口,这时通过以下步骤解决:

我的电脑 — 属性 — 设备管理器 — Modem属性 — 高级 — 高级端口设置 — 更改COM口号。

这里要注意的是,一般情况下,如果你的系统中除了蓝牙、Modem和机器本身的COM通信端口之外没有其他的设备使用虚拟串口,那么应该将Modem的COM口改为6之后的序号,因为貌似Bluesoleil会自动创建序号为3,4,5的虚拟串口分别用于连入和连出。

第二步,则需要正确安装驱动,这时又需要从275版本中提取虚拟串口的驱动程序,这里是275版本的驱动包,解压后到设备管理器里手动指定路径更新位置设备的驱动即可。

问题三:

我不知道是否所有人都会遇到这个问题,因为它或许会因为使用者手机的不同而不同,我用的是索爱P1i。

在问题一和问题二都解决之后,有可能打开Bluesoleil“我的设备属性”查看串口设置时,会发现里面的两个串口均为“传入”端口,而没有“传出”端口,即使你手动添加串口服务,结果不是生成一个冲突的端口,就是Bluesoleil假死而无法添加。并且,这个时候在Bluesoleil主界面中依然无法通过虚拟串口与手机建立连接,其原因也就是没有用于“传出”的COM口。这个问题折腾了我好久,最后因为一次阴差阳错而捎带着解决了。

我为了寻找这个问题的解决方法,几乎在Google搜遍了有关蓝牙虚拟串口的关键字,但依旧无法解决。搜索过程中,无意发现了一款叫“蓝牙遥控器”的手机软件,意在用手机通过蓝牙遥控电脑,应该能实现与Salling Clicker相似的功能,于是便心生好奇将它下载下来试用,同时也寄希望于这个工具电脑端软件的COM口设置功能。可是安装好手机电脑两端的软件之后,可能也是由于兼容性与端口冲突问题,它并没能实现遥控器的功能,但是后来再次在Bluesoleil中尝试建立“蓝牙虚拟串口”连接时,软件却自动添加了一个用于“传出”的COM5端口,并且连接成功,问题解决了!

解决问题之后我反思了一下,发现自己忽略了这样一个问题:p1i的UIQ系统并没有自动配置蓝牙串口,需要一个第三方工具来配置它的端口用于“传入”,因此手机端的“蓝牙遥控器”恰好起到了配置端口的作用,所以连接成功了。后来我又搜索了一下,有一个GnuBoxs软件可以用来设置手机端口,但我却没有找到这个工具的UIQ版本。

问题补充:有人说P1i的“连接设置——互联网账户——Ad-Hoc Bluetooth PAN”选项已经提供了这个功能,但事实是我并没有对它做任何更改,它的设置中也一直都选中了“允许接入”,而且后来我发现我根本无法更改此功能的设置,它的选项都是灰色不可用的。而更令我不解的是,后来我卸载了“蓝牙遥控器”的手机端,发现也可以与电脑建立串口连接。至于为什么之前死活无法建立连接,现在又突然可以顺畅连接,我算是解释不清楚了……

问题四:

理论上来说,解决了上述三个问题,蓝牙与手机应该已经可以通过虚拟串口进行连接了,但是我的Win7还出现了这样的问题:在所有驱动安装完成、第一次建立虚拟串口连接时,系统还会提示“添加新硬件”,进而又自动添加了两个重复的虚拟串口COM3和COM4,并且它们在“设备管理器”中均显示为叹号,即使你将其卸载或更改它们的端口号,下次再连接时它们依旧会继续添加COM3与COM4,而添加之后却既不引起冲突又不影响Bluesoleil的使用。这个问题究竟是什么原因造成的,我也没有弄明白,Google也没有类似的答案,索性我将那两个端口按正常方式安装驱动,添加完成后设置为“禁用”,以后它就不会再提示了。

问题五:

说实话,这个问题已经不属于蓝牙连接的范畴了,它是由于我安装了电脑端的“蓝牙遥控器”所造成的。

将Bluesoleil的蓝牙虚拟串口问题解决之后,我将一些试验过程中安装的其他软件一一卸载,在卸载了“蓝牙遥控器”并重启之后,不幸的事情接踵而至:先是系统卡死在Windows启动界面,后是无论怎样都无法通过Wi-Fi上网,然后又是迅雷发生“Init Task Manager failed!”错误无法启动。经过一番折腾之后,发现归根结底还是两个字:“驱动”!蓝牙遥控器在卸载的时候,不知为何将显卡、无线网卡的驱动和迅雷需要的系统文件给损坏了。

显卡问题:

由于系统只是界面卡死在启动画面,系统其他部分则正常运行,因此重启(或者直接按住开关关机)进入安全模式,卸载显卡驱动,再重启后应该就可以进入桌面了,将显卡驱动重装之后问题即解决。

Wi-Fi问题:

至于无线网卡的问题,就不用那么麻烦了,直接到“设备管理器”里将网卡适配器卸载,再重新扫描一下硬件改动,系统就会自动再次添加无线网卡,添加完后问题即得到解决。

迅雷问题:

这个问题比较好解决,下载这两个文件,复制到C:\windows目录下即可。(参阅这里:http://www.x2009.cn/articles/thunder-open-when-prompted-init-task-manager-failed-solution.html)

至此,所有因蓝牙虚拟串口所引发的连环问题均解决完毕。

关键字:Windows7蓝牙虚拟串口无法添加,Windows7蓝牙虚拟串口冲突,Windows7虚拟串口被占用,Windows7 Bluesoleil设置蓝牙虚拟串口,Windows7 Bluesoleil无法添加蓝牙虚拟串口,Windows7 蓝牙虚拟串口驱动,Windows7 Bluesoleil蓝牙虚拟网卡驱动,蓝牙虚拟串口只有传入没有传出,Modem引起虚拟串口冲突,p1i串口连接,迅雷init task manager failed错误