Проблемы с tv tuner (saa7134) [проблемы с irexec,mplayer медленно переключает каналы]

Народ, помогите пожалуйста, не могу разобраться.

Проблема в следующем:

Загружаю модуль:

modprobe saa7134 card=59 tuner=51

С этими параметрами мой тюнер работал на старом компе.
На новом компе в логе вижу следующее:

Dec 10 00:16:16 blow kernel: saa7130/34: v4l2 driver version 0.2.15 loaded
Dec 10 00:16:16 blow kernel: saa7133[0]: found at 0000:06:01.0, rev: 209, irq: 17, latency: 64, mmio: 0xfebff800
Dec 10 00:16:16 blow kernel: saa7133[0]: subsystem: 17de:7122, board: Kworld/Tevion V-Stream Xpert TV PVR7134 [card=59,insmod option]
Dec 10 00:16:16 blow kernel: saa7133[0]: board init: gpio is c0407f
Dec 10 00:16:16 blow kernel: input: saa7134 IR (Kworld/Tevion V-Str as /devices/pci0000:00/0000:00:1e.0/0000:06:01.0/input/input7
Dec 10 00:16:16 blow kernel: IRQ 17/saa7133[0]: IRQF_DISABLED is not guaranteed on shared IRQs
Dec 10 00:16:16 blow kernel: saa7133[0]: i2c eeprom 00: de 17 22 71 10 28 ff ff ff ff ff ff ff ff ff ff
Dec 10 00:16:16 blow kernel: saa7133[0]: i2c eeprom 10: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Dec 10 00:16:16 blow kernel: saa7133[0]: i2c eeprom 20: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Dec 10 00:16:16 blow kernel: saa7133[0]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Dec 10 00:16:16 blow kernel: saa7133[0]: i2c eeprom 40: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Dec 10 00:16:16 blow kernel: saa7133[0]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Dec 10 00:16:16 blow kernel: saa7133[0]: i2c eeprom 60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Dec 10 00:16:16 blow kernel: saa7133[0]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Dec 10 00:16:16 blow kernel: saa7133[0]: i2c eeprom 80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Dec 10 00:16:16 blow kernel: saa7133[0]: i2c eeprom 90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Dec 10 00:16:16 blow kernel: saa7133[0]: i2c eeprom a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Dec 10 00:16:16 blow kernel: saa7133[0]: i2c eeprom b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Dec 10 00:16:16 blow kernel: saa7133[0]: i2c eeprom c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Dec 10 00:16:16 blow kernel: saa7133[0]: i2c eeprom d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Dec 10 00:16:16 blow kernel: saa7133[0]: i2c eeprom e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Dec 10 00:16:16 blow kernel: saa7133[0]: i2c eeprom f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Dec 10 00:16:16 blow kernel: i2c-adapter i2c-0: Invalid 7-bit address 0x7a
Dec 10 00:16:16 blow kernel: tuner 0-0060: chip found @ 0xc0 (saa7133[0])
Dec 10 00:16:16 blow kernel: tea5767 0-0060: type set to Philips TEA5767HN FM Radio
Dec 10 00:16:16 blow kernel: saa7133[0]: registered device video0 [v4l2]
Dec 10 00:16:16 blow kernel: saa7133[0]: registered device vbi0
Dec 10 00:16:16 blow kernel: saa7133[0]: registered device radio0
Dec 10 00:16:16 blow kernel: saa7134 ALSA driver for DMA sound loaded
Dec 10 00:16:16 blow kernel: IRQ 17/saa7133[0]: IRQF_DISABLED is not guaranteed on shared IRQs
Dec 10 00:16:16 blow kernel: saa7133[0]/alsa: saa7133[0] at 0xfebff800 irq 17 registered as card -1
Dec 10 00:16:17 blow kernel: saa7134 IR (Kworld/Tevion V-Str: unknown key: key=0x03 raw=0x03 down=1

Смущают строки

Dec 10 00:16:16 blow kernel: IRQ 17/saa7133[0]: IRQF_DISABLED is not guaranteed on shared IRQs

и

Dec 10 00:16:16 blow kernel: saa7133[0]/alsa: saa7133[0] at 0xfebff800 irq 17 registered as card -1
Dec 10 00:16:17 blow kernel: saa7134 IR (Kworld/Tevion V-Str: unknown key: key=0x03 raw=0x03 down=1

Никто не сталкивался? Куда копать?

P.S.
tvtime-scanner находит каналы, но tvtime ничего не показывает
пробовал xawtv - тоже ничего

Да, и еще lspci -v: 01:00.1

Да, и еще

lspci -v:

01:00.1 Audio device: ATI Technologies Inc HD48x0 audio
	Subsystem: ASUSTeK Computer Inc. Device aa30
	Flags: bus master, fast devsel, latency 0, IRQ 17
	Memory at fe7fc000 (64-bit, non-prefetchable) [=16K]
	Capabilities: [50] Power Management version 3
	Capabilities: [58] Express Legacy Endpoint, MSI 00
	Capabilities: [a0] Message Signalled Interrupts: Mask- 64bit+ Count=1/1 Enable-
	Capabilities: [100] Vendor Specific Information <?>
	Kernel driver in use: HDA Intel
	Kernel modules: snd-hda-intel

03:00.1 IDE interface: JMicron Technologies, Inc. JMB361 AHCI/IDE (rev 02) (prog-if 85 [Master SecO PriO])
	Subsystem: ASUSTeK Computer Inc. Device 824f
	Flags: bus master, fast devsel, latency 0, IRQ 17
	I/O ports at dc00 [=8]
	I/O ports at d880 [=4]
	I/O ports at d800 [=8]
	I/O ports at d480 [=4]
	I/O ports at d400 [=16]
	Capabilities: [68] Power Management version 2
	Kernel driver in use: pata_jmicron
	Kernel modules: jmicron, pata_acpi, pata_jmicron

06:01.0 Multimedia controller: Philips Semiconductors SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (rev d1)
	Subsystem: KWorld Computer Co. Ltd. Device 7122
	Flags: bus master, medium devsel, latency 64, IRQ 17
	Memory at febff800 (32-bit, non-prefetchable) [=2K]
	Capabilities: [40] Power Management version 2
	Kernel driver in use: saa7134
	Kernel modules: saa7134

Не могу понять, почему 3 устройства имеют одинаковый IRQ, и является ли это ошибкой?

В общем немного

В общем немного разобрался.
IRQ тут не при чем. модуль подгружается нормально.
Так что проблема похоже с tvtime/xawtv.

Проблема в том, что tvtime-scanner каналы находит, но tvtime ничего не показывает.
ни mplayer, ни xawtv, ни vlc тоже ничего не показывают.

Под "ничего не показывают" я имею ввиду - показывают "снег"

P.S. под виндой все в норме, но не перегружаться же для того, чтобы телевизор посмотреть

Ну что ж, продолжу свой блог,

Ну что ж, продолжу свой блог, который похоже никто не читает :-)

Пораскинув еще немного мозгами и пообщавшись с сотрудником пришел к мысли, что проблема не в tvtime (поэтому опять переименую тему)

Проблема получается в том, что либо tvtime и иже с ним передают неправильные комманды на переключение каналов, либо драйвер не понимает правильные комманды tvtime. Но при этом tvtime-sсanner работает с драйвером нормально.

Так что ждите продолжения о том, что я нарою, пока буду дебажить модуль.

Скорее всего, я просто не передаю какой-то параметр при загрузке модуля (и почему я? у меня модуль вообще hal подгружает, и даже правильный параметр card передает. Не уверен на счет параметра tuner, но насколько я помню, если передать неправильный tuner tvtime-scanner ничего не найдет)

У меня все неизменно работает

У меня все неизменно работает с давних времен:

options tuner secam=d

Ура, мне ответили! :-) А

Ура, мне ответили! :-)

