====== NanoKVM-USB ====== El **NanoKVM-USB** es un pequeño [[switch_kvm|switch KVM]] USB con captura de vídeo HDMI que se conecta entre dos equipos (//host// y destino). Su objetivo principal es transmitir vídeo y emular teclado/ratón a través del USB 3.0, eliminando la necesidad de conectar físicamente un monitor y periféricos a la máquina objetivo. NanoKVM-USB captura señales de vídeo HDMI y las transmite al //host// mediante USB 3.0. A diferencia de las tarjetas de captura USB convencionales, NanoKVM-USB también captura la entrada de teclado y ratón desde el //host// y la envía a la máquina objetivo en tiempo real, eliminando la necesidad de conexiones tradicionales de pantalla y periféricos. Además, es compatible con salida HDMI en bucle (loop-out), con una resolución máxima de 4K a 30 Hz, lo que facilita la conexión a una pantalla de gran tamaño. {{ https://wiki.sipeed.com/hardware/assets/NanoKVM/usb/NanoKVM-USB.png |}} ===== Características ===== * **Vídeo**: * Entrada de vídeo HDMI hasta 4K@30 fps desde el equipo de destino; de 50 a 100 ms de latencia * Salida HDMI de //loop// hasta 4K@30 fps para conectar otro monitor. * **USB** * USB tipo C para conectar en el equipo de destino para la emulación teclado y ratón. * USB 3.0 tipo C para conectar al //host// para transmitir vídeo hasta 2K@30 fps y datos de teclado / ratón. * USB tipo A para periféricos USB como pendrives o discos externos. * Interruptor para intercambiar el USB tipo A entre el //host// y el equipo destino. * Alimentación de corriente de 5 V a través del puerto USB tipo C * Dimensiones: 57 x 25 x 23 mm (caja de aluminio) ===== Casos de uso ===== ==== Acceso “crash cart” sin hardware extra ==== Permite acceder a la consola de un servidor o PC sin tener que conectar teclado, ratón y monitor físicos — útil para mantenimiento local o en racks. Útil también cuando el acceso remoto normal no funciona. Un //crash cart// (literalmente carro de emergencia) es un conjunto portátil de herramientas que se usa para acceder físicamente a servidores o equipos cuando no es posible administrarlos de forma remota. El NanoKVM-USB actúa como un "crash cart moderno y de bolsillo". En vez de llevar: * Monitor * Teclado * Ratón Llevas: * ManoKVM-USB * Tu portátil El NanoKVM: * Captura el vídeo HDMI del servidor * Emula teclado y ratón USB * Muestra todo en el navegador de tu portátil Tienes acceso completo, incluso a BIOS, arranque y pantallas de error. ==== Administración de sistemas sin pantalla ==== Ideal para máquinas //headless// o sin monitor (como servidores, SBCs o sistemas embebidos), pudiendo ver la BIOS o la consola completa desde el navegador. Estos sistemas //headless// se administran normalmente por red (SSH, web, RDP, etc.). La administración "normal" funciona solo mientras el sistema arranca bien y la red funciona. Pero hay momentos críticos en los que no tienes acceso: * Primera instalación del sistema operativo * Configuración inicial (BIOS/UEFI) * Cambio de orden de arranque * Kernel panic / error de arranque * Fallo de red o mala configuración IP * Bloqueo por firewall o credenciales * Arranque desde USB o ISO NanoKVM-USB permite capturar el vídeo HDMI, viendo así todo lo que el equipo genera: POST, BIOS, bootloader, errores... Además, emula teclado y ratón por USB, así que podemos administrar el sistema como si tuviera monitor y teclado, aunque físicamente no los tenga. ==== Colaboración y soporte remoto directo ==== Para tareas de diagnóstico o configuración sin software cliente en la máquina objetivo (solo navegador). Ejemplo típico: * Un compañero, familiar o técnico junior está físicamente junto al equipo * Tú estás en otro lugar La persona que está con el equipo "problemático" conecta: * HDMI del equipo → NanoKVM * USB del equipo → NanoKVM * NanoKVM → su portátil Comparte su pantalla contigo (Zoom, Meet, etc.). Tú ves exactamente lo que ve el equipo y le puedes indicar qué hacer. El NanoKVM actúa como un "ojo y manos remotas" para quien está ayudando. ==== Transferencia de archivos entre host y destino ==== Con el puerto USB-A conmutable, puede usarse para intercambiar datos fácilmente. El puerto puede funcionar como: * USB passthrough / conmutable * Dispositivo de almacenamiento virtual El dispositivo destino cree que "han conectado un pendrive físico", pero en realidad el contenido viene de tu ordenador host. Se controla desde el navegador/interfaz del NanoKVM Además, funciona antes del sistema operativo (boot) por lo que es útil también para arrancar desde una ISO o USB virtual (para instalar un Linux o Windows, por ejemplo). ==== Presentación o monitor local adicional ==== Usando la salida HDMI en bucle, puedes mostrar el vídeo en un monitor externo mientras trabajas desde el host. El equipo sigue pudiendo usar su monitor local. Al mismo tiempo, otra persona puede ver esa misma pantalla desde su portátil. No sustituye al monitor: **"lo duplica"**. Muy útil en: * Clases * Talleres * Makerspaces * Laboratorios Ejemplo: * Un alumno trabaja en el equipo * El instructor ve la salida en su portátil * Puede explicar, corregir y guiar en directo ===== Uso ===== La máquina //host// será la que tenga el teclado, ratón y pantalla (por ejemplo, un ordenador portátil) y la máquina destino (//target//) será aquella que queremos controlar y visualizar su salida de vídeo. Conectamos el ordenador //host// por USB al extremo del NanoKVM-USB que pone **HOST**. En un equipo Linux, esta es la salida de ''lsusb'': (...) Bus 001 Device 003: ID 1a40:0101 Terminus Technology Inc. Hub Bus 001 Device 004: ID 1a86:7523 QinHeng Electronics CH340 serial converter Bus 001 Device 006: ID 345f:2131 MACROSILICON USB2 Video Conectamos el cable HDMI al equipo destino al extremo del NanoKVM-USB que pone **TARGET**. También conectaremos un cable USB para poder emular un teclado y ratón en el equipo de destino. El siguiente paso es usar la aplicación web (Internet) o la aplicación de escritorio (local) para poder ver y gestionar el equipo de destino. ==== Aplicación web por Internet ==== Desde Google Chrome / Chromium, accedemos a https://usbkvm.sipeed.com/ y le damos permisos para... Por ahora solamente funciona completamente en Google Chrome. Si lo usamos en otro navegador es posible que solamente tengamos acceso al vídeo, pero no podremos controlar el equipo destino con el teclado y ratón Seleccionar el dispositivo serie, en Linux es ''ttyUSB''. Si después de elegirlo obtenemos el siguiente error: //Failed to connect serial. Please try again// Es muy probable que el usuario actual no tenga permiso para conectarse al puerto serie. Es necesario añadir a ese usuario al grupo ''uucp'': sudo usermod -a -G uucp ==== Aplicación web local ==== Podemos desplegarla con [[..:sistemas_operativos:virtualizacion:docker|Docker Compose]]: git clone https://github.com/sipeed/NanoKVM-USB.git cd NanoKVM-USB docker-compose up -d Al finalizar, podremos acceder desde ''%%http://localhost:9000%%'' ==== Aplicación de escritorio ==== Descargamos desde https://github.com/sipeed/NanoKVM-USB/releases En el caso de Linux, podemos descargar el fichero ''NanoKVM-USB-X.Y.Z.AppImage''. Si tenemos una distribución Debian y derivada, tenemos disponible también el paquete ''.deb''. Esta es la opción de uso del NanoKVM-USB más conveniente ya que no dependemos de tener conexión a Internet. Sencillamente debemos tener la aplicación instalada en nuestro equipo. ===== Problemas ===== ==== Caracteres especiales ==== Parece ser que la distribución de teclado que emula es la americana por lo que al querer escribir, por ejemplo, la barra (''/''), lo que se muestra es ''&''. Por ahora no he encontrado solución. Hay [[https://github.com/sipeed/NanoKVM-USB/issues/17|abiertas issues]] en GitHub. ==== Teclado y ratón con la Raspberry Pi ==== He probado con una Raspberry Pi 2 y una Raspberry Pi 3 y no me funcionaba la emulación de teclado y ratón a la primera. He probado a enchufar en los diferentes puertos USB que tiene hasta que me funcionó. [[https://github.com/sipeed/NanoKVM/issues/111#issuecomment-2956561286|Un usuario comenta]] que puede deberse a que el conector HID (//Human Interface Device//) devuelve (realimenta) +5 V hacia el conector USB de la Raspberry Pi, es decir, la Pi recibe alimentación por el USB cuando no debería. A la Raspberry Pi no le gusta eso. A la mayoría de las placas base de PC no les importa, por eso se ven menos quejas en ese caso. ===== Recursos ===== * [[https://www.youtube.com/watch?v=AmENtwiBWZM|Low-Cost USB KVM - Sipeed NanoKVM USB Review]] * [[https://wiki.sipeed.com/hardware/en/kvm/NanoKVM_USB/introduction.html|Wiki de Sipeed sobre NanoKVM-USB]] * [[https://wiki.sipeed.com/hardware/en/kvm/NanoKVM_USB/faq.html|FAQ]] * [[https://github.com/sipeed/NanoKVM-USB|Repositorio de código]]