Форум твоего направления

Форум твоего направления (http://pcvector.ru/forum.php)
-   Железо в *nix (http://pcvector.ru/f25)
-   -   FAQ Дружим тв-тюнер Avermedia Avertv 507 с Ubuntu 9.10 (http://pcvector.ru/t634)

Vector 23.11.2009 17:26

Дружим тв-тюнер Avermedia Avertv 507 с Ubuntu 9.10
 
Написать эту статью сподверг меня мой любимый дистрибутив Ubuntu и тв-тюнер Avermedia Avertv 507, с настройкой которого при чистой установке Ubuntu 9.10 у меня, и у многих других линуксоидов возникли проблемы. А еще это первый мой топик, за который я получил инвайт. А все дело в том, что в большинстве инструкций по настройке этого тюнера допущено множество ошибок, куча разногласий, не говоря о том, что на момент настройки тюнера статей для новога ядра Ubuntu 9.10 не было, и всвязи с этим настроить тюнер самому было очень трудно.
Так вот, чтобы помочь многим людям, уже растратившим все свои нервы, я ниже приведу алгоритм настройки вышеупомянутого тюнера с разъяснениями и правильными конфигами.
А те, кто, как говорится, в шапочке, могут просто сопировать конфиги.


Для просмотра тв мы будем использовать tvtime, для управлением с пульта пакет lirc
Установим их через менеджер пакетов или через консоль:

Код:

sudo apt-get install tvtime
Код:

sudo apt-get install lirc
В процессе установки tvtime спросит нас о стандарте вещания. Для большинста людей в Росии это Pal-DK и Secam, у меня в Сочи это Secam.
Выбирайте что угодно, так как мы все равно будем править конфиги. То же относится к выбору чипсета для Lirc.

После установки пакетов нам нужно указать tvtim'у номера наших чипсетов( card и tuner), причем номера для нового ядра. Так же для нового ядра нужно было убрать некоторые параметры, иначе тв-тюнер дружить с нами не хотел. Специально для Вас, здесь и сейчас, верный рабочий конфиг:)
Создаем файл с конфигом

Код:

sudo nano /etc/modprobe.d/aliases
в который прописываем:

Код:

alias char-major-81 videodev
options i2c-algo-bit bit_test=1
options saa7134 card=102 tuner=38
options tuner secam=d

alias char-major-81-0 saa7134
alias char-major-81-1 off
alias char-major-81-2 off
alias char-major-81-3 off

Сохраняемся, перезагружаемся:)
Теперь тв-тюнер должен показывать картинку, осталось отсканировать и добавить каналы.
Советую добавлять их вручную, чтобы не возникла куча проблем, как у меня.
Частотная таблица в настройках твтайма у меня выбрана «Другая», настройки каналов находятся в файле
~/.tvtime/stationlist.xml
Обращаю ваше внимание на то, что файл с каналами должен находиться в каталоге пользователя и создавать его нужно от обычного пользователя, дабы твтайм имел нужные права доступа к файлу и мог его прочесть.

Приведу свой файл как эталонный, но учтите, что в других городах( у меня Сочи) частоты каналов другие. Свои частоты я подбирал сканируя каналы на обычном телевизоре.
Вы можете настроить каналы и автосканом, но если хотите, чтоб они шли в нужном вам порядке и работали все — только вручную.
Итак, мой stationlist.xml:

Код HTML:

<?xml version="1.0"?>
<!DOCTYPE stationlist PUBLIC "-//tvtime//DTD stationlist 1.0//EN" "tvtime.sourceforge.net/DTD/stationlist1.dtd">
<stationlist xmlns="tvtime.sourceforge.net/DTD/">
<list norm="SECAM" frequencies="custom" audio="dk">
<station name="1" active="1" position="1" band="Custom" channel="49,00MHz" finetune="9" norm="SECAM" audio="auto"/>
<station name="2" active="1" position="2" band="Custom" channel="207,00MHz" finetune="0" norm="SECAM" audio="auto"/>
<station name="3" active="1" position="3" band="Custom" channel="495,00MHz" finetune="0" norm="SECAM" audio="auto"/>
<station name="4" active="1" position="4" band="Custom" channel="191,00MHz" finetune="0" norm="SECAM" audio="auto"/>
<station name="5 „ active=“1" position="5" band="Custom" channel="535,00MHz" finetune="0" norm="SECAM" audio="auto"/>
<station name="6" active="1" position="6" band="Custom" channel="77,00MHz" finetune="0" norm="SECAM" audio="auto"/>
<station name="7" active="1" position="7" band="Custom" channel="575,00MHz" finetune="0" norm="SECAM" audio="auto"/>
<station name="8" active="1" position="8" band="Custom" channel="623,00MHz" finetune="0" norm="SECAM" audio="auto"/>
<station name="9" active="1" position="9" band="Custom" channel="591,00MHz" finetune="0" norm="SECAM" audio="auto"/>
<station name="10" active="1" position="10" band="Custom" channel="679,00MHz" finetune="0" norm="SECAM" audio="auto"/>
<station name="11" active="1" position="11" band="Custom" channel="711,00MHz" finetune="0" norm="SECAM" audio="auto"/>
</list>
</stationlist>



Custom здесь означает, что каналы относятся к частотной таблице «Другая», а не «Россия», например.
Теперь мы разберемся со звуком. Моя проблема заключалась в том, что к тв-тюнеру никаких проводов не прилагалось.
Ни внутрених, ни внешних. Благо я нашел внешний провод с нужным разъемом и длиной, доставшийся в комплекте с моими пк-колонками.
Вы же можете раздобыть провод в магазине.
Итак, мы раздобыли провод:)
Подключаем провод к line-in разъему звуковой карты одним концом, и к разъему аудиовыхода тюнера соответственно другим концом.
Если звук не появлился, то заходим в

Система- > Параметры-> Звук

Переходим во вкладку вход, проверяем, чтоб было выбрано принимающее звуковое устройство вашего компьютера, а канал входа был выбран «Analog input»
Но если и теперь звук предательски не хочет появляться, в терминале даем команду

Код:

alsamixer


Тут нам важны 2 параметра, Line и Surround.
Surround ставим в позицию «Independent», у Line поднимаем ползунок громкости. Если у Line ниже ползунка подпись не «00», а «MM», что означает mute, жмем на клавиатуре английскую букву «M» и включаем звук. Теперь звук не мог не заработать:)
Мне немалых трудов стоило выявить такую закономерность:)

Нам осталось настроить и запрограммировать пульт.
Для начала определим адрес пульта:
cat /proc/bus/input/devices

В выдаче находим что-то наподобие

Код:

I: Bus=0001 Vendor=1461 Product=a11b Version=0001
N: Name="saa7134 IR (Avermedia AVerTV St"
P: Phys=pci-0000:05:07.0/ir0
S: Sysfs=/devices/pci0000:00/0000:00:09.0/0000:05:07.0/input/input6
U: Uniq=
H: Handlers=kbd event6
B: EV=100003
B: KEY=40fc310 82140000 0 0 0 0 2048000 180 4001 9e0000 0 0 ffc



Здесь нам важен event6. у вас он может быть, к примеру, event5
Далее правим файл /etc/lirc/hardware.conf

Код:

sudo nano /etc/lirc/hardware.conf


Исправим следующие строки:
Код:


REMOTE_MODULES=»"
REMOTE_DRIVER=»dev/input»
REMOTE_DEVICE=»/dev/input/event6″
REMOTE_LIRCD_CONF=»/etc/lirc/lircd.conf»




Мой файл в итоге выглядит так:

Код:

# /etc/lirc/hardware.conf
#
#Chosen Remote Control
REMOTE="AverMedia TV card (TVCapture TVPhone) (card=6)"
REMOTE_MODULES=""
REMOTE_DRIVER="dev/input"
REMOTE_DEVICE="/dev/input/event6"
REMOTE_SOCKET=""
REMOTE_LIRCD_CONF="/etc/lirc/lircd.conf"
REMOTE_LIRCD_ARGS=""

#Chosen IR Transmitter
TRANSMITTER="Custom"
TRANSMITTER_MODULES=""
TRANSMITTER_DRIVER=""
TRANSMITTER_DEVICE=""
TRANSMITTER_SOCKET=""
TRANSMITTER_LIRCD_CONF=""
TRANSMITTER_LIRCD_ARGS=""

#Enable lircd
START_LIRCD="true"

#Don't start lircmd even if there seems to be a good config file
#START_LIRCMD="false"

#Try to load appropriate kernel modules
LOAD_MODULES="true"

# Default configuration files for your hardware if any
LIRCMD_CONF=""

#Forcing noninteractive reconfiguration
#If lirc is to be reconfigured by an external application
#that doesn't have a debconf frontend available, the noninteractive
#frontend can be invoked and set to parse REMOTE and TRANSMITTER
#It will then populate all other variables without any user input
#If you would like to configure lirc via standard methods, be sure
#to leave this set to "false"
FORCE_NONINTERACTIVE_RECONFIGURATION="false"
START_LIRCMD=""



Теперь запрограммируем пульт( event6 меняем на свое значение):

Код:

sudo irrecord -H dev/input -d /dev/input/event6 /etc/lirc/lircd.conf


Мастер попросит нас понажимать на любые клавиши. Жмем до тех пор, пока нас не уведомят об успешном завершении процедуры.
Теперь вводим название кнопки, жмем enter. У нас есть около 5-ти секунд, чтобы нажать на пульте ту кнопку, название которой вы ввели.
Внимание, названия кнопок зарезервированы! Если вы введете свои названия, мастер выдаст вам ошибку. Список разрешенных названий я выложил для вас здесь
Повторяем процедуру для всех нужных нам кнопок, жмем enter.