А можно я понаглею немного, и спрошу, что у тебя происходит, если ты не передаешь secam=d?

И кстати, если это делать в консоли, то
modprobe saa7134 card=59 tuner=51 secam=d - правильно?
(просто на старом компе этот тюнер и без secam=d работал)

$ mplayer tv:// фстудию!

$ mplayer tv://

фстудию!

mplayer tv://

mplayer tv://                                                                                    
MPlayer SVN-r29463-4.3.4 (C) 2000-2009 MPlayer Team                                                            
mplayer: could not connect to socket                                                                           
mplayer: No such file or directory                                                                             
Неудачное открытие поддержки LIRC.                                                                             
Вы не сможете использовать Ваш пульт управления.                                                               

Воспроизведение tv://.
Заполнение кэша:  0.00% (0 байт(а))   
Обнаружен TV формат файла!            
Выбран драйвер: v4l2                  
 название: Video 4 Linux 2 input      
 автор: Martin Olschewski <olschewski@zpr.uni-koeln.de>
 комментарий first try, more to come ;-)
Selected device: Kworld/Tevion V-Stream Xpert TV
 Tuner cap: STEREO LANG1 LANG2
 Tuner rxs: MONO
 Capabilites:  video capture  video overlay  VBI capture device  tuner  read/write  streaming
 supported norms: 0 = NTSC; 1 = NTSC-M; 2 = NTSC-M-JP; 3 = NTSC-M-KR; 4 = PAL; 5 = PAL-BG; 6 = PAL-H; 7 = PAL-I; 8 = PAL-DK; 9 = PAL-M; 10 = PAL-N; 11 = PAL-Nc; 12 = PAL-60; 13 = SECAM; 14 = SECAM-B; 15 = SECAM-G; 16 = SECAM-H; 17 = SECAM-DK; 18 = SECAM-L; 19 = SECAM-Lc;
 inputs: 0 = Television; 1 = Composite1; 2 = S-Video;
 Current input: 0
 Current format: BGR24
v4l2: current audio mode is : MONO
==========================================================================
Открываю декодер видео: [raw] RAW Uncompressed Video
VDec: запрос vo config - 640 x 480 (предпочитаемое цветовое пространство: Planar YV12)
VDec: использую Planar YV12 в качестве выходного csp (не 0)
Movie-Aspect не определён - предварительное масштабирование не применяется.
VO: [xv] 640x480 => 640x480 Planar YV12  [fs] [zoom]
Выбран видеокодек: [rawyv12] vfm: raw (RAW YV12)
==========================================================================
Аудио: без звука
Начало воспроизведения...
v4l2: 144 frames successfully processed, 16 frames dropped.

И еще. Вчера под виндой футбол смотрел. сейчас перегрузился в linux и вижу тот же канал, на который вчера переключился. Ни tvtime, ни tvtime-scanner каналы не переключают. Но картинка есть

Попробуй другие номера для

Попробуй другие номера для card. На 7134(7130) много разных вариантов, отличаются кроме идентификаторов еще и адресом i2с и при неправильной установке команды просто уходят в никуда
Мои на Avermedia 305 хотя это не поможет
Options saa7134 card=52 tuner=24 secam=dk
Options tuner secam=d

Ок, попробую. А что,

Ок, попробую. А что, последнее время номера карт как-то менялись? на 29 ядре при этих параметрах работало... а при неправильной карте - не создавились устройства в /dev/

а можно по подробнее про адрес i2c? (кстати i2c_scan=1 ничего не находит)

Номера менялись достаточно

Номера менялись достаточно давно, думаю года два-три примерно. Стало больше моделей. Не создадутся при совсем неправильной) В смысле когда vendorid и deviceid на pci не сответствуют. Кроме этого на плате стоит какая-то модель тюнера. Тюнер управляется по i2с и имеет свой адрес (первый байт в посылке i2c) Соответственно если этот адрес не тот то, посылку тюнер не воспримет и переключаться не станет(останется на той частоте, которую поставили до этого другой программой, которая писала по правильному адресу). Еще на разных платах по-разному сделано переключение входных каналов тюнер/video/s-video, их могут переключать разные биты из gpio saa. Модуль tuner такой же модуль, параметр ему как обычно в строке modprobe. Список параметров можно посмотреть командой modinfo Список карт и тюнеров в usr/src/linux/Documentation/video4linux/ CARDLIST.saa7134 и CARDLIST.tuner. Надеюсь что-то из этого поможет

Спасибо за развернутый

Спасибо за развернутый ответ.
Теперь стало понятней про переключение. Вечером попробую

Kirrus написал(а): Мои на

Kirrus написал(а):
Мои на Avermedia 305 хотя это не поможет
Options saa7134 card=52 tuner=24 secam=dk
Options tuner secam=d

Это я так понимаю строки в /etc/modprobe.d/saa7134
А как передать tuner secam=d из консоли?

в современных ядрах модулю

в современных ядрах модулю saa7134 для этого тюнера не обязательно передавать парметры.

secam=d передается именно модулю tuner с не помню с какой версии ядра. так что rmmod saa7134 tuner и modprobe tuner secam=d и saa7134. (что-то мне подсказывает что опцию надо записать в /etc/modprobe.conf/tuner потом update-modules -f , так как модель tuner подгрудается после модуля sa7134

потом в tvtime выставляешь все параметры(страна, тип сигнала поумолчанию, итд.... если у тебя кабельное учти могут присутвоват ькакналы как в секам так и в пал) и сканируешь

Без секам d он найдет едичничные каналы а те что найдет будет качаная картинка(как неправильно выбранный стандарт) - вроде так точно не помню.

По поводу параметров. С ними

По поводу параметров. С ними я буду разбираться уже после того, как заставлю каналы перегружаться, но за инфу все равно спасибо.
Порядок модулей насколько я понимаю не важен, т.к. для подгрузки модуля tuner по зависимости от saa7134 будут использованы параметры из /etc/modprobe.d, т.е. не важно, загрузится он до saa7134 или после, главное, чтобы с правильным параметром.

А вообще на предыдущем компе этот же тюнер работал на ура без всяких секамов :-)

Пересобрал ядро, добавиа

Пересобрал ядро, добавиа отладки в i2c
теперь при попытки переключить канал/изменить частоту
в лог падаеют такие сообщения:
kernel: i2c-adapter i2c-0: master_xfer[0] W, addr=0x60, len=5

так мплеер ТВ кажет или

так мплеер ТВ кажет или нет?
каналы переключаются кнопкой "стрелка вверх/вниз"?

mplayer и tvtime показывают

mplayer и tvtime показывают последний включенный канал. Каналы не переключаются ни "вверх/вниз", ни "k/h"

,

Модуль tuner загружается? (lsmod)
Если да, то:
Я когдато давно настроил свой тюнер на bttv. Тоже была подобная проблема.
Вобщем оказалось надо подбирать параметр card=хх, причем то что в описании якобы было моей картой не работало.
В итоге написал скрипт который поочередно подгружал/выгружал модуль с параметром card в цикле от 1 до 200. Проверял, работает ли переключение, если нет то след. card. В итоге моя карта оказалась card=137. Пару часов просидел подбором, но нашел :)

да, tuner загружен. Так все

да, tuner загружен.

Так все таки переключение зависит от правильного параметра card или правильного tuner?

.

я перебирал card. В итоге модуль гружу так: modprobe bttv card=137 bttv_gpio=1 radio=1 bttv_verbose=0 automute=0
и тюнер отдельно, просто modprobe tuner, без параметров

не знаю, как в bttv, но в

не знаю, как в bttv, но в saa7134 когда на прошлом компе его настраивал, без правильного параметра tuner ничего не находило/не показывало.

Вечером еще поиграюсь с card и tuner, мб действительно что-то поменялось с момента 29 ядра (сейчас 31)

у меня эта моя карта с 22

у меня эта моя карта с 22 ядра и до теперь, все работает
Причем, с некоторыми card=.. показывало но не преключало каналы, с некоторыми не было звука, не работал fm тюнер, вобщем разные были варианты, только с card=137 все стало ок. Удивляюсь как у меня хватило терпения до 137 перебирать, при том, что, если не ошибаюсь, в доках только где-то до 80 описаны соответсвия картам.

Вполне возможно, что твою

Вполне возможно, что твою карту не зацепило изменения. Я тут погуглил и нашел еще людей с похожей проблемой на другом тюнере (тоже saa7134), так что вполне возможно, что bttv ничего не меняли

Всем спасибо за помощь,

Всем спасибо за помощь, проблема с переключением каналов решена.
Проблема была в неверном card (был 59 стал 63). Примечательно, что видео заработало без параметров тюнер/секам и т.д.

Проблема теперь в другом - звук :-).

Хочу пропустить через PCI, но что-то с пол-пинка не вышло. в tvtime звука нет.
Воспользовавшись поиском по форуму нашел такую строку для mplayer
mplayer tv:// -tv driver=v4l2:device=/dev/video0:chanlist=russia:audiorate=32000:alsa:adevice=hw.1,0:amode=1:forceaudio:volume=100:immediatemode=0:norm=SECAM (только adevice заменил с hw.1,0 на hw.2,0; с hw.1,0 не заработало) - в mplayer звук есть.

Итак, вопрос :-) Как передать правильное устройство в tvtime? я там нашел только параметр для миксера (если это оно, то как сопоставить какой нибудь /dev/mixer:pcm например с hw.2,0)???

P.S. в kmix включены все каналы, все ползунки вверху, есть 3 закладки saa7134 (2 из них пустые) - все на максимум.
P.P.S alsaconf запускал, не помогло

tvtime не поддерживает передачу звука по PCI

Можно приделать "костыль" в виде arecord или sox, например. Почитать про этом можете, например, здесь.
Это форум Beholder, но много полезного, думаю, можно почерпнуть и для других моделей тюнеров на saa7134.
А вообще, tvtime морально устарел, и лучше воспользоваться mplayer/smplayer для просмотра TV. На том же форуме в соседней ветке мною описаны действия для SMPlayer.

Не, костыли приделывать не

Не, костыли приделывать не хочу, тем более что у народа все нормально работает и без них.
За ссылку на форум спасибо, почитаю.
А по поводу mplayer vs tvtime мой выбор все же tvtime. Что меня не устраивает в mplayer:
неудобное переключение каналов (k/h, находит канал, но может сразу сбиться, на экране не показывает канал/частоту. Я то мб и привыкну, но жену обучить будет сложно)
нет возможности переключить с режима secam на pal прямо из программы, не перезапуская и не прописывая ничего в коммандной строки
сложный запуск из коммандной строки (куча параметров, запомнить их не реально)

Вполне возможно, что все это решаемо. Почитаю форум, и вполне возможно изменю мнение.
А пока вопрос по звуку в tvtime открыт

.

blow написал(а):
куча параметров, запомнить их не реально

рекомендую использовать alias-ы

$ grep rd .bashrc
alias Ekey='sudo vim /etc/portage/package.keywords'
alias diff='colordiff -u'
alias rd='rdesktop -x m -P -a 24 -u user -g 1280x1024 10.80.1.14'

Это подпись, которую невозможно истолковать неправильно

не люблю я эти алиасы, я

не люблю я эти алиасы, я стараюсь параметры запоминать. Не в данном случае, а вообще (а то идешь потом на какой-нибудь сервак, а там твоих алиасов и нету совсем).
В данном случае наверное лучшим решением будет настройка конфига mplayer.conf (если все можно перенести в конфиг)

Не может tvtime выводить звук через PCI шину

Просто он не умеет этого.
Поэтому выхода два - либо запускать sox/arecord и перенаправлять звук с saa7134-alsa на вашу звуковую карту, либо подключать звук через аудиокабель. Третьего не дано. Точнее, третье - использовать mplayer/vlc. А лучше - SMPlayer.

P.S. Есть ещё одна интересная утилита - tvok на qt4, использующая mplayer и позволяющая не только смотреть, но и записывать ТВ.

сейчас как раз ставлю

сейчас как раз ставлю SMplayer. Если интерфейс устроит - останусь на нем. А вот про tvtime и pci шину только что прочитал на форумы, ссылку на который Вы дали, но эту информацию еще надо проверить (насколько эта информация соответствует текущему положению вещей) :-)

tvtime не развивается уже несколько лет

Так что информация верна

Да, действительно, без

Да, действительно, без вариантов. Поставил smplayer. понравилось. Звук заработал, как только разобрался с параметрами mplayer. Осталось только настроить каналы. Я так понимаю, что встроенного сканера нету.

.

А еще можно звук с тюнера на мать подать через AUX кабель(как с Сдрома), если на тюнере и материнке есть разьемы. Я так делаю, чтоб гездо на звуковухе не занимать. tvtime.

У меня проблема была с

У меня проблема была с передачей звука через кабель - звук немного отставал от картинки. Но тогда я знал, что скоро будет новое железо и не стал бороться с проблемой. А вот на новой матери разъема под audiocd вроде нету. Да и на тюнере по-моему тоже выхода нет.

И там еще было неудобно, что tvtime не до конца глушил канал, и в полной тишине можно было слушать телек. Поэтому приходилось muteить канал руками, что тоже не совсем удобно

Все, с каналами

Все, с каналами разобрался

Настроил mplayer, по этой ссылке.

Теперь остался LIRC :-) но это уже завтра. Тему не закрываю, продолжу лучше здесь, если возникнут проблемы

Читаю текст по ссылке и думаю

Где-то я уже это видел :)

О, спасибо огромное за

О, спасибо огромное за ссылку. Там инфы больше.

Просто у меня пока не было времени почитать тот форум, поэтому искал в гугле :-)

В общем поигрался я какое-то

В общем поигрался я какое-то время с mplayer/SMplayer и остановился на чистом mplayer.

Но вот одна мелочь все-таки раздражает: уж больно медленно переключаются каналы. От 3-5 сек до 30-40. Если переключение начинает тормозить очень сильно - спасает перезапуск. Но даже 3-5 секунд ждать на каждом канале не совсем интересно. Никто не сталкивался?

Вывод звука через PSI?

Просто если выводить через аудиошнурок, то у меня переключается моментально, если через PCI - с задержкой около секунды.
А может быть, ещё и кэширование какое-то включено..

если через аудиошнурок -

если через аудиошнурок - тогда уж лучше tvtime :-)

Я пробовал через аудиошнурок - есть небольшое отставание звука (и в mplayer, и в tvtime). А вот скорость переключения каналов не проверял.

Кеширование в mplayer включено, надо будет попробовать без, хотя мне кажется, что оно не должно влиять.
И задержку в секунду я бы перетерпел, а вот даже 3-5 напрягает, про большие значения молчу.

В общем проблему с

В общем проблему с переключением каналов отложил на "когда-нибудь", а пока решил настроить пульт.

Покопался в нете, но ничего путного не нарыл. Статья на вики безбожно устарела, и читать ее нет смысла.

Вопросы такие:
какой лучше использовать LIRC_DEVICES?

насколько я понял, у меня на выбор kworld и inputdevice.

При выборе kworld работает только часть кнопок на пульте, а некоторые еще и через раз.
При inputdevice не могу нормально запустить службу lirc: в /dev/input/by-path не никаких ir устройств.

В общем буду благодарен за любые ссылки/подсказки :-)

Немного просуммирую: На

Немного просуммирую:
На данный момент не получается нормально собрать lirc так, чтобы заработали все кнопки на пульте. Сейчас у меня работает только часть кнопок, и то как то нелогично расположены коды. Сам пульт 100% рабочий. С параметром LIRC_DEVICES="all" lirc собираться отказался. Сейчас собран с LIRC_DEVICES="kworld" фото пульта на сайте lirc, конфиг оттуда же.

Но насколько я понял, конфиг не влияет на результаты выдачи программы mode2, с помошью которой я проверяю кнопки. Также мне кажется немного странным то, что у меня в /dev создаются устройства lircd и lircm, но нет и намека на lirc0 например (lirc0 я указываю в конфиге /etc/lircd.conf)

Огромная просьба к сообществу, поделитесь пожалуйста ссылками (желательно не на буржуйском), как это хозяйство настраивать и куда смотреть, а то попадаются в основном очень устаревшие ссылки, и невооруженным глазом заметно, что все уже давно поменялось.

Мой тюнер на saa7134 использует devinput

Так что пробуй ставить в make.conf
LIRC_DEVICES="devinput"
и собрать lirc так.
Дальше делай cat /dev/input/eventX и жми кнопки на пульте. На одном из устройств, соответствующих пульту, в консоль будет выводиться мусор.
Поскольку в зависимости от количества мышек/клавиатур, прочих устройств и фазы луны номер может поменяться, лучше привязаться к нему как-то надёжнее.
Можно посмотреть в /proc/bus/input/devices характерные именно для пульта строки (ir) и привязаться на этой основе. Ну и вписать это в конфиг. У меня, например, в /etc/conf.d/lircd такое:
LIRCD_OPTS="--driver=devinput --device=/dev/input/$(cat /proc/bus/input/devices | grep -3 ir | grep "H:" | awk '{print $3}')"
Ну а дальше - запускать из демон lircd, в интерактивном режиме с помощью irrecord создать /etc/lircd.conf, и уже настраивать клиентские приложения.

Огромное тебе спасибо, даже

Огромное тебе спасибо, даже не знаю, что бы без тебя делал :-)
Пока еще все не настроил, но прогресс налицо :-)

Кстати, ты не подскажешь, зачем нужны службы lircmd и irexec?

Завтра сгенерю конфиг, тот, который с сайта не подошел, тогда и отпишусь

Все, настройку пульта

Все, настройку пульта закончил :-) Еще раз огромное спасибо. Если будешь в Харькове - маякни - с меня пиво :-)

Осталось только разобраться, как повесить на кнопку пульта произвольную комманду (например запуск приложения). IRKick умеет запускать только строго определенный список, а вот как добавить туда другое приложение - не понятно. Правда желательно не использовать для этой цели IRKick, т.к. в таком случае прийдется его настраивать для каждого пользователя, а хотелось бы глобально для всех.

P.S. Вопрос к модераторам - м.б. имеет смысл собрать инфу из этого топика и положить на вики? А то там маловато информации на эту тему. Если датите согласие - могу заняться

blow написал(а): P.S. Вопрос

blow написал(а):
P.S. Вопрос к модераторам - м.б. имеет смысл собрать инфу из этого топика и положить на вики? А то там маловато информации на эту тему. Если датите согласие - могу заняться

А что мешает Вам обновить статью на вики? Там регистрация свободная, регистрируйтесь и смело правьте статью!

Я тут не так давно, и еще не

Я тут не так давно, и еще не в курсе всех порядков :-) Поэтому решил поинтересоваться у старших по званию, так сказать.
Со след. недели начну оформлять

Я тоже в своё время пользовался kdelirc

Но потом при переходе на kde4/отсутствии в то время там этой программы обошёлся родными средствами lirc.
В общем так: для произвольных команд (запуска произвольных приложений) есть irexec, идущий в комплекте с lirc.
Пользоваться просто.
Допустим, у тебя есть настроенный пульт (читай, конфиг /etc/lircd.conf). В нём есть имя пульта, например у меня это

begin remote
  name  Beholder
...

Создаёшь в домашнем каталоге пользователя .lircrc файл примерно такого содержания

begin irexec
  begin
    prog = irexec
    remote = Beholder
    button = POWER
    config = tvtime-command quit
    repeat = 0
  end
  begin
    prog = irexec
    remote = Beholder
    button = SLEEP
    config = qdbus org.kde.screensaver /ScreenSaver SetActive true
    repeat = 0
  end
end irexec

После чего в фоне от пользователя запускаешь irexec (удобно через автозапуск в KDE) - он будет "слушать" соответствующие команды.
Кроме того, begin irexec / end irexec являются как бы "скобками", описывающими текущий режим. Аналогичные режимы можно описать в своих "скобках" и для других приложений, а какие-то кнопки на пульте выделить для переключения между режимами. Также .lircrc понимает синтаксис с include.
В общем, чтобы много не писать, я просто выложу архив со своими настройками. Многое должно проясниться. Залил на первый попавшийся в google файлообменник

Т.е. настройка аналогично

Т.е. настройка аналогично mplayer, который я уже настроил, только настраивать надо irexec. Елинственное, буду пробывать настроить глобально (неохота себе и жене настраивать по отдельности) :-)

Ну.. конфиги по пользователям разбросать не сложно

Но чует моё сердце, работать будет как и ~/.lircrc по пользователям, так и /etc/lircrc глобально.

должно бы, mplayer работает

должно бы, mplayer работает :-)

P.S. Ты не против, если я когда оформлю статью для вики, пришлю ее тебе для ознакомления, чтобы ошибки/неточности подправить?

И снова я и снова проблемы

И снова я и снова проблемы :-)

Проблема заключается в том, что не получается нормально запустить mplayer, если irexec запускается как служба.
В случае, когда irexec запускаю от рута - вижу процесс mplayer'a, однако на экран ничего не выводится. Перенаправляю вывод mplayer в лог - ошибка инициализации видео.
При попытки запуска irexec как службы под своим пользователем - видео появляется. В виде черно-белой полоски, размазанной по экрану в ширину, небольшое по высоте по центру. В логе - Terminal type `unknown' is not defined. Т.е. как я понял, не подхватилась часть переменных окружения. При запуске irexec /etc/lircrc из кде - все в норме.

Вопрос - как настроить irexec так, чтобы все работало :-)

Пока временно поставил irexec в автозагрузку кде, но хотелось бы запускать как службу и чтобы работало от разных пользователей (в крайнем случае от рута)

Какой-то ерундой занимаетесь

Настройте через ~/.lircrc для каждого пользователя.
Всё равно, _с_пультом_ работать всем пользователям _одновременно_ не придётся.
Ну придёт юзер, ну загрузит свой любимый DE, ну отработает его личный .lircrc - зачем огород городить и пытаться настроить работу root-ового irexec для разных пользователей?
Вам жалко десятка килобайт лишних для конфигов? Не вопрос, сделайте один конфиг, а остальное симлинками. Вариантов, менее гемморойных - куча.
Да и тот же kdelirc (irkick) тоже имеет свой файл настроек, ~/.kde4/share/config/irkickrc, можно и "красиво" всё настроить, и конфиг другим пользователям перебросить.

P.S. и да, mplayer поддерживает lirc нативно, не нуждаясь в стороннем irexec.

WiseLord

WiseLord написал(а):
Настройте через ~/.lircrc для каждого пользователя.
Всё равно, _с_пультом_ работать всем пользователям _одновременно_ не придётся.
Ну придёт юзер, ну загрузит свой любимый DE, ну отработает его личный .lircrc - зачем огород городить и пытаться настроить работу root-ового irexec для разных пользователей?
Вам жалко десятка килобайт лишних для конфигов? Не вопрос, сделайте один конфиг, а остальное симлинками. Вариантов, менее гемморойных - куча.

Ну тут гораздо проще - использовать можно и тот конфиг, который /etc/lircrc, проблема не в этом.
Проблема в том, что неохота следить за тем, запущен irexec, или нет. Комп включен 24/7, жена с работы приходит раньше, может захотеть посмотреть телевизор. Хочу, чтобы она просто нажала кнопку на пульте - и все. Да, тут есть автозапуск кде. Вроде бы даже есть автостоп приложений. Но хочется, чтобы все работало одинаково. А то прийдется вспоминать через пол года, где я запуск irexec настраивал, чтобы что-нибудь сменить (если название вспомню :-) )

WiseLord написал(а):
Да и тот же kdelirc (irkick) тоже имеет свой файл настроек, ~/.kde4/share/config/irkickrc, можно и "красиво" всё настроить, и конфиг другим пользователям перебросить.

А вот это уже интересно, кде само будет следить за запуском своего приложения, надо будет почитать по этому поводу

WiseLord написал(а):
P.S. и да, mplayer поддерживает lirc нативно, не нуждаясь в стороннем irexec.

Да, mplayer irexec не нужен, он и сам конфиг находит. Но вот запускать же его кто-то должен :-) Попробую через IRKick

Да, и еще. При создании

Да, и еще. При создании конфига пульта с помощью irexec наткнулся на такую проблему:
Hold down an arbitrary button.
Зажимаю кнопку (пробовал разные). Появляется точка и все, тишина.
Через какое-то время - irrecord: gap not found, can't continue. Не находит интервал между сигналами, как я понял.
Приходится выкручиваться нажатием всех подряд кнопок без разбора, пока он не поймает этот gap.
Похоже на то, что пульт сначала посылает один сигнал, а потом - какие-то другие (при зажатой кнопке), т.к.
не получается зажать кнопку, а потом направить пульт на приемник - ощущение, что сигнала нет.
Хотя камера мобильного показывает, что сигналы после зажатия кнопки идут. В принципе не особо большая проблема,
не часто надо пульт настраивать (я понемногу кнопки добавляю, для расширения функционала).

Да, и 2 кнопки не видит ни в какую :-(

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".