Saltar a contenido

01.-Uso de los puertos USB en KVM

Tutorial: Uso de un puerto USB en una máquina virtual KVM/QEMU

Requisitos previos

  • Tienes instalado y configurado KVM y QEMU en tu máquina host.
  • Tienes una máquina virtual (MV) ya creada y en funcionamiento en tu sistema de virtualización KVM/QEMU.
  • El puerto USB y los dispositivos que quieres conectar deben estar físicamente accesibles en tu host.

Pasos para usar un puerto USB en una MV KVM/QEMU

1. Verificar dispositivos USB en el host

Primero, debemos identificar los dispositivos USB conectados en el host que queremos pasar a la máquina virtual.

  1. Abre una terminal en el host.
  2. Ejecuta el comando: bash lsusb Esto listará todos los dispositivos USB conectados. El formato de salida se verá algo como esto: Bus 001 Device 003: ID 0951:16a4 Kingston Technology Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub

Toma nota del Bus y Device ID del dispositivo USB que deseas conectar a tu máquina virtual (en este caso, Bus 001 Device 003).

2. Añadir el dispositivo USB a la MV con virt-manager

Si prefieres una interfaz gráfica, puedes usar virt-manager para añadir el dispositivo USB a tu MV.

  1. Abre virt-manager: bash virt-manager
  2. Selecciona la máquina virtual a la que deseas conectar el USB.
  3. Haz clic en el botón de Detalles de la MV (icono de herramientas).
  4. Navega a la pestaña Add Hardware (Agregar Hardware).
  5. Selecciona USB Host Device en la lista y elige el dispositivo USB que aparece en la lista (ej. "Kingston Technology").
  6. Haz clic en Finish o Apply para añadir el dispositivo USB a la máquina virtual.

3. Añadir el dispositivo USB a la MV desde la línea de comandos (virsh)

Si prefieres trabajar con la terminal, puedes añadir el dispositivo USB usando el comando virsh.

  1. Asegúrate de que tu MV esté detenida antes de agregar el dispositivo USB: bash virsh shutdown <nombreMV>

  2. Agrega el dispositivo USB usando el comando virsh attach-device: bash virsh attach-device <nombreMV> --file <path_al_xml_del_dispositivo>

El archivo XML debe tener la siguiente estructura: xml <hostdev mode='subsystem' type='usb'> <source> <vendor id='0x0951'/> <product id='0x16a4'/> </source> </hostdev>

Donde vendor id y product id son los valores que obtuviste con lsusb. En este caso, 0951 es el vendor id de Kingston, y 16a4 es el product id.

  1. Inicia la máquina virtual de nuevo: bash virsh start <nombreMV>

4. Verificar el dispositivo USB en la MV

Una vez que hayas agregado el dispositivo USB, inicia sesión en tu máquina virtual (por ejemplo, mediante virt-manager o SSH). Luego:

  1. Abre una terminal en la MV.
  2. Ejecuta el comando: bash lsusb El dispositivo USB debería aparecer en la lista dentro de la MV.

Notas adicionales:

  • Desconectar el dispositivo USB: Para desconectar el dispositivo USB de la MV mientras está en funcionamiento, puedes usar el siguiente comando: bash virsh detach-device <nombreMV> <path_al_xml_del_dispositivo>

  • Acceso exclusivo: Cuando conectas un dispositivo USB a una MV, este dispositivo ya no estará accesible desde el host hasta que se desasocie de la MV.

  • Compatibilidad: Asegúrate de que los drivers necesarios para el dispositivo USB están instalados tanto en el host como en la máquina virtual para evitar problemas de compatibilidad.