Сегодня, дорогие читатели, мы в очередной раз будем пробовать на прочность авторитет нашего любимого дистрибутива. В качестве теста предлагается такая тривиальная задача, как установка и настройка ТВ тюнера. Но как показывает практика, то, что кажется на первый взгляд незамысловатым, на деле оборачивается почесыванием мыслительного органа и тренировкой пальцев в гугле. По крайней мере, судя по письмам в моем почтовом ящике, многие из вас потратили не один час в попытках настроить ТВ тюнер в openSUSE. Пожалуй, буду заканчивать с лирическим отступлением и приступать к делу.
В качестве «подопытного кролика» мы с вами будем использовать карту AverTV Studio 509 от Avermedia. Это тюнер собран на базе чипа saa7134 от Philips. После установки карты в свободный слот и загрузки системы посмотрим вывод dmesg:
~> dmesg |grep saa
[ 11.731709] saa7130/34: v4l2 driver version 0.2.16 loaded
[ 11.732261] saa7134 0000:01:08.0: PCI INT A -> Link[APC1] -> GSI 16 (level, low) -> IRQ 16
[ 11.732268] saa7133[0]: found at 0000:01:08.0, rev: 209, irq: 16, latency: 32, mmio: 0xdfdff000
[ 11.732275] saa7133[0]: subsystem: 1461:a14b, board: UNKNOWN/GENERIC [card=0,autodetected]
Как мы видим, система чего-то увидела, но чего — понять не смогла. Лезем в YaST — Оборудование — TV карта. Жмем «Редактировать» и настраиваем нашу ТВ карту.
На следующем шаге выбираем, как будем выводить звук — через вход звуковой карты (в этом случае выход ТВ тюнера соединяется со входом звуковой) или посредством интерфейса PCI и модуля saa7134
Выбираем «Не использовать ИК».
Выбираем ТВ стандарт и таблицу частот. Можете попробовать просканировать каналы, но точно могу сказать, что с AverTV Studio 509 это результата не даст. Почему — это мы увидим дальше.
Сканирование закончено и YaST принес нам «благую» весть — устройство не имеет тюнера.
Заканчиваем настройку и жмем ОК, после чего нам будет предложено установить софт для просмотра ТВ — соглашаемся.
И после этих всех этапов мы можем убедиться, что наш ТВ тюнер не работает
Для того, чтобы устройство заработало, нужно подправить пару конфигов руками. Смотрим содержимое /etc/modprobe.d/50-tv.conf:
alias char-major-81 videodev
options i2c-algo-bit bit_test=1
# YaST configured TV card
# 75Hn.FNy_6WiXEG2:AVerTV Studio 509
alias char-major-81-0 saa7134
alias char-major-81-1 off
alias char-major-81-2 off
alias char-major-81-3 off
Это то, что сохранил YaST после настройки ТВ карты. Можно дописать тут, но лично я рекомендую это сделать в /etc/modprobe.d/99-local.conf:
options saa7134 card=102 tuner=38 i2c_scan=1
options tuner secam=d
Модель карты можно взять из документации к ядру /usr/src/linux-2.6.37.6-0.7/Documentation/video4linux/CARDLIST.saa7134, а тюнера — из /usr/src/linux-2.6.37.6-0.7/Documentation/video4linux/CARDLIST.tuner.
Теперь сохраняем сделанные изменения и перегружаем систему. Смотрим вывод
~> dmesg |grep saa
[ 7.497047] saa7130/34: v4l2 driver version 0.2.16 loaded
[ 7.501225] saa7134 0000:01:08.0: PCI INT A -> Link[APC1] -> GSI 16 (level, low) -> IRQ 16
[ 7.501233] saa7133[0]: found at 0000:01:08.0, rev: 209, irq: 16, latency: 32, mmio: 0xdfdff000
[ 7.501239] saa7133[0]: subsystem: 1461:a14b, board: Avermedia AVerTV Studio 507 [card=102,insmod option]
В списке поддерживаемых карт AVerTV Studio 509 не оказалось и наша карта определилась как AVerTV Studio 507. И что еще важно, определилось инфракрасное устройство для пульта ДУ:
[ 7.501278] saa7133[0]: board init: gpio is 20006d8
[ 7.563152] input: saa7134 IR (Avermedia AVerTV St as /devices/pci0000:00/0000:00:09.0/0000:01:08.0/rc/rc0/input6
[ 7.563228] rc0: saa7134 IR (Avermedia AVerTV St as /devices/pci0000:00/0000:00:09.0/0000:01:08.0/rc/rc0
Кстати, если у вас в системе установлена веб камера, посмотрите, как определился у вас ТВ тюнер:
[ 8.378118] saa7133[0]: registered device video1 [v4l2]
[ 8.378161] saa7133[0]: registered device vbi0
[ 8.378202] saa7133[0]: registered device radio0
Дело в том, что при использовании для просмотра ТВ плеера tvtime, он по умолчанию использует устройство /dev/video0. И если тюнер определился у нас как video1, то нужно исправить в файле /etc/tvtime/tvtime.xml строку
<option name=”V4LDevice” value=”/dev/video1″/>
Все, теперь можно настраивать каналы в tvtime.
Как видим, при настройке ТВ тюнера в openSUSE не удалась полностью обойтись дружественным интерфейсом пользователя.
Удачи.
Спасибо за инструкцию suseblog.org.ua и planet.opensuse.org