Настройка веб-камеры Logitech QuickCam Messenger в Linux

Давно хотел приобрести подобное устройство (webcam), но было лень и не доходили руки. Пока мой давний друг не подарил мне сие чудо на день рожденья. О том, как с полпинка настроить веб камеру в Linux, будет говориться здесь.

Подготовка
Несколько предварительных замечаний - если вы не собирали сами, можно пропустить эту часть.
Нужно учесть, что видеокамера в Linux - такое же точно видеоустройство, как и TV-Tuner. Поэтому все замечания о настройке TV-Tuner в силе. Если у вас дистрибутивное ядро - там всё уже включено, а для любителей самосборных ядер нужно включить:

  • v4l и все его протоколы (само v4l монолитом, протоколы - модулями)
  • i2c и его протоколы (так же, фактически как при установке ТВ-тюнеров)
Если это в ядре есть, дальнейшее не составит проблем.


Установка
На коробке пишут: установка проста, как раз-два-три. В общем, у меня так и получилось:

1. Устанавливаем программное обеспечение.
Запускаем с балкона два прилагающихся диска и вместо этого ставим из репозитория:
sudo aptitude install gspca-source camorama
В каталоге /usr/src появится архив с исходниками gspca-source.tar.bz2 - распаковываем его прямо там. После этого переходим в каталог /usr/src/modules/gspca и там выполняем команду:
make
Модуль должен собраться без ошибок. Далее пишем:
sudo make install
Это установит наш модуль в каталог к другим модулям ядра. На всякий случай, можно после этого написать:
sudo depmod -a
Всё, время загрузить модуль ядра для вебкамеры:
sudo modprobe gspca
Теперь всё готово. Врубаем камеру и запускаем софт.


2. Подключаем камеру
Подключаем USBшный штекер камеры, она мигнёт зелёным светодиодом. На всякий случай смотрим выводы dmesg, появится что-то вроде:

usb 4-1: new full speed USB device using uhci_hcd and address 6
usb 4-1: configuration #1 chosen from 1 choice
/usr/src/modules/gspca/gspca_core.c: USB SPCA5XX camera found.(ZC3XX)
/usr/src/modules/gspca/gspca_core.c: [spca5xx_probe:3887] Camera type JPEG
/usr/src/modules/gspca/Vimicro/zc3xx.h: [zc3xx_config:515] Sensor ID:7
/usr/src/modules/gspca/Vimicro/zc3xx.h: [zc3xx_config:597] Find Sensor HV7131R(c)
/usr/src/modules/gspca/gspca_core.c: [spca5xx_getcapability:1165] maxw 640 maxh 480 minw 176 minh 144
usbcore: registered new interface driver gspca
/usr/src/modules/gspca/gspca_core.c: gspca driver 01.00.04 registered

Диагностические выводы показывают, что чип опознан. Теперь должен появиться файл устройства /dev/video0 - это и есть наша вебкамера. После этого запускаем программу по работе с камерами (её мы устанановили на предыдущем шаге):
$ camorama
Если всё было сделано верно, вы увидите видеоизображение в окошке программы и простой интерфейс управления изображением (яркость\контраст, насыщенность, фильтры и прочее). Вот что увидел я:


3. Общаемся
Свежеподключённое устройство теперь можно использовать в Wengophone для видеоконференций с друзьями и коллегами. Надо сказать, что процессор грузит обработка изображений с видеокамеры очень слабо, не более 4-5% (во всяком случае у меня на ноутбуке).

Помимо общения в системах VoIP, можно напрячь фантазию и найти много интересных применений вебкамерам. Можно это устройство использовать как охранную камеру или телеметрическую: streamer будет обращаться с ней, как с обычным тюнером, и дёргать оттуда изображения через задаваемые промежутки времени. В общем, много применений.


Итоги
Несмотря на то, что на коробке говорится только об Единственой На Планете Земля Операционной Системе, Logitech QuickCam Messenger отлично работает и в Линукс - и настраивается за те же три шага. Минус сотни мегабайт бесполезного проприетарного мусора.

В процессе настройки я пользовался вот этим замечательным и кратким руководством, так как у меня самосборное ядро. У тех, кто пользуется дистрибутивным, может быть полезно вот это руководство. Это руководство проверялось в следующих условиях: ядро 2.6.22, компилятор gcc 3.4, Debian GNU/Linux Etch v4.0, gspca-source 01.00.04-2.

