Настройка системы

Установка аппаратного обеспечения

(Спасибо William Burrow за эту главу.)

Если вы боитесь самостоятельно открывать корпус своего компьютера, то сначала прочтите данное HOWTO, соберите всю информацию о карте: тип тюнера, номера использующихся микросхем и т.д. А затем позовите того, кто может вам правильно установить карту.

Иначе, откройте корпус и установите карту в нужный слот. Выберите тот PCI слот, который поддерживает режим PCI bus master (если ваша материнская плата поддерживает эти режимы не на всех слотах).

Существует два способа подключить вашу карту оцифровки видео и звуковую карту. Подсоедините аудио кабель вашего CD-ROM к аудио входу видео карты, затем аудио выход с видео карты к аудио входу тюнера или CD-ROM. Иначе вам надо соединить внешний разъем 1/8'' аудио выхода видео карты к такому же разъему входа на аудиокарте. Если вы не хотите пропускать звук через аудиокарту или у вас ее попросту нет, то подсоедините активные колонки к аудио выходу видеокарты. (Некоторые новейшие карты bt878 не имеют аудио разъемов, так как они непосредственно посылают оцифрованный звук шине PCI.)

Для проверки работоспособности карты очень удобно использовать внешний источник видеосигнала. Многие карты имеют композитный вход, вход S-Video и, если есть тюнер, то вход RF. Для каждого из этих входов существует свой разъем.

Настройка ядра

Ядро должно быть правильно настроено для того, чтобы поддерживать карту. Большинство новых дистрибутивов Linux идут вместе с необходимыми модулями, поэтому, если вы сможете найти у себя videodev.o, bttv.o, и tuner.o в каталоге /lib/modules/2.x.x/misc, то у вас уже все установлено.

Если нет, то придется перекомпилировать ядро с

CONFIG_VIDEO_DEV

и

CONFIG_VIDEO_BT848

