|
|
Статьи Компьютерные TV-Radio тюнеры Тюнеры и пульты в LinuxНастройка LifeView FlyTV Prime34 под Linux9 сентября 2008, 20:26Ryadovoy
Доброго времени суток. Сам я программист и Windows знаю вдоль и поперек, а вот Linux слабовато, и дабы исправить это я установил себе Debian на домашнем компьютере. Первая попытка установки была неудачной, т.к. я установил Linux параллельно с Windows. Просто мне было очень трудно заставить себя, приходя с работы по вечерам ковыряться с Linux-ом, когда у меня была возможность запустить Windows и спокойно слушать музыку, читать электронные книги, смотреть фильмы или телевизор (TV-tuner). В общем я со временем удалил Linux так и не поработав в нем. Как-то вечером, возвращаясь с работы, я вспомнил, как я научился слепому набору на клавиатуре - я стер все надписи на клавишах и таким радикальным способом заставил себя не смотреть на клавиатуру. И я подумал, а почему бы не поступить также и с Linux-ом? И, придя домой, я удалил все Windows-разделы на винчестере и установил Debian. При настройке системы я столкнулся с множеством проблем, связанных в первую очередь с тем, что буквально каждую программу необходимо настраивать с шаманским бубном. Трудней всего пока что для меня было настроить TV-tuner. Итак, настраиваем TV-tuner.Вы не знаете с чего начать? А тут все просто – берем на вооружение несколько ключевых слов: TV-tuner, модель тюнера (в моем случае LifeView FlyTV Prime34), Linux, Debian, setup, настройка, и т.п. и идем на http-ссылка. Что мы получим? Кучу беспорядочной информации, разобраться в которой невозможно. Но это только с первого взгляда. Читаем все подряд, пока в голове все окончательно не перепутается. Потом идем курить и пытаемся разложить все по полочкам. С разнообразных источников, я, например, узнал, что для того чтобы подключить мой TV-tuner мне необходим модуль saa7134 и что он присутствует в стандартной сборке ядра версии >2.6.n (не помню номер, но в 2.6.8-3 он присутствует). Еще мне нужна программа, которая собственно будет показывать ТВ-каналы, как советовали многие источники, лучшей является программа tvtime. Также для того, чтобы прикрутить пульт дистанционного управления необходимо настроить lirc. Итого цепочка следующая: ![]() С драйвером мне повезло, т.к. если бы этого драйвера небыло в стандартной сборке ядра, то мне пришлось бы собирать ядро самому с включением в него модуля драйвера, а это уже головная боль. В дистрибутиве Debian 31r4 по умолчанию устанавливается ядро 2.4.27, значит необходимо установить ядро поновее. Под пользователем root выполняем следующую команду: #apt-get install kernel-image-2.6.8-3-386 Ядро устанавливается в автоматическом режиме и остается лишь перезагрузить компьютер. Устанавливаем tvtime: #apt-get install tvtime Запускаем tvtime и настраиваем его при помощи меню:
Если что-либо найдено, то переключаемся по всем найденным каналам и запоминаем их номера (см. ниже). Далее меняем телевизионный стандарт на SECAM и повторно сканируем каналы:
Переключаемся на каналы со стандартом PAL (набираем цифры каналов, которые мы запомнили выше) и для каждого из них устанавливаем опцию:
Затем отключаем автоматическое сканирование каналов:
Можно при желании отредактировать конфигурационный файл tvtime. Он находится в домашней директории: ~/.tvtime/stationlist.xml Настройка пульта ДУ.Для инфракрасного порта тюнера, после установки драйвера (модуль saa7134), должно появится новое устройство ввода. Проверить это можно с помощью команды: $ cat /proc/bus/input/devices Она вернет примерно следующий результат: I: Bus=0011 Vendor=0001 Product=0001 Version=ab41 N: Name="AT Translated Set 2 keyboard" P: Phys=isa0060/serio0/input0 H: Handlers=kbd event0 B: EV=120003 B: KEY=4 2000000 3802078 f840d001 f2ffffdf ffefffff ffffffff fffffffe B: LED=7 I: Bus=0011 Vendor=0002 Product=0004 Version=0000 N: Name="GenPS/2 Genius Wheel Mouse" P: Phys=isa0060/serio1/input0 H: Handlers=event1 mouse0 ts0 B: EV=7 B: KEY=1f0000 0 0 0 0 0 0 0 0 B: REL=103 I: Bus=0001 Vendor=5168 Product=0138 Version=0001 N: Name="saa7134 IR (LifeView FlyVIDEO30" P: Phys=pci-0000:00:0b.0/ir0 H: Handlers=kbd event2 B: EV=100003 B: KEY=c0304 100000 0 0 0 0 1 10000 2 1e0001 7bb80 0 0 Строчка "saa7134 IR (LifeView FlyVIDEO30" указывает на устройство IR-порта. Это устройство хранится по адресу: /dev/input/event2 Это устройство интерпретируется X-сервером как обычное устройство ввода (типа клавиатуры, но с весьма экзотическими клавишами). В принципе клавиши 0-9 пульта ДУ должны работать как и обычные клавиатурные клавиши и могут восприниматься, как tvtime, так и любой другой программой. Для обеспечения корректной обработки команд ДУ необходимо настроить lirc. Принцип работы lirc с пультом тюнера следующий: Запускается демон lircd, который слушает устройство /dev/input/event2, используя драйвер с именем "dev/input". lircd преобразовывает все команды, полученные от устройства в соответствии с конфигурационным файлом /etc/lirc/lircd.conf и передает их на сокет /dev/lircd. Для того, чтобы команды с сокета попали к tvtime запускается еще один демон irexec, который уже в свою очередь, в соответствии с конфигурационным файлом ~/.lircrc, передает их на tvtime. Получается цепочка такого вот вида: ![]() Настройка lirc не такая уж и сложная, если понимать принцип действия lirc. Прежде всего установим его: #apt-get install lirc Программа установки будет предлагать автоматическую сборку модуля для ядра, откажитесь от нее. lirc стартует при запуске системы при помощи скрипта /etc/init.d/lirc. Этот скрипт использует конфигурационный файл /etc/lirc/hardware.conf, в котором необходимо сконфигурировать запуск демона lircd: # /etc/lirc/hardware.conf # # Arguments which will be used when launching lircd LIRCD_ARGS="-H dev/input -d /dev/input/event2 /etc/lirc/lircd.conf" #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=false # Run "lircd --driver=help" for a list of supported drivers. DRIVER="dev/input" # If DEVICE is set to /dev/lirc and devfs is in use /dev/lirc/0 will be # automatically used instead DEVICE="" MODULES="" # Default configuration files for your hardware if any LIRCD_CONF="" LIRCMD_CONF="" Демон lircd будет загружаться при старте системы с параметрами: -H dev/input -d /dev/input/event2 /etc/lirc/lircd.conf Где файл /etc/lirc/lircd.conf описывает протокол пульта ДУ. Этот файл можно найти для конкретного пульта на сервере lirc или в директории /usr/share/lirc/remotes/, а можно и сконфигурировать самому (я так и делал). Для этой цели в пакете lirc имеется утилита irrecord. Для того чтобы ее использовать понадобится один из файлов, хранящихся в директории /usr/share/lirc/remotes/generic. Я выбрал файл /usr/share/lirc/remotes/generic/RC-6.conf. Копируем этот файл и сохраняем в /etc/lirc/ с именем lircd. Далее запускаем утилиту irrecord с параметрами: #irrecord -H dev/input -d /dev/input/event2 /etc/lirc/lircd На приглашение зажать кнопку, зажимаем на пульте ДУ какую-нибудь кнопку и держим ее. На экране при нажатии должны отображаться точки. Далее программа спросит, как будет называться следующая кнопка. Набираем, например, "1", давим "Enter" и жмем на пульте ДУ тоже "1", затем "2", "Enter", "2" на ДУ, и т.д. все кнопки. После ввода всех кнопок пульта нажимаем просто "Enter" и затем программа попросит нажимать какую-нибудь кнопку. Необходимо не ЗАжимать, а НАжать, как можно быстрее. После всех этих операций по следующему адресу должен будет появится корректный файл конфигурации нашего пульта /etc/lirc/lircd.conf. Программа irrecord автоматически добавляет окончание к файлу .conf. В моем случае получился следующий файл:
begin remote
name /etc/lirc/lircd.conf
bits 16
flags RC5|CONST_LENGTH
eps 30
aeps 100
one 889 889
zero 889 889
plead 889
pre_data_bits 16
pre_data 0x8001
gap 151625
toggle_bit 0
frequency 36000
duty_cycle 50
begin codes
air_catv 0x0182
video 0x0189
audio 0x0188
power 0x0074
av_source 0x00B0
full_screen 0x0174
stereo 0x00C0
mute 0x0071
recall 0x0081
enter 0x0060
vol+ 0x0073
vol- 0x0072
ch+ 0x0192
ch- 0x0193
1 0x004F
2 0x0050
3 0x0051
4 0x004B
5 0x004C
6 0x004D
7 0x0047
8 0x0048
9 0x0049
0 0x0052
end codes
end remote
После конфигурации файлов /etc/lirc/hardware.conf и /etc/lirc/lircd.conf перезагружаем компьютер. Проверяем загружен ли демон lircd: #ps -A | grep lircd Запускаем утилиту irw и жмем на кнопки пульта, если все нормально то мы увидим примерно следующее: $irw 000000008001004f 00 1 /etc/lirc/lircd.conf 0000000080010050 00 2 /etc/lirc/lircd.conf 000000008001004c 00 5 /etc/lirc/lircd.conf 000000008001004d 00 6 /etc/lirc/lircd.conf Далее необходимо сконфигурировать передачу команд от демона lird к программе tvtime. Для этого необходимо сконфигурировать файл: ~/.lircrc У меня он такой:
begin
prog = irexec
button = full_screen
config = tvtime-command TOGGLE_FULLSCREEN
end
begin
prog = irexec
button = mute
config = tvtime-command TOGGLE_MUTE
end
begin
prog = irexec
button = ch+
config = tvtime-command UP
end
begin
prog = irexec
button = ch-
config = tvtime-command DOWN
end
begin
prog = irexec
button = vol+
config = tvtime-command RIGHT
end
begin
prog = irexec
button = vol-
config = tvtime-command LEFT
end
begin
prog = irexec
button = 1
config = tvtime-command CHANNEL_1
end
begin
prog = irexec
button = 2
config = tvtime-command CHANNEL_2
end
begin
prog = irexec
button = 3
config = tvtime-command CHANNEL_3
end
begin
prog = irexec
button = 4
config = tvtime-command CHANNEL_4
end
begin
prog = irexec
button = 5
config = tvtime-command CHANNEL_5
end
begin
prog = irexec
button = 6
config = tvtime-command CHANNEL_6
end
begin
prog = irexec
button = 7
config = tvtime-command CHANNEL_7
end
begin
prog = irexec
button = 8
config = tvtime-command CHANNEL_8
end
begin
prog = irexec
button = 9
config = tvtime-command CHANNEL_9
end
begin
prog = irexec
button = 0
config = tvtime-command CHANNEL_0
end
begin
prog = irexec
button = enter
config = tvtime-command ENTER
end
begin
prog = irexec
button = power
config = tvtime &
config = tvtime-command QUIT
end
Осталось лишь запустить irexec. Я для этого создал файл в директории: ~/.kde/Autostart Его содержание следующее: #! /bin/sh irexec -d Этот файл должен иметь права доступа, разрешающие его запуск. Ну вот собственно и все. Как видите, настройка программ под Linux это не такая уж и тривиальная штука, для этого в первую очередь необходимо время и выдержка. И как говорится: "кто ищет, тот всегда найдет!" Удачи! |
||
|
|
|
Copyright © 1999-2012 PcTuner.Ru · Design by Alex Dovby
|