From 8a215637bdcdd9077ce3b39c7f73e80e803b64f4 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Wed, 28 Apr 2010 00:18:18 +0200 Subject: [PATCH] irserver: - add udevrule to create /dev/irtrans* - add remote config for Philips RC197 - install remote config files - add patch to use /dev/irtrans* --- .../sysutils/irserver/config/81-irtrans.rules | 1 + packages/sysutils/irserver/init.d/30_irserver | 13 ++++- packages/sysutils/irserver/install | 6 ++- ...rver-add_support_for_dev_irtransX-0.1.diff | 30 +++++++++++ .../irserver/remotes/philips_rc197.rem | 51 +++++++++++++++++++ 5 files changed, 98 insertions(+), 3 deletions(-) create mode 100644 packages/sysutils/irserver/config/81-irtrans.rules create mode 100644 packages/sysutils/irserver/patches/01-irserver-add_support_for_dev_irtransX-0.1.diff create mode 100644 packages/sysutils/irserver/remotes/philips_rc197.rem diff --git a/packages/sysutils/irserver/config/81-irtrans.rules b/packages/sysutils/irserver/config/81-irtrans.rules new file mode 100644 index 0000000000..58495b5f37 --- /dev/null +++ b/packages/sysutils/irserver/config/81-irtrans.rules @@ -0,0 +1 @@ +BUS=="usb", ATTRS{interface}=="IRTrans USB", NAME="irtrans%n" diff --git a/packages/sysutils/irserver/init.d/30_irserver b/packages/sysutils/irserver/init.d/30_irserver index d13973dc6b..78fd21af88 100755 --- a/packages/sysutils/irserver/init.d/30_irserver +++ b/packages/sysutils/irserver/init.d/30_irserver @@ -2,9 +2,18 @@ # # runlevels: openelec, textmode +IRTRANS_DEV="/dev/irtrans0" +IRTRANS_LOG="/var/log/irserver.log" +IRTRANS_PID="/var/run/irserver.pid" + +[ "$DEBUG" = "yes" ] && \ + IRTRANS_ARG="$IRTRANS_ARG -loglevel 4" # set loglevel in debugmode + ( progress "Starting IRtrans daemon" - irtrans > /dev/null 2>&1 - + irtrans -logfile $IRTRANS_LOG \ + -pidfile $IRTRANS_PID \ + -daemon $IRTRANS_DEV \ + $IRTRANS_ARG > /dev/null 2>&1 )& diff --git a/packages/sysutils/irserver/install b/packages/sysutils/irserver/install index f38e5ec61b..8c196ca804 100755 --- a/packages/sysutils/irserver/install +++ b/packages/sysutils/irserver/install @@ -10,6 +10,10 @@ mkdir -p $INSTALL/usr/sbin [ $TARGET_ARCH = arm ] && cp -P $PKG_BUILD/irserver_arm $INSTALL/usr/sbin/irserver mkdir -p $INSTALL/usr/share/irtrans/remotes - cp $PKG_BUILD/remotes/ccf.rem $INSTALL/usr/share/irtrans/remotes cp $PKG_BUILD/remotes/irtrans.rem $INSTALL/usr/share/irtrans/remotes cp $PKG_BUILD/remotes/mediacenter.rem $INSTALL/usr/share/irtrans/remotes + cp $PKG_DIR/remotes/*.rem $INSTALL/usr/share/irtrans/remotes + + +mkdir -p $INSTALL/lib/udev/rules.d + cp $PKG_DIR/config/*.rules $INSTALL/lib/udev/rules.d diff --git a/packages/sysutils/irserver/patches/01-irserver-add_support_for_dev_irtransX-0.1.diff b/packages/sysutils/irserver/patches/01-irserver-add_support_for_dev_irtransX-0.1.diff new file mode 100644 index 0000000000..c9aa492d56 --- /dev/null +++ b/packages/sysutils/irserver/patches/01-irserver-add_support_for_dev_irtransX-0.1.diff @@ -0,0 +1,30 @@ +diff -Naur irserver-05.02.10/lowlevel.c irserver-05.02.10.patch/lowlevel.c +--- irserver-05.02.10/lowlevel.c 2010-02-05 01:14:44.000000000 +0100 ++++ irserver-05.02.10.patch/lowlevel.c 2010-04-26 13:22:40.171936190 +0200 +@@ -2638,10 +2638,17 @@ + #endif + #ifdef LINUX + //LINUX Autofind USB devices +- if ((!strncmp (st + q,"usb",3) || !strncmp (st + q,"USB",3)) && !autoflag) { ++ if( !strncmp( st, "/dev/irtrans", 12 ) && !autoflag ) { ++ autoflag = 1; ++ res = 0; ++ get_detail_deviceinfo ("",st,IF_USB); ++ } ++ else if ((!strncmp (st + q,"usb",3) || !strncmp (st + q,"USB",3)) && !autoflag) { + autoflag = 1; + res = 0; + for (i=0;i < 16;i++) { ++ sprintf (dst,"/dev/irtrans%d",i); ++ if (get_detail_deviceinfo ("",dst,IF_USB)) { + sprintf (dst,"/dev/ttyUSB%d",i); + if (get_detail_deviceinfo ("",dst,IF_USB)) { + sprintf (dst,"/dev/usb/ttyUSB%d",i); +@@ -2655,6 +2662,7 @@ + } + } + } ++ } + else if ((!strncmp (st + q,"/dev/usb/tty",12) || !strncmp (st + q,"/dev/ttyUSB",11) || !strncmp (st + q,"/dev/usb/tts",12) || + !strncmp (st + q,"/dev/ttyusb",11) || !strncmp (st + q,"/dev/tts/USB",12)) && !autoflag) { + if (st[q + strlen (st+q) - 1] == ']') { diff --git a/packages/sysutils/irserver/remotes/philips_rc197.rem b/packages/sysutils/irserver/remotes/philips_rc197.rem new file mode 100644 index 0000000000..e9ccb72d5b --- /dev/null +++ b/packages/sysutils/irserver/remotes/philips_rc197.rem @@ -0,0 +1,51 @@ +[REMOTE] + [NAME]philips_rc197 + +[TIMING] + [0][N]0[RC]2[RP]87[FREQ]36[SB][RS][RC6] + +[COMMANDS] + [1][T]0[D]S11101010000000000011110000010000000001 + [2][T]0[D]S11101010000000000011110000010000000010 + [3][T]0[D]S11101010000000000011110000010000000011 + [4][T]0[D]S11101010000000000011110000010000000100 + [5][T]0[D]S11101010000000000011110000010000000101 + [6][T]0[D]S11101010000000000011110000010000000110 + [7][T]0[D]S11101010000000000011110000010000000111 + [8][T]0[D]S11101010000000000011110000010000001000 + [9][T]0[D]S11101010000000000011110000010000001001 + [0][T]0[D]S11101010000000000011110000010000000000 + [ok][T]0[D]S11101010000000000011110000010000100010 + [left][T]0[D]S11101010000000000011110000010000100000 + [right][T]0[D]S11101010000000000011110000010000100001 + [down][T]0[D]S11101010000000000011110000010000011111 + [up][T]0[D]S11101010000000000011110000010000011110 + [play][T]0[D]S11101010000000000011110000010000010110 + [power][T]0[D]S11101010000000000011110000010000001100 + [Stop][T]0[D]S11101010000000000011110000010000011001 + [Rec][T]0[D]S11101010000000000011110000010000010111 + [Rew][T]0[D]S11101010000000000011110000010000010101 + [Fwd][T]0[D]S11101010000000000011110000010000010100 + [Pause][T]0[D]S11101010000000000011110000010000011000 + [Next][T]0[D]S11101010000000000011110000010000011010 + [Prev][T]0[D]S11101010000000000011110000010000011011 + [eHome][T]0[D]S11101010000000000011110000010000001101 + [Back][T]0[D]S11101010000000000011110000010000100011 + [EPG][T]0[D]S11101010000000000011110000010000100110 + [Info][T]0[D]S11101010000000000011110000010000001111 + [LiveTV][T]0[D]S11101010000000000011110000010000100101 + [TV][T]0[D]S11101010000000000011110000010001000110 + [Vol+][T]0[D]S11101010000000000011110000010000010000 + [Vol-][T]0[D]S11101010000000000011110000010000010001 + [Mute][T]0[D]S11101010000000000011110000010000001110 + [Ch+][T]0[D]S11101010000000000011110000010000010010 + [Ch-][T]0[D]S11101010000000000011110000010000010011 + [Enter][T]0[D]S11101010000000000011110000010000001011 + [Clear][T]0[D]S11101010000000000011110000010000001010 + [DVDMenu][T]0[D]S11101010000000000011110000010000100100 + [Rectv][T]0[D]S11101010000000000011110000010001001000 + [Teletext][T][0][D]S11101010000000000011110000010001011010 + [Red][T][0][D]S11101010000000000011110000010001011011 + [Green][T][0][D]S11101010000000000011110000010001011100 + [Yellow][T][0][D]S11101010000000000011110000010001011101 + [Blue][T][0][D]S11101010000000000011110000010001011110