USB Over Network
Linux上常遇到讀卡機無法在 !FireFox 使用的問題,其實這個議題已經有許多的商用軟體已經解決了。許多軟體提供透過驅動程式與網路將裝置掛載到遠端的作業系統中,從下面的網址可以看到現有的 USB Over Network Software
http://usb-over-network.qarchive.org/
USB Server
如何將本地端的 USB 連接埠進行網路分享,大致歸納兩種方式:
1. 透過專屬的 Service
2. 透過 RDP 或 ICA 通訊協定
那麼我們的需求是將 Linux 上的 USB Device Share 到 RDP 上,而目前找到的 Open Source 軟體稱為 USB-Server,網站如下:
http://www.usb-server.com/usb-server.html
USB-Server 軟體提供了在 Linux 上的 USB 分享解決方案如下:
1. USB-Server (分享 USB)
2. USB-Client (使用遠端的USB)
3. rdesktop RDP USB 分享功能
先說明一下:
Workststion : 指的是要分享出去的電腦 (就是我們的tOS)
Terminal : 指的是遠端連線上的電腦 (Windows 2008 Terminal Server)
Workststion 安裝方法
環境 Linux Ubuntu 9.04(Workststion)
1. 編譯 Driver 提供識別所有的 USB 裝置
下載 USB-Server,網址如下:
http://www.usb-server.com/downloads.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30解壓縮usb-server.tar.gz
# tar -zxf usb-server.tar.gz
下載程式原始碼與Kernelsourcehead版本2.6.28
# apt-get source linux-source
解壓縮trar-zxflinux-source-2.6.28.tar.bz2
# trar -zxf linux-source-2.6.28.tar.bz2
建立link
# ln -s /usr/src/linux-source-2.6.28 /usr/src/linux
編譯
# make oldconfig && make prepare && make scripts
官方有提供./installer.shinstall-server的方式,但是測試之後發現有問題,所以改用手動編譯。
切換到usb-server解壓縮後的目錄,進入/modules/src/tusbd目錄中,依據Kernel重新編譯驅動程式得到tusvd.ko。
# make clean && make
載入tusbd.ko
# insmod tusbd.ko
啟動USBServer
# ./usbsrvd
使用命令操作USBServer,列出所有可用的USB
# ./usbsrv -l
分享USB設備
# ./usbsrv -s 1
2. 重新編譯 rdesktop 1.6 加入遠端分享 USB 功能
1
2
3
4
5
6
7
8
9
10
11
12
13下載rdesktopsource版本1.6
# apt-get source rdesktop
解壓縮rdesktop_1.6.0.orig.tar.gz
# tar -zxf rdesktop_1.6.0.orig.tar.gz
Patchrdesktopsource,複製USBServer解壓縮目錄中rdesktop-1.6.0-path底下的檔案(usbrdr.c和usbrdr.patch)到rdesktop_1.6.0.orig原始碼目錄中,並且進行Patch
# patch -p3 -i usbrdr.patch
重新編譯rdesktop(這時候Compile出來的rdesktop就有把本地USB送出去的能力了,即-rusbrdr參數),順便偷偷編譯了scard模組
# ./configure --enable-smartcard --enable-debug --enable-debug-smartcard
# make clean
# make
Terminal 安裝方法
環境 Windows XP(Terminal)
安裝 usbrdr_terminalserver_setup.exe (這個軟體為試用版)
進行測試
使用rdesktop連線
1rdesktop-rusbrdrrdp.server.com
確實在 Windows 的裝置管理員中看見了讀卡機,並且也能夠正確安裝 Drive,但是 IE 在網站中還是無法找到。如下圖
但是隨身碟倒是很聽話,用起來的感覺就根本地端的 USB 一樣,一插上 Remote Desktop 馬上找到。
聽說這樣的技術連視訊都可以過去,有空在來試試。
但是為什麼讀卡機沒辦法使用?明明已經抓到了。(RD前面那一台已經有這樣的環境了,期待高手的出現)
或許可以找成熟的商用軟體來測試,以下商用軟體支援 Citris 與 RDP Server,也支援了 Linux
http://www.usb-over-network.com/usbnet-solutions/rdp.html
此外有一個發現,經過測試之後即使讀卡機直接接在 Terminal Server 上,透過 Wondows RDP 登入之後依然無法使用讀卡機,因此我猜想是不是 Windows 對於遠端桌面所設定的限制。這個答案就需要 Microsoft 高手來回答了?
這是真的廣告
白金贊助