Unlike Citrix and Horizon clients, the RDP client doesn't have a useful default position on USB device redirection and will not attempt to redirect anything by default. Consequently, if you want RDP mode to redirect any USB device you will have to use TMS or Tlxconfig to set "Redirect USB" to Manual in the Mode window, and then click on the "Show Redirections" button that appears, select the eligible devices that you want to redirect (they will have to be already plugged in when you do this), and change the value in the "Redirect" column from "Policy Default" to "Yes".
RDP USB redirection will only work under the following conditions:
Please note also that you may have issues if your USB device is integrated into a monitor that you are directly connecting to a Raspberry Pi, because monitor manufacturers like to save a few dollars by not powering their built-in USB hubs, and the Raspberry Pi - being a very low-power device - often cannot provide sufficient power to operate an unpowered hub. For best results, connect your monitor's unpowered USB hub to an external powered USB hub, and then connect the powered hub to your Pi.
It is not normally necessary to redirect USB storage devices, because access to these will be automatically provided via client drive redirection. Storage devices will appears subfolders under the share named "Storage on <client-hostname>" (or \\tsclient\storage on really old Windows systems), whose names correspond to the volume name (if any) or a Linux device pathname (e.g. sda1) otherwise. This share corresponds to the /media area on your client. Because the API lacks any kind of "safe removal" callback, we have had to automount filesytems using a one-second idle timeout and the "sync" option (because we have no idea when they might be physically unplugged), which will make writes to redirected drives very slow.
When trying to determine why USB redirection isn't working in RDP mode, to save time you should first test that it works when using Windows' own RDP client, mstsc.exe, because there are several reasons why it might not (see above condition list). For this to work, your account on the client PC must have Administrator rights, i.e. be a member of the Administrators (or Domain Admins) group, otherwise you will need to make another group/local policy change ("Computer Configuration\Administrative Templates\Windows Components\Remote Desktop Services\Remote Desktop Connection Client\RemoteFX USB Device Redirection\Allow RDP Redirection of other supported RemoteFX USB devices from this computer", set to Enabled and change RemoteFX USB Redirection Access Rights to "Administrators and Users").
If you intend to redirect a USB webcam or printer, please note that mstsc.exe will not let you do that using RemoteFX USB redirection. The is purely a Windows client limitation, and the Linux RDP client is not limited in this way. However, it means that when testing whether USB redirection works using the Windows RDP client, you should attempt to redirect some other type of USB peripheral instead (not a storage device, the Windows client won't allow USB redirection of that either), e.g. a USB audio device.
The USB redirection option in mstsc.exe is somewhat hidden, and has nothing to do with more visible high-level audio/printer/port/drive redirection options:
Once you connect, you will see a new icon on the drop-down toolbar, which you can click on to see details of the redirections:
You can then check Device Manager to see whether the USB device has been detected by the server.
If all that seems to work, you can move on to testing USB redirection using TLXOS. Please note that the FreeRDP client cannot handle USB hotplug events, so the USB device must be plugged in before the session begins and remain plugged in until you have finished using it.
« Go back