Linux Virtual Delivery Agent

Redirección 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.

Sugerencia:

  • Recomendamos usar la redirección USB cuando la latencia de red sea inferior a 100 milisegundos. No uses la redirección USB cuando la latencia de red sea superior a 200 milisegundos.

  • La redirección USB incluye tres áreas principales de funcionalidad:

  • Implementación de proyecto de código abierto (VHCI)
  • Servicio VHCI
  • Servicio USB

VHCI de código abierto:

Esta parte de la función de redirección USB desarrolla un sistema general de uso compartido de dispositivos USB a través de una red IP. Consiste en un controlador del kernel de Linux y algunas bibliotecas en modo de usuario que te permiten comunicarte con el controlador del kernel para obtener todos los datos USB. En la implementación del VDA de Linux, Citrix reutiliza el controlador del kernel de VHCI. Sin embargo, todas las transferencias de datos USB entre el VDA de Linux y la aplicación Citrix Workspace se encapsulan en el paquete de protocolo Citrix ICA®.

Servicio VHCI:

El servicio VHCI es un servicio de código abierto proporcionado por Citrix para comunicarse con el módulo del kernel VHCI. Este servicio funciona como una puerta de enlace entre VHCI y el servicio USB de Citrix.

Servicio USB:

El servicio USB actúa como un módulo de Citrix que gestiona toda la virtualización y las transferencias de datos en el dispositivo USB.

Cómo funciona la redirección USB

Normalmente, si un dispositivo USB se redirige correctamente al VDA de Linux, se crean uno o varios nodos de dispositivo en la ruta /dev del sistema. Sin embargo, a veces, 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 garantizar la conectividad del dispositivo USB, instala los controladores y configura el sistema correctamente.

El VDA de Linux admite una lista de dispositivos USB que se redirigen correctamente hacia y desde el cliente.

Dispositivos USB compatibles

Se ha verificado que los siguientes dispositivos son compatibles con esta versión del VDA de Linux. Otros dispositivos se pueden usar libremente, con resultados inesperados:

Nota:    
     
| - | >El VDA de Linux solo admite protocolos USB 2.0. | | |      
| | | |      
Dispositivo de almacenamiento masivo USB VID:PID Sistema de archivos
Netac Technology Co., Ltd 0dd8:173c FAT32
Kingston Datatraveler 101 II 0951:1625 FAT32
Kingston Datatraveler GT101 G2 1567:8902 FAT32
SanDisk SDCZ80 flash drive 0781:5580 FAT32
WD HDD 1058:10B8 FAT32
Ratón 3D USB VID:PID  
3DConnexion SpaceMouse Pro 046d: c62b  
Escáner USB VID:PID  
Epson Perfection V330 photo 04B8: 0142  

Configurar la redirección 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 mediante una directiva de Delivery Controller™. Al configurar la redirección USB para el VDA de Linux, configura la siguiente directiva y reglas:

-  Directiva de redirección de dispositivos USB de cliente
  • Reglas de redirección de dispositivos USB de cliente

Habilitar la redirección USB

En Citrix Studio, habilita (o deshabilita) la redirección de dispositivos USB hacia y desde el cliente (solo para hosts de estación de trabajo).

En el cuadro de diálogo Modificar configuración:

  1. Selecciona Permitido.
  2. Haz clic en Aceptar.

Habilitar la redirección USB

Establecer reglas de redirección USB

Después de habilitar la directiva de redirección USB, establece las reglas de redirección mediante 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:

  1. Haz clic en Nuevo para agregar una regla de redirección, o haz clic en Modificar para revisar una regla existente.
  2. Después de crear (o modificar) una regla, haz clic en Aceptar.

La configuración de la regla de redirección USB de cliente

Compilar el módulo del kernel VHCI

La redirección USB depende de los módulos del kernel VHCI (usb-vhci-hcd.ko y usb-vhci-iocif.ko). Estos módulos forman parte de la distribución del VDA de Linux (como parte del paquete RPM). Se compilan a partir de los kernels oficiales de la distribución de Linux y se indican en la siguiente tabla:

