(1) Article Details
- Updated: March 25, 2025
Published: March 24, 2025
Citrix Composite USB Splitting¶
Document Purpose¶
Some devices require USB redirection for specific USB interferfaces, but not others. This document will outline the process to identify the different USB interfaces, and how to configure a profile to redirect and split these devices into a Citrix session.
Only Supported in Citrix and Horizon
At this time Microsoft RDS / RDP, Azure Virtual Desktop, and Amazon AWS do not support device splitting
Example Devices That May Need to Be Split¶
- Dictation Microphones
- Bloomberg Keyboards
- USB Printer / Scanner Combinations
Required Access / Resources¶
- For this process you will need the following items:
- Root access to an IGEL or Linux-based endpoint
- USB Device that needs to be split
- If you need to connect the device then physical access may be required
- Local Terminal / SSH / Secure Terminal Access
Additional Requirements for Some Users
Some devices, such as the Nuance PowerMic line of devices, require being connected and configured in gold image before deploying. You may need direct access to the Gold Image and the rights to install and initialize device drivers in the gold image before this will work.
Identifying USB Device Interfaces¶
In this article, I will be using a Nuance PowerMic III (Dictaphone) device as an example. In VWMare and more modern versions of Citrix (CWA 2206 and later) it is required to redirect the unidentified HID interfaces of these devices inot the session with USB redirection. However, you will not want to do this for the Audio interfaces, or HID devices that have a local Linux Driver. You will want these to be optimized by Horizon RTAV, Citrix HDX, or HID virtual channels.
Identifying Vendor ID (VID), Product ID (PID), and the Device Number¶
- Open a terminal and connect the device to the endpoint
- Run the
lsusb
command to generate a list of connected deviceslsusb
- Identify thedevice in the list, and make a note of the following items:
- Bus Number
- Device Number
- Vendor ID (VID)
- Product ID (PID)
Can't find the device in the list?
If you cannot identify the device by name, try unplugging the device, running lsusb, plugging it back in, and running lsusb again.
Compare the results and see which device(s) shows up when it is connected.
Identifying Device Interfaces¶
At this point, we can use the lsusb -t command to look up the available interfaces, but the default output can have a lot to sort through and we can narrow it down a bit.
Using the information collected in Identifying Vendor ID (VID), Product ID (PID), and the Device Number we will build a command to just return the interfaces for the device we are looking at. This will be formatted like below:
Example for PowerMic III, your device number will change.
lsusb -t | grep "Dev 9"
Handling preceding zeros
You will need to remove any preceding zeros from the device number.
Note the interface number and classes
At this time, you will want to note the interface numbers, and their corresponding classes.
Creating the corresponding IGEL Profiles¶
For our PowerMic III we will need to redirect the Human Interface Device (HID) interfaces and not the audio devices. In this section we will create a profile with default USB rules, as well as a profile that configures the split rules for our test devices.
Citrix Profile¶
Citrix only requires a single profile to handle the split, however it is a bit more complex of a line to configure.
Citrix works with an "inclusion" method. This means we will be building a single rule to enable splitting of the device, and then telling it to only redirect the Human Interface Device (HID) interface 1.
Optimization Channel for Audio
You will need to enable the Nuance PowerMic Extension or HDX (Depending on your configuration) in order for this to work properly.
Creating the Citrix IGEL Profile¶
- Create a new profile (or use your existing USB Redirection Profile if you already have one)
- Navigate to the following settings panel: Sessions -> Citrix -> Citrix Global -> Native USB Redirection
Fabulatech
If you are using Fabulatech then select Fabulatech USB Redirection*
- Set the Global Settings as the following for USB Redirection:
- USB Redirection - Enabled
- Default Rule - Deny
- Create a new "Allow" Device Rule and define the following extra configurations
- Rule: Connect
- Vendor ID: 0554
- Product ID: 1001
- Enable Splitting with: split=01
- Setting this to 01 enables USB splitting for this device
- Allow Interfaces: intf=01
- This is a list of interfaces that will be redirected to the Citrix session, while leaving the other interfaces locally connected.
- Note: Device Interfaces will always be two digits, if there is only 1 digit reported, then you will need to add a preceding zero
- Note II: If you have multiple interfaces that you need to allow, you need to separate the entries using a comma "," (inf=01,03,05)
Results
You should now have a Native USB Redirection panel that looks like the image below:
References¶
- Citrix USB KB - Composite USB device redirection