Перезапускаем демон лирка, который считывает конфиги:

Код:

sudo /etc/init.d/lirc restart


Пришло время проверить, правильно ли мы все сделали.
Вводим в терминале команду

Код:

irw

Теперь нажимаем на кнопки пульта. Если в терминале выводятся физические адреса кнопок, то мы на верном пути.

Переходим к последнему этапу.
Создаем файл, ассоциирующий команды твтайма с кнопками пульта:

Код:

cd ~
nano .lircrc



По этому образцу, для каждой кнопки, которой вы задали название указываем команду твтайма:

Код:

begin
 prog = irexec
 button = KEY_POWER
 config = tvtime &
 config = tvtime-command QUIT
 end




Вот мой файл, с основными кнопками, которые нужны мне:
Код:

begin
 prog = irexec
 button = KEY_POWER
 config = tvtime &
 config = tvtime-command QUIT
 end

begin
 prog = irexec
 button = KEY_VOLUMEUP
 config = tvtime-command CHANNEL_UP
 end

begin
 prog = irexec
 button = KEY_VOLUMEDOWN
 config = tvtime-command CHANNEL_DOWN
 end

begin
 prog = irexec
 button = KEY_NEXT
 config = tvtime-command RIGHT
 end

begin
 prog = irexec
 button = KEY_LAST
 config = tvtime-command LEFT
 end

begin
 prog = irexec
 button = BTN_1
 config = tvtime-command CHANNEL_1
 end

begin
 prog = irexec
 button = BTN_2
 config = tvtime-command CHANNEL_2
 end

begin
 prog = irexec
 button = BTN_3
 config = tvtime-command CHANNEL_3
 end

begin
 prog = irexec
 button = BTN_4
 config = tvtime-command CHANNEL_4
 end

begin
 prog = irexec
 button = BTN_5
 config = tvtime-command CHANNEL_5
 end

begin
 prog = irexec
 button = BTN_6
 config = tvtime-command CHANNEL_6
 end

begin
 prog = irexec
 button = BTN_7
 config = tvtime-command CHANNEL_7
 end

begin
 prog = irexec
 button = BTN_8
 config = tvtime-command CHANNEL_8
 end

begin
 prog = irexec
 button = BTN_9
 config = tvtime-command CHANNEL_9
 end

begin
 prog = irexec
 button = BTN_0
 config = tvtime-command CHANNEL_0
 end
 
 begin
 prog = irexec
 button = KEY_MUTE
 config = tvtime-command TOGGLE_MUTE
 end

begin
 prog = irexec
 button = KEY_MENU
 config = tvtime-command TOGGLE_FULLSCREEN
 end



А теперь мой файл /etc/lirc/lircd.conf, чтобы вы могли сверить, если в чем-то сомневаетесь:

Код:

# Please make this file available to others
# by sending it to <[email protected]>
#
# this config file was automatically generated
# using lirc-0.8.6(devinput) on Fri Nov 6 16:23:42 2009
#
# contributed by
#
# brand: /etc/lirc/lircd.conf
# model no. of remote control:
# devices being controlled by this remote:
#

begin remote

name /etc/lirc/lircd.conf
 bits 16
 eps 30
 aeps 100

one 0 0
 zero 0 0
 pre_data_bits 16
 pre_data 0x8001
 gap 35992
 toggle_bit_mask 0x0

begin codes
 KEY_VOLUMEUP 0x0192
 KEY_VOLUMEDOWN 0x017F
 KEY_MUTE 0x0071
 KEY_NEXT 0x0073
 KEY_LAST 0x0072
 BTN_0 0x000B
 BTN_1 0x0002
 btn_2 0x0003
 BTN_3 0x0004
 btn_4 0x0005
 BTN_5 0x0006

BTN_6 0x0007
 BTN_7 0x0008
 BTN_8 0x0009
 BTN_9 0x000A
 KEY_MENU 0x0174
 KEY_POWER 0x0074
 end codes

end remote



Чтобы пульт начал работать, добавьте в запускаемые приложения при загрузке команду irexec -d
Это всё, enjoy your watching:)

Постскриптум: перенес в коллективный блог

Постпостскриптум: чтобы в меню выбора пользователей не было звуков телевизора
gedit ~/.tvtime/tvtime.xml

добавляем строку

<option name="MuteOnExit" value="0"/>

и сохраняем

Stive Stifler 22.12.2010 11:21

Кстати практически аналогично можно "дружить" и тв-тюнеры фирмы Fly TV


Часовой пояс GMT +3, время: 04:49.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd. Перевод:
zCarot
Copyright © 2009 - 2014, pcvector.ru

.