RepRap Prusa i3是一种开源软硬件设计,允许用户二次开发的3D打印机。目前这种3D打印机用户在国内越来越多,是一种非常受欢迎的机型。2014年10月以来,一部分RepRap Prusa i3 3D打印机用户发现,他们的3D打印机无法连接到PC上。打印虎也遇到了类似的情况,原本工作的好好的3D打印机,一夜之间就无法运转了。这可怎么办呢?
故障现象
出现问题的3D打印机,大部分都使用了Melzi电路板。
这些3D打印机本来工作的很好,但十一假期过后,再通过USB连接到电脑上时,就出现了奇怪的现象。从设备管理器里面看,不再是安装好驱动的状态,而是变成了一个未安装驱动的设备状态。如图。
设备上带有了惊叹号标志,代表目前没有驱动程序。双击设备,可以看到出错提示“该设备的驱动程序未被安装。(代码28)”。
很多朋友看到这种情况,反复重试几次,重新安装几遍FTDI CDM驱动程序,还是不行,就只好自认倒霉,认为是硬件坏了,找卖家商量维修的事儿了。
问题原因
经过分析,打印虎发现问题实际上是出现在Melzi电路板所使用的USB接口芯片上。Melzi电路的USB接口芯片,是FTDI公司出品的FT232R芯片。这种芯片应用十分广泛,也同时被很多小厂商山寨。2014年10月开始,很多使用Melzi以及其他用FT232R进行USB连接的设备用户都发现,自己的设备无法被Windows识别了。不光是国内用户,国外用户也广泛出现了问题。在国外论坛上,经过各方用户的讨论和分析,现在一个大家比较认可的说法,是微软和FTDI公司为了打击山寨盗版产品,修改了山寨FTDI USB芯片的USB产品识别代码(USB Product ID),这样设备就无法直接使用FDTI公司提供的驱动程序了。驱动安装不上,自然设备也无法被识别了。
如下图所示,如果你的3D打印机Melzi电路板插到电脑上之后是这样的,Windows自动安装驱动程序提示FTDI设备“未能成功安装设备驱动程序”。在“设备管理器”中点开设备,“详细信息”面板,属性下拉菜单改为“硬件Id”,观察“值”列表,如果与图中所示相同,第一项是USB\VID_0403&PID_0000&REV_0600,那么恭喜你,你用的Melzi板子上焊的FT232R芯片就是山寨货了。
解决方案
知道了问题的原因,解决起来就比较容易了。由于只是USB设备的PID发生了改变,设备本身并没有任何变化,因此完全可以通过修改驱动程序inf文件的方法,搞定这个问题。
但修改inf文件毕竟比较麻烦,打印虎为了方便大家,专门提供了修改好的驱动程序包。这个驱动程序包可以适用于32位或者64位的Windows XP、Windows 7或者Windows 8操作系统。大家可以访问百度云网盘地址http://pan.baidu.com/s/1gdeQVmj,下载这个文件。下载得到CDM_2.08.28_R.zip文件之后,将它解压,假设我们把这个文件解压到D:\ CDM_2.08.28_R位置。下面回到设备管理器,在FT232R设备的对话框中,单击“更新驱动程序”按钮。
在弹出的更新驱动程序对话框中,点击“浏览计算机以查找驱动程序软件”。
然后在驱动软件路径编辑框里面,输入我们解压zip包的位置。对于我们这里示例的情况,就填入D:\CDM_2.08.28_R就可以了。点击“下一步”按钮。
接下来,Window会弹出一个警告,原因是这个驱动没有合法的数字签名。如果你安装了360安装卫士之类的软件,还可能在安装过程中被杀死。唉,谁让我们用了山寨货FT232R芯片呢,只好凑合了。在这里点击“始终安装此驱动程序软件”,继续安装过程。
这样山寨FT232R的驱动程序就安装好了。为了区别于正规的FT232R芯片,这里的设备名称最后加了一个R字母,叫做USB Serial ConverterR。
关闭这个对话框之后,我们就会发现设备管理器中“其他设备”处又出现了一个新的不能识别的设备。
再一次使用刚才的方法手动安装驱动程序,就可以解决这个问题。类似的,安装好的设备名称,为了清晰标示,变为了USB Serial PortR。两个设备都安装完成之后,在设备管理器中可以看到两个设备都可以工作了:
出现了串行COM端口之后,就代表着Melzi电路板的设备驱动安装好了。记下这个COM端口编号,在3D打印机控制软件里重新设定一下这个串行口端口号,就全部完成了。现在,3D打印机应该已经恢复正常,可以使用了。大家赶快打开Repetier-Host试验一下吧,祝大家玩机愉快。