Trust 150 SpaceCam - perfect for Linux

Trust 150 SpaceCam - perfect for Linux

От известно време ми се налага да участвам в разни телеконференции, в които напоследък е станало модерно, освен да си говорите нещата, за които сте се събрали, да се гледате как си чоплите носа пред компютъра, докато другите ви говорят. Това е и форма на контрол, някак си… виждаш точно дали те слушат или пък спят, както и теб те виждат дали ги слушаш внимателно. Абе, гадна работа… Ама е и полезно в някакви случаи. Иначе казано назря нуждата да си купя някаква камерка за отбиване на номера. И понеже не намирам това за важен device, съответно през последните две седмици спретнах проучване из мрежата коя е най-евтината камерка, която се продава в България и която работи под Linux. Да е възможно най-малка и да има някаква закачалка за да се закрепя на дисплея на лаптопа ми – това последното ме хвърля в лаптопския клас камерки, които са по-скъпи обаче…

Оказа се, че не е лесно начинание – native поддръжка в ядрото имат много малко неща и то предимно по-класически (и леко остарели) модели. Примерно Logitech QuickCam 4000 Pro е перфектното решение, но е над 200 лева пък толкова пари за глупости дават ли се? Аз искам само да могат да ме разпознават – нищо повече…

В София се продават какви ли не noname неща с неясен чипсет и произход – повечето Logitech-ци работят след компилиране на драйвер, но най-евтините (около 50-60 лева) Express и Messenger са с големи и обемни, топчести тела, без възможност за закачане към дисплей на лаптоп. Има и доста Genius-и, но повечето са нови модели, които са без поддръжка под Linux или с нестабилна такава. А пък друго си е поддръжката да си ти е в ядрото – мушкаш и тръгва…

Така пред очите ми попадна Trust 150 Spacecam, дребосък с размерите на палеца ми, сгъваща се почти на две, със закачалка за лаптоп, базирана на чипсета SPCA5xx, за който има V4L2 драйвер в ядрото и струва само 35 лева в Multielectronics (в ComelSoft и Reset е с около 20% по-скъпа!!). Максималната резолюция на картинката, която дава е 352×288 пиксела, но на кой му трябват повече…

Разбира се, че моментално я напазарувах – това е всичко, което търсех. И без това бях излязъл по-рано за фотографската си сесия с Тони и Весела, започваше да вали, и се чудех в какво да убия половин час време…

Преди малко я пъхвам в последната свободна дупка на новия USB-хъб и…

Jul 16 22:59:20 selene kernel: usb 1-1.2: new full speed USB device using uhci_hcd and address 9<br></br>
Jul 16 22:59:20 selene kernel: usb 1-1.2: SN9C10[12] PC Camera Controller detected (vid/pid 0x0C45/0x6029)<br></br>
Jul 16 22:59:20 selene kernel: usb 1-1.2: PAS106B image sensor detected<br></br>
Jul 16 22:59:21 selene kernel: usb 1-1.2: Initialization succeeded<br></br>
Jul 16 22:59:21 selene kernel: usb 1-1.2: V4L2 device registered as /dev/video0<br></br>
Jul 16 22:59:21 selene kernel: usb 1-1.2: Optional device control through 'sysfs' interface ready```

Чудесно! Всичко е според очакванията…

Пускам веднага [GnomeMeeting](http://www.gnomemeeting.org/) и… тук е възможно с вашата дистрибуция всичко да е наред и веднага да си видите грозната физиомутра насреща, но при мен се появи грешка, според която gnomemeeting не може да чете /dev/video0. Хм, поглеждам файловите разрешения – всичко е наред, cat-вам /dev/video0 не само, че мога да го чета ами текнаха едни мити данни от там – не е истина. И изведнъж забелязвам, че gnomemeeting-а ми разбира от V4L (Video for Linux), но и идея си няма за V4L2. Кратко търсене в Google и разбирам, че поддръжката за V4L2 в gnomemeeting още е experimental и веднага се юрвам да проверя как Fedora са компилирали pwlib пакета – както и очаквах – без V4L2 support.

Видях, че SuSE имат пакет pwlib-plugins-v4l2 – той съдържа един-единствен файл, който се позиционира точно където трябва и според концепцията на Fedora, но някак мисълта да направя такова нещо си е срамотна направо. По-чисто е да си rebuild-на пакета от source.

Дръпнах SRPMS-то на pwlib за FC4 и го разпуках с *rpm -ivh filename*, при което то се разхвърля из /usr/src/redhat структурата. Всичко, което е нужно е да се редактира .spec файла, който би трябвало да се появи в SPECS поддиректорията.

Всъщност трябва да се промени редът, който съдържа

`%configure --enable-plugins`

на

`%configure --enable-plugins --enable-v4l2`

и в секция %files да се добави един ред за новия файл, който ще се появи

`%{_libdir}/pwlib/devices/videoinput/v4l2_pwplugin.so`

Толкова. Следва просто да rebuild-нете пакета. Така както сте си в директория /usr/src/redhat/SPECS просто изпълнявате командата:

`rpmbuild -bb pwlib.spec`

Всъщност по-добре е да изпълните:

`rpmbuild -bb -D 'CUSTOM_RELEASE yl' pwlib.spec`

където yl в случая са моите инициали, но можете да напишете каквото ви дойде наум, за да различите пакета от default-ните за Fedora. Ако не сте си инсталирали devel-пакетите, които са нужни за да се извърши компилирането ще получите измрънкване да ги инсталирате. Това се прави с командата:

`yum install libdv-devel libraw1394-devel libavc1394-devel alsa-lib-devel SDL-devel`

След като си компилирате пакета можете да ги махнете пак:

`yum remove libdv-devel libraw1394-devel libavc1394-devel alsa-lib-devel SDL-devel`

Ако е имало dependency install можете да махнете и нещата, които са се инсталирали покрай горните задължителни неща. При мен това бяха:

`yum remove fontconfig-devel freetype-devel xorg-x11-devel`

След приключване на компилацията готовия пакет търсите в RPMS поддиректорията на /usr/src/redhat. Инсталирате го с

`rpm -Uvh pwlib-1.8.4-1.i386.rpm --force`

Опцията –force е нужна, защото това е пакет със същата версия, като този, който вече съществува инсталиран в системата ви. Това е… GnomeMeeting вече вижда и V4L2-играчки… Имайте наум, че ако Fedora-отбора пусне нова версия на pwlib и все още не се престрашат да пуснат по подразбиране V4L2-поддръжката и си update-нете системата ще трябва пак да прекомпилирате своя версия на този пакет по същия начин. Иначе gnomemeeting-а ви ще увисне в недоумение…

Това може да не е нужно за вашата дистрибуция ако gnomemeeting в нея е V4L2 enabled или пък не използвате gnomemeeting, а нещо друго. Горното е в сила за потребители на Fedora, Red Hat, а може би и други дистрибуции като Mandriva, като няма общо с това каква камерка или друг device се ползва. Това беше просто описание как да се rebuild-не един пакет за да може gnomemeeting да ползва V4L2.

Иначе камерката бачка читаво – аз даже успявам да се разпозная, цветовете са доста гадни (поне на изкуствена светлина), но това е перфектното и най-евтиното решение за видеоконферентни приказки под Linux на българския пазар. Потвърдено!

След някой друг месец, когато недоверието към V4L2 спадне, тази камерка ще е абсолютен plug & play за Linux. Тя вече е – примерно за SuSE, които са се престрашили. Нямам идея за други дистрибуции. И наистина е трудно за вярване, но тя без каквото и да преувеличение е с размер на по-дебеличък палец…

 
Йовко Ламбрев

Йовко Ламбрев

ИТ архитект, блогър и (все по-рядко) фотограф. Либерал. Все още вярва, че можем да направим света по-добър.
Пловдив, България