KVM: como conectar un modem USB GSM a una máquina virtual

Cuando estamos virtualizando, ya sea con VirtualBox o KVM, uno de los problemas con los que nos encontramos es que a veces los dispositivos que conectamos en el Anfitrión (PC Física), no se pueden visualizar en el Cliente (PC Virtual).

VirtualBox tiene un plugin para ver las memorias USB, y en el caso de KVM no debería ser un problema ver este tipo de dispositivos debido a que se usa directamente el Kernel que tengamos instalado. Pero no siempre se muestran los dispositivos, como en el ejemplo que veremos a continuación, donde un usuario necesitaba conectar su Módem GSM mediante USB.

El artículo me pareció muy interesante, así que se los traigo para que vean lo que hizo.

Conectar un modem USB GSM usando KVM

1- Conectar el módem a la PC y ejecutar un comando para saber algunos datos:

$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 002: ID 0557:2221 ATEN International Co., Ltd Winbond Hermon
Bus 002 Device 003: ID 12d1:1003 Huawei Technologies Co., Ltd. E220 HSDPA Modem / E230/E270/E870 HSDPA/HSUPA Modem

En este caso lo que el autor necesitaba era la última línea, específicamente el número del ID del vendedor (12d1) y el ID del producto (1003).

Cuando ejecuta el mismo comando en el cliente, como podrán ver, no obtiene el mismo resultado:

$ lsusb
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 0627:0001 Adomax Technology Co., Ltd
Bus 001 Device 003: ID 0409:55aa NEC Corp. Hub

Ahora, el dispositivo debe estar definido en el XML del cliente (VM). Esto lo podemos hacer editando directamente el fichero XML usando el comando:

$ sudo virsh edit example-server.

El dispositivo USB debe ser añadido en la sección de dispositivos:

<devices>
  [...]
  <hostdev mode='subsystem' type='usb' managed='no'>
    <source>
      <vendor id='0x12d1'/>
      <product id='0x1003'/>
    </source>
  </hostdev>
</devices>
Fíjense que se ha añadido 0x delante de cada ID

Guardamos el fichero, reiniciamos la VM, y nos fijamos si ahora podemos ver el dispositivo conectado:

$ lsusb
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 0627:0001 Adomax Technology Co., Ltd
Bus 001 Device 003: ID 0409:55aa NEC Corp. Hub
Bus 001 Device 004: ID 12d1:1003 Huawei Technologies Co., Ltd. E220 HSDPA Modem / E230/E270/E870 HSDPA/HSUPA Modem

Y eso es todo.

Fuente: http://liquidat.wordpress.com


6 respuestas a “KVM: como conectar un modem USB GSM a una máquina virtual”

  1. ignacio dice:

    Cual es la gui de kvm? está en los repos de debian?

    PD: excelentísima entrada!

  2. eliotime3000 dice:

    Muy buen tip. Y encima, me ha de servir mucho a la hora de usar con mi módem Malestar.

  3. toñolocotedelano_e dice:

    Alabado sea VMWare!!!!
    Todo a un clik de distancia 🙂

  4. thisnameisfalse dice:

    Para los que no queramos guarrear nuestro sistema con asistentes gráficos, también se puede hacer a mano, lanzando qemu-kvm desde línea de comandos mediante el argumento “-device pci-assign”, o bien si se trata de un dispositivo hotplug, desde el QEMU monitor mediante los comandos “device_add” o “device_del”.

    Para más info:
    http://www.linux-kvm.org/page/How_to_assign_devices_with_VT-d_in_KVM

  5. Statick dice:

    Excelente

    Me sirvio para conectar WifiSlax con una antena wifi externa y poder acer una auditoria de una red Wifi, necesito una de mayor ganancia (20 Dbi) pero creo que no es el lugar indicado para preguntar ello

    Saludos

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.