Достал из старых запасов плату AverTV/Studio 305 .
Естественно все необходимые пакеты дожны быть установлены.
Сначало разбираемся с драйверами на ТВ тюнер AverTV/Studio 305. Командой lsmod (от root) смотрим загружается ли модуль saa7134. Модуль будет грузиться если он есть в системе, но плата работать не должна. Модулю необходимо передать соответствующие опции. Для ТВ тюнера можно посмотреть тут: https://www.mjmwired.net/kernel/Documentation/video4linux/CARDLIST.saa7134.
Мой файл конфигурации:
/etc/modprobe.d/saa7134.conf
alias char-major-81 videodev
alias char-major-81-0 saa7134
options saa7134 card=35 tuner=38 secam=dk
options tuner secam=d
На этом этапе можно воткнуть в плату антенну, выход звука подключить к услилителю и настроить каналы в tvtime. С tvtime-scanner у меня ни чего вразумительного не получилось. Хотя она помогла увидеть что каналы есть. Тем не менее для первоначальной настройки можно запустить
tvtime-scanner -n PAL && tvtime-scanner -n SECAM
С удивлением обнаружил, что мое кабельное ТВ вещает в стандарте PAL. Во всяком случае цвет появляется с этой опцией.
Телевизор без пульта ДУ- деньги на ветер. Втыкаем ИК датчик из состава платы. Ищем устройство типа: /dev/input/by-path/pci-0000:03:06.0-event-ir , как видим на конце "ir" - это тайны знак.
Пытаемся проверить работоспособность устройства:
/etc/init.d/lircd stop (на всякий случай)
cat /dev/input/by-path/pci-0000:03:06.0-event-ir
Жмем на кнопки пульта, стреляя в датчик. Если видим в терминале такую ерунду, как на рисунке, то устройство и пульт работает.
Пульт ДУ можно проверить при помощи камеры мобильного телефона. Смотрим на пульт через камеру, и жмем кнопки. Если камера показывает яркие вспышки, то пульт работает. Да, да камера мобильного телефона видит ИК излучение.
Если устройство работает, то правим файл настройки lirc. Два часа потратил на то, чтобы понять: пустые строки перед OPT НЕДОПУСТИМЫ.
/etc/sysconfig/lircd
# example config for creative audigy 2 livecdrive
# see https://bugzilla.altlinux.org/show_bug.cgi?id=9454
#
# OPT="--driver livedrive_midi -c /dev/snd/midiC0D1"
OPT="--driver devinput --device /dev/input/by-path/pci-0000:03:06.0-event-ir"
Дальше начинается самое интересное, настройка пульта ДУ. Точнее настройка распознования команд. Для этого есть программа irrecord . По умолчанию она переписывает файл /etc/lircd.conf , я советую его када нибуть сохранить, вдруг пригодится.
Для проверки результата есть команда irw - читает сообщения с сокета lircd и выдает на stdout; в качестве параметра можно указать имя сокета ( /var/run/lirc/lircd); на каждое нажатие выдаётся строка текста (число-повторений у меня всегда равно нулю; имя-клавиши и имя-пульта-ДУ определяются в /etc/lircd.conf и не могут содержать пробелы):
код число-повторений имя-клавиши имя-пульта-ДУ
/etc/lircd.conf
# Please make this file available to others
# by sending it to <lirc@bartelmus.de>
#
# this config file was automatically generated
# using lirc-0.9.0(devinput) on Sat Dec 23 17:38:44 2017
#
# contributed by
#
# brand: lircd.conf
# model no. of remote control:
# devices being controlled by this remote:
#
begin remote
name lircd.conf
bits 56
eps 30
aeps 100
one 0 0
zero 0 0
pre_data_bits 8
pre_data 0x0
gap 124988
toggle_bit_mask 0x0
begin codes
TV_FM 0x04000400000020 0x01017900000001
TV_FM 0x04000400000020 0x01017900000001
CD 0x04000400000010 0x01017F00000001
TELETEXT 0x04000400000030 0x01018400000001
POWER 0x04000400000000 0x01007400000001
1 0x04000400000028 0x01000200000001
2 0x04000400000018 0x01000300000001
3 0x04000400000038 0x01000400000001
VIDEO 0x04000400000008 0x01018900000001
4 0x04000400000024 0x01000500000001
5 0x04000400000014 0x01000600000001
6 0x04000400000034 0x01000700000001
AUDIO 0x04000400000004 0x01018800000001
7 0x0400040000002C 0x01000800000001
8 0x0400040000001C 0x01000900000001
9 0x0400040000003C 0x01000A00000001
FULL_SCREEN 0x0400040000000C 0x01017400000001
0 0x04000400000022 0x01000B00000001
DISPLAY 0x04000400000012 0x01017200000001
LOOP 0x04000400000032 0x0100A800000001
PREVIEW 0x04000400000002 0x0100D200000001
AUTOSCAN 0x0400040000002A 0x0100D900000001
FREEZE 0x0400040000001A 0x01008E00000001
CAPTURE 0x0400040000003A 0x0100D400000001
MUTE 0x0400040000000A 0x01007100000001
RECORD 0x04000400000026 0x0100A700000001
PAUSE 0x04000400000016 0x01007700000001
STOP 0x04000400000036 0x01008000000001
PLAY 0x04000400000006 0x0100CF00000001
RED 0x0400040000002E 0x01018E00000001
VOL_MIN 0x0400040000001E 0x01007200000001
VOL_UP 0x0400040000003E 0x01007300000001
GOL 0x0400040000000E 0x01019000000001
GREEN 0x04000400000021 0x01018F00000001
CL_DOWN 0x04000400000011 0x01019300000001
CL_UP 0x04000400000031 0x01019200000001
GREEN_R 0x04000400000001 0x01019100000001
end codes
end remote
При входе вашего пользователя в систему будет загружаться сервис irexec, для управления программами в соответствии с файлом ~/.lircrc.
pactl - попытка настроить ввод звука с ТВ тюнера через микрофонный вход. Точнее сигнал со всех входов начинает проникать на все выходы. У меня происходит задержка 2-3 секунды от изображения. Иногда раздрожает. ....
/home/mikuz/.bash_profile
killall irexec
irexec -d ~/.lircrc
pactl load-module module-loopback adjust_time=0 >> /dev/null
/home/mikuz/.lircrc
begin
prog = irexec
button = RED
config = tvtime-command TOGGLE_FULLSCREEN
end
begin
prog = irexec
button = CL_UP
config = tvtime-command UP
repeat = 1
end
begin
prog = irexec
button = CL_DOWN
config = tvtime-command DOWN
repeat = 1
end
begin
prog = irexec
button = VOL_UP
config = tvtime-command RIGHT
repeat = 2
end
begin
prog = irexec
button = VOL_DOWN
config = tvtime-command LEFT
repeat = 2
end
begin
prog = irexec
button = MUTE
config = tvtime-command TOGGLE_MUTE
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 = POWER
config = tvtime-command QUIT
end
# EOF
Кроме того пользователя, использующего пульт ДУ, необходимо дрбавить в группу которой пренадлежит сокет /var/run/lirc/lircd. Запуск при загрузке lircd.