-  | Distribución de Linux compatible| Versión del kernel | | -- | --| | Amazon Linux 2            |4.14.281-212| | Debian 11.3               | 5.10.0-12     | | Debian 10.9               | 4.19.0-20    | | RHEL 8.x, Rocky Linux 8   | 4.18.0-372  | | RHEL 7.9, CentOS 7.9  | 3.10.0-1160  | | SUSE 15               | 5.3.18       | | Ubuntu 22.04          | 5.15.0-37     | | Ubuntu 20.04          | 5.4.0-117     | | Ubuntu 18.04          | 4.15.0-184    |
  • Importante:

  • Si el kernel de tu máquina no es compatible con el controlador creado para el VDA de Linux, es posible que el servicio USB no se inicie. En este caso, solo puedes usar la función de redirección USB si compilas tus propios módulos del kernel VHCI.

Comprueba si tu kernel es compatible con los módulos creados por Citrix

En la línea de comandos, ejecuta el siguiente comando para comprobar si el kernel es compatible:

-  insmod /opt/Citrix/VDA/lib64/usb-vhci-hcd.ko
<!--NeedCopy-->

Si el comando se ejecuta correctamente, el módulo del kernel se ha cargado con éxito y la versión es compatible con la instalada por Citrix.

Si el comando se ejecuta con errores, el kernel no es compatible con el módulo de Citrix y debe reconstruirse.

Reconstruye el módulo del kernel VHCI

Si tu módulo del kernel no es compatible con la versión de Citrix, haz lo siguiente:

  1. Descarga el código fuente de LVDA desde el sitio de descargas de Citrix. Selecciona el archivo en la sección “Linux Virtual Delivery Agent (fuentes)”.

  2. Extrae el archivo citrix-linux-vda-sources.zip. Navega hasta linux-vda-sources/vhci-hcd-1.15.zip y extrae los archivos fuente de VHCI usando el comando unzip vhci-hcd-1.15.zip.

  3. Asegúrate de tener instalado el paquete del VDA de Linux y, a continuación, ejecuta cualquiera de los siguientes comandos:

    • sudo bash ctxusbcfg.sh dkms

      Este comando te permite usar el programa Dynamic Kernel Module Support (DKMS) para administrar tus módulos del kernel VHCI. DKMS no está disponible para SUSE.

      Nota:

      El comando sudo bash ctxusbcfg.sh dkms instala los programas kernel-devel y DKMS en tu VDA. Al instalar los programas en RHEL y CentOS, el comando instala y habilita el repositorio Extra Packages for Enterprise Linux (EPEL) en tu VDA.

      Es posible que DKMS no pueda compilar los módulos del kernel VHCI (usb-vhci-hcd.ko y usb-vhci-iocif.ko) cuando realizas una actualización importante del kernel, por ejemplo, de la versión 4.x.y a la versión 5.x.y. Si DKMS falla, ejecuta sudo bash ctxusbcfg.sh dkms de nuevo.

    • sudo bash ctxusbcfg.sh build

      Este comando compila e instala los módulos del kernel VHCI sin la opción DKMS.

Solucionar problemas de redirección 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 administra todos los discos USB redirigidos desde la aplicación Citrix Workspace con privilegios administrativos para asegurarse de que solo el propietario pueda acceder al dispositivo redirigido. Como resultado, solo puedes desmontar el dispositivo con privilegios administrativos.

No se puede desmontar un dispositivo

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 cuando escribes 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 propio disco. 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 resulta en 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.

Archivo perdido al dejar de redirigir un disco USB

No hay dispositivos en la barra de herramientas de la aplicación Citrix Workspace

A veces, es posible que no veas dispositivos listados 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 este problema, verifica lo siguiente:

  • La política está configurada para permitir la redirección USB
  • El módulo del kernel es compatible con tu kernel

La ficha Dispositivos en la barra de herramientas de la aplicación Workspace

Nota:

La ficha Dispositivos no está disponible en la aplicación Citrix Workspace para Linux.

Redirección fallida cuando los dispositivos USB se ven en la barra de herramientas de la aplicación Citrix Workspace, pero están etiquetados como restringidos por política

Cuando ocurra el problema, haz lo siguiente:

  • Configura la política del VDA de Linux para habilitar la redirección.
  • Comprueba si hay restricciones de política adicionales configuradas en el registro de la aplicación Citrix Workspace. Comprueba DeviceRules en la ruta del registro para asegurarte de que el acceso al dispositivo no esté 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 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 política 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. Este podría no ser el caso para los dispositivos que no están en la lista de dispositivos compatibles.

Redirección USB