Задача - настроить работу тюнера Behold 607 TV/FM PCI тюнер и сконфигурировать lircдля управления программой tvtime.
1.
Настройка тюнера. Дрова для тюнера для правильной работы потребуется пересобрать с патчами.
Надо это для того, чтобы не мучиться подбором параметров запуска модуля для тюнера. Подробно для всех моделей Beholder написано здесь
http://www.beholder.ru/bb/viewtopic.php?t=5519Надо скачать исходник v4l-dvb. Брать любым способом отсюда
http://www.linuxtv.org/repo/Крайняя (новейшая) версия в виде архива
http://linuxtv.org/hg/v4l-dvb/archive/tip.tar.bz2 Для тюнеров Beholder серий 60x и M6 (и конкретно для 607) патч здесь
http://www.igk.ru/linux/files/v4l/v4l2-beholder-6xx-m6.patchРаспаковать архив с v4l-dvb. Нужные патчи положить в папку v4l-dvb, перейти в папку и пропатчить командой:
patch -p1 < имя_патча.patchПри появлении слова FAILED, разбираться из-за чего смотря в файлы с расширением .rej
Затем в той папке выполнить команды: make
Если нет ошибок, то выполнить команду: sudo make install
Исправляем файл /etc/modprobe.d/option (команда "sudo gedit /etc/modprobe.d/option"), добавляя строку
options saa7134 secam=d
Все, дальше перезагружаемся. Ставим tvtime и gnome-radio, убеждаемся что тюнер работает. В этот момент можно попробовать пульт. Он ограничено работает, например изменение громкости или выключение компьютера.
2. Теперь самое интересное,
настройка lirc.
Мы уже убедились, что пульт ограничено работает. Но работает с малым функционалом. Поэтому ставим пакет lirc.
Если synaptic предложит выбрать модель, то владельцам Бехолдеров там ловить нечего, оставляем None.
Далее надо создать конфиг lirc, т.к. его по умолчанию нет.
Останавливаем lirc командой
sudo /etc/init.d/lirc stopИщем на каком устройстве висит наш пульт командой
dmesg | grep inputВидим что-то вроде
[ 40.284285] input: BeholdTV as /class/input/input5У меня это input5, значит IR находиться на устройстве /dev/input/event5
Проверим работу устройства командой
# cat /dev/input/event5 Теперь понажимаем кнопки на пульте. Если есть реакция (какие либо символы), значит работает.
Теперь протестируем lircd
sudo lircd --nodaemon --driver=dev/input --device=/dev/input/event5На другой консоли запустим программу irw (она входит в пакет lirc)
Опять понажимаем кнопки на пульте. В консоли с lircd появляются сообщения об этих нажатиях.
Если все прошло как здесь описано, тозмозим lirc (sudo /etc/init.d/lirc stop) .
Теперь надо создать свой конфиг для lirc. Выполняем "sudo irrecord -H dev/input -d /dev/input/event5 ~/lircd.conf "
На консоль выбросит много текста, завершающегос словами "Press RETURN to continue.", нажимайте ВВОД.
Появится надпись "Hold down an arbitrary button.", нажмите любую клавишу пульта и держите, пока текст не сменится.
Теперь вводите по очереди название клавиши и нажимайте кнопку на пульте, пока кнопки не кончатся. Длязавершения не вводите название, просто нажмите несколько раз ВВОД.
Конфиг должен получиться примерно таким
begin remote
name /home/andrew/lircd.conf.behold607.conf
bits 16
eps 30
aeps 100
one 0 0
zero 0 0
pre_data_bits 16
pre_data 0x8001
gap 207989
toggle_bit_mask 0x0
begin codes
TVFM 0x0182
POWER 0x0074
CH_1 0x0002
CH_2 0x0003
CH_3 0x0004
CH_4 0x0005
CH_5 0x0006
CH_6 0x0007
CH_7 0x0008
CH_8 0x0009
CH_9 0x000A
CH_0 0x000B
RECALL 0x0081
MODE 0x0175
ASPECT 0x0177
FULLSCREEN 0x0174
CH_UP 0x0192
CH_DOWN 0x0193
VOL_DOWN 0x0072
VOL_UP 0x0073
OK 0x0160
MUTE 0x0071
INFO 0x0166
RECORD 0x00A7
PLAY_PAUSE 0x00A4
STOP 0x0080
TELETEXT 0x0184
AUDIO 0x018E
SOURCE 0x0190
SLEEP 0x008E
PREVIEW 0x018F
DVB 0x0191
FREEZE 0x00EA
SNAPSHOT 0x0199
end codes
end remote
Теперь копируем его в /etc/lirc/lirc.conf.
Перезапускаем lirc (sudo /etc/init.d/lirc restart).
Но так как устройство eventX постоянно меняется при каждой перезагрузке, то замораживаем его.
Запускаем "cat /proc/bus/input/devices"
Получим что-то типа такого
I: Bus=0018 Vendor=0000 Product=0000 Version=0000
N: Name="BeholdTV"
P: Phys=i2c-0/0-002d/ir0
S: Sysfs=/class/input/input5
U: Uniq=
H: Handlers=kbd event5
B: EV=100003
B: KEY=20fc014 b00041 0 0 0 400 0 90 4003 1e0000 0 0 ffc
Нас интересует параметр Name.
Выпролняем "sudo gedit /etc/lirc/hardware.conf" и меняем строку LIRCD_ARGS="" на строку LIRCD_ARGS="-H dev/input -d name="BeholdTV""
Таким образом lirc будет всегда висеть на устройстве с таким именем.
Перегружаемся.
3.
Настраиваем lirc для управления программой tvtime.
Добавляем в автозагрузку программу irexec.
Создаем файл ~/.lircrc
В него пишем (для основных функций tvtime)
begin
prog = irexec
button = TVFM
config = tvtime &
config = tvtime-command QUIT
end
begin
prog = irexec
button = VOL_UP
repeat = 2
config = tvtime-command RIGHT
end
begin
prog = irexec
button = VOL_DOWN
repeat = 2
config = tvtime-command LEFT
end
begin
prog = irexec
button = CH_UP
repeat = 8
config = tvtime-command CHANNEL_UP
end
begin
prog = irexec
button = CH_DOWN
repeat = 8
config = tvtime-command CHANNEL_DOWN
end
begin
prog = irexec
button = MUTE
config = tvtime-command TOGGLE_MUTE
end
begin
prog = irexec
button = FULLSCREEN
config = tvtime-command TOGGLE_FULLSCREEN
endЗапускаем irexec в консоли и проверяем работу, tvtime должен запускаться и с пульта менять каналы и громкость.
Для списка доступных команд tvtime (что бы добавить их в конфиг) наберите
tvtime-command.
При настройке и написании howtoиспользованы следующие ресурсы:
http://www.beholder.ru/bb/viewtopic.php?t=5519https://forum.ubuntu.ru/index.php?topic=7294.0http://www.beholder.ru/bb/viewtopic.php?t=2350http://www.linuxtv.org/v4lwiki/index.php/Remote_controllers