[решено] Lirc в Debian 6.0.6

Автор TarikS, 12 октября 2012, 20:09:05

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

TarikS

Добрый вечер! Помогите разобраться с Lirc.
Есть пульт и приемник на COM от Pinnacle System Studio PCTV, решил его прикрутить к XBMC в Debian
установил Lirc, настроил вроде, # irw принимает команды пульта.
Решил перезагрузить машину и продолжить.
При старте все замечательно, никаких отклонений.
но теперь # irw никак не реагирует, при попытке запустить Lirc:
root@Intellect:~# /etc/init.d/lirc start
Starting remote control daemon(s) : LIRC : failed!

при попытке остановить:
root@Intellect:~# /etc/init.d/lirc stop
Stopping remote control daemon(s): LIRC: failed!

попытка переконфигурировать:
root@Intellect:~# dpkg-reconfigure lirc
Stopping remote control daemon(s): LIRC:.
Starting remote control daemon(s) : LIRC : failed!

куда копать?

в логах: grep -ir lirc /var/log
куча вот таких строк
Открыть содержимое (спойлер)
/var/log/syslog:Oct 9 12:33:59 Intellect lircd-0.9.0[4372]: accepted new client on /var/run/lirc/lircd
/var/log/syslog:Oct 9 12:33:59 Intellect lircd-0.9.0[4372]: could not reset tty
/var/log/syslog:Oct 9 12:33:59 Intellect lircd-0.9.0[4372]: Failed to initialize hardware
/var/log/syslog:Oct 9 12:33:59 Intellect lircd-0.9.0[4372]: reading of byte 0 failed
/var/log/syslog:Oct 9 12:33:59 Intellect lircd-0.9.0[4372]: Bad file descriptor
/var/log/syslog:Oct 9 12:33:59 Intellect lircd-0.9.0[4372]: caught signal
/var/log/syslog:Oct 9 12:49:50 Intellect lircd-0.9.0[4869]: lircd(pinsys) ready, using /var/run/lirc/lircd
/var/log/syslog:Oct 9 12:49:55 Intellect lircd-0.9.0[4869]: accepted new client on /var/run/lirc/lircd
/var/log/syslog:Oct 9 12:49:55 Intellect lircd-0.9.0[4869]: could not reset tty
/var/log/syslog:Oct 9 12:49:55 Intellect lircd-0.9.0[4869]: Failed to initialize hardware
/var/log/syslog:Oct 9 12:49:55 Intellect lircd-0.9.0[4869]: select() failed
/var/log/syslog:Oct 9 12:49:55 Intellect lircd-0.9.0[4869]: Bad file descriptor
/var/log/syslog:Oct 9 12:49:55 Intellect lircd-0.9.0[4869]: removed client
/var/log/syslog:Oct 9 12:53:04 Intellect lircd-0.9.0[1190]: lircd(pinsys) ready, using /var/run/lirc/lircd
/var/log/syslog:Oct 9 12:54:18 Intellect lircd-0.9.0[1190]: accepted new client on /var/run/lirc/lircd
/var/log/syslog:Oct 9 12:54:18 Intellect lircd-0.9.0[1190]: could not reset tty
/var/log/syslog:Oct 9 12:54:18 Intellect lircd-0.9.0[1190]: Failed to initialize hardware
/var/log/syslog:Oct 9 12:54:18 Intellect lircd-0.9.0[1190]: select() failed
/var/log/syslog:Oct 9 12:54:18 Intellect lircd-0.9.0[1190]: Bad file descriptor
/var/log/syslog:Oct 9 12:54:18 Intellect lircd-0.9.0[1190]: removed client
/var/log/syslog:Oct 9 13:51:07 Intellect lircd-0.9.0[1190]: accepted new client on /var/run/lirc/lircd
/var/log/syslog:Oct 9 13:51:07 Intellect lircd-0.9.0[1190]: could not reset tty
/var/log/syslog:Oct 9 13:51:07 Intellect lircd-0.9.0[1190]: Failed to initialize hardware
/var/log/syslog:Oct 9 13:51:07 Intellect lircd-0.9.0[1190]: reading of byte 0 failed
/var/log/syslog:Oct 9 13:51:07 Intellect lircd-0.9.0[1190]: Bad file descriptor
/var/log/syslog:Oct 9 13:51:07 Intellect lircd-0.9.0[1190]: caught signal
/var/log/syslog:Oct 9 13:51:28 Intellect lircd-0.9.0[3277]: lircd(pinsys) ready, using /var/run/lirc/lircd
/var/log/syslog:Oct 9 13:52:00 Intellect lircd-0.9.0[3277]: accepted new client on /var/run/lirc/lircd
/var/log/syslog:Oct 9 13:52:00 Intellect lircd-0.9.0[3277]: could not reset tty
/var/log/syslog:Oct 9 13:52:00 Intellect lircd-0.9.0[3277]: Failed to initialize hardware
/var/log/syslog:Oct 9 13:52:00 Intellect lircd-0.9.0[3277]: select() failed
/var/log/syslog:Oct 9 13:52:00 Intellect lircd-0.9.0[3277]: Bad file descriptor
/var/log/syslog:Oct 9 13:52:00 Intellect lircd-0.9.0[3277]: removed client
/var/log/syslog:Oct 9 13:52:28 Intellect lircd-0.9.0[3277]: accepted new client on /var/run/lirc/lircd
/var/log/syslog:Oct 9 13:52:28 Intellect lircd-0.9.0[3277]: could not reset tty
/var/log/syslog:Oct 9 13:52:28 Intellect lircd-0.9.0[3277]: Failed to initialize hardware
/var/log/syslog:Oct 9 13:52:28 Intellect lircd-0.9.0[3277]: reading of byte 0 failed
/var/log/syslog:Oct 9 13:52:28 Intellect lircd-0.9.0[3277]: Bad file descriptor
[свернуть]

