For BigHand Professional customers (on Terminal Server or Citrix environments) the latest version of the driver packs can be downloaded from the links above. Once the module has been installed, the Footpedal or Recording device will be visible for selection in the BigHand classic voice client or BigHand Hub as required. Installing the drivers onto the thin-client was a challenge in itself which I will write a separate post but when I finally got the drivers installed, I was faced with the challenge of having the virtual desktop automatically map the USB attached printer upon start up or attached during the time the user is logged on.
For XenApp per user audio redirection is supported, for each client user account receiver gpo has to be set for enabling audio through Generic USB.
Instructions
USB Device Redirection Introduction
Generic USB redirection feature allows redirection of arbitrary USB devices from client machines to XenDesktop virtual desktops. With this feature, the end users have the ability to interact with a wide selection of generic USB devices in their XenDesktop session as if it had been physical plugged into it.
Generic USB redirection works at a low level and redirect USB request and response message between client machines and XenDesktop virtual desktop. It avoids the requirement for compatible device drivers on the client machine and the driver is expected to be supported on the virtual desktop only.
Generic USB Redirection Configuration
By default, USB redirection configuration is not enabled. To use it, USB redirection policy and specific redirection rules must be enabled and configured.
Enabling Generic USB Redirection
Open Desktop Studio on XenDesktop server, click Start > All Programs > Citrix > Desktop Studio.
Expand HDX Policy.
Select Users.
Click Edit > Settings.
In the Policy console, scroll down to USB Devices.
Click Add on Client USB device redirection.
Select Allowed and click OK.
Creating USB Redirection Policy Rules
When the user tries to redirect USB device to Virtual Desktop, it is checked against each USB policy rules in turn until a match is found. The first match for any devices is considered final. If the first match is an Allow rule, the matched device is allowed to be redirected to the virtual desktop. If the first match is a Deny rule, the matched device is only available in the local desktop.
Open Desktop Studio on XenDesktop server and click Start > All Programs > Citrix > Desktop Studio.
Expand HDX Policy.
Select Users.
Click Edit > Settings.
In the Policy console, scroll down to USB Devices.
Click Add on Client USB device redirection rules.
Select Use default value and click OK.
You can find the default rules in the following registry in virtual desktop:
Caution! Refer to the Disclaimer at the end of this article before using Registry Editor.
HKLMSOFTWARECitrixPortICAGenericUSBDeviceRules for 32-bit OS
Or
HKLMSOFTWAREWow6432NodeCitrixPortICAGenericUSBDeviceRules for 64-bit OS
Creating Client USB device optimization rules
In XenApp and XenDesktop 7.6 FP3, the Client USB device optimization rules can be applied to devices to disable generic usb optimization for interrupt devices, or to change the optimization mode.
When a user plugs in a USB input device, the host checks if the device is allowed by the USB policy settings. If the device is allowed, the host then checks the Client USB device optimization rules for the device. If no rule is specified, then the device is handled as Interactive mode (02). Capture mode (04) is the recommended mode for signature devices.
For more details follow link.
Settings for Audio redirection of XenApp (per user )
For Server OS enable audio through Generic USB from client policy, supported from Receiver 4.5 and XenApp / XenDesktop 7.8
For enabling audio redirection for logged in user you must perform following steps:
On Client copy receiver.admx from C:Program Files (x86)CitrixICA ClientConfiguration to C:WindowsPolicyDefinitions
Note: For x86 Client instead of Program Files (x86) go to Program FilesOn Client copy receiver .adml from C:Program Files (x86)CitrixICA ClientConfigurationen-US to C:WindowsPolicyDefinitionsen-US
Note: For x86 Client instead of Program Files (x86) go to Program FilesOn Client launch GPO by running gpedit.msc
Go to ComputerConfiguration->Administrative Templates->Citrix Receiver->User experience and right click edit “Audio through Generic USB Redirection”
Enable the policy and on client run gpupdate /force from command prompt
Launch XenApp session and redirect the audio device .
Settings for Specific USB Devices
Besides generic USB redirection, XenDesktop provides optimized redirection methods for some specific USB devices. Some advanced functions such as, data compression is provided by these dedicated virtual channels:
USB Device Type | USB Class Code | Dedicated Virtual Channel | USB Redirection Default Setting |
---|---|---|---|
Audio device | 01h | RAVE | Disabled |
Video device | 0Eh | RAVE | Disabled |
Printer | 07h | Printing | Disabled |
Mass storage | 08h | CDM | Disabled |
Image device | 06h | TWAIN | Disabled |
Smart card | 0Bh | Smart card | Disabled |
HID ( keyboard ) | 03h ( Subclass code = 01, prot=01 ) | Keyboard | Disabled ( not recommend using USB redirection for keyboard ) |
HID ( Mouse ) | 03h ( Subclass code = 01, prot=02 ) | Thinwire | Disabled ( not recommend using USB redirection for mouse device ) |
Citrix Usb Devices Driver Updater
Using the USB Device Rules Policy
- Open the Local Group Policy Editor and go to Administrative Templates > Citrix Components > Citrix Receiver > Remoting client devices > Generic USB Remoting.
- Open the USB Device Rules setting and enable the setting. Add the USB Device rule as in this example,
The Allow: VID=1230 PID=0007 rule allows the device with Vendor ID 1230 and Product ID 0007:
Note:Use the Allow: VID=xxxx PID=xxxx rule when a specific device must be on top of the device rules list.
Note: Refer to Hardware/Device property details to find the Vendor ID or a tool like USBVIEW or on the Receiver Toolbar, go to Devices > Manage Devices > and mouse over on any device as shown in the following figure:
For Citrix Receiver 4.6 and lower, generally, the following USB Error appears when the device is in use on the endpoint. Identify the process using the device and kill it:
“Device appears to be in use and cannot be attached. Close any…”
From Citrix Receiver 4.7 onwards, USB Error allows to forcefully redirect the device by clicking on Yes button
Workaround
Note: On Windows Receiver 3.0 version and later, there is a workaround to suppress the USB Error.
There is a registry setting available to force-redirect USB devices, even if a client-side application is using the device:
Open HKLMSOFTWARECitrixICA ClientGenericUSB for 32-bit OS.
Or
HKLMSOFTWAREWow6432NodeCitrixICA ClientGenericUSB for 64-bit OS.
Set REG_DWORD value EnableForceRestartForHID to 1.
Additional Resources
Citrix Documentation - Configure USB support
For information on USB devices tested with XenDesktop, see CTX123569 - XenDesktop USB Citrix Tested Device List.-->This topic describes the device-specific registry entries.
Find device information after it enumerates on Windows
View the device interface GUID, Hardware Id, and device class information about your device
Find this registry key and note the DeviceInstance value:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlDeviceClasses
Find the device instance registry key and get the device interface GUID:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetEnumUSB<hardware id><instance id>Device Parameters
Under the device instance key, note the device class, subclass, and protocol codes:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetEnumUSB
Registry settings for configuring USB driver stack behavior
The registry entries described in this topic are found under this key:
In the vvvvpppprrrrr key,
- vvvv is a 4-digit hexadecimal number that identifies the vendor
- pppp is a 4-digit hexadecimal number that identifies the product
- rrrr is a 4-digit hexadecimal number that contains the revision number of the device.
The vendor ID, product ID, and revision number values are obtained from the USB device descriptor.The following table describes the possible registry entries for the vvvvpppprrrrr key. The USB driver stack considers these entries as read-only values.
Registry entry | Description | Possible values |
---|---|---|
osvc REG_BINARY Supported on Windows XP and later versions. | Indicates whether the operating system queried the device for Microsoft-Defined USB Descriptors. If the previously-attempted OS descriptor query was successful, the value contains the vendor code from the OS string descriptor. |
|
IgnoreHWSerNum REG_BINARY Supported on Windows Vista and later versions. | Indicates whether the USB driver stack must ignore the serial number of the device. |
|
ResetOnResume REG_BINARY Supported on Windows Vista and later versions. | Indicates whether the USB driver stack must reset the device when the port resumes from a sleep cycle. |
|