Configurar iSight en Ubuntu * 16.04

Introducción


Utilizar GNU/Linux en una laptop MacBook Pro conlleva algunos sacrificios en cuanto a desempeño o funcionalidad de hardware. Uno de los problemas que encuentro en el caso de mi MacBook Pro es que la WebCam (iSight) no funciona "Out of the box", dado que no existe un controlador libre. 

Por fortuna, el usuario Patrik Jakobsson desarrolló una herramienta que permite detectar la versión de la WebCam, descargar el controlador apropiado e instalarlo en el sistema.

Cabe mencionar que el procedimiento que describo corresponde a Ubuntu 16.04 o cualquiera de sus variantes, sin embargo es posible instalar para cualquier distribución GNU/Linux. Si es su caso, consulte la la página del desarrollador dando click aquí.

Antes de continuar será necesario instalar algunos paquetes necesarios para la herramienta: xzcat, cpio y curl. Para instalarlas solo ejecute la siguiente instrucción en la terminal:

$ sudo apt install xz-utils cpio curl git mplayer

En mi caso particular ha sido necesario quitar el modulo bdc_pci antes de insertar el modulo de la WebCam debido a que no se creaba el archivo de dispositivo /dev/video correspondiente. Para hacerlo basta con ejecutar:

$ sudo modprobe -r bdc_pci

Extracción del firmware


Para descargar el controlador y extraerlo basta con seguir los siguientes pasos en la terminal:

  • Clonar el repositorio con: $ git clone https://github.com/patjak/bcwc_pcie.git
  • Cambiar al directorio: $ cd bcwc_pcie/firmware
  • Dentro del directorio firmware escribir $ make y luego $ sudo make install
El resultado de los comandos debería ser algo similar a lo siguiente:

$ make
Dowloading the driver, please wait...


Found matching hash from OS X, El Capitan 10.11.2
==> Extracting firmware...
 --> Decompressing the firmware using gzip...
 --> Deleting temporary files...
 --> Extracted firmware version 1.43.2
$ sudo make install

Copying firmware into '//lib/firmware/facetimehd'

Instalación

  • Instalar las dependencias: $ sudo apt install linux-headers-generic kmod checkinstall
  • Regresar un nivel en el directorio que contiene el controlador $ cd ..
  • Construir el modulo para el kernel: $ make
  • Generar el paquete deb, esto es opcional pero útil si se deseara desinstalar el modulo posteriormente: $ sudo checkinstall. Si no se desea crear el paquete deb basta con ejecutar $ sudo make install
  • Ejecutar depmod para que el kernel pueda encontrar y cargar el módulo:  $ sudo depmod
  • Cargar el modulo en el kernel: $ sudo modprobe facetimehd
  • Probar con: $ mplayer tv://
Si todo funciona correctamente, la WebCam debería mostrar imagen.

Por último, para que el modulo se cargue automáticamente cuando el sistema arranque, basta con ejecutar en la terminal lo siguiente:

$ sudo su -c 'echo facetimehd >> /etc/modules'

¡Suerte!

Referencias




Comentarios

  1. Hola, no me ha funcionado, todo va bien hasta sudo install, me dice que falta alguna opción (missing file operand), después de eso como es de esperarse el resto de comandos no funciona

    ResponderBorrar
    Respuestas
    1. Hola amigo.
      Con tu comentario acabo de darme cuenta de que justo en ese paso hay un error, el comando correcto es: sudo make install. Al ejecutarlo así ya no debería haber problemas.
      (Ya corregí el tutorial)
      Suerte y gracias por tu comentario, me ha ayudado a notar ese error.

      Borrar
  2. sigue funcionando en 17.10, aunque el cheese ahora solo muestra medio segundo de imagen pero igual funciona en firefox y guvcview :) TY

    ResponderBorrar
    Respuestas
    1. Gracias por tu aportación!!.
      No habia tenido oportunidad de probarlo desde Ubuntu 16.10 y no sabía si aún funcionaba, esperemos que siga funcionando para Ubuntu 18.04 LTS.
      Saludos!!.

      Borrar

Publicar un comentario

Entradas más populares de este blog

Cómo habilitar y configurar el módulo userdir de Apache2 y PHP5 en Ubuntu

Instalar Spotify + Blockify Ubuntu 17.04

Instalar kde-connect en cualquier escritorio distinto a KDE Plasma en OpenSUSE