пробовал полностью удалять и ставить снова! Эффекта нет! :(
Ставил из репозитория, качал с оф.сайта - эффекта нет.
Не пойму что сделать нужно!

ferum

Русские дебианщики против цифрового слабоумия !

TarikS

Драйвер:
root@Intellect:/etc/lirc# lircd --driver=help
Driver `help' not supported.
Supported drivers:
        pinsys

Как его переконфигурировать? Если:
root@Intellect:/etc/lirc# dpkg-reconfigure lirc
Stopping remote control daemon(s): LIRC:.
Starting remote control daemon(s) : LIRC :.

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.8.2(pinsys) on Thu Oct 18 18:40:31 2007
#
# contributed by
#
# brand:                       Pinnacle Systems
# model no. of remote control: PCTV Remote (Perhaps other ones as well)
# devices being controlled by this remote: serial
#

begin remote

  name  PinnacleSysPCTVRemote
  bits           16
  eps            30
  aeps          100

  one             0     0
  zero            0     0
  pre_data_bits   8
  pre_data       0xFE
  gap          183998
  min_repeat      2
  toggle_bit_mask 0x0

      begin codes
          1                        0x9F31
          2                        0x3D32
          3                        0xEC33
          Power                    0x2D2F
          4                        0xA834
          5                        0x7935
          6                        0xDB36
          Preview                  0xFC2E
          7                        0x0A37
          8                        0x5338
          9                        0x8239
          L                        0x631F
          Fullscreen               0x5E2D
          0/AV                     0x203A
          Zoom                     0xB21E
          Info                     0xCB2B
          vol+                     0x851B
          Mute                     0xB53C
          Chan_Last                0x4325
          channel+                 0x7E17
          vol-                     0x590F
          Chan+Play                0x173F
          channel-                 0xC11C
          Vol-Rew                  0x643D
          middle                   0x541A
          Vol+FF                   0xF13B
          Menu                     0x101D
          Chan-Stop                0xC63E
          next                     0xF619
          undo                     0xAF16
          Record                   0x3027
          pause                    0x0D15
          redo                     0x9813
          Rewind                   0x880E
          Play                     0x2A0D
          Stop                     0xBF0B
          FForward                 0x4407
          F_TV                     0xE126
          F_TELETEXT               0xB829
          F_RADIO                  0x1A2A
          EPG                      0x2718
      end codes

end remote
[свернуть]
hardware.conf
Открыть содержимое (спойлер)
/etc/lirc/hardware.conf
#
# Arguments which will be used when launching lircd
LIRCD_ARGS=""

#Don't start lircmd even if there seems to be a good config file
#START_LIRCMD=false

#Don't start irexec, even if a good config file seems to exist.
#START_IREXEC=false

#Try to load appropriate kernel modules
LOAD_MODULES=false

# Run "lircd --driver=help" for a list of supported drivers.
DRIVER="pinsys"
# If DEVICE is set to /dev/lirc and udev is in use /dev/lirc0 will be
# automatically used instead
DEVICE="/dev/ttyS0"
MODULES=""

# Default configuration files for your hardware if any
LIRCD_CONF=""
LIRCMD_CONF=""
[свернуть]
Приемник подключен к com1

ferum

Полагаю устройство, от которого приёмник и пульт в компе должно присутствовать, а так на reconfigure я забиваю и тупо
nano /etc/lirc/lirc.conf пишу что надо (в данном случае выложен готовый lirc.conf) reboot и всё работает. правда у меня другой девайс с пультом DVB карточка TT S2 3200,там свой приёмник без ком порта....кстати или не кстати компортами в debian рулит пакет setserial.
Русские дебианщики против цифрового слабоумия !

TarikS

setserial присутствует в системе:
root@Intellect:~# setserial
setserial version 2.17, 27-Jan-2000

устройство, от которого приёмник и пульт в компе отсутствует!
при первоначальной установке с текущим lircd.conf все работало, на #irw отображались коды нажатых клавиш на пульте. Но после перезагрузки системы все сломалось и я не могу понять в чем дело! Как проверить работоспособность приемника и пульта без устройства в компе?

ferum

Разве что удалить lirc, через purge и посмотреть не остаются ли конфигурационные файлы, если остаются удалить и пробовать с читого листа (проверить батарейки в пульте на всякий )
Русские дебианщики против цифрового слабоумия !

orlyanuch

Работоспособность пульта можно проверить, посмотрев на излучающий светодиод через любой цифровой фотоаппарат или через камеру мобильника.
Edimus, ut vivamus; nоn vivimus, ut edamus.

TarikS

похоже дело не в lirc.   ???
проблема похоже в setserial.   :-[

после загрузки системы:
root@Intellect:~# setserial /dev/ttyS0
/dev/ttyS0, UART: unknown, Port: 0x03f8, IRQ: 4

пульт не работает, но после команды
root@Intellect:~# setserial /dev/ttyS0 autoconfig
и рестарта Lirc
root@Intellect:~# /etc/init.d/lirc restart
Stopping remote control daemon(s): LIRC: failed!
Starting remote control daemon(s) : LIRC :.

пульт начинает работать безупречно.
setserial при работающем пульте
root@Intellect:~# setserial /dev/ttyS0
/dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4

и так до перезагрузки. Как настроить setserial чтобы при старте системы все работало?
в /etc есть файл serial.conf
Открыть содержимое (спойлер)
###PORT STATE GENERATED USING AUTOSAVE-ONCE###
###AUTOSAVE-ONCE###
###AUTOSAVE-ONCE###
###AUTOSAVE###
#
# If you want to configure this file by hand, use
# dpkg-reconfigure setserial
# and change the configuration mode of the file to MANUAL. If you do not do this, this file may be $
# package.
#
/dev/ttyS0 uart none
#/dev/ttyS1 uart none
[свернуть]

ferum

Цитата: TarikS от 15 октября 2012, 06:56:13проблема похоже в setserial. 
Нет, скорей всего критична скорость передачи данных через comport в линуксе по умолчанию она выше чем в винде , счас уже точно не помню но вроде 115200 против 9600 http://www.about-pc.narod.ru/part8/interface9.html  надо искать где подстраивать. помню уже давно возился с программкой MPCS (multiprotocol card server) был у меня тогда ресивер openbox так вот для того чтобы между програмкой под линуксом и тем ресивером была связь в конфигурационном файле програмки приходилось яв но прописывать скорость ком порта 9600
Русские дебианщики против цифрового слабоумия !

TarikS

в /etc/serial.conf заменил строку:
    /dev/ttyS0 uart none
на
    /dev/ttyS0 uart 16550A
теперь при старте системы пульт работает как надо!