最近使用minicom(linux下的串口软件)碰到个奇葩问题,当时我使用VMware9.0.0版本的虚拟机,虚拟系统跑的是ubunto12.04,装了vmwaretool,当我usb转串口与本本连接的时候,虚拟机提示无法连接usb设备。我很奇怪,看了下win7下的设备管理器,里面已经检测到了串口设备,然后我手动connect 虚拟机上的usb设备,可是提示“the devier is currently in use”。我怀疑是win上什么进程占用了这个设备,但是我把该关的都关了,还是没解决。 这下没辙了,度娘吧,结果发现这问题存在的相当普遍啊,基本上都是说VMwave与win7上的usb3.0驱动不兼容,win7上的usb根集线器一直占着设备(如果本本有usb2.0的口就不用考虑这问题了),我仔细一看我的dell 14r全是usb3.0口啊,坑爹了。看看usb3.0的解决方案基本都是建议卸载win7上的usb3.0驱动,我觉得这样不是很可惜,而且竟然是不兼容,那些写驱动的都不会无视这个问题吧。所以我继续搜索解决方法,最后偶然在google上看到了一则英文文章(http://virtualizationmaximus.com/2013/01/08/intel-xhci-usb-3-0-controller-usb-passthrough-with-vmware-workstation-9-in-windows-7/)
这篇文章的题目是intel xHCI USB 3.0 controller - usb passthrough with vmware workstation 9 in windouws 7
文章大致意思是win7(win8貌似没这问题)下的vmware8(具体版本不了解)支持NEC usb3.0控制器,但是不支持intel的usb3.0控制器。而我的dell本本就是intel的控制器,然后文章作者很仔细的阐述了不支持的原因(这部分太高深看不懂= =,想了解的看原文吧),然后重点来了,解决的方法就是要满足两个版本要求:
首先第一个要求是vmware的版本要9.0.1及以上(这里我很悲催,我的版本是9.0.0,不要想用他的update,没一两天你更新不完,文章最下面会提供一个vmware10中文版下载链接)
第二个要求是intel usb 3.0根集线器和控制器的版本要在1.0.6.245以上,这个可以通过驱动人生下载最新驱动。
接下来是测试环节了,把vmware10装好,提醒下原来版本不用手动卸载,安装包自动检测并卸载老版本,安装后配置与以前一样,很方便。 然后关闭dnw或者超级终端之类的要使用串口的进程(防止win7干扰测试)打开vmware10,在vm>setting>usb devier里设置为usb3.0,把串口usb线接上,给ubuntu上电,接下来就可以看到右下角的usb设备在工作了。 cd /dev/;ls查看是否出现usb转serial设备ttyUSB0,然后sudo minicom进入串口工具,ctrl a + o配置串口config,保存配置后重启minicom,给开发板上电,查看minicom是否打印出来信息了。
总结:学习总会遇到问题,可能是各种各样奇葩的问题,如果静不下心去寻找问题的源头,可能这个问题永远得不到解决,还是要踏实做事啊,遇到的问题多了并不重要,重要的是解决的问题多了,眼光开阔了,思想也会进步,这样就不会陷入知识的洪流。
附带vmware10中文版链接http://download3.vmware.com/software/wkst/file/VMware-workstation-full-10.0.1-1379776.exe
序列号1Y0W5-0W205-7Z8J0-C8C5M-9A6MF
看中文不爽的可以在安装完成后把messages文件夹中的zh_CN文件夹删除或者重命名,再打开虚拟机就是英文的了。
希望对大家有帮助