如何修改您的Gnu / Linux Box以作为IP over IP服务器上的USB
有很长一段时间,我正在寻找一种方法来放弃我的旧的co CRM服务器! 但为什么? 因为我已经安装了Xen的虚拟化环境,所有的服务器都在一个漂亮的基础架构上转向小型VPS。 基础是CRM有一个USB /锁定,没有办法把虚拟化的VPS锁。
商业上的方式是使用USBoverIP硬件,对于2端口USB支持,其成本约为100美元,高达500美元或更多...
真的,我们来完成这个故事!
开源方式总是在这里;)
以下链接有一个很好的开源项目:
它将您的Linux Box作为USB服务器,通过IP为Gnu \ Linux和MS-Windows客户端提供USB设备。
服务器端
1-下载最新的软件包:
*您可以使用依赖关系检查您的发行版存储库中相关软件包。基于Debian的发行版,如Ubuntu Karmic将USBIP分支导入到其存储库。
我们的测试平台是Ubuntu Karmic,所以你需要做的是:
usbip:~$ sudo aptitude install usbip
然后,您需要加载以下模块以便能够控制您的USB端口。
usbip:~$ sudo modprobe usbip
usbip:~$ sudo modprobe usbip_common_mod
现在是时候启动usbip服务作为系统守护进程了。
usbip:~$ usbipd -D
Bind usbip.ko to a usb device to be exportable!
usbip:~$
这意味着所有的事情都可以,你只需要选择哪个端口是你最喜欢的端口来共享。
1-将USB设备连接到您的盒子。
2-执行命令
lsusb
以找到相应的供应商/设备ID,其形式为:
Bus XXX Device YYY: ID VendorID:DeviceID
**供应商和设备ID是四位数字,如“0c45:63ee”,这是第一个( 0c45
)用于Microdia Co,第二个( 63ee
)是USB设备的Unic编号。 例如USB网络摄像头设备。
知道找到你最喜欢的硬件ID,你可以在BUS上找到它的属性。 只需匹配ID与usbip服务器检查的结果:
usbip:~$ sudo usbip_bind_driver --list
.
.
.
busid 1-6 (0c45:63ee)
1-6:1.0 -> uvcvideo
1-6:1.1 -> uvcvideo
.
.
.
只需找到指向您的USB设备的总线ID。 这里是“1-6”。
现在,现在是将服务附加到服务器的时候了
usbip:~$ sudo usbip_bind_driver --usbip 1-6
当您执行上述命令时,系统将从您的操作系统抓取该设备,并将监听远程客户端来为其服务。
客户端
* MS Windows客户端
下载zip版本:
http://ignum.dl.sourceforge.net/project/usbip/usbip/usbip-win-preview/usbip-win.zip
提取它...
你应该做两件事
第一:
在zip文件中有一个文件“bus.inf”,您应该在客户端硬件管理中作为“通用系统设备”安装。
第二:
执行zip文件中的可排除文件:
path-to-usbip:> usbip.exe -l <server-ip>
结果将显示您在服务器中绑定的总线ID。
嗯,这是一个光点。
要做的就是附加设备:
path-to-usbip:> usbip.exe -a <server-ip> USB-ID
** USB-ID是XY形式的数字(在我们的例子中是1-6
)。
完成了! 您将看到在您的操作系统中检测到的新USB设备。
现在是时候享受了。 ;)
* Gnu / Linux客户端
* Test Distro:Ubuntu Karmic
像服务器端一样,我们需要做的就是使用命令:
$ sudo apt-get install usbip
然后只需使用以下命令加载“vhci-hcd”模块:
$ sudo modprobe vhci-hcd
现在,您可以使用以下命令查询和附加远程USB设备:
$ sudo usbip -l <server-ip>
上面的命令可以给你一个可用的usb设备的列表。
$ sudo usbip -a <server-ip> X-Y
这是一个魔术命令,将为您提供远程USB设备。