Конференция работает на сервере Netberg

Radeon.ru

Конференция Radeon.ru

Страница 1 из 1 [ Сообщений: 7 ]  Версия для печати [+]
Показать сообщения за  Поле сортировки  
Приветствую уважаемые знатоки линукса.

Имеется видеокарта ATI AIW Rage 128 pro с ТВ-тюнером Conexant BT829 на борту, так же имеется дистрибутив линукса GeexBox. С видеодрайвером ни каких проблем, уже имеется в составе дистрибутива, а вот драйвер для тюнера отсутствует, слишком редкое железо. Нашел драйвер для этого тюнера, но т.к. линукс раньше ни когда не использовал не знаю как установить этот драйвер. Объясните кому не лень, как правильно это сделать. Если я правильно понял то драйвер выложен в виде исходника, и его сначала нужно откомпилировать, но как это сделать? Может найдется добрый человек, который откомпилирует его под 2.6.* kernels и объяснит куда надо его скопировать и какой конфиг править дабы установить этот драйвер.
Antuan
распаковываете архив, качаете с сайта дистрибутива исходники ядра, распаковываете их в /usr/src (или устанавливаете пакет), далее идете в папку с драйвером и выполняете от рута
make KDIR=/usr/src/linux-2.x.xx
где x.xx — версия ядра. Если всё нормально собралось, выполняете
insmod ./genericv4l.ko disableinterlace=1
от рута. Вроде так.
Mihail V
Спасибо за ответ.
Исходники есть в двух видах полный пакет (400+ Мб) и облегченная версия, но в облегченной, как я понял, находятся только скрипты, остальное скачивается по мере необходимости. Я скачал оба.
С первой командой все понятно, что делает вторая? Дело в том, что файл genericv4l.ko я уже получил, правда компилировал не с использованием исходников от GeexBox-a, а от Ubuntu, но если я все правильно понял, то GeexBox построен именно на этом ядре.

PS. А как встроить этот драйвер в дистрибутив, ведь не будешь каждый раз вручную запускать драйвер?
Antuan

insmod is a trivial program to insert a module into the kernel: if the filename is a
hyphen, the module is taken from standard input.

Эта программа как раз загружает драйвер. Как добавлять модули для автоматической загрузки, я не помню, но можно поместить команду в rc.local
Mihail V
Не удается загрузить модуль ни автоматически ни в ручную:

genericv4l: version magic '2.6.27.13 SMP mod_unload modversion 586 ' shold be '2.6.27.13 SMP preempt mod_unload 586 '
insmod: cannot insert 'genericv4l.ko': invalid module format

Если я правильно понял, то это означает, что ядро под которое производилась компиляция неправильно сконфигурировано, как определить какой именно параметр неверно выставлен? При отключении SMP результат тот же, только немного меняется выделенная жирным часть сообщения об ошибке.
Как вообще правильно компилировать драйвер под ядро на системе с другой конфигурацией? Если просто указать KDIR="путь к исходникам ядра" получаем:

make -C /home/ant/src/linux-2.6.27.13 SUBDIRS=/home/ant/src/v4l2 modules
make[1]: Entering directory `/home/ant/src/linux-2.6.27.13'

ERROR: Kernel configuration is invalid.
include/linux/autoconf.h or include/config/auto.conf are missing.
Run 'make oldconfig && make prepare' on kernel src to fix it.


WARNING: Symbol version dump /home/ant/src/linux-2.6.27.13/Module.symvers
is missing; modules will have no dependencies and modversions.

Building modules, stage 2.
/home/ant/src/linux-2.6.27.13/scripts/Makefile.modpost:43: include/config/auto.conf: No such file or directory
make[2]: *** No rule to make target `include/config/auto.conf'. Stop.
make[1]: *** [modules] Error 2
make[1]: Leaving directory `/home/ant/src/linux-2.6.27.13'
make: *** [default] Error 2


После выполнения "make oldconfig && make prepare" все равно не может завершить компиляцию. Успешно откомпилировать удалось только после того, как было скомпилировано ядро, причем только если компилировать в ту же директорию где находятся исходники, если указать другую директорию для готового ядра, то получаем все ту же ошибку неверная конфигурация ядра.
Что-то я делаю не так, что?
Antuan
ох. видимо нужны исходники именно используемого в системе ядра либо надо собирать ядро вручную, и потом под него собирать модуль.
Mihail V
Да, я уже разобрался, пришлось собрать ядро той системы под которой предполагалось использовать драйвер.
В общем, получилось, собрал, запустил, работает, но не так как хотелось бы. Промучился две недели, пока не понял, что драйвер не дружит с vidix, и принудительно не переключил видео в vesa режим. В результате, изображение есть, вполне нормальное, но жутко тормозное, уменьшение разрешения до 384х288 немного улучшает скоростные показатели, но ухудшает картинку. Также почему-то не отключается звук при окончании захвата, да и вообще не работают многие функции, такие как регулировка яркости/контрастности/цветовой насыщенности/и т.д., не переключает на лету систему вещания, если запустил с параметром Pal, то на Secam не переходит, хотя это может быть просто не полная реализация протокола v4l2. При этом выбор канала производится прекрасно.
Повтыкал немного в исходный код, общая картина приблизительно ясна, но...
Может кто посоветует книгу с которой лучше всего начинать изучать С++?
Новая тема    Ответить  [ Сообщений: 7 ] 


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Удалить cookies конференции

Пишите нам | Radeon.ru