lunes, 26 de mayo de 2008

Cómo hacer funcionar el puerto USB en VirtualBox?


Lo primero que hay que entender, es que existen dos versiones de VirtualBox, una es la versión OSE la cual es completamente libre, peroooo no tiene soporte USB, y para ello existe otra versión, la cual es de código cerrado, aunque gratis, para uso personal, esta la podemos descargar del link o la página oficial de VirtualBox.

El asunto es , que aun así, una vez instalado el virtualbox con soporte USB es muy probable que no nos funcione (tal cual como me ocurrió a mi), y esto debido a que simplemente no tenemos habilitado el soporte USB para las maquinas de virtualbox. Sin hacer las modificaciones respectivas , el programa nos lanzará un mensaje de error indicando que no puede conseguir el dispositivo USB.

La solución varía en algunos sistemas, a mi me funciono en Linux Ubuntu Hardy, bueno, primero cerramos el virtualbox y
nos vamos a la consola para saber el identificador de nuestro usuario en el grupo vboxuser:
grep vbox /etc/group
vboxusers:x:125:principal


El primer valor nos indica el grupo de usuario , en este caso es "vboxuser", el valor que nos interesa es el número que nos muestra, el cual es el identificador que necesitaremos, para mi era 125.

Ahora con el valor numérico modificaremos el fstab, esto es una lista de dispositivos que linux carga cuando arranca, asi que tecleamos:
sudo vim /etc/fstab

Una vez dentro, ahi editaremos y colocaremos lo siguiente:
# configuración USB en fstab:
none /proc/bus/usb usbfs devgid=125,devmode=664 0 0


Lo importante aquí, es notar que he colocado en la etiqueta devgid el identificador de mi usuario (125) dependiendo del valor que dé, es el que se coloca aquí.
Para guardar los cambios que hemos hecho con el editor vim, debemos presionar la tecla ESC y después escribimos lo siguiente:
:wq!

Presionamos Enter y listo, que es lo que hemos hecho?, bueno la letra w es el comando en vim para guardar y la letra q es el comando para salir del editor, y para finalizar la linea se le coloca el signo de admiración !, de todas formas es bueno conocerse un poco los comandos de este potente editor, en otro post colocaré una lista de los comando más usados.
Ahora nos vamos a modificar el archivo mountdevsubfs.sh:
sudo vim /etc/init.d/mountdevsubfs.sh

En este archivo primero descomentaremos las lineas que habilitan el uso del USB, simplemente eliminamos el numeral (#) de cada línea desde la que comienza con la instrucción mkdir hasta la que termina con la instrucción mount:

# Magic to make /proc/bus/usb work
#
#mkdir -p /dev/bus/usb/.usbfs
#domount usbfs “” /dev/bus/usb/.usbfs -obusmode=0700,devmode=0600,listmode=0644
#ln -s .usbfs/devices /dev/bus/usb/devices
#mount –rbind /dev/bus/usb /proc/bus/usb


Después de esto, dejamos una linea en blanco (solo para que se vea bonito y no este todo pegado!) y agregamos el siguiente código, teniendo en cuenta que debemos colocar nuevamente en la etiqueta devgid el numero identificador de nuestro usuario (en mi caso fue 125):
# Vinculo del usbfs para usarlo con Virtual Box
domount usbfs usbdevfs /proc/bus/usb -onoexec,nosuid,nodev,devgid=125,devmode=664


Y listo, para que nos funcione, reiniciamos la maquina para que cargue estos archivos de nuevo, al ejecutar el virtualbox veremos que estará activada la opcion de dispositivos USB.

4 comentarios:

  1. Loco estoy operando en un mac el virtual Box necesito la usb para un controlador pero no entiendo cuando dice nos vamos a la consola para saber el identificador de nuestro usuario ....Seria de gran ayuda para mi muchas gracias si me puede colaborar
    Daniel

    ResponderEliminar
  2. Loco estoy operando en un mac el virtual Box necesito la usb para un controlador pero no entiendo cuando dice nos vamos a la consola para saber el identificador de nuestro usuario ....Seria de gran ayuda para mi muchas gracias si me puede colaborar

    ResponderEliminar
  3. Bueno no se que sistema operativo estés corriendo en tu mac, si es tiger o si tienes linux montado, si es así, cuando me refiero a ver en la consola el identificador del usuario, quiero decir que al ejecutar el comando grep en el archivo group , este va a buscar donde aparezca la palabra vbox, como resultado te trae la linea:
    vboxuser:x:125:principal , aqui lo importante es el numero que te arroja.
    Espero te sirva . Saludos.

    ResponderEliminar
  4. Gracias loco ya me funciona ni idea xq pero ya me sirve gracias,,,si sabe alguito de protools o tiene por ahi el keynote en la juega parce gracias...

    ResponderEliminar