Настройка LIRC в ArchLinux

17.02.2012 - 08:00

Устанавливаем lirc:

[root@tower rc.d]# pacman -S lirc lirc-utils
[root@tower rc.d]# pacman -S setserial

Сегодня хочу рассказать, как настроить LIRC в ArchLinux, после установки ОС с образа netinstall.
Смотрим наши COM-порты:

[root@tower /]# setserial -g /dev/ttyS[0123]
/dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4
/dev/ttyS1, UART: unknown, Port: 0xb480, IRQ: 22
/dev/ttyS2, UART: 16650V2, Port: 0xb800, IRQ: 23
/dev/ttyS3, UART: unknown, Port: 0x02e8, IRQ: 3

Создаем конфиг, так как с дефолтным не захотел работать:

[vlymar@tower rc.d]$ /etc/rc.d/lircd
#!/bin/bash                                                                                                                                

# Releases ttyS0 and loads the lirc_serial module                                                                                          
# - serial support is built into Arch kernel26                                                                                              
                                                                                                                                           
. /etc/rc.conf                                                                                                                              
. /etc/rc.d/functions                                                                                                                      
                                                                                                                                           
case "$1" in                                                                                                                                
  start)                                                                                                                                    
    stat_busy "Releasing ttyS0 COM port"                                                                                                    
    /usr/bin/setserial /dev/ttyS0 uart none                                                                                                
    /sbin/modprobe lirc_serial                                                                                                              
    # Could be needed to stop treating the remote as a keyboard                                                                            
    #echo "lirc" > /sys/class/rc/rc0/protocols                                                                                              
    stat_done                                                                                                                              
  ;;                                                                                                                                        
  stop)                                                                                                                                    
    stat_busy "Unloading LIRC Serial module"                                                                                                
    /sbin/rmmod lirc_serial                                                                                                                
    stat_done                                                                                                                              
  ;;                                                                                                                                        
  restart)                                                                                                                                  
    $0 stop                                                                                                                                
    $0 start                                                                                                                                
  ;;                                                                                                                                        
  *)                                                                                                                                        
    echo "usage: $0 {start|stop|restart}"                                                                                                  
esac                                                                                                                                        
exit 0

Для автозагрузки добавим в /etc/rc.conf:

DAEMONS=(lircd )

В /etc/modprobe.d/modprobe.conf добавить, прерывания в моем случае для /dev/ttyS0 (первого COM-порта):
options lirc_serial io=0x3f8 irq=4

В rc.local:

/usr/sbin/lircd -d /dev/lirc0 /etc/lirc/lircd.conf

В /dev/ должно появится устройство lirc0.

Проверяем работоспособность:

[arch@tower ~]$ irw
000000000000103c 00 v+ PHILIPS_RC-5
0000000000001004 00 4 PHILIPS_RC-5
0000000000001004 01 4 PHILIPS_RC-5
0000000000001002 00 2 PHILIPS_RC-5
0000000000001005 00 5 PHILIPS_RC-5
000000000000103c 00 v+ PHILIPS_RC-5
000000000000103c 01 v+ PHILIPS_RC-5
000000000000100c 00 power PHILIPS_RC-5

Также можно установить KDE-приблуду:

[root@tower vlymar]# pacman -S kdeutils-kremotecontrol

Ваша оценка: Нет Средняя: 2.3 (3 голосов)

Комментарии:


Спасибо за интересный материал.