Getting USB Drive Redirection to work with LTSP, xFreeRDP, and Windows Server 2012 R2

Problem

You’re using LTSP (Linux Terminal Server Project) and xFreeRDP to allow computers to boot from the network and connect to a server running Windows Server 2012 R2.¬† You add the parameters in LTS.CONF to allow USB redirection, but you still cannot get the USB drives to show up.

Solution

In my experience, these are the two steps that are often missed:

Step #1: Enable sound redirection

When using LTSP to connect to a server running Windows Server 2012 or later, you MUST enable sound redirection first, or USB direction will not work. This step isn’t necessary in Windows server 2008.

For example, instead of using the following line in LTS.CONF:

           SCREEN_07 = "xfreerdp -f --no-nla --ignore-certificate --plugin rdpdr --data disk:usbdisk:/media/root --
           192.168.11.22

Use this one:

           SCREEN_07 = "xfreerdp -f --no-nla --ignore-certificate --plugin rdpsnd --data alsa -- --plugin rdpdr
           --data disk:usbdisk:/media/root -- 291.168.11.22

Obviously, you’ll want replace the IP at the end of the lines above with the IP of your own terminal server. Keep in mind that if you’re using a newer version of xFreeRDP, the format of the options may be different. There have been changes made in the later versions. More information can be found here

Step #2: Set the policy on the server

You also need to be sure you have the ‘Do not allow drive redirection’¬†policy disabled on the Windows terminal server. This setting is found in the group policy editor at:

Computer Configuration\Policies\Administrative Templates\Windows Components\Remote Desktop Services\Remote Desktop Session Host\Device and Resource Redirection

Once you take care of these two items, you’re typically good to go!