Redirección de dispositivos USB
Los dispositivos USB se comparten entre la aplicación Citrix Workspace y el escritorio de Linux VDA. Cuando un dispositivo USB se redirige al escritorio, puede usar ese dispositivo como si estuviera conectado localmente.
Consejo:
Se recomienda utilizar la redirección de dispositivos USB cuando la latencia de red es inferior a 100 milisegundos. No utilice 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 se compone de un controlador de kernel Linux y algunas bibliotecas de modo usuario, que le permiten comunicarse con el controlador del kernel para obtener todos los datos de USB.
Linux VDA implementa la redirección de dispositivos USB basada en el proyecto USB/IP de código abierto y reutiliza el controlador de kernel y las bibliotecas de modos de usuario de USB/IP. Sin embargo, todas las transferencias de datos USB que se realizan entre Linux VDA y la aplicación Citrix Workspace se encapsulan en el protocolo USB de Citrix ICA.
Módulo de sesión USB de Citrix:
El módulo de sesión USB de Citrix actúa como puente de comunicación entre el módulo del kernel de USB/IP y la aplicación Citrix Workspace.
Módulo de servicio USB de Citrix:
El módulo de servicio USB de Citrix administra todas las operaciones en dispositivos USB, como, por ejemplo, conectar o desconectar dispositivos USB.
Cómo funciona la redirección de dispositivos USB
Por lo general, si un dispositivo USB se redirige correctamente a Linux VDA, se crean uno o varios nodos de dispositivos en la ruta /dev del sistema. Sin embargo, hay veces en que el dispositivo redirigido no puede utilizarse para una sesión activa de Linux VDA. Los dispositivos USB necesitan los controladores pertinentes para poder funcionar correctamente; algunos dispositivos requieren incluso controladores especiales. Por eso, si no se proporcionan los controladores adecuados, los dispositivos USB redirigidos resultan inaccesibles para una sesión activa de Linux VDA. Para garantizar la conectividad del dispositivo USB, instale los controladores y configure el sistema correctamente.
Linux VDA admite una lista de dispositivos USB que se redirigen correctamente desde el cliente.
Dispositivos USB admitidos
Sugerencia:
Ahora se pueden usar puertos USB 3.0. Puede insertar dispositivos USB 3.0 en puertos USB 3.0 de un dispositivo cliente.
Se ha comprobado que los dispositivos siguientes admiten esta versión de VDA para Linux. Los demás dispositivos se pueden usar libremente, pero con resultados inesperados:
Dispositivos de almacenamiento 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, CentOS, RHEL, Rocky Linux y SUSE, habilite primero la compatibilidad con NTFS en estas distribuciones.
Mouse 3D por USB | VID:PID |
---|---|
3DConnexion SpaceMouse Pro |
046d: c62b |
Escáner USB | VID:PID |
---|---|
Epson Perfection V330 photo |
04B8: 0142 |
Yubico USB | VID:PID |
---|---|
Yubico YubiKey OTP+FIDO+CCID -Keyboard, HID |
1050:0407 |
Cámara web USB | VID:PID |
---|---|
Logitech composite USB device – WebCam, Audio |
0460:0825 |
Configurar la redirección de dispositivos USB
(Solo para CentOS, RHEL y Rocky Linux) Instalar o compilar el módulo del kernel de USB/IP
Linux VDA usa USB/IP como controlador de hosts virtuales para la redirección de dispositivos USB. Dado que, en la mayoría de los casos, el módulo del kernel de USB/IP se publica con la versión 3.17 del kernel de Linux y versiones posteriores, no es necesario compilar el módulo del kernel de forma predeterminada. Sin embargo, el módulo del kernel de USB/IP no está disponible para CentOS, RHEL ni Rocky Linux. Para utilizar la redirección de dispositivos USB con estas distribuciones de Linux, debe instalar o compilar el módulo del kernel de USB/IP. Descargue e instale USB/IP en https://pkgs.org/download/kmod-usbip según su distribución de Linux.
Establecer directivas de redirección de dispositivos USB
Una directiva de Citrix controla si la redirección de dispositivos USB está habilitada o inhabilitada. El tipo de dispositivo también se puede especificar con una directiva de Delivery Controller. Cuando configure la redirección de dispositivos USB para Linux VDA, configure la directiva y las reglas siguientes:
- Directiva de Redirección de dispositivos USB del cliente
- Reglas de redirección de dispositivos USB del cliente
Habilitar la redirección de dispositivos USB
En Citrix Studio, habilite (o inhabilite) la redirección de dispositivos USB desde el cliente (solo para hosts de estación de trabajo).
En el diálogo Modificar configuración:
- Seleccione la opción Permitido.
- Haga clic en Aceptar.
Configurar reglas de redirección de dispositivos USB
Después de habilitar la directiva de redirección USB, configure las reglas de redirección mediante Citrix Studio. Para ello, deberá especificar los dispositivos permitidos (o denegados) en el Linux VDA.
En el cuadro de diálogo Reglas de redirección de dispositivos USB del cliente:
- Haga clic en Nueva para agregar una regla de redirección, o bien haga clic en Modificar para revisar una regla existente.
- Después de crear o modificar una regla, haga clic en Aceptar.
Para obtener más información sobre la configuración de la redirección de dispositivos USB genéricos, consulte Citrix Generic USB Redirection Configuration Guide.
Solucionar problemas de redirección de dispositivos USB
Use la información de esta sección para solucionar problemas que puedan surgir al usar Linux VDA.
No se puede desmontar el disco USB redirigido
Linux VDA administra todos los discos USB redirigidos desde la aplicación Citrix Workspace bajo el privilegio administrativo para asegurarse de que solo el propietario pueda acceder al dispositivo redirigido. Como resultado, puede desmontar el dispositivo solo con el privilegio administrativo.
Se pierde el archivo cuando se detiene la redirección de un disco USB
Si deja de redirigir un disco USB inmediatamente mediante la barra de herramientas de la aplicación Citrix Workspace, los archivos que modificó o creó en el disco se pueden perder. Este problema se produce porque, cuando escribe datos en un sistema de archivos, el sistema monta la memoria caché en el sistema de esos archivos. Los datos no se escriben en el disco en sí. Si deja de redirigir el dispositivo desde la barra de herramientas de la aplicación Citrix Workspace, no hay tiempo para que los datos se vuelquen en el disco, por lo que se pierden.
Para resolver este problema, use el comando sync en un terminal para vaciar datos en el disco antes de detener la redirección USB.
No hay ningún dispositivo en la barra de herramientas de la aplicación Citrix Workspace
En algunos casos, puede que no aparezcan dispositivos en la barra de herramientas de la aplicación Citrix Workspace, lo que indica que no se está realizando la redirección USB.
Si tiene este problema, compruebe lo siguiente:
- La directiva está configurada para permitir la redirección de dispositivos USB.
- Se está ejecutando el módulo del servicio USB de Citrix.
Si la directiva no está configurada correctamente, consulte la sección Establecer directivas de redirección de dispositivos USB de este artículo y corríjala como corresponda.
Si el módulo del servicio USB de Citrix no se está ejecutando, complete estos pasos:
-
Compruebe si hay un módulo de kernel de USB/IP disponible en su distribución de Linux mediante este comando:
modinfo usbip-core <!--NeedCopy-->
-
Si el resultado se muestra de la siguiente manera, instale o compile el módulo del kernel de USB/IP según su distribución de Linux:
modinfo: ERROR: Module usbip-core not found. <!--NeedCopy-->
- Para Amazon Linux 2, CentOS, RHEL y Rocky Linux, consulte la sección Instalar o compilar el módulo del kernel de USB/IP de este artículo.
- Para SUSE, descargue e instale el paquete USB/IP desde https://software.opensuse.org/package/usbip.
-
Para Ubuntu/Debian, complete estos pasos para compilar e instalar el módulo del kernel de USB/IP:
-
Descargue el código fuente del módulo del kernel de USB/IP.
Vaya al repositorio del núcleo de Linux en https://github.com/torvalds/linux/tree/master/drivers/usb/usbip, seleccione la etiqueta de la versión del núcleo de Linux de destino (v4.15 o una posterior) y obtenga un enlace como https://github.com/torvalds/linux/tree/v4.15/drivers/usb/usbip.
Vaya a DownGit e introduzca el enlace anterior para crear un enlace de descarga desde el que descargar el código fuente de USB/IP.
-
Descomprima el archivo de origen con estos comandos:
unzip ${USBIP_SRC}.zip cd usbip <!--NeedCopy-->
-
Modifique el archivo Makefile de la siguiente manera:
# 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-->
-
Compile el código fuente:
apt-get install linux-headers-`uname -r` make -C /lib/modules/`uname -r`/build M=$PWD <!--NeedCopy-->
-
Instale el módulo del kernel de USB/IP:
cp usbip-core.ko vhci-hcd.ko /opt/Citrix/VDA/lib64/ <!--NeedCopy-->
-
Reinicie el servicio ctxusbsd para cargar el módulo del kernel de USB/IP:
systemctl restart ctxusbsd <!--NeedCopy-->
-
Error de redirección cuando los dispositivos USB están visibles en la barra de herramientas de la aplicación Citrix Workspace, pero están etiquetados como “restringidos por directivas”
Cuando ocurra el problema, haga lo siguiente:
- Configure la directiva de Linux VDA para habilitar la redirección
-
Compruebe que no se hayan configurado directivas adicionales en el Registro de la aplicación Citrix Workspace. Busque DeviceRules en la ruta del Registro para asegurarse de que este parámetro no esté denegando el acceso a su dispositivo:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Citrix\ICA Client\GenericUSB
El dispositivo USB se redirige correctamente, pero no lo puedo usar en mi sesión
Normalmente, solo se pueden redirigir los dispositivos USB admitidos. También es posible que otros tipos de dispositivos se redirijan a una sesión activa de Linux VDA. Por cada dispositivo redirigido, se crea en la ruta /dev del sistema un nodo cuyo propietario es el usuario. Sin embargo, son los controladores y la configuración los que determinan si el usuario puede usar el dispositivo correctamente. Si hay un dispositivo conectado pero inaccesible, agréguelo a una directiva sin restricciones.
Nota:
En el caso de unidades USB, Linux VDA configura y monta el disco. El usuario (y solo el propietario que lo instaló) puede acceder al disco sin ninguna configuración adicional. Es posible que no sea el caso para dispositivos que no consten en la lista de los dispositivos admitidos.
En este artículo
- Cómo funciona la redirección de dispositivos USB
- Dispositivos USB admitidos
- Configurar la redirección de dispositivos USB
-
Solucionar problemas de redirección de dispositivos USB
- No se puede desmontar el disco USB redirigido
- Se pierde el archivo cuando se detiene la redirección de un disco USB
- No hay ningún dispositivo en la barra de herramientas de la aplicación Citrix Workspace
- Error de redirección cuando los dispositivos USB están visibles en la barra de herramientas de la aplicación Citrix Workspace, pero están etiquetados como “restringidos por directivas”
- El dispositivo USB se redirige correctamente, pero no lo puedo usar en mi sesión