Доброе время суток друзья! Я настроил сервисы google для своего блога, так что я теперь снова могу вести блог. Скоро восстановлю и домашнюю страничку.
Теперь к делу...
У меня есть web-камера genius e-messenger 112. Она очень плохая и покупать её никому не советую, но теперь её таки можно использовать в Linux. Для этого нужно немного пропатчить gspca.
Проблема номер один: gspca теперь включен в ядро, а та версия что лежит на сайте не собирается на новых ядрах. Когда я подключал камеру у меня под рукой небыло исходников linux, поэтому патчил я именно версию с оффсайта. Собираться её на новых ядрах тоже заставить можно.
Все эти действия я проделывал в Ubuntu 8.10 с ядром 2.6.27-11, над gspca из репозитория:
sudo aptitude install gspca-source
Также, если вы ни разу не собирали модули ядра, у вас могут отсутствовать загаловочные файлы. Установить их можно коммандой sudo m-a prepare
Первое, качаем патч из первого сообщения: http://ubuntuforums.org/showthread.php?t=966932&highlight=e2500
Это для сборки под новыми ядрами.
Нужно положить патч в каталог с исходниками (там где лежит файл gspca_core.c, /usr/src/modules/gspca если ставили модуль из репки) и выполнить в нем pathc -p0 < gspca.patch
Далее открываем файл gspca_core.c в любимом текстовом редакторе и исправляем следующее:
- находим строку
{USB_DEVICE(0x093a, 0x2472)}, /* PAC207 Genius VideoCam ge110 */
и сразу после нее добавляем:
{USB_DEVICE(0x093a, 0x2476)},
Можно добавить и в другую строку, если знаете что делать :)
Собственно 2476 это уникальный device_id этого устройства, проверить что у вас именно это устройство можно введя в терминале lsusb | grep 2476 при подключенной камере.
Эта строка заставит gspca опознавать устройство как поддерживаемое.
Далее ищем строку case 0x2471:
и сразу после нее (тут уже позиция имеет значение) добавляем:
case 0x2476:
Собственно это объяснит gspca какой чип в этой камере.
Т.к. другие камеры на томже чипе работают в gspca, то и эта заведется ;)
Собираем модуль sudo ./gspca_build
Если скомпилировалось успешно то оно уже должно быть установлено и подгружено в память, но на всякий случай для первой проверки делаем sudo rmmod gspca && sudo insmod ./gspca.ko (предполагается что вы все ещё в том каталоге с исходниками).
Теперь при подключении камеры у вас должен появиться файл девайса /dev/video0, после этого у меня камера заработала в skype и camorama. Правда только от рута. Чтобы работала под вашим пользователем нужно добавить его в группу video:
sudo gpasswd -a имя_пользователя video
и перелогиниться.
Есть косяк: изображение в камере перевернуто вверх ногами. Видел я патч, который в свойства модуля добавляет параметр vflip и позволяет перевернуть изображение обратно, но проверять его не стал, т.к. мне проще было прицепить камеру вверх ногами.
Сейчас у меня нет желания тратить больше времени на такую мало-полезную вещь как web-камера, но если желание появится, то я постараюсь решить и проблему с поворотом и, возможно, поковырять настройки модуля чтобы немного улучшить изображение.
На написание поста в блог тоже не хотелось тратить много времени, поэтому извините, если что-то непонятно или есть ошибки.
Удачи!
- Павел Вязовой
- Студент факультета информатики Магнитогорского Государственного Университета, линуксоид, емаксер, web-разработчик. Больше информации можно найти на моём сайте. Есть две тематические ленты: runix и emacs.
суббота, 10 января 2009 г.
Подписаться на:
Сообщения (Atom)