Hogyan bírjuk működésre Microdia webkameránkat Ubuntu 8.04 alatt?

Lassan több mint egy éve tulajdonomban van egy MSI M673 típusú laptop amin fél évig Windows XP operációs rendszert használtam, de egy régről eredő fóbiám (erről majd egy másik postban) miatt áttértem Ubuntu-ra. Minden működik is rendesen csak a wifi adapterrel kellett egy minimálisat játszani hogy menjen. Minden szépés jó de a Microdida típusú webkamerát nem lehetett működésre bírni mert a gyártó nemes egyszerőséggel azt mondta hogy nem fog kamerájához kiadni linux kompatibilis driver-t. Végül belenyugodtam, hogy nincsen webkamerázás és hagytam is az egészet. Szerencsére mások nem és így született egy külső driver ezen Google csoport gondozásában. Úgy döntöttem kipróbálom és megosztom tapasztalataimat egy úgymond "how-to" formájában.

Először is győződjünk meg hogy milyen webkamera van a gépünkben. Ezt a legegyszerűbben egy terminálablak megnyitása után az lsusb parancs kiadásával tehetjük meg ami valami hasonlót fog produkálni:

grouder@gehenna:~$ lsusb
Bus 002 Device 002: ID 0c45:624f Microdia
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 006: ID 046d:c03e Logitech, Inc. Premium Optical Wheel Mouse
Bus 001 Device 005: ID 0db0:a970 Micro Star International Bluetooth dongle
Bus 001 Device 001: ID 0000:0000

Ha szerencsénk van akkor a Microdia felirat előtt ilyet látunk: 0c45:6242, 0c45:624e, 0c45:624f, 0c45:6270, 0c45:627b, 0c45:62bb, 145f:013d vagy 045e:00f4 mivel ez a driver eddig csak ezeket a típusokat támogatja. Nekem szerencsém volt :). Szükségünk lesz egy pár csomagra amik kellenek ahhoz, hogy a forrásból le tudjuk forgatni a drivert. Ezeket beszerezhetjük Synaptic-on keresztül vagy az előbb nyitva hagyott terminálba ezt bepötyögve:

sudo apt-get install linux-headers-`uname -r` build-essential git-core gitk git-gui git-doc curl

Ha ez megvolt akkor git segítségével letöltjük forrást mégpedig így:

git clone git://repo.or.cz/microdia.git

Ekkor keletkezik a home mappánkban egy microdia nevű mappa szóval átváltunk ide:

cd /home/felhasználóneved/microdia/

Kiadjuk a make parancsot:

make

Ha minden hiba nélkül ment akkor keletkezik egy microdia.ko nevű fájl a mappánkban. Szükség van még két modul betöltésére amit a következőként tehetünk meg:

sudo modprobe compat_ioctl32
sudo modprobe videodev

Majd betöltjük a kész modult így:

sudo insmod /home/felhasznalóneved/microdia/microdia.ko

Ezután lehet is tesztelni. Legegyszerűbben ha a csomagkezelőből felrakjuk a Csííz! nevű kis programot. Aki meg nem akarja ezt a megoldást az ezt is meglépheti:

mplayer tv:// -tv driver=v4l:width=640:height=480:outfmt=i420

Nálam a kép fejjel lefelé van valami miatt ezért így paraméterezem az insmod parancsot:

sudo insmod /home/felhasznalóneved/microdia/microdia.ko vflip=1

Ezt az egészet nyilván mindenki úgy szeretné ha a gép indul akkor autómatikusan betöltse. Ezt úgy csináljuk hogy két sort hozzáadunk /etc/modules fájlhoz (kedvenc szövegszerkesztőnkel rendszergazdaként). A két sor pedig a következő:

videodev
compat_ioctl32

Mivel a modult paraméterezni ezért csinálunk egy S99webcam nevű fájlt a /etc/rc2.d/ mappában amibe a következőket jegyezzük fel:

#/bin/bash
insmod /home/felhasználóneved/microdia/microdia.ko vflip=1

Ezt követően ezt a két parancsot futtatjuk le:

sudo chown root:root /etc/rc2.d/S99webcam
sudo chmod +x /etc/rc2.d/S99webcam

Ha ezzel mind megvolnánk akkor van egy működő Microdia webkameránk! Köszönöm, hogy végigolvastátok ezt a kis tutorialt és remélem a segítségetekre volt! Bármi probléma van kommenteljetek :D. A segítségért Köszönet Coornailnak!

Hozzászólások

Hmm... Nekem is Microdiás webkamerám van. Bár lehet, hogy keverem ilyen későn a dolgokat, de azt tudom, hogy régen csakis ezzel sikerült Linux alatt működésre bírni a Conceptronic Lounge 'n Look (CLLDESKCAM) webkamerámat. Nem volt jó a képe, a windowsos drivere ezerszer szebb képet adott, mint amilyet a linkben lévő.
---
Powered by Áram

Javaslom, hogy egy "make install"-t is futtass root-ként (vagy sudo make install), ekkor a .ko filet be fogja rakni a /lib/modules/[kernel neve]/ alá valahova. Így nem kell teljes elérési utat megadni az rc scriptben, elég csak az "insmod microdia vflip=1" commandot használni. De akár az is előfordulhat, hogy automatikusan létrehoz a make install egy rc scriptet is, amit csak módosítani kell a vflip miatt.

A masik, hogy *deb* rendszerek alatt letezik olyan, hogy /etc/modules.d es itt kell egy fajlt letrehozni a vflip miatt, igy a udev is betoltheti a kernelmodult (ami a make install utan valoszinuleg meg is fog tortenni, legalabbis nalam Gentoon az ilyen megtortenik).
--


()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.

A linket amit írtál azzal a megoldással én is próbálkoztam. Akkor még minden ubuntu kiadáshoz volt működő driver csak az volt a bökkenő, hogy e legfrissebbért fizetni kellett. Le lehetett tölteni egy "time-limited" verziót ami hol működött hol nem. Szóval örültem hogy volt ez a megoldás.