PDA

Просмотр полной версии : Настройка устройства видеозахвата в Linux


alexprolog
21.01.2008, 19:43
Здравствуйте!

У меня такой вопрос. Система Mandriva Linux 2007.
Устройство видеозахвата - AVerMedia EZMaker USB 2.0.
Выяснил, что существующее ядро (2.6.17) поддерживает
этот девайс (см. файл CARDLIST.saa7134).
Модуль ядра, отвечающий за это устройство - saa7134.ko.
Пытаюсь его загрузить

modprobe saa7134 card=33

в системе ровным счетом ничего как-будто не происходит,
т.е. не создан дескриптор устройства /dev/video0.
При этом никаких ругательных сообщений при подгрузке
модуля система не выдает.

В /etc/modprobe.conf прописал в конце файла

alias char-major-81 videodev
alias char-major-81-0 saa7134
alias char-major-89 i2c-dev
options i2c-algo-bit bit_test=1
options saa7134 card=33

Пробывал руками создать ссылку на устройство

mknod /dev/video0 c 81 0

При запуске xawtv выдает, что не может открыть устройство.
Хотя проверяя

lsmod | grep saa7134

модуль, указанный в modprobe, удачно загружен.
Само устройство нормально работает
и определяется системой через

lsusb

В OpenSUSE 10.2 такая же ситуация.

Кстати, графический конфигуратор определяет девайс
как СКАНЕР и просит выбрать модель из существующих
моделей сканеров.

Как разобраться, что не так? Помогите, пожалуйста.

Добавлено через 7 минут
Кстати, совсем недавно собирал один софт,
который пересобрал мне часть модулей ядра.
До этого

modprobe saa7134 card=33

давал

FATAL: Error inserting saa7134 (/lib/modules/2.6.17-5mdv/kernel/drivers/media/video/saa7134/saa7134.ko): Unknown symbol in module, or unknown parameter (see dmesg)

Команда dmesg | grep saa7134 давала

saa7134: Unknown symbol ir_codes_pinnacle_color
saa7134: Unknown symbol ir_codes_proteus_2309
saa7134: Unknown symbol ir_codes_pinnacle_grey

Сейчас этого нет. Ситуция напоминает мне ту же, что была
(как я уже писал) в OpenSUSE. Все грузится, но
/dev/video0 не появляется.

alexprolog
22.01.2008, 00:54
Кстати, еще за долго до того, как я начал настраивать
устройство видеозахвата в Linux, я в Mandriva обновил
модули DVB-устройств, собрав их (у меня карта
SkyStar3; родное ядро ее не поддерживает).

Тогда и появился у меня модуль saa7134.ko.
Когда у меня были проблемы с загрузкой модуля
saa7134.ko, выполняя скрипт
на загрузку модулей DVB-устройств (он шел с сырцами;
как make reload), то этот модуль грузился!

kaliki
28.01.2008, 13:50
По ощущениям у тебя модуль не от собранного ядра попробуй make modules && make modules_install ( Из папки сорцов ядра ). У меня в gentoo avermedia a169 с этим модулем работает, правда только в сыром виде захватывает :( ( аппаратный mpeg-2 кодек не работает :( )

Advnoob
01.02.2008, 13:22
Надо еще опцию tuner добавить
Я для AverTv 507 прописал
options saa7134 card=102 tuner=38 alsa=1 secam=d

alexprolog
04.02.2008, 18:27
Спасибо за то, что откликнулись по данной теме.

По ощущениям у тебя модуль не от собранного ядра попробуй make modules && make modules_install ( Из папки сорцов ядра ). У меня в gentoo avermedia a169 с этим модулем работает, правда только в сыром виде захватывает :( ( аппаратный mpeg-2 кодек не работает :( )

Да, я тоже подумал об этом.
В начале прошлой недели обновил (собрал из сырцов) ядро. Стало классно.
Теперь у меня в Mandriva Linux 2007 ядро 2.6.24.
Для DVB-карты SkyStar 3 надо
просто прописать в файл /etc/modprobe.preload строчку

budget

и все !!!
А устройство видеозахвата так и не заработало
(на modprobe или insmod saa7134 (.ko) никакой реакции,
только грузит в память модуль и все!!!).

Надо еще опцию tuner добавить
Я для AverTv 507 прописал
options saa7134 card=102 tuner=38 alsa=1 secam=d

tuner писать не надо, т.к. это устройство - не TV-тюнер,
а устройство видеозахвата.
Это подтвердилось тогда, когда я еще ставил OpenSUSE.
Там при установке можно выбрать модель приставки и
я залез в modprobe.conf и от туда срисовал опции.
До этого писал tuner=4 (неизвестный тюнер).
Тут мне посоветовали поколдовать над udev.
Похоже он не понимает идентификационные номера устройства.
Что вы думаете по этому поводу?

Кстати, устройство старое (брал в начале 2004 года),
secam еще не поддерживался, поэтому надо писать pal=d.

В новом ядре появились дескрипторы:

/dev/usb1-/dev/usb5.

Давая команду

lsusb

выяснил, что устройство висит на пятом usb (по определенным адресам!!!).
Думал, что symlink на usb5 меня спасет - не помогло,
т.к. за эти дескрипторы отвечают не multimedia-модули ядра.

alexprolog
05.02.2008, 14:12
Видео подается через USB 2.0, а звук - на линейный вход звуковой карты.
Описание моего девайса приводится ЗДЕСЬ (http://www.compulenta.ru/2003/6/9/39984/).

alexprolog
16.04.2008, 21:01
Тема поднята. :sos: