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

Работа пульта ДУ в разных программах - ПЕРЕЗАГРУЗКА

Начать новую темуОтветить на тему Страница 1 из 1 [ 1 сообщение ]
Версия для печати Пред. тема | След. тема
АвторСообщение
Сообщение Добавлено: 27 июл 2012, 19:21. Заголовок сообщения:  Работа пульта ДУ в разных программах - ПЕРЕЗАГРУЗКА
Зарегистрирован:
    27 июл 2012, 13:41
Сообщения: 1
Откуда: Москва
Доброго времени суток всем! На дворе июль 2012 года!
Отцы, спецы и иже с ними, я задолбался разбираться как заставить работать пульт ДУ от Behold TV H7.
Точнее, мануалы приведённые здесь мне не помогают.
Для начала представлюсь:
Ubuntu 10.04.04
Ядро 3.0.0-15-generic
Тюнер разумеется Behold TV H7
Пульт ДУ - родной, из комплекта
Программа для просмотра ТВ - Tvtime.
ПРОБЛЕМА: не работают кнопки переключения каналов на пульте CH-UP и CH-DOWN
Цифры, регулировка звука, питание и др. - в пределах нормы.

Код:
technocrat@deskuntu:~$ dmesg | grep BeholdTV
[   19.330586] saa7133[0]: subsystem: 5ace:7190, board: Beholder BeholdTV H7 [card=178,autodetected]
[   44.472253] input: i2c IR (BeholdTV) as /devices/virtual/rc/rc0/input5
[   44.472362] rc0: i2c IR (BeholdTV) as /devices/virtual/rc/rc0
[   44.472365] ir-kbd-i2c: i2c IR (BeholdTV) detected at i2c-1/1-002d/ir0 [saa7133[0]]
technocrat@deskuntu:~$ dmesg | grep saa
[   19.330381] saa7130/34: v4l2 driver version 0.2.16 loaded
[   19.330570] saa7134 0000:03:06.0: PCI INT A -> GSI 20 (level, low) -> IRQ 20
[   19.330577] saa7133[0]: found at 0000:03:06.0, rev: 209, irq: 20, latency: 32, mmio: 0xfdcff000
[   19.330586] saa7133[0]: subsystem: 5ace:7190, board: Beholder BeholdTV H7 [card=178,autodetected]
[   19.330619] saa7133[0]: board init: gpio is 0
[   19.484089] saa7133[0]: i2c eeprom 00: ce 5a 90 71 54 20 00 00 00 00 00 00 00 00 00 01
[   19.484097] saa7133[0]: i2c eeprom 10: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[   19.484102] saa7133[0]: i2c eeprom 20: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[   19.484108] saa7133[0]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[   19.484113] saa7133[0]: i2c eeprom 40: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[   19.484118] saa7133[0]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[   19.484123] saa7133[0]: i2c eeprom 60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[   19.484128] saa7133[0]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[   19.484133] saa7133[0]: i2c eeprom 80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[   19.484138] saa7133[0]: i2c eeprom 90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[   19.484142] saa7133[0]: i2c eeprom a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[   19.484147] saa7133[0]: i2c eeprom b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[   19.484152] saa7133[0]: i2c eeprom c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[   19.484157] saa7133[0]: i2c eeprom d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[   19.484162] saa7133[0]: i2c eeprom e0: 97 db 00 00 ff ff ff ff ff ff ff ff ff ff ff ff
[   19.484167] saa7133[0]: i2c eeprom f0: 42 54 56 30 30 30 30 ff ff ff ff ff ff ff ff ff
[   19.492095] saa7133[0]: i2c scan: found device @ 0x1e  [???]
[   19.504090] saa7133[0]: i2c scan: found device @ 0x5a  [remote control]
[   19.516090] saa7133[0]: i2c scan: found device @ 0xa0  [eeprom]
[   19.526871] saa7133[0]: i2c scan: found device @ 0xc2  [???]
[   44.472365] ir-kbd-i2c: i2c IR (BeholdTV) detected at i2c-1/1-002d/ir0 [saa7133[0]]
[   44.472941] saa7133[0]: registered device video0 [v4l2]
[   44.472963] saa7133[0]: registered device vbi0
[   44.472983] saa7133[0]: registered device radio1
[   44.485281] saa7134 ALSA driver for DMA sound loaded
[   44.485342] saa7133[0]/alsa: saa7133[0] at 0xfdcff000 irq 20 registered as card -1
[   44.573289] DVB: registering new adapter (saa7133[0])
technocrat@deskuntu:~$ dmesg | grep IR
...............................................................................
[   19.330570] saa7134 0000:03:06.0: PCI INT A -> GSI 20 (level, low) -> IRQ 20
...............................................................................
[   19.511051] IR NEC protocol handler initialized
[   19.531267] IR RC5(x) protocol handler initialized
[   19.554977] IR RC6 protocol handler initialized
[   20.007954] IR JVC protocol handler initialized
[   20.106209] IR Sony protocol handler initialized
...............................................................................
[   20.202191] lirc_dev: IR Remote Control driver registered, major 249
[   20.203191] IR LIRC bridge handler initialized
...............................................................................
[   44.472100] Registered IR keymap rc-behold
[   44.472253] input: i2c IR (BeholdTV) as /devices/virtual/rc/rc0/input5
[   44.472362] rc0: i2c IR (BeholdTV) as /devices/virtual/rc/rc0
[   44.472365] ir-kbd-i2c: i2c IR (BeholdTV) detected at i2c-1/1-002d/ir0 [saa7133[0]]
...............................................................................
technocrat@deskuntu:~$ dmesg | grep i2c
...............................................................................
[   19.892597] i2c-core: driver [tuner] using legacy suspend method
[   19.892601] i2c-core: driver [tuner] using legacy resume method
...............................................................................
technocrat@deskuntu:~$ dmesg | grep xc5000
[   20.117306] xc5000 1-0061: creating new instance
[   20.124085] xc5000: Successfully identified at address 0x61
[   20.124089] xc5000: Firmware has not been loaded previously
[   44.556094] xc5000: waiting for firmware upload (dvb-fe-xc5000-1.6.114.fw)...
[   44.572154] xc5000 1-0061: attaching existing instance
[   44.573270] xc5000: I2C read failed
[   44.573282] xc5000: I2C read failed
[   44.604941] xc5000: firmware read 12401 bytes.
[   44.604945] xc5000: firmware uploading...
[   48.744088] xc5000: firmware upload complete...
[   57.029242] xc5000: I2C write failed (len=4)
[   57.029508] xc5000: I2C read failed
[   57.043906] xc5000: I2C read failed
technocrat@deskuntu:~$ lsmod
Module                  Size  Used by
zl10353                13753  1
saa7134_dvb            34414  0
videobuf_dvb           14147  1 saa7134_dvb
dvb_core              110178  1 videobuf_dvb
saa7134_alsa           18546  1
rc_behold              12499  0
ir_kbd_i2c             13142  0
binfmt_misc            17498  1
ppdev                  17180  0
pci_stub               12622  1
vboxpci                23112  0
vboxnetadp             25670  0
vboxnetflt             23506  0
vboxdrv               287233  3 vboxpci,vboxnetadp,vboxnetflt
reiserfs              247394  1
xfs                   820455  1
snd_hda_codec_hdmi     31787  1
snd_hda_codec_realtek   329829  1
ir_lirc_codec          12940  0
lirc_dev               19204  1 ir_lirc_codec
snd_hda_intel          32995  2
snd_hda_codec         104241  3 snd_hda_codec_hdmi,snd_hda_codec_realtek,snd_hda_intel
xc5000                 18668  1
snd_hwdep              13652  1 snd_hda_codec
ir_sony_decoder        12549  0
snd_pcm                96468  4 saa7134_alsa,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec
snd_seq_midi           13324  0
ir_jvc_decoder         12546  0
snd_rawmidi            30385  1 snd_seq_midi
tuner                  27377  1
snd_seq_midi_event     14899  1 snd_seq_midi
snd_seq                61538  2 snd_seq_midi,snd_seq_midi_event
ir_rc6_decoder         12546  0
ir_rc5_decoder         12546  0
ir_nec_decoder         12546  0
fglrx                3264005  47
saa7134               181314  2 saa7134_dvb,saa7134_alsa
joydev                 17597  0
snd_timer              29708  2 snd_pcm,snd_seq
snd_seq_device         14490  3 snd_seq_midi,snd_rawmidi,snd_seq
snd                    68011  17 saa7134_alsa,snd_hda_codec_hdmi,snd_hda_codec_realtek,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm,snd_rawmidi,snd_seq,snd_timer,snd_seq_device
rc_core                26919  10 rc_behold,ir_kbd_i2c,ir_lirc_codec,ir_sony_decoder,ir_jvc_decoder,ir_rc6_decoder,ir_rc5_decoder,ir_nec_decoder,saa7134
videobuf_dma_sg        19307  3 saa7134_dvb,saa7134_alsa,saa7134
videobuf_core          26138  3 videobuf_dvb,saa7134,videobuf_dma_sg
v4l2_common            16494  2 tuner,saa7134
videodev               88394  3 tuner,saa7134,v4l2_common
v4l2_compat_ioctl32    17160  1 videodev
tveeprom               21250  1 saa7134
edac_core              53411  0
edac_mce_amd           23540  0
wmi                    19141  0
k10temp                13119  0
soundcore              12680  1 snd
snd_page_alloc         18484  2 snd_hda_intel,snd_pcm
shpchp                 37252  0
serio_raw              13208  0
i2c_piix4              13287  0
lp                     17789  0
parport                46360  2 ppdev,lp
usb_storage            57484  1
usbhid                 46754  0
hid                    95075  1 usbhid
uas                    17891  0
r8169                  52130  0
pata_atiixp            13157  0
ahci                   26002  7
libahci                30767  1 ahci


Нанём с первой страницы ветки форума "Работа пульта ДУ в разных программах":
igk72 сообщает, что существует два способа решения проблемы с разнобоем hardware-кодов клавиш и кодов клавиатурных событий:

Цитата:
1) применять пакет lirc с настройкой на драйвер dev/input и соответсвуюшим lircd-конфигом. Как настроить lirc читайте сами (или ниже, я дописал для новичков), тем более это легко и везде описано.
Готовый файл lircd.conf

2) с помощью программы input--kbd (из пакета input-utils) на старте динамически изменять "расскладку" пульта, так чтобы не было многобайтных клавиатурных событий от пульта.
примерно вот так
input-kbd -f /etc/input-kbd/beholder `cat /proc/bus/input/devices | grep -2 "i2c-.*/.*/ir0" | grep "H:" | awk '{ sub(/event/, "", $3); print $3}'` >/dev/null 2>&1
расположить можно в /etc/rc.d/rc.local или где еще в зависимости от дистрибутива.
Файлы
- файл beholder для input-kbd
- пакет input-utils


Надо ли упоминать, что файлы недоступны для загрузки?
А должен ли пост в сязи с этим быть отредактированным?
Про логику поста уже кто-то писал, присоединяюсь к оценке - логики мало.
Понятно, что писалось при дифиците времени и человеком, который сам себя понимает на 100%.
То, что igk72 соображает в Linux у меня сомнений нет никаких, СНИМАЮ ШЛЯПУ!
Но, уважаемые знатоки, нам, не знатокам очень трудно, и вся надежда на вас.
Если уж берётесь помогать, то будьте снисходительнее, пожалуйста.
Поймите правильно, кто-то давно прожевал проблему, переварил, и выбросил, а кто-то только что пришёл на форум за информацией и за помощью, и оказывается в бурлящем океане разнокалиберной информации.
Форум ведь не мануал, прочитал - сделал.
Попробуйте, к примеру, представить себя на фондовой или валютной бирже, в чём вы ничего не понимаете, где кричат и машут руками много людей, и попробуйте представить, как вы что нибудь продаёте-покупаете в этом гаме. :-)
Простите! Просто наболело, измучился из-за непоняток.


Итак, я выбираю второй способ из рекомендованных igk72.
Мотивы:
- не хочу трогать lirc, т.к. задача - управлять тюнером а не всем рабочим столом;
- хочу просто заставить пульт ДУ и тюнер работать нативно, т.к. вижу, что модули для этого грузятся и похоже, что работать должны;
- хочу понять как всё это работает, ибо не обезъяна - "нажми на кнопку, получишь результат";
- к стыду своему, слаб в английском, man'ы читать тяжело (но пытаюсь), но как только пульт заработает, обещаю, начну повышать свой уровень в английском.

Итак, файла beholder для input-kbd у меня нет. Иду дальше.

Встречаю предположение:
Цитата:
Возможно надо так же четко указать чтобы программы не захватывали устройство пульта как еще одну клавиатуру.

Думаю касается ли это меня, я же не знаю что делать, и где искать проблему.
Но иду по ссылке (т.е. начинаю растекаться мозгом по форуму):
http://www.beholder.ru/bb/viewtopic.php?p=48076#48076
Не зря, наткнулся на интересную подсказку, увидел крокозябры (нечитаемые символы) на экране при нажати кнопок пульта на выходе команды:
Код:
cat /dev/input/event5

видимо пульт дышит.
Дале читаю малопонятное, то про lirc и его конфиги, который мне не нужен, то ещё про что-то.
Но на всякий случай набил следующим содержимым указанный файл:
/etc/hal/fdi/preprobe/lirc.fdi
Код:
<?xml version="1.0" encoding="UTF-8"?>
<deviceinfo version="0.2">
  <device>
     <match key="info.product" contains_ncase="Behold">
        <merge key="info.ignore" type="bool">true</merge>
     </match>
  </device>
</deviceinfo>

Далее узнаю, что Х-сервер имеет свою таблицу соответствия кодов... голова начинает пухнуть.
Далее igk72 стругает несчастного Otto и объясняет ему что, как и где надо читать внимательнее.
Но тем не менее, даёт ему советы. Одним из них я пользуюсь, но получаю следующее при команде:
Код:
sudo input-events $(lsinput |grep -B 5 "BeholdTV" | grep "event" | sed 's#.*event##')
open /dev/input/event0: Permission denied
usage: input-events [ -g ] [ -t <sec> ] devnr

Но я понимаю что хочет igk72, подставляю в команду то, что подразумевается и получаю:
Код:
sudo input-events 5
/dev/input/event5
protocol version mismatch (expected 65536, got 65537)


К слову надо сказать:
Код:
technocrat@deskuntu:~$ sudo lsinput
[sudo] password for technocrat:
/dev/input/event0
protocol version mismatch (expected 65536, got 65537)


Далее отцы продолжают разговаривать про lirc, потом появляется паскалист, для идеи которого место в отдельной теме.
А pupkin кого-то победил, но где он взял файл behold по прежнему не ясно.
8 страниц заканчиваются гласом о помощи MikeB:
Цитата:
Можно поподробнее, ir-kbd-i2c rc-behold /etc/rc_keymaps/behold это команда или это нужно дописать в /etc/rc_map.cfg?

То есть, я пришёл к финишу ни с чем, прочитав 8 страниц. Тема не раскрыта.

Жду помощи и подсказок.
Кто возьмётся помочь?
Завидую англосаксам, мануалы на родном языке читают и раскладки клавиатур им не нужно переключать!
Профиль 
Показать сообщения за:  Поле сортировки:    
Начать новую темуОтветить на тему  Страница 1 из 1  [ 1 сообщение ]  
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 17
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения
Найти:  
Перейти: