Текущее время: 27 апр 2024, 16:43 • Часовой пояс: UTC + 3 часа
Сообщения без ответов | Активные темы

Beholder BeholdTV 609 FM под Ubuntu 9.10

Начать новую темуОтветить на тему Страница 1 из 1 [ Сообщений: 12 ]
Версия для печати Пред. тема | След. тема
АвторСообщение
Сообщение Добавлено: 21 мар 2010, 13:04. Заголовок сообщения:  Beholder BeholdTV 609 FM под Ubuntu 9.10
Зарегистрирован:
    24 ноя 2006, 18:33
Сообщения: 14
Еще один пример настройки для Beholder BeholdTV 609 FM под Ubuntu 9.10

Всем привет. Прочитал тут все темы по настройке и хочу выложить свой пример, может быть кому поможет. У меня тюнер "Beholder BeholdTV 609 FM", это принципиально в некоторых моментах. Об этом я напишу позже.

1. Вспомним какой собственно у нас тюнер =)
Код:
dmesg | grep saa

В 4-й строчке у меня видно:
Код:
...
[   12.000120] saa7133[0]: subsystem: 5ace:6091, board: Beholder BeholdTV 609 FM [card=164,autodetected]
...

Кстати, действительно не надо ничего искать и настраивать в модулях. Параметры карты (card,...) все определились автоматически.

2. Устанавливаем lirc. Тут все просто. Я при установки на вопросы о тюнере везде поставил "None".
Код:
sudo apt-get install lirc

Тут кстати уместно заметить что есть такая программа gnome-lirc-properties. В ней вроде как можно настроить свой пульт. Можете попробовать но там всего 2 модели бехолдера прописаны и ни одна из них мне не подошла. Во вторых она настраивает пульт по своему и я так и не смог прикрутить к ней правила для разных приложений (видео плеера, и т.д.). Все что у меня работало так это play/pause и изменение громкости.

3. Найдем а какое собственно устройство у нас в /dev
Код:
cat /proc/bus/input/devices

Эта команда перечислит наши устройства ввода. Последним у меня было такое:
Код:
I: Bus=0018 Vendor=0000 Product=0000 Version=0000
N: Name="i2c IR (BeholdTV)"
P: Phys=i2c-0/0-002d/ir0
S: Sysfs=/devices/virtual/input/input6
U: Uniq=
H: Handlers=kbd event6
B: EV=100003
B: KEY=20fc014 b0004100000000 0 40000000000 9000004003 1e000000000000 ffc

По имени "i2c IR (BeholdTV)" видно что это и есть наш тюнер, и это event6 а значит полный путь будет /dev/input/event6

4. Ну и собственно настройка lirc

4.1 Редактируем /etc/lirc/hardware.conf:
Код:
# /etc/lirc/hardware.conf
#
#Chosen Remote Control
REMOTE="BeholdTV 609 FM" # Это прото название котороя я вписал
REMOTE_MODULES=""
REMOTE_DRIVER="dev/input"
REMOTE_DEVICE="/dev/input/event6" # это мы нашли на 3-м шаге
REMOTE_SOCKET=""
REMOTE_LIRCD_CONF="/etc/lirc/lircd.conf"
REMOTE_LIRCD_ARGS=""

#Chosen IR Transmitter
TRANSMITTER=""
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=""

4.2 Настройки для пульта в /etc/lirc/lircd.conf
Код:
# Feel free to add any custom remotes to the configuration
# via additional include directives or below the existing
# include directives from your selected remote and/or
# transmitter.
#

begin remote
    name             BeholdTV 609 FM
    bits             16
    eps              30
    aeps             100
    one              0 0
    zero             0 0
    pre_data_bits    16
    pre_data         0x8001
    gap              135995
    toggle_bit_mask  0x0

    begin codes
        TVFV            0x0000000080010181      #?
        POWER           0x0000000080010074

        1               0x0000000080010002
        2               0x0000000080010003
        3               0x0000000080010004
        4               0x0000000080010005
        5               0x0000000080010006
        6               0x0000000080010007
        7               0x0000000080010008
        8               0x0000000080010009
        9               0x000000008001000a
        0               0x000000008001000b

        VOLUMEDOWN      0x0000000080010072
        VOLUMEUP        0x0000000080010073
        CHANNELUP       0x0000000080010192
        CHANNELDOWN     0x0000000080010193
        OK              0x0000000080010160

        RECALL          0x0000000080010081
        ASPECT          0x0000000080010177
        MODE            0x0000000080010175
        FULLSCREEN      0x0000000080010174
        MUTE            0x0000000080010071
        INFO            0x0000000080010166
        RECORD          0x00000000800100a7
        PLAYPAUSE       0x00000000800100a4
        STOP            0x0000000080010080
        TELETEXT        0x0000000080010184
        FORWARD         0x000000008001018e
        BACK            0x0000000080010190
        SLEEP           0x000000008001008e
        PREVIOUS        0x000000008001018f
        NEXT            0x0000000080010191
        FREEZE          0x00000000800100ea
        SNAPSHOT        0x0000000080010199

    end codes
end remote

Насколько я понял коды клавиш на пульте разные для разных моделей тюнера. Поэтому многие примеры приведенные здесь вроде бы правильные но не работают, потому что просто не те коды.
Код для TVFV я пока не нашел =)

4.3 Перезапустим:
Код:
sudo /etc/init.d/lirc restart

4.4 Тут я хочу сказать как проверял все эти коды:
Код:
irw

А дальше жмете на кнопочки пульта и видите на экране какая нажата. Если все правильно то хорошо. Здесь стоит обратить внимание на то, что кнопочки которые вы нажимаете на пульте должны действительно совпадать с тем что на экране написано. Если не совпадает, то зайдите в файл 4.2 и поменяйте названия для кодов, чтобы было правильно. Не забывайте перезапускать lirc при каждом изменении файла (п.4.3).

4.5 Собственно сам пульт должен быть настроен. Возможно даже некоторый кнопки будут работать: громкость больше/меньше ....

4.6 Но мы хотим управлять чуть большим чем просто громкость. Поэтому надо у себя в домашнем каталоге создать файл .lircrc
Код:
### IREXEC ###

begin irexec

    # Run applications
    begin
        prog   = irexec
        button = 1
        # Start TVtime
        config = tvtime --window &
        # Enter tvtime mode
        mode = tvtime
    end

    begin
        prog   = irexec
        button = 2
        # Start Totem player and play DVD
        config = totem dvd:/ &
        # Enter totem mode
        mode = totem
    end

    begin
        prog   = irexec
        button = 3
        # Start Xine and play DVD
        config = xine dvd:/ --hide-gui &
        # Enter xine mode
        mode = xine
    end

    begin
        prog   = irexec
        button = 0
        # Start Rhythmbox player and play
        config = rhythmbox-client --hide --no-present & sleep 1 & rhythmbox-client --play &
        # Enter rhythmbox mode
        mode = rhythmbox
    end

    # Commands for irexec mode
    include ~/.lirc/irexec.lircrc

end irexec

begin tvtime
    include ~/.lirc/tvtime.lircrc
end tvtime

begin totem
    include ~/.lirc/totem.lircrc
end totem

begin xine
    include ~/.lirc/xine.lircrc
end xine

begin rhythmbox
    include ~/.lirc/rhythmbox.lircrc
end rhythmbox

Здесь видно чо все команды с пульта (button = 1) будут передаваться программе (prog = irexec) irexec, которая и будет выполнять разные действия (config = tvtime --window &) и переходить в разные режимы (mode = tvtime). Режимы это когда кнопки пульта переназначаються под определенную программу. Например:
Код:
begin tvtime
    include ~/.lirc/tvtime.lircrc
end tvtime

здесь для режима tvtime будет использоваться конфиг из файла ~/.lirc/tvtime.lircrc все эти файлы я приложу ниже. За файлы эти сильно не бейте, я писал только для тотема и ритмбокса. Но по их примеру можно написать для всего чего угодно.

Офф сайт: http://www.lirc.org/html/configure.html#lircrc_format

Кстати lirc совершенно не привязывается к приложениям. У него все идет через режимы. Сейчас поясню:

Если вы запускаете программу из меню или другим способом, но не через пульт (в моем примере это кнопка 1 на пульте) то ничего работать не будет. Так как в режим работы tvtime сам lirc не перешел (а остался в режиме irexec)! А вот если нажать на кнопку 1, даже при работающем TVTime то тогда lirc перейдет в режим tvtime и начнут работать кнопки. Вот так он живет обственной жизнью, иногда не совпадающей с тем что на экране. Было бы конечно интересно чтобы при запуске какого-либо приложения lirc сам переходил в нужный режим. Надо поискать может какая прога есть или написать создателям lirc на эту тему.

4.7 В гноме надо в автозагрузку добавить команду irexec, ведь через нее все работает в п.4.6: меню Система - Параметры - Запускаемые приложения - Добавить. Название и описание любые, команда: irexec --daemon

Внимание! Когда вы рестартуете демона lirc (п.4.3) не забываейте потом запускать заново irexec --daemon так как он отваливаеться при перезапуске демона lirc. Как и любые другие программы работы с пультом: irw, ir...
Последний раз редактировалось Rubin 23 мар 2010, 12:46, всего редактировалось 1 раз.
Профиль 
Сообщение Добавлено: 21 мар 2010, 13:06. Заголовок сообщения: 
Зарегистрирован:
    24 ноя 2006, 18:33
Сообщения: 14
~/.lirc/tvtime.lircrc

### TVTIME ###

begin
prog=irexec
button=POWER
config=tvtime&
config=tvtime-command QUIT
repeat=0
end

begin
prog=irexec
button=FULLSCREEN
config=tvtime&
config=tvtime-command TOGGLE_FULLSCREEN
repeat=0
end

begin
prog=irexec
button=1
config=tvtime&
config=tvtime-command CHANNEL_1
repeat=0
end

begin
prog=irexec
button=2
config=tvtime&
config=tvtime-command CHANNEL_2
repeat=0
end

begin
prog=irexec
button=3
config=tvtime&
config=tvtime-command CHANNEL_3
repeat=0
end

begin
prog=irexec
button=4
config=tvtime&
config=tvtime-command CHANNEL_4
repeat=0
end

begin
prog=irexec
button=5
config=tvtime&
config=tvtime-command CHANNEL_5
repeat=0
end

begin
prog=irexec
button=6
config=tvtime&
config=tvtime-command CHANNEL_6
repeat=0
end

begin
prog=irexec
button=7
config=tvtime&
config=tvtime-command CHANNEL_7
repeat=0
end

begin
prog=irexec
button=8
config=tvtime&
config=tvtime-command CHANNEL_8
repeat=0
end

begin
prog=irexec
button=9
config=tvtime&
config=tvtime-command CHANNEL_9
repeat=0
end

begin
prog=irexec
button=0
config=tvtime&
config=tvtime-command CHANNEL_0
repeat=0
end

begin
prog=irexec
button=ASPECT
config=tvtime&
config=tvtime-command TOGGLE_ASPECT
repeat=0
end

begin
prog=irexec
button=INFO
config=tvtime&
config=tvtime-command DISPLAY_INFO
repeat=0
end

begin
prog=irexec
button=SLEEP
config=tvtime&
config=tvtime-command TOGGLE_PAUSE
repeat=0
end

begin
prog=irexec
button=MUTE
config=tvtime&
config=tvtime-command TOGGLE_MUTE
repeat=0
end

begin
prog=irexec
button=VOLUMEUP
config=tvtime&
config=tvtime-command RIGHT
repeat=0
end

begin
prog=irexec
button=VOLUMEDOWN
config=tvtime&
config=tvtime-command LEFT
repeat=0
end

begin
prog=irexec
button=CHANNELUP
config=tvtime&
config=tvtime-command UP
repeat=0
end

begin
prog=irexec
button=CHANNELDOWN
config=tvtime&
config=tvtime-command DOWN
repeat=0
end

begin
prog=irexec
button=UP
config=tvtime&
config=tvtime-command UP
repeat=0
end

begin
prog=irexec
button=DOWN
config=tvtime&
config=tvtime-command DOWN
repeat=0
end

begin
prog=irexec
button=RIGHT
config=tvtime&
config=tvtime-command RIGHT
repeat=0
end

begin
prog=irexec
button=LEFT
config=tvtime&
config=tvtime-command LEFT
repeat=0
end
Последний раз редактировалось Rubin 23 мар 2010, 13:22, всего редактировалось 1 раз.
Профиль 
Сообщение Добавлено: 21 мар 2010, 13:07. Заголовок сообщения: 
Зарегистрирован:
    24 ноя 2006, 18:33
Сообщения: 14
~/.lirc/totem.lircrc

### TOTEM ###

begin
prog = irexec
button = POWER
config = totem --quit
# Enter irexec mode
mode = irexec
end
begin
prog = irexec
button = FULLSCREEN
config = totem --fullscreen
end
begin
prog = irexec
button = PLAYPAUSE
config = totem --play-pause
end
begin
prog = irexec
button = NEXT
config = totem --next
end
begin
prog = irexec
button = PREVIUS
config = totem --previous
end
begin
prog = irexec
button = FORWARD
config = totem --seek-fwd
end
begin
prog = irexec
button = BACK
config = totem --seek-bwd
end
begin
prog = irexec
button = VOLUMEUP
config = totem --volume-up
end
begin
prog = irexec
button = VOLUMEDOWN
config = totem --volume-down
end
begin
prog = irexec
button = MODE
config = totem --toggle-controls
end
Профиль 
Сообщение Добавлено: 21 мар 2010, 13:08. Заголовок сообщения: 
Зарегистрирован:
    24 ноя 2006, 18:33
Сообщения: 14
~/.lirc/rhythmbox.lircrc

### RHYTHMBOX ###

begin
prog = irexec
button = POWER
config = rhythmbox-client --quit
# Enter irexec mode
mode = irexec
end
begin
prog = irexec
button = OK
config = rhythmbox-client --hide
end
begin
prog = irexec
button = PLAYPAUSE
config = rhythmbox-client --play-pause
end
begin
prog = irexec
button = NEXT
config = rhythmbox-client --next
end
begin
prog = irexec
button = PREVIUS
config = rhythmbox-client --previous
end
begin
prog = irexec
button = CHANNELDOWN
config = rhythmbox-client --next
end
begin
prog = irexec
button = CHANNELUP
config = rhythmbox-client --previous
end
begin
prog = irexec
button = VOLUMEUP
config = rhythmbox-client --volume-up
end
begin
prog = irexec
button = VOLUMEDOWN
config = rhythmbox-client --volume-down
end
begin
prog = irexec
button = INFO
config = rhythmbox-client --notify
end
begin
prog = irexec
button = MUTE
config = rhythmbox-client --mute
end
Профиль 
Сообщение Добавлено: 21 мар 2010, 13:09. Заголовок сообщения: 
Зарегистрирован:
    24 ноя 2006, 18:33
Сообщения: 14
~/.lirc/irexec.lircrc

### IREXEC ###

begin
prog = irexec
button = POWER
config = sudo poweroff &
end
begin
prog = irexec
button = SLEEP
config = suspend &
end
Профиль 
Сообщение Добавлено: 21 мар 2010, 19:09. Заголовок сообщения: 
Зарегистрирован:
    01 фев 2010, 09:27
Сообщения: 14
А может кто скажет почем в ответ на:
Код:
dmesg | grep saa


выходит:
Код:
[    7.363727] saa7133[0]: subsystem: 5ace:6090, board: Beholder BeholdTV 505 FM [card=126,insmod option]


Хотя тюнер 609FM :o
Профиль 
Сообщение Добавлено: 22 мар 2010, 05:36. Заголовок сообщения: 
Beholder
Аватара пользователя
Зарегистрирован:
    19 авг 2004, 11:51
Сообщения: 396
Номер ядра какой? Приводил в соответствие PCI ID и названия, сечас все правильно. На 0x5ace:0x6090 должен показать "Beholder BeholdTV 609 FM"
Профиль 
Сообщение Добавлено: 22 мар 2010, 07:13. Заголовок сообщения: 
Зарегистрирован:
    01 фев 2010, 09:27
Сообщения: 14
Все работает кроме пульта, делал точь в точь как по инструкции. И тюнер начал опредиляться правильно. Но пульт реагирует в терминале, а вот в tvtime не хочет

Версия ядра:
Код:
Linux MadeMan 2.6.31-20-generic #58-Ubuntu SMP Fri Mar 12 04:38:19 UTC 2010 x86_64 GNU/Linux

Каналы нашел практически все, но при листинге они располагаются через пустой, и нет ТНТ. Как найти ТНТ?
Профиль 
Сообщение Добавлено: 23 мар 2010, 11:57. Заголовок сообщения: 
Зарегистрирован:
    24 ноя 2006, 18:33
Сообщения: 14
писал(а):
Все работает кроме пульта, делал точь в точь как по инструкции. И тюнер начал опредилятся правильно. Но пульт реагирует в терминале, а вот в tvtime не хочет

Наверно забыл упомянуть что lirc совершенно не привязывается к приложениям. У него все идет через режимы. Сейчас поясню:

Если вы запускаете программу из меню или другим способом, но не через пульт (в моем примере это кнопка 1 на пульте) то ничего работать не будет. Так как в режим работы tvtime сам lirc не перешел! А вот если нажать на кнопку 1, даже при работающем TVTime то тогда lirc перейдет в режим tvtime и начнут работать кнопки. Вот так он живет обственной жизнью, иногда не совпадающей с тем что на экране. Было бы конечно интересно чтобы при запуске какого-либо приложения lirc сам переходил в нужный режим. Надо поискать может какая прога есть или написать создателям lirc на эту тему.

писал(а):
Каналы нашел практически все, но при листинге они располагаются через пустой, и нет ТНТ. Как найти ТНТ?

Честно говоря у меня есть телевизор и кабельное. Сейчас тюнер использую только как ДУ для totem, rhythmbox и т.д. Про настройку каналов, "пустые" каналы в TVTime и тому подобное, лучше задайте вопрос в теме про TVTime.
Профиль 
Сообщение Добавлено: 23 мар 2010, 13:18. Заголовок сообщения: 
Зарегистрирован:
    24 ноя 2006, 18:33
Сообщения: 14
писал(а):
~/.lirc/tvtime.lircrc

### TVTIME ###
...

Дико извеняюсь. Здесь я скопировал из другого файла и названия для кодов клавиш естественно другое и работать не буду.

Сейчас поправлю.
Профиль 
Сообщение Добавлено: 23 мар 2010, 17:07. Заголовок сообщения: 
Зарегистрирован:
    01 фев 2010, 09:27
Сообщения: 14
Я дико извиняюсь, но если терминал "глотает" все команды и отображает их как правильные, то вопрос, как все таки прикрутить пульт к tvtime?
Профиль 
Сообщение Добавлено: 06 дек 2011, 16:01. Заголовок сообщения:  Re:
Зарегистрирован:
    09 фев 2011, 23:54
Сообщения: 4
Цитата:
3. Найдем а какое собственно устройство у нас в /dev
Код:
cat /proc/bus/input/devices

Эта команда перечислит наши устройства ввода. Последним у меня было такое:
Код:
I: Bus=0018 Vendor=0000 Product=0000 Version=0000
N: Name="i2c IR (BeholdTV)"
P: Phys=i2c-0/0-002d/ir0
S: Sysfs=/devices/virtual/input/input6
U: Uniq=
H: Handlers=kbd event6
B: EV=100003
B: KEY=20fc014 b0004100000000 0 40000000000 9000004003 1e000000000000 ffc

По имени "i2c IR (BeholdTV)" видно что это и есть наш тюнер, и это event6 а значит полный путь будет /dev/input/event6


Подскажите, а что делать если после перезагрузки значение event меняется? изначально был 8 потом 7 потом 6...
Профиль ICQ 
Показать сообщения за:  Поле сортировки:    
Начать новую темуОтветить на тему  Страница 1 из 1  [ Сообщений: 12 ]  
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 131
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения
Найти:  
Перейти: