办公室有一台老款的联想MF7650DF(打印、扫描、复印、传真一体机),设备只有一根USB线连接电脑打印、扫描,一般需要将USB线连接到电脑上,在电脑上安装好驱动后,才能正常使用打印、扫描功能。由于我办公室的电脑是笔记本,不常用的打印机的USB线如果老是插在笔记本上,那就很麻烦了。于是我就在想如何将USB打印机改造成网络打印机,彻底摆脱笔记本连接USB线的麻烦。
于是上网搜了一下,发现网上确实有一些USB共享服务器在卖,价格在200元左右,不过我也搜了一下发现可以用一个废弃的带USB口的路由器,把打印机接在路由器USB口上,再把路由器和打印机连接起来,这样就可以实现网络打印了,在某鱼上可以买到,20元左右。于是在某鱼上花了40元买了一个带OpenWrt固件的小米路由器,有一定基础的朋友可以在路由器的后台设置好并成功将USB打印机连接到路由器后,接着就可以在电脑上通过IP添加打印机了,这样USB打印机就变成了网络打印机软件与扫描仪连接,摆脱了有线的束缚,实现网络打印了。
但问题来了,网络打印功能解决了,但是网络扫描功能却没能实现。扫描文档的时候,要么从路由器上拔掉打印机USB线,要么带着U盘去公司,只能在共享打印机上扫描完文件再跑回办公室从U盘里把扫描出来的文件复制过来。这个方法实在是让人无法忍受,所以决定继续努力。对于虚拟部署,我们先看看官网的说明:
把上网、WIFI变成USB线传输USB信号,这不就是我想要的吗?查了一下Virtual,这里分为server和client,server为服务器上的USB接口提供虚拟化服务,client实现服务器上USB接口的本地化,就像把插在服务器上的USB设备放到本地一样,nice!
服务器支持Linux/Windows/嵌入式设备/Android/Nas,已经很强大了,看看吧:“VirtualHere 可以运行在任何版本的 Linux 上,包括 Scientific Linux、Ubuntu、CentOS、RedHat、OpenSuse、Angstrom、Raspbian、Debian、OpenWRT....” 注意重点,OpenWRT!!!看起来很有前途!开始折腾吧……
下载 USB 服务器安装软件
由于我的小米路由器是Linux的,所以要下载Linux服务器软件,首先要进入下载页面,这个下载页面有很多软件版本,需要选择适合自己路由器架构的软件,怎么选择呢?首先需要确认自己路由器的芯片,然后确认使用什么架构。
经过查看路由器,发现路由器采用的是MT7620A芯片,随后查阅资料发现这款芯片属于MIPS24KEc核心。
然后进入Virtualhere官网,选择相应的软件。
提示:请注意,VirtualHere 服务器软件分为普通版和针对每个 CPU 进行优化的版本。普通版是免费的,只能虚拟一个 USB 端口。CPU 优化版是付费版本,可以虚拟多个 USB 端口。一开始,我没有注意官网上的说明,直接下载并安装了 CPU 优化版。安装后,软件提示我购买。
然后我下载了常规版本并且它运行良好。
下载好服务端软件vhusbdmips之后,使用路由器内置的文件上传功能将文件上传到路由器。
使用SSH登录路由器(不懂可以百度搜索)软件与扫描仪连接,将vhusbdmips文件复制到/usr/share目录下,使用chmod +x vhusbdmips命令将vhusbdmips软件设置为可执行文件;然后使用./vhusbdmips -b命令启动服务端软件。
最后在路由器的启动项中添加启动命令(vhusbdmips -b),这样路由器重启的时候就会自动启动VirtualHere服务。
这样就完成了服务器的安装。
2.客户端安装
客户端安装比较简单,直接去这个地址下载对应的系统版本就可以了,只要你的电脑和路由器在同一个网段,客户端就会自动扫描,并自动提示安装驱动。
上面提示USB共享服务器(也就是我连接USB打印机的路由器)已经识别,并且已经安装好USB驱动。下图显示路由器连接打印机及型号已经识别,但是本地电脑还没有安装打印机驱动。这不就跟直接在电脑上插打印机一样吗?
客户端软件还有一些其他功能,比如将客户端作为服务启动,自动扫描打印机等等,大家可以自行探索。
3.安装打印机驱动程序
现在,只需将打印机视为已插入计算机,然后按常规方式安装打印机驱动程序。驱动程序将通过 virtualhere 共享的 USB 端口连接到远程打印机。最后,通过官方扫描软件测试扫描功能,它运行完美。
最后问题来了:原先的IP打印功能失效了!!!因为USB已经虚拟连接到本地电脑了,所以路由器上的USB接口相当于失效了~