Suppose, you need to connect to the remote computer via Remote Desktop Protocol (RDP) to perform some actions there. Or, say, your computer is a thin client with limited capabilities, so you connect to a more powerful server each time you need to work. And in this remote desktop session you need to use your USB device which is attached locally. The task becomes even more difficult when one needs an application, which is installed on the server, to access and process the data provided by the USB device.
The only solution is to redirect the USB device from your local machine to the server.
Currently, RDP clients permit to redirect certain USB devices like printers and USB flash drives, but the list of supported devices is limited (e.g. scanners are not supported). Eltima Software provides you with the solution to this problem!
USB Network Gate permits to access any USB device plugged into local machine while working in remote desktop session. In fact, you share USB port, to which you can attach any USB device. Moreover, you can unplug one device, and plug in another one, without any additional configurations.
All you need to do is install USB Network Gate on both machines which participate in connection:
- On the local machine (where the client for Microsoft RDP protocol is installed), USB Network Gate Server should be installed to share USB devices over Remote Desktop Protocol. The client for Microsoft RDP protocol will be Remote Desktop Connection.
- On the remote machine (where Terminal Server, the server component for Microsoft RDP protocol, is installed), USB Network Gate Client should be installed to access shared USB devices over RDP.
So, once you connect to the server via RDP and establish connection with the shared device, this USB device will appear in the server’s Device Manager and will be recognized by all applications as local one.
Note: Since USB Network Gate version 7.x, support for ICA protocol was added. USB devices plugged into a thin client appear in a remote session over ICA.
Now let’s see the process of accessing USB port/device in remote desktop session step by step:
Your actions on the local machine (thin client) running Windows:
- Install and launch USB Network Gate.
- Share the required USB port/device.
- Connect to the remote desktop via Remote Desktop Connection.
Your actions on the remote server:
- Enter the password if the remote server requires it.
- Once you connect to the remote server via RDP, launch USB Network Gate.
- For your convenience, only devices that you shared on the host will be displayed on the guest computer in your RDP session. Though search for shared devices on the network will still be available.
- If you tick “Enable RDP autoconnect” option, connection with devices, shared on the host, will be established automatically in future by the program service, without starting the program GUI. This is very convenient when you often have to work with shared devices on the guest machine.
If your machine is running Linux, execute the following command in Terminal:
xfreerdp --plugin usb4rdp <remote address=""></remote>
where <remote address> is the remote server’s IP address/domain name/computer name. This command launches RDP client xfreerdp together with Eltima’s plugin, which ensures full USB Network Gate functionality in remote desktop session.
- You can also load other plugins for freeRDP, if needed. For example:
xfreerdp --plugin cliprdr --plugin usb4rdp xxx.xx.xx.xx
This command launches RDP client xfreerdp together with Eltima’s plugin and cliprdr plugin, which ensures synchronization of client and server clipboard data.
Refer to freeRDP documentation to find out about supported plugins and available user commands.
- To share audio USB device in RDP session, xfreerdp should be launched with additional options:
xfreerdp plugin usb4rdp -0 -o server
This would permit to redirect sound not by means of RDP client, but via USB Network Gate.
- Eltima’s plugin is compatible with xfreerdp version starting from 1.0. rdesktop and Remmina are not supported.
Due to support of RemoteFX USB Redirection [MS-RDPEUSB] which we’ve recently added to USB Network Gate for Linux, it is now possible to redirect shared USB devices from a server machine running Linux OS (Terminal Client) to a Windows client machine (Terminal Server) even without installing USB Network Gate on the latter.
The client should be either Windows 8 (real or virtual machine) or Hyper-V running Windows 7 SP 1, with the RemoteFX GPU added, launched on Windows Server 2008 R2 SP 1 or Server 2012.
The command is the following:
xfreerdp-usb [shared-ports] xfreerdp-args
Arguments are the following:
- shared-ports : comma-separated list of TCP ports for USB devices shared via USB Network Gate. If not specified, all shared USB devices will be redirected.
- xfreerdp-args : arguments to pass to xfreerdp.
- Redirect all shared USB devices:
xfreerdp-usb -u User -p Pass 192.168.0.123
- Redirect USB devices shared on 1909 and 1910 TCP ports:
xfreerdp-usb 1909,1910 -u User -p Pass 192.168.0.123
If you get SSL_read: I/O error, add “
--rfx” parameter without quotes prior to IP address.
Windows: Even if access to a shared USB device is password-protected by the server, the password won’t be asked when accessing this shared USB device in remote desktop session. This is caused by the fact, that RDP protocol uses its own password protection. USB Network Gate encryption won’t be used as well, as internal RDP encryption algorithm will be used.
Linux: In case traffic encryption and/or authorization is enabled, and/or traffic compression is used, sharing of USB device in remote desktop session will be unavailable.
USB Device Isolation on Windows
With the help of per-session USB device isolation, it is possible to isolate users’ USB devices in their RDP session, so that they become not visible and accessible by other users. Isolation is currently supported for the following devices: USB Flash Drives and USB cameras in test mode. To enable USB device isolation in RDP session, tick the corresponding option when connecting to the shared USB device over RDP protocol.