Redirección de dispositivos USB
Los dispositivos USB se comparten entre la aplicación Citrix Workspace™ y el escritorio VDA de Linux. Cuando un dispositivo USB se redirige al escritorio, puedes usar el dispositivo USB como si estuviera conectado localmente.
Consejo:
Te recomendamos usar la redirección de dispositivos USB cuando la latencia de red sea inferior a 100 milisegundos. No uses la redirección de dispositivos USB cuando la latencia de red sea superior a 200 milisegundos.
-
La redirección de dispositivos USB incluye tres áreas principales de funcionalidad:
- Proyecto USB/IP de código abierto
- Módulo de sesión USB de Citrix
- Módulo de servicio USB de Citrix
Proyecto USB/IP de código abierto:
El proyecto USB/IP consta de un controlador del kernel de Linux y algunas bibliotecas en modo usuario que te permiten comunicarte con el controlador del kernel para obtener todos los datos USB.
El VDA de Linux implementa la redirección de dispositivos USB basada en el proyecto USB/IP de código abierto y reutiliza el controlador del kernel y las bibliotecas en modo usuario de USB/IP. Sin embargo, todas las transferencias de datos USB entre el VDA de Linux y la aplicación Citrix Workspace están encapsuladas por el protocolo USB ICA de Citrix.
Módulo de sesión USB de Citrix:
El módulo de sesión USB de Citrix actúa como un puente de comunicación entre el módulo del kernel USB/IP y la aplicación Citrix Workspace.
Módulo de servicio USB de Citrix:
El módulo de servicio USB de Citrix gestiona todas las operaciones en dispositivos USB, por ejemplo, conectar o desconectar dispositivos USB.
Cómo funciona la redirección de dispositivos USB
Normalmente, si un dispositivo USB se redirige correctamente al VDA de Linux, se crean uno o más nodos de dispositivo en la ruta /dev del sistema. A veces, sin embargo, el dispositivo redirigido no se puede usar para una sesión activa del VDA de Linux. Los dispositivos USB dependen de los controladores para funcionar correctamente y algunos dispositivos requieren controladores especiales. Si no se proporcionan controladores, los dispositivos USB redirigidos son inaccesibles para la sesión activa del VDA de Linux. Para asegurar la conectividad de los dispositivos USB, instala los controladores y configura el sistema correctamente.
El VDA de Linux admite una lista de dispositivos USB que se redirigen correctamente desde el cliente.
Dispositivos USB compatibles
Consejo:
Hemos agregado compatibilidad con puertos USB 3.0. Puedes insertar dispositivos USB 3.0 en puertos USB 3.0 de un dispositivo cliente.
Se ha verificado que los siguientes dispositivos son compatibles con esta versión del VDA de Linux. Otros dispositivos pueden usarse libremente, con resultados inesperados:
| Dispositivo de almacenamiento masivo USB | VID:PID | Sistema de archivos |
|---|---|---|
Netac Technology Co., Ltd |
0dd8:173c | FAT32, NTFS |
Kingston Datatraveler 101 II |
0951:1625 | FAT32, NTFS |
Kingston Datatraveler GT101 G2 |
1567:8902 | FAT32, NTFS |
SanDisk SDCZ80 flash drive |
0781:5580 | FAT32, NTFS |
WD HDD |
1058:10B8 | FAT32, NTFS |
Toshiba Kingston DataTraveler 3.0 USB device |
0930:6545 | FAT32, NTFS |
Taiwan OEM – OBSOLETE VendorCo ProductCode Disk 2.0 |
FFFF:5678 | FAT32, NTFS |
TD-RDF5A Transcend USB device |
8564:4000 | FAT32, NTFS |
Nota:
Para usar NTFS en Amazon Linux 2, RHEL, Rocky Linux y SUSE, habilita la compatibilidad con NTFS en estas distribuciones primero.
| Ratón 3D USB | VID:PID |
|---|---|
3DConnexion SpaceMouse Pro |
046d: c62b |
| Escáner USB | VID:PID |
Epson Perfection V330 photo |
04B8: 0142 |
| USB Yubico | VID:PID |
Yubico YubiKey OTP+FIDO+CCID -Keyboard, HID |
1050:0407 |
| Webcam USB | VID:PID |
Logitech composite USB device – WebCam, Audio |
0460:0825 |
Configurar la redirección de dispositivos USB
(Solo para RHEL y Rocky Linux) Instalar o compilar el módulo del kernel USB/IP
El VDA de Linux usa USB/IP como controlador de host virtual para la redirección de dispositivos USB. Dado que en la mayoría de los casos el módulo del kernel USB/IP se lanza con la versión 3.17 y posteriores del kernel de Linux, no tienes que compilar el módulo del kernel por defecto. Sin embargo, el módulo del kernel USB/IP no está disponible para RHEL y Rocky Linux. Para usar la redirección de dispositivos USB con estas distribuciones de Linux, debes instalar o compilar el módulo del kernel USB/IP. Descarga e instala USB/IP desde https://pkgs.org/download/kmod-usbip según tu distribución de Linux.
Configurar las directivas de redirección de dispositivos USB
Una directiva de Citrix controla si la redirección de dispositivos USB está habilitada o deshabilitada. El tipo de dispositivo también se puede especificar usando una directiva de Delivery Controller™. Al configurar la redirección de dispositivos USB para el VDA de Linux, configura las siguientes directivas:
- Directiva de redirección de dispositivos USB de cliente
- Reglas de redirección de dispositivos USB de cliente
- #### Habilitar la redirección de dispositivos USB
En Citrix Studio, habilita (o deshabilita) la redirección de dispositivos USB desde el cliente (solo para hosts de estación de trabajo).
En el cuadro de diálogo Modificar configuración:
- Selecciona Permitido.
- Haz clic en Aceptar.

Configurar las reglas de redirección de dispositivos USB
- Después de habilitar la directiva de redirección USB, configura las reglas de redirección usando Citrix Studio especificando qué dispositivos están permitidos (o denegados) en el VDA de Linux.
En el cuadro de diálogo Reglas de redirección de dispositivos USB de cliente:
- Haz clic en Nuevo para agregar una regla de redirección, o haz clic en Modificar para revisar una regla existente.
- Después de crear (o modificar) una regla, haz clic en Aceptar.

Nota:
Al configurar la redirección de dispositivos USB, asegúrate de establecer la opción Redirección de dispositivos USB de cliente en Permitido y configurar las Reglas de redirección de dispositivos USB de cliente como Allow:#all ok. Si no configuras ambas opciones, puede provocar que el ratón externo desaparezca al hacer clic en una sesión.
Solucionar problemas de redirección de dispositivos USB
Usa la información de esta sección para solucionar varios problemas que puedes encontrar al usar el VDA de Linux.
No se puede desmontar el disco USB redirigido
El VDA de Linux gestiona todos los discos USB redirigidos desde la aplicación Citrix Workspace con privilegios administrativos para garantizar que solo el propietario pueda acceder al dispositivo redirigido. Como resultado, solo puedes desmontar el dispositivo con privilegios administrativos.

Archivo perdido al dejar de redirigir un disco USB
Si dejas de redirigir un disco USB inmediatamente usando la barra de herramientas de la aplicación Citrix Workspace, los archivos que modificaste o creaste en el disco pueden perderse. Este problema ocurre porque, al escribir datos en un sistema de archivos, el sistema monta la caché de memoria en el sistema de archivos. Los datos no se escriben en el disco directamente. Si dejas de redirigir usando la barra de herramientas de la aplicación Citrix Workspace, no queda tiempo para que los datos se vacíen en el disco, lo que provoca la pérdida de datos.
Para resolver este problema, usa el comando sync en un terminal para vaciar los datos en el disco antes de detener la redirección USB.
No hay dispositivos en la barra de herramientas de la aplicación Citrix Workspace
A veces, es posible que no puedas ver los dispositivos enumerados en la barra de herramientas de la aplicación Citrix Workspace, lo que indica que no se está produciendo ninguna redirección USB.

Si te encuentras con el problema, verifica lo siguiente:
- La directiva está configurada para permitir la redirección de dispositivos USB.
- El módulo de servicio USB de Citrix está en ejecución.
Si la directiva no está configurada correctamente, corrígela consultando la sección Configurar directivas de redirección de dispositivos USB de este artículo.
Si el módulo de servicio USB de Citrix no está en ejecución, completa los siguientes pasos:
-
Comprueba si hay un módulo del kernel USB/IP disponible en tu distribución de Linux usando el siguiente comando:
modinfo usbip-core <!--NeedCopy--> -
Si la salida se muestra como sigue, instala o compila el módulo del kernel USB/IP según tu distribución de Linux:
modinfo: ERROR: Module usbip-core not found. <!--NeedCopy-->- Para RHEL y Rocky Linux, consulta la sección Instalar o compilar el módulo del kernel USB/IP de este artículo.
- Para SUSE, descarga e instala el paquete USB/IP desde https://software.opensuse.org/package/usbip.
-
Para Ubuntu/Debian, completa los siguientes pasos para compilar e instalar el módulo del kernel USB/IP:
-
Descarga el código fuente del módulo del kernel USB/IP.
Ve al repositorio del kernel de Linux en https://github.com/torvalds/linux/tree/master/drivers/usb/usbip, selecciona la etiqueta de la versión de kernel de Linux de destino (v4.15 o posterior) y obtén el enlace, como https://github.com/torvalds/linux/tree/v4.15/drivers/usb/usbip.
Ve a DownGit e introduce el enlace anterior para crear un enlace de descarga para descargar el código fuente de USB/IP.
-
Descomprime el archivo fuente usando los siguientes comandos:
unzip ${USBIP_SRC}.zip cd usbip <!--NeedCopy--> -
Modifica el archivo Makefile como sigue:
# SPDX-License-Identifier: GPL-2.0 ccflags-$(CONFIG_USBIP_DEBUG) := -DDEBUG obj-$(CONFIG_USBIP_CORE) += usbip-core.o usbip-core-y := usbip_common.o usbip_event.o obj-$(CONFIG_USBIP_VHCI_HCD) += vhci-hcd.o vhci-hcd-y := vhci_sysfs.o vhci_tx.o vhci_rx.o vhci_hcd.o #obj-$(CONFIG_USBIP_HOST) += usbip-host.o #usbip-host-y := stub_dev.o stub_main.o stub_rx.o stub_tx.o #obj-$(CONFIG_USBIP_VUDC) += usbip-vudc.o #usbip-vudc-y := vudc_dev.o vudc_sysfs.o vudc_tx.o vudc_rx.o vudc_transfer.o vudc_main.o <!--NeedCopy--> -
Compila el código fuente:
apt-get install linux-headers-`uname -r` make -C /lib/modules/`uname -r`/build M=$PWD <!--NeedCopy--> -
Instala el módulo del kernel USB/IP:
cp usbip-core.ko vhci-hcd.ko /opt/Citrix/VDA/lib64/ <!--NeedCopy--> -
Reinicia el servicio ctxusbsd para cargar el módulo del kernel USB/IP:
systemctl restart ctxusbsd <!--NeedCopy-->
-
Error de redirección cuando los dispositivos USB son visibles en la barra de herramientas de la aplicación Citrix Workspace, pero están etiquetados como “restringido por directiva”
Cuando ocurra el problema, haz lo siguiente:
- Configura la directiva del VDA de Linux para habilitar la redirección.
-
Comprueba si hay restricciones de directiva adicionales configuradas en el registro de la aplicación Citrix Workspace. Comprueba DeviceRules en la ruta del registro para asegurarte de que el dispositivo no tenga el acceso denegado por esta configuración:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Citrix\ICA Client\GenericUSB
Un dispositivo USB se redirige correctamente, pero no puedo usarlo en mi sesión
Normalmente, solo se pueden redirigir los dispositivos USB compatibles. Otros dispositivos también pueden redirigirse a una sesión activa del VDA de Linux. Para cada dispositivo redirigido, se crea un nodo propiedad del usuario en la ruta /dev del sistema. Sin embargo, son los controladores y la configuración los que determinan si el usuario puede usar el dispositivo correctamente. Si encuentras un dispositivo que es de tu propiedad (conectado) pero inaccesible, agrega el dispositivo a una directiva sin restricciones.
Nota:
Para las unidades USB, el VDA de Linux configura y monta el disco. El usuario (y solo el propietario que lo instaló) puede acceder al disco sin ninguna configuración adicional. Puede que no sea el caso de los dispositivos que no están en la lista de dispositivos compatibles.
En este artículo
- Cómo funciona la redirección de dispositivos USB
- Dispositivos USB compatibles
- Configurar la redirección de dispositivos USB
-
Solucionar problemas de redirección de dispositivos USB
- No se puede desmontar el disco USB redirigido
- Archivo perdido al dejar de redirigir un disco USB
- No hay dispositivos en la barra de herramientas de la aplicación Citrix Workspace
- Error de redirección cuando los dispositivos USB son visibles en la barra de herramientas de la aplicación Citrix Workspace, pero están etiquetados como “restringido por directiva”
- Un dispositivo USB se redirige correctamente, pero no puedo usarlo en mi sesión