session. Prior to the RemoteFX USB redirection feature, there have been
advancements in the types of devices that could be redirected to a remote session. We
have keyboard, mouse, microphone, smartcard, disk, imaging devices with in-box
functionality, and a few others that can be redirected; however, they are all redirected
by abstracting the device into one of the supported high-level RDP redirection device
types, which means that you can access these devices on the remote session without
needing any drivers on the remote OS installed. This also means that you may miss
device-specific functionality, and many types of USB devices cannot be redirected that
don’t fall into these high-level types such as multifunction printers, advanced
communication devices, scanners, and barcode readers.
The RemoteFX USB redirection solves this by redirecting at the USB port level in a
similar way to how RDP handles the redirection of serial and parallel ports. With the
RemoteFX USB redirection, the actual USB request blocks (URBs) are intercepted
from the client and sent to the remote session, which means basically that any type of
USB device can be redirected using the RemoteFX USB redirection feature. But this
does not mean that you no longer want to use the RDP high-level device redirection
for devices supported by the RDP high-level redirection. The RemoteFX USB
redirection is designed to supplement the RDP high-level device redirection to add
support for devices that don’t work with the standard RDP redirections, and there are
some good reasons for that.
For the RDP high-level supported device redirections, such as input
(keyboard/mouse), audio, drive, smartcard, port, printer (Easy Print), and Plug and
Play, optimized protocols are used for each of the redirection types to minimize
bandwidth usage and ensure the best responsiveness and experience for that type of
device. Additionally, the RDP high-level device redirections don’t require extra drivers
in the remote sessions, and multiple remote sessions can access the same local device
simultaneously. Because of these optimizations, the RDP high-level device
redirections can be used in both LAN and WAN environments.
Now consider the RemoteFX USB redirection, where you are redirecting at the USB
port level to the remote session. Because the port is being redirected, no device/load-
specific optimizations can be made. The device driver must be installed in the remote
session, since on the remote session it will look like the device has been plugged into a
virtual USB port, so it needs the driver to use the device. Also, because you are
redirecting at a port level, only one session can access a device at a time, and that
includes the local client. If you redirect a device using RemoteFX USB redirection
from your local client, no other session can see the device, nor can your local client.
Make sure that you don’t try to use RemoteFX USB to redirect your keyboard.
RemoteFX USB redirection is also optimized for LAN environments and cannot be
used on WAN connections like the rest of RemoteFX.
Although the RemoteFX USB redirection is not using any GPU resources, it was tied
to the RemoteFX experience in Windows Server 2008 R 2 SP 1 , and the RemoteFX USB
redirection could not be used with RDSH or a non-RemoteFX-enabled Windows VDI