42 комментариев: |высказаться!| RSS-лента дискуссии.|
Tigro комментирует...

Миша, ты в букве ошибся (и прямо меня в заблуждение ввёл:)). Поправь Messanger на Messenger.

RiZN комментирует...

ну наверное всё-таки depmod, а не depmode :)
вот только после подгрузки модуля он ругается на FATAL: Error inserting gspca (/lib/modules/2.6.18-5-686/kernel/drivers/usb/media/gspca.ko): Invalid module format

Как поправить?

RiZN комментирует...

dmesg еще выдал:
gspca: version magic '2.6.18-5-686 SMP mod_unload 686 REGPARM gcc-4.2' should be '2.6.18-5-686 SMP mod_unload 686 REGPARM gcc-4.1'

dmig комментирует...

у меня эта же камера уже год живёт. в ubuntu dapper ставил драйвер сам, в edgy - из репа исходники потом module assistant, в feisty - из коробки, в gutsy тоже.

проблемы с ней есть: драверы gspca/spca5xx (в ubuntu gutsy/feisty) не поддерживают все её настройки - не умеют менять частоту кадров между 25 и 30 Гц (мерцание источников света), регулировка баланса белого похоже тоже не работает. видео в разрешении vga с частотой 30 кадров снимать не умеет. переключение разрешения рушит camoramу, ekiga ещё живёт после этого, но не долго.

кроме camorama есть ещё cheese -- он проще, умеет писать видео, есть какие-то эффекты.

а ещё интересно было бы задействовать кнопку камеры. есть подозрение, что scannerbuttond её проглотит, если приучить его вопринимать камеру (где-то в исходниках прописать device id).

Romaneos комментирует...

> Запускаем с балкона два прилагающихся диска и вместо этого ставим из репозитория:
> sudo aptitude install gspca-source camorama

Хыхы, debian-way :)

virens комментирует...

2 Tigro пишет...

Миша, ты в букве ошибся (и прямо меня в заблуждение ввёл:)). Поправь Messanger на Messenger.
Аркадий, спасибо! Как ж я это проглядел? :-) Спасибо большое.


2 RiZN пишет...
ну наверное всё-таки depmod, а не depmode :)
Да, конечно :-) Странно, вроде брал текст из вывода команд, а всё равно косяк пролез. Спасибо за багфикс.

вот только после подгрузки модуля он ругается на FATAL: Error inserting gspca (/lib/modules/2.6.18-5-686/kernel/drivers/usb/media/gspca.ko): Invalid module format
Скорее всего, ядро собрано одной версией компилятора, а модуль - другой.


gspca: version magic '2.6.18-5-686 SMP mod_unload 686 REGPARM gcc-4.2' should be '2.6.18-5-686 SMP mod_unload 686 REGPARM gcc-4.1'

Так и есть: ставьте версию 4.1 gcc и соберите модуль снова.

2 dmig пишет...
у меня эта же камера уже год живёт.
Это понятно - просто решил поделиться, как камеру поднимал. А то народ на убунтуфоруме искать не любит - сюда посылать буду :-)

проблемы с ней есть: драверы gspca/spca5xx (в ubuntu gutsy/feisty) не поддерживают все её настройки - не умеют менять частоту кадров между 25 и 30 Гц (мерцание источников света), регулировка баланса белого похоже тоже не работает. видео в разрешении vga с частотой 30 кадров снимать не умеет. переключение разрешения рушит camoramу
Да, что-то с разрешением там криво. Но я её приспособил как ИК-камеру (снял фильтр) и в таком виде она меня устраивает.

gio комментирует...

У меня Logitech QuickCam Connect.
Пробовал настроить камеру с помощью руководства "Set up your web cam on Debian Etch"

dmesg:
usb 2-4: new full speed USB device using ohci_hcd and address 4
usb 2-4: configuration #1 chosen from 1 choice
Linux video capture interface: v2.00
/usr/src/modules/spca5xx/drivers/usb/spca5xx.c: USB SPCA5XX camera found. Logitech QC IM/Connect
/usr/src/modules/spca5xx/drivers/usb/spca5xx.c: [spca5xx_probe:5480] Camera type JPEG
/usr/src/modules/spca5xx/drivers/usb/zc3xx.h: [zc3xx_config:558] Find Sensor HV7131R(c)
/usr/src/modules/spca5xx/drivers/usb/spca5xx.c: [spca5xx_getcapability:1765] maxw 640 maxh 480 minw 176 minh 144
usbcore: registered new driver spca5xx
/usr/src/modules/spca5xx/drivers/usb/spca5xx.c: spca5xx driver 00.60.00 registered
usbcore: registered new driver snd-usb-audio
ioctl32(camorama:3446): Unknown cmd fd(19) cmd(803c7601){00} arg(ffa02f90) on /dev/video0

Выдает

gio комментирует...

Выдает ошибку:
Could not connect to video device (/dev/videoO).
Please check connection.

jetxee комментирует...

Миша, спасибо за пост!

У меня тоже валяется на полке какая-то безымянная USB-камера. Всё никак руки не дойдут попробовать, работает ли. Твои опыты обнадёживают :)

Анонимный комментирует...

Несколько предварительных замечаний - если вы не собирали сами, можно пропустить эту часть.
Чего-то не хватает... :)

virens комментирует...

2 gio пишет...

У меня Logitech QuickCam Connect.
Пробовал настроить камеру с помощью руководства "Set up your web cam on Debian Etch"

А она поддерживается gspca?

И ещё - такое сообщение, которое вы получили, говорит скорее всего об отсутствии прав на /dev/video0

2 jetxee пишет...
Миша, спасибо за пост!
Пожалуйста. Пост лежал довольно продолжительное время - всё руки не доходили его выкатить.

У меня тоже валяется на полке какая-то безымянная USB-камера.
Очень может быть, что оно как раз заведётся с полоборота. Безродная китайщина, как правило, изощрённые чипы не использует :-)

2 Анонимный пишет...
Чего-то не хватает...
А чего? Я забыл modprobe telepathy_wireless

dmig комментирует...

Но я её приспособил как ИК-камеру (снял фильтр)
оппа... :)))

ЗЫ зря сказал!!

gio комментирует...

2 virens пишет...

А она поддерживается gspca?

spca5xx точно поддерживает

И ещё - такое сообщение, которое вы получили, говорит скорее всего об отсутствии прав на /dev/video0

Права на /dev/video0 есть...

Анонимный комментирует...

>> Чего-то не хватает...
> А чего?
Когда читал не понял, что я мог собирать сам.. Первая мысль была про камеру.. А оказалось ядро :)

Анонимный комментирует...

2gio zei...
== spca5xx driver 00.60.00
Проблема, кажется, в версии драйвера - поставьте что-нибудь поновее.
У меня с ядром 2.6.18 пришла гораздо более свежая версия - можно ставить через apt-get

2 All
Кто-нибудь ее в режиме 640х480 заставил работать?

Анонимный комментирует...

У меня камера Logitech Quickam Connect. Для настольного компа Ваша инструкция мне помогла. На ноуте камера завелась почему-то сразу (просто подключил и запустил камораму)...

va1e комментирует...

никто не пробовал подключать камеру телефона Sony Eri k750i как веб-камеру?

Snay комментирует...

Эх.. Если бы все камеры так легко заводились. Было бы мне счастье. Я вот пытался заставить работать Genius Slim 320. И ни в какую...

Kirill Zabarniuk комментирует...

Спасибо за пост, использовал его в качестве отправной точки при подключении веб камеры genius look 110.
Пара замечаний все же есть.
1) Те кто пользуются стандартным ядром в etch могут установить готовый пакет с модулями прямо из репозитория, к примеру gspca-modules-2.6-686, без дополнительных телодвижений с исходниками, make-ами и пр. (что хорошо для новичков).
2) Способ сборки модулей через make - это скорее слака-вэй, имхо. Я делал так:
view /usr/src/gspca-01.00.20/debian/README.Debian (ключевой момент - читаем документацию :))
m-a -l 2.6.24 prepare
m-a a-b -l 2.6.24 gspca
в результате получаем готовый .deb пакет, который можно устанавливать или удалять с помощью dpkg (т.е. общепринятыми в debian средствами). Если есть возможность, думаю это стоит отразить в статье.
3) И еще, при сборке модулей для ядра 2.6.24 из исходников gspca в etch-е получал ошибки (...CFLAGS was changed in "/usr/src/modules/gspca/Makefile"...). Взял gspca-source из testing - и все прошло гладко

watto комментирует...

Модуль загрузился, устройство /dev/video0 имеется, но при запуске camorama виснет. В логах ничего нет. Камера Logitech QuickCam Sphere MP. Где могут быть грабли?

watto комментирует...

После перезагрузки все заработало. Хотелось бы узнать как избежать перезагрузки

petrkh комментирует...

а как подключить веб камеру к skype?

Анонимный комментирует...

Ну ты Михан, маладец удалец, что собрал ядро 22 версии. А я не смог. Достал меня devfs с ошибками. Его же нету уже. А камера у меня кажись другая. Тоже Logitech. QuickCam как-то так. Вообщем я юзал UVC модуль и прогу camstreams. Ну и твой метод тоже поюзал. Ни то и ни то не пашет. Я этот сайт скорей всего забуду. Я обычно на nixp.ru форуме. Если будет время глянь.

Malina комментирует...

Подскажите пожалуйста, можно ли настроить цифровую камеру Sony DCR-DVD610E как WEB. И если да, то как это сделать?

Анонимный комментирует...

недавно перешел на линукс и с модулями не особо силён =(
делал всё по мануалу, но в папке /dev видео девайсы так и не появились, соответственно камера не работает. Хелп плз.
Debian Lenny 2.6.26.1-486
-----
phenix@phen:~$ lsmod | grep i2c
i2c_nforce2 5536 0
i2c_core 19828 2 nvidia,i2c_nforce2
phenix@phen:~$ lsmod | grep v4l
phenix@phen:~$ sudo modprobe gspca
[sudo] password for phenix:
phenix@phen:~$ lsmod | grep v4l
v4l1_compat 12260 1 videodev
phenix@phen:~$ dmesg | tail
[ 71.556015] eth0: no IPv6 routers present
[ 144.266984] Linux video capture interface: v2.00
[ 144.304742] usbcore: registered new interface driver gspca
[ 144.304750] gspca: gspca driver 01.00.20 registered
[ 160.460026] usb 1-3: new full speed USB device using ohci_hcd and address 2
[ 160.672002] usb 1-3: configuration #1 chosen from 1 choice
[ 160.689021] usb 1-3: New USB device found, idVendor=17a1, idProduct=0128
[ 160.689033] usb 1-3: New USB device strings: Mfr=32, Product=38, SerialNumber=0
[ 160.689036] usb 1-3: Product: USB2.0 JPEG WebCam
[ 160.689039] usb 1-3: Manufacturer: TASCORP

sovety комментирует...

анониму:

Если вы не собирали ядро самостоятельно (а скорее всего так и есть), то для стандартных дистрибутивных ядер достаточно доустановить пакет gspca-modules-ВЕРСИЯ (версию своего ядра можно узнать, выполнив команду uname -r). В этом случае ничего собирать самостоятельно не нужно. Я так и делаю :)

Моя безымянная камера после этого заработала и в Camorama, и в Skype. Нужный модуль загружается автоматически при подключении камеры.

ps. Считайте, что модули — это «драйвера». Каждый из них — это отдельный файл, который система может подключить при необходимости. Автоматически или принудительно (по команде modprobe). В случае Linux модули большинства устройств обычно распространяются в исходном виде и входят в стандартную поставку ядра. В редких случаях их нужно доустановить/собрать отдельно.

Анонимный комментирует...

gspca-modules для моего ядра стоят. ядро я поставил из репов.
правда не пойму почему, но после перезагрузки модуль qspca не загружается автоматически.
з.ы. чтобы не захламлять тему, если у кого есть желание помочь - пишите в аську 106-девять-три-семь-176, буду очень благодарен
//предыдущий аноним

Costantino Leandro комментирует...

theres a new sensor update for tascorp. look at http://linuxtv.org/hg/~jfrancois/gspca/

Анонимный комментирует...

Привет, Всем! Народ, видео на компутере есть! И в Cheese и в Skype всё функционирует! Подскажите, а что делать чтобы заработала camorama под Ubuntu 8.10, ядро 2.6.27-11, патаюсь вот собрать модуль из исходников sudo aptitude install gspca-source camorama, но вот что получается...
/usr/src/modules/gspca#make
make -C /lib/modules/`uname -r`/build SUBDIRS=/usr/src/modules/gspca CC=cc modules
make[1]: Вход в каталог `/usr/src/linux-headers-2.6.27-11-generic'
CC [M] /usr/src/modules/gspca/gspca_core.o
/usr/src/modules/gspca/gspca_core.c:54:27: error: asm/semaphore.h: No such file or directory
/usr/src/modules/gspca/gspca_core.c: В функции ‘spca5xx_ioctl’:
/usr/src/modules/gspca/gspca_core.c:2463: ошибка: неявная декларация функции ‘video_usercopy’
/usr/src/modules/gspca/gspca_core.c: На верхнем уровне:
/usr/src/modules/gspca/gspca_core.c:2609: ошибка: неизвестное поле ‘owner’ в инициализаторе
/usr/src/modules/gspca/gspca_core.c:2609: предупреждение: несовместимый тип указателя в инициализации
/usr/src/modules/gspca/gspca_core.c:2611: ошибка: неизвестное поле ‘type’ в инициализаторе
/usr/src/modules/gspca/gspca_core.c: В функции ‘spca50x_create_sysfs’:
/usr/src/modules/gspca/gspca_core.c:2769: ошибка: неявная декларация функции ‘video_device_create_file’
/usr/src/modules/gspca/gspca_core.c:2780: ошибка: неявная декларация функции ‘video_device_remove_file’
/usr/src/modules/gspca/gspca_core.c: В функции ‘spca5xx_probe’:
/usr/src/modules/gspca/gspca_core.c:4301: ошибка: несовместимые типы в присваивании
make[2]: *** [/usr/src/modules/gspca/gspca_core.o] Ошибка 1
make[1]: *** [_module_/usr/src/modules/gspca] Ошибка 2
make[1]: Выход из каталога `/usr/src/linux-headers-2.6.27-11-generic'
make: *** [default] Ошибка 2

...Заранее СПАСИБО!

Анонимный комментирует...

...дополнительный вывод к предыдущему вопросу...
lsmod | grep v4l
v4l1_compat 22404 1 videodev

Анонимный комментирует...

Абсолютно таже проблема.Поэтому попробывал сам установить драйвер через репозиторий,программу тоже.При запуске программы изображение вылезает,но смазанное и в полосочку,сразу после этого выскакивает ошибка.В чем проблема?Скайп камеру чикать не хочет.

mantis комментирует...

Промучался с той же проблемой...
Под 8.10 gpca уже изначально есть. Только некоторые приложения требуют v4l1 а не v4l2.
Собственно ответ на вопрос как запустить видео описан на https://bugs.launchpad.net/ubuntu/+source/gspca/+bug/291723

Scyphius комментирует...

вот такой получился результат:
/usr/src/modules/gspca$ make
make -C /lib/modules/`uname -r`/build SUBDIRS=/usr/src/modules/gspca CC=cc modules
make: *** /lib/modules/2.6.26-2-686/build: No such file or directory. Stop.
make: *** [default] Error 2

Анонимный комментирует...

Как подключить Веб-Камеру? Куда втыкать питание? если на проц нет гнезда?

Анонимный комментирует...

Установи пакет
linux-headers-2.6.26-2-686

Igoshin комментирует...

Начинающий: сразу споткнулся на первом пункте "В каталоге /usr/src появится архив с исходниками gspca-source.tar.bz2 - распаковываем его прямо там." Пытаюсь распаковать, выпадает окошко "Не достаточно прав для распаковки архивов в папке /usr/src"

Анонимный комментирует...


Scyphius пишет...
вот такой получился результат:
/usr/src/modules/gspca$ make
make -C /lib/modules/`uname -r`/build SUBDIRS=/usr/src/modules/gspca CC=cc modules
make: *** /lib/modules/2.6.26-2-686/build: No such file or directory. Stop.
make: *** [default] Error 2

У меня тоже самое, что делать?

Andrey комментирует...

поможи, пожалуйста, не могу разобраться, получил дебиант тестинг, раньше был ленни, все по тебе работало, а теперь каморама и чииз тока после
"export LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so"
но skype не дышит :(

Анонимный комментирует...

У меня веб-камера Logitech Webcam C160.Подключила.В Агенте пытаюсь сделать видео вызов.Меня слышат,но не видят.Почему так?Помогите настроить видеосвязь.

EVI комментирует...

Спасибо за статью, в своё время очень помогла. Только, возможно, стоит добавить, что в Squeeze (в данный момент testing) это уже не требуется, а gspca-source нет в репозиториях, т.к. он уже включён в новые ядра.

Евгений комментирует...

Люди если у вас размытое изображение то под объективом некоторых веб камер есть что-то типо колёсика- покрутите его и изображение настроится

pefon комментирует...

Уважаемые а можно вопросик? Я хотел бы приобрести веб камеру примерно от 500-700 рублей, но не знаю какую модель подобрать. По Вашему рецепту подойдёт любая из семейства Logitech?

Отправить комментарий

Подписаться на RSS-ленту комментариев к этому посту.