желательно в качестве загружаемых модулей. Прочтите Linux Kernel HOWTO (http://www.linuxdoc.org/HOWTO/Kernel-HOWTO.html) для уточнения деталей перекомпилирования.

Использование версий 0.6.x

Если вы хотите использовать версию 0.6.x , сначала возьмите ее с сайтов, указанных выше, разверните ее командой

tar -xvzf bttv-0.6.x.tar.gz

зайти в созданный каталог . su и набрать

make

(Вы можете не следовать указаниям из файла INSTALL, касательно редактирования makefiles.) Затем для их установки

make install

И в завершении

/sbin/depmod -a

для изменения информации о зависимости модуля.

Создание файлов /dev

Теперь вам надо создать несколько файлов в каталоге /dev. Наберите ls /dev/video*; ls /dev/radio* , чтобы проверить, существуют ли эти файлы. Если нет, то вам придется их создать. Номер устройства у этих файлов, в основном, равен 81, другие номера устройств зависят от их типа (видео, радио и т.д.). Для более подробной информации загляните на страничку Video4Linux API по адресу (http://roadrunner.swansea.uk.linux.org/v4lapi.shtml).

В каталоге driver есть скрипт MAKEDEV, который создаст четыре видео устройства. Вы можете сделать это и сами, если у вас есть карта для оцифровки видео. Как пользователь root наберите:

mknod /dev/video0 c 81 0

chmod 666 /dev/video0

ln -s /dev/video0 /dev/video

mknod /dev/radio0 c 81 64

chmod 666 /dev/radio0

ln -s /dev/radio0 /dev/radio

Возможно у вас есть приложения, которые потребуют устройства видеотекста и VBI. Тогда вам следует набрать следующие команды:

mknod /dev/vtx0 c 81 192

chmod 666 /dev/vtx0

ln -s /dev/vtx0 /dev/vtx

mknod /dev/vbi0 c 81 224

chmod 666 /dev/vbi0

ln -s /dev/vbi0 /dev/vbi

Загрузка модулей

У драйвера bttv есть множество модулей с различными опциями, как описано в приложении. Но с таким количеством модулей и опций вы можете справиться сами. Для того,чтобы сбросить буферы на диск, напечатайте

sync; sleep 1; sync

Затем с правами пользователя root, используя команду insmod, попробуйте загрузить модули. Первые два модуля довольно просто загрузить, так как они обычно не требуют указания опций:

insmod videodev

insmod i2c

Теперь можно загрузить сам модуль драйвера bttv:

modprobe bttv

По умолчанию модуль bttv сам определяет тип карты. Просмотрите /var/log/messages , чтобы увидеть то, что он обнаружил. Если он не правильно определил тип, вам надо будет добавить опцию card=n в конце вышеуказанной строки, где n это карта из последующего списка. (Карты с 0 по 19 поддерживаются драйверами ядра, а bttv-0.6.4h поддерживает еще с 20 по 27) По желанию вы можете добавить опцию radio=1, если у вашей карты есть функция FM тюнера.

card=n		тип карты
		0:  Auto-Detect
		1:  Miro
		2:  Hauppauge (старые карты bt848)
		3:  STB
		4:  Intel
		5:  Diamond
		6:  AVerMedia
		7:  MATRIX Vision MV-Delta
		8:  FlyVideo
		9:  TurboTV
		10: Hauppauge (новые карты bt878)
		11: MIRO PCTV pro
		12: Terratec/Vobis TV-Boostar
		13: Newer Hauppauge WinCam (bt878)
		14: MAXI TV Video PCI2
		15: Terratec TerraTV+
		16: Aimslab VHX
		17: PXC200
		18: AVermedia98
		19: FlyVideo98 (новейшие карты FlyVideo)
		20: Zoltrix TV-Max
		21: iProTV
		22: ADS Technologies Channel Surfer TV
		23: Pixelview PlayTV (bt878)
		24: Leadtek WinView 601
		25: AVEC Intercapture
		26: LifeView FlyKit w/o Tuner
		27: Intel Create and Share PCI

теперь загрузите модуль тюнера

modprobe tuner type=n

Вам надо знать, какой вид тюнера у вас. Некоторые карты (Miro и Hauppauge) позволяют автоматически определить вид тюнера. На тюнере должно быть указано имя производителя, вы должны осмотреть микросхемы и узнать, какого вида у вас тюнер (NTSC или PAL). Для тюнеров PAL на микросхеме должно быть указано 28.xxxMHz (где xxx три цифры). Для тюнеров NTSC на микросхеме должно быть указано 35.xxxMHz. Теперь, когда вы узнали вид тюнера, выберите n из последующего списка (8 и 9 поддерживаются только bttv-0.6.4h):

type=n		типы тюнеров по микросхеме:
		0: Temic PAL tuner
		1: Philips PAL_I tuner
		2: Philips NTSC tuner
		3: Philips SECAM tuner
		4: no tuner
		5: Philips PAL tuner
		6: Temic NTSC tuner
		7: Temic PAL tuner
		8: Alps TSBH1 NTSC tuner
		9: Alps TSBE1 PAL tuner

И в последнюю очередь загрузите модули, которые вам еще понадобятся. Не забудьте, что драйверы для карт TEA6300, TDA8425, TDA9855 и DPL3518 есть только в версии 0.6.4h.

modprobe msp3400 или tea3600 или tda8425 или tda9855 или dpl3518(прочтите приложение)

Теперь запустите вашу программу для video4linux и посмотрите работает ли она. Если вы не можете сменить канал, проверьте, может вы установили неправильны модуль. Если возникли проблемы со звуком, перепроверьте модуль звука и посмотрите на установку "mute" звукового канала, в случае использования звуковой карты.

Автоматизация процесса

Теперь, когда вы узнали какие модули и опции нужны, вы можете автоматизировать процесс, занеся эту информацию в /etc/conf.modules. После этого, при запуске программы, которая использует драйвер, модули будут загружаться автоматически. Для этого я пишу:

# TV
alias	char-major-81	bttv
pre-install bttv	modprobe -k tuner; modprobe -k msp3400
options	bttv		radio=1 card=3
options tuner		type=2
Замените модули и опции для вашей карты. (Запустите /sbin/depmod -a для того, чтобы удостовериться, что ваша информация не устарела.)