Verify the following configurations:
1. Ensure DDC policy setting "Client USB Device Redirection: Allowed" (for workstation hosts only).

2. Verify whether Linux kernel version is consistent with Virtual Host Controller Interface (VHCL) module included in Linux VDA
- Get information about current kernel
root@XXXX:~# uname -r
4.4.0-21-generic
- Get information about VHCI module
root@XXXX:# modinfo /opt/Citrix/VDA/lib64/usb-vhci-hcd.ko
filename: /opt/Citrix/VDA/lib64/usb-vhci-hcd.ko
......
description: USB Virtual Host Controller Interface driver
srcversion: 9E700B46FBDA1647A9A2865
depends:
vermagic: 4.4.0-45-generic SMP mod_unload modversions
Note: In above example, Linux kernel version is inconsistent with VHCI Module.
3. Rebuild the VHCI module to consistent with Linux kernel
1) In Linux VDA, verify if
Module.symvers file exists under /usr/src/linux-headers-4.4.0-21-generic. If not, run
apt-get install linux-headers$(uname -r) to install the kernel header files and create
Module.symvers.
2) Download "Linux Virtual Delivery Agent (sources)" from the
Citrix download site.
3) Extract
vhci-hcd-1.15 from
citrix-linux-vda-sources.zip file and copy it to Linux VDA.
4) Edit
vhci-hcd-1.15/Makefile, comment original KDIR assignment and set it to kernel directory,
#KDIR = $(BUILD_PREFIX)/lib/modules/$(KVERSION)/build
KDIR = /usr/src/linux-headers-4.4.0-21-generic

5) In the folder vhci-hcd-1.15/, run make to build the VHCI kernel. If the build was successful, usb-vhci-hcd.ko and usb-vhci-iocifc.ko are created in the vhci-hcd-1.15/ folder.
6) Replace the kernel module with the newly built one: cp -f usb-vhci-*.ko /opt/Citrix/VDA/lib64/
7) Restart the USB service: service ctxusbsd restart
8) Check VHCI module again, and version consistent with kernel version
9) Log off and log on to the the session again. Check to see if USB redirection is functioning
Problem Cause
USB redirection depends on the VHCI kernel modules (
usb-vhci-hcd.ko and
usb-vhci-iocif.ko). These modules are part of the Linux VDA RPM package and compiled based on the official Linux distribution kernel. If kernel of Linux distribution is not compatible with VHCI driver provided by Linux VDA, Citrix USB redirection won't take effect.