Webcam/de

From Openmoko

Revision as of 15:06, 17 January 2009 by Vmx (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


Es ist möglich eine Webcam an den Freerunner anzuschließen und zu nutzen. Dies ist eine sehr grobe Liste der Schritte, die notwendig sind um dies mit installiertem Debian Lenny zu erreichen.

Die in diesem Beispiel genutzte Webcam ist eine Philips SPC620NC, unter Nutzung des [UVC] Treibers.

Contents

Test an einem PC

Um auf der sicheren Seite zu stehen sollten sie sich erst versichern, dass die Webcam an einem normalen PC funktioniert, insbesondere an einem Linux PC. Dies wird die meisten Probleme mit denen sie sich konfrontiert sehen verhindern, jedoch wird es nicht alle beseitigen. Die Dokumentation hierzu finden sie hier:

Videounterstützung zum Kernel hinzufügen

Im 2.6.24 Kernel ist die Unterstützung für Video Input standardmäßig deaktiviert. Es gibt jedoch einen Weg die notwendigen Module hinzuzufügen ohne alles neu zu compilieren:

  • Laden sie den Quellcode des Kernels herunter:
  1. wget http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.24.tar.bz2
  • Versichern sie sich, dass die bzip2 und die nötigen Entwickler Tools installiert haben:
  1. apt-get install bzip2 gcc make libc6-dev libncurses5-dev
  • Entpacken sie den Quellcode in /usr/src:
  1. cd /usr/src
  2. tar -xjvf $OLDPWD/linux-2.6.24.tar.bz2
  • Korrigieren sie die Links in /lib/modules:
  1. ln -sf /usr/src/linux-2.6.24 /lib/modules/2.6.24/build
  • Initialisieren sie die Kernel Quellen mit der aktuellen Konfiguration:
  1. cd /usr/src/linux-2.6.24
  2. gzip -dc /proc/config.gz > .config
  3. make oldconfig # just say "n" to power management debugging support
  • Fürgen sie die Video-Unterstützung hinzu:
  1. make menuconfig

Suchen sie nach "Device drivers", "Multimedia devices", dann aktivieren sie "Video For Linux", "Video For Linux API 1", "Video For Linux API 1 compatible Layer", "Video capture adapters" als Module. Falls die Treiber für ihre Webcam bereits vom Kernel gefunden wurden, aktivieren sie sie hier auch.

  • Compilieren sie die relevanten Kernel Module:
  1. make drivers/media/video/v4l1-compat.ko
  2. make drivers/media/video/v4l2-common.ko
  3. make drivers/media/video/videodev.ko
  4. make drivers/media/video/compat_ioctl32.ko
  • Laden sie die Module:
  1. insmod drivers/media/video/v4l1-compat.ko
  2. insmod drivers/media/video/v4l2-common.ko
  3. insmod drivers/media/video/videodev.ko
  4. insmod drivers/media/video/compat_ioctl32.ko

Aufgetretene Fehler können sie sich mit dem "dmesg" Befehl anzeigen lassen. Standardmäßig werden sie auch in /var/log/messages gespeichert.

Compilieren der UVC Treiber

Um die aktuellesten Quellen für ihren Treiber zu erhalten und zu compilieren, gehen sie wie folgt vor:

  1. apt-get install subversion
  2. svn checkout svn://svn.berlios.de/linux-uvc/linux-uvc/trunk
  3. cd trunk
  4. make

Wenn das funktioniert:

  1. insmod uvcvideo.ko

Geräteknoten hinzufügen

In unserem Fall wurde der relevante Geräteknoten nicht automatisch erstellt. So wird er erstellt:

  1. mkdir -p /dev/v4l
  2. mknod /dev/v4l/video0 c 81 0

Die Camera anschließen

Der Freerunner muss im USB host mode laufen, um die Camera anzuschliessen. Ein spezielles USB Kabel (oder gender changer) ist hierzu notwendig.

Sie können wieder "dmesg" nutzen um zu erkennen ob die Camera korrekt erkannt wurde.

Installieren & testen eines Viewers

Eine gute Webcam Application ist luvcview. Sie können sie folgendermassen installieren und testen:

  1. apt-get install luvcview
  2. luvcview -f yuv -d /dev/v4l/video0

Bekannte Probleme

  • Die Auflösung war auf 160x120 beschränkt mit unserer Philips SPC620NC
Personal tools


Es ist möglich eine Webcam an den Freerunner anzuschließen und zu nutzen. Dies ist eine sehr grobe Liste der Schritte, die notwendig sind um dies mit installiertem Debian Lenny zu erreichen.

Die in diesem Beispiel genutzte Webcam ist eine Philips SPC620NC, unter Nutzung des [UVC] Treibers.

Test an einem PC

Um auf der sicheren Seite zu stehen sollten sie sich erst versichern, dass die Webcam an einem normalen PC funktioniert, insbesondere an einem Linux PC. Dies wird die meisten Probleme mit denen sie sich konfrontiert sehen verhindern, jedoch wird es nicht alle beseitigen. Die Dokumentation hierzu finden sie hier:

Videounterstützung zum Kernel hinzufügen

Im 2.6.24 Kernel ist die Unterstützung für Video Input standardmäßig deaktiviert. Es gibt jedoch einen Weg die notwendigen Module hinzuzufügen ohne alles neu zu compilieren:

  • Laden sie den Quellcode des Kernels herunter:
  1. wget http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.24.tar.bz2
  • Versichern sie sich, dass die bzip2 und die nötigen Entwickler Tools installiert haben:
  1. apt-get install bzip2 gcc make libc6-dev libncurses5-dev
  • Entpacken sie den Quellcode in /usr/src:
  1. cd /usr/src
  2. tar -xjvf $OLDPWD/linux-2.6.24.tar.bz2
  • Korrigieren sie die Links in /lib/modules:
  1. ln -sf /usr/src/linux-2.6.24 /lib/modules/2.6.24/build
  • Initialisieren sie die Kernel Quellen mit der aktuellen Konfiguration:
  1. cd /usr/src/linux-2.6.24
  2. gzip -dc /proc/config.gz > .config
  3. make oldconfig # just say "n" to power management debugging support
  • Fürgen sie die Video-Unterstützung hinzu:
  1. make menuconfig

Suchen sie nach "Device drivers", "Multimedia devices", dann aktivieren sie "Video For Linux", "Video For Linux API 1", "Video For Linux API 1 compatible Layer", "Video capture adapters" als Module. Falls die Treiber für ihre Webcam bereits vom Kernel gefunden wurden, aktivieren sie sie hier auch.

  • Compilieren sie die relevanten Kernel Module:
  1. make drivers/media/video/v4l1-compat.ko
  2. make drivers/media/video/v4l2-common.ko
  3. make drivers/media/video/videodev.ko
  4. make drivers/media/video/compat_ioctl32.ko
  • Laden sie die Module:
  1. insmod drivers/media/video/v4l1-compat.ko
  2. insmod drivers/media/video/v4l2-common.ko
  3. insmod drivers/media/video/videodev.ko
  4. insmod drivers/media/video/compat_ioctl32.ko

Aufgetretene Fehler können sie sich mit dem "dmesg" Befehl anzeigen lassen. Standardmäßig werden sie auch in /var/log/messages gespeichert.

Compilieren der UVC Treiber

Um die aktuellesten Quellen für ihren Treiber zu erhalten und zu compilieren, gehen sie wie folgt vor:

  1. apt-get install subversion
  2. svn checkout svn://svn.berlios.de/linux-uvc/linux-uvc/trunk
  3. cd trunk
  4. make

Wenn das funktioniert:

  1. insmod uvcvideo.ko

Geräteknoten hinzufügen

In unserem Fall wurde der relevante Geräteknoten nicht automatisch erstellt. So wird er erstellt:

  1. mkdir -p /dev/v4l
  2. mknod /dev/v4l/video0 c 81 0

Die Camera anschließen

Der Freerunner muss im USB host mode laufen, um die Camera anzuschliessen. Ein spezielles USB Kabel (oder gender changer) ist hierzu notwendig.

Sie können wieder "dmesg" nutzen um zu erkennen ob die Camera korrekt erkannt wurde.

Installieren & testen eines Viewers

Eine gute Webcam Application ist luvcview. Sie können sie folgendermassen installieren und testen:

  1. apt-get install luvcview
  2. luvcview -f yuv -d /dev/v4l/video0

Bekannte Probleme

  • Die Auflösung war auf 160x120 beschränkt mit unserer Philips SPC620NC