[Pkg-lirc-maint] Bug#638163: lircd device autodetection is gone in squeeze init script

Hermann Lauer Hermann.Lauer at iwr.uni-heidelberg.de
Wed Aug 17 09:06:14 UTC 2011


Package: lirc
Version: 0.8.3-5
Severity: normal
Tags: patch

This is a multi-part MIME message sent by reportbug.


--===============1280232823==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Package: lirc
Version: 0.8.3-5
Severity: normal
Tags: patch

auto device detection is not working any more in squeeze, code looks bad.

The appended patch (to an older version, probably lenny) restores
that functionality.

-- System Information:
Debian Release: 6.0.2
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: i386 (i686)

Kernel: Linux 2.6.32-5-686 (SMP w/1 CPU core)
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Shell: /bin/sh linked to /bin/dash

Versions of packages lirc depends on:
ii  debconf [debconf-2.0]   1.5.36.1         Debian configuration management sy
ii  libasound2              1.0.23-2.1       shared library for ALSA applicatio
ii  libc6                   2.11.2-10        Embedded GNU C Library: Shared lib
ii  liblircclient0          0.8.3-5          infra-red remote control support -
ii  libusb-0.1-4            2:0.1.12-16      userspace USB programming library
ii  lsb-base                3.2-23.2squeeze1 Linux Standard Base 3.2 init scrip

lirc recommends no packages.

Versions of packages lirc suggests:
ii  lirc-modules-source           0.8.3-5    infra-red remote control support -
pn  lirc-svga                     <none>     (no description available)
pn  lirc-x                        <none>     (no description available)

-- Configuration Files:
/etc/init.d/lirc changed:
load_modules ()
{
	MODULES_MISSING=false
	log_daemon_msg "Loading LIRC modules"
	for mod in $*; do
		modprobe $mod 2> /dev/null || MODULES_MISSING=true
	done
	# avoid a hard dependency or a flag day between udev versions
	if [ -x /sbin/udevadm ]; then
		# udev >= 0.117
		udevadm settle || echo "timeout waiting for devices to be ready"
	elif [ -x /sbin/udevsettle ]; then
		# udev < 0.117
		udevsettle || echo "timeout waiting for devices to be ready"
	fi
	log_end_msg $?
	if $MODULES_MISSING; then
		log_failure_msg "Unable to load LIRC kernel modules. Verify your"
		log_failure_msg "selected kernel modules in /etc/lirc/hardware.conf"
		START_LIRCMD=false
		START_LIRCD=false
	fi
}
build_args ()
{
	ARGS="$*"
	## Try to find an lirc device.
	if [ -z "$DEVICE" ]; then
		for dev in /dev/lirc0 /dev/lirc; do
		  if [ -c $dev ]; then
			DEVICE="$dev"
			break
		  fi
		done
	fi
	if [ -n "$DEVICE" ] && [ "$DEVICE" != "none" ]; then
		ARGS="--device=$DEVICE $ARGS"
	fi
	if [ -n "$DRIVER" ] && [ "$DRIVER" != "none" ]; then
		ARGS="--driver=$DRIVER $ARGS"
	fi
	echo $ARGS
}
. /lib/lsb/init-functions
test -f /usr/sbin/lircd || exit 0
test -f /usr/sbin/lircmd || exit 0
START_LIRCMD=true
START_LIRCD=true
START_IREXEC=true
if [ -f /etc/lirc/hardware.conf ];then
	. /etc/lirc/hardware.conf
fi
if [ ! -f /etc/lirc/lircd.conf ] || grep -q "^#UNCONFIGURED" /etc/lirc/lircd.conf; then
	if [ "$1" = "start" ]; then
		log_success_msg "No valid /etc/lirc/lircd.conf has been found."
		log_success_msg "Remote control support has been disabled."
		log_success_msg "Reconfigure LIRC or manually replace /etc/lirc/lircd.conf to enable."
	fi
	START_LIRCD=false
	START_LIRCMD=false
	START_IREXEC=false
fi
if [ ! -f /etc/lirc/lircmd.conf ] || grep -q "^#UNCONFIGURED" /etc/lirc/lircmd.conf; then
	START_LIRCMD=false
fi
if [ ! -f /etc/lirc/lircrc ] || grep -q "^#UNCONFIGURED" /etc/lirc/lircrc; then
	START_IREXEC=false
fi
case "$1" in
	start)
		if [ "$LOAD_MODULES" = "true" ] && [ "$START_LIRCD" = "true" ]; then
			load_modules $MODULES
		fi
		if [ "$START_LIRCD" = "true" ]; then
			log_daemon_msg "Starting remote control daemon(s) : LIRC "
			LIRCD_ARGS=`build_args $LIRCD_ARGS`
			if [ ! -z "$LIRCD_ARGS" ]; then
				start-stop-daemon --start --quiet --exec /usr/sbin/lircd -- $LIRCD_ARGS < /dev/null
				log_end_msg $?
			else
				log_end_msg 1
			fi
		fi
		if [ "$START_LIRCMD" = "true" ]; then
			log_daemon_msg "Starting remote control mouse daemon : LIRCMD "
			start-stop-daemon --start --quiet --exec /usr/sbin/lircmd < /dev/null
			log_end_msg $?
		fi
		if [ "$START_IREXEC" = "true" ]; then
			log_daemon_msg "Starting execution daemon: irexec"
			start-stop-daemon --start --quiet --exec /usr/bin/irexec -- -d /etc/lirc/lircrc < /dev/null
			log_end_msg $?
		fi
		;;
	stop)
		if [ "$START_IREXEC" = "true" ]; then
			log_daemon_msg "Stopping execution daemon: irexec"
			start-stop-daemon --stop --quiet --exec /usr/bin/irexec
			log_end_msg $?
		fi
		if [ "$START_LIRCMD" = "true" ]; then
			log_daemon_msg "Stopping remote control mouse daemon: LIRCMD"
			start-stop-daemon --stop --quiet --exec /usr/sbin/lircmd
			log_end_msg $?
		fi
		if [ "$START_LIRCD" = "true" ]; then
			log_daemon_msg "Stopping remote control daemon(s): LIRC"
			start-stop-daemon --stop --quiet --exec /usr/sbin/lircd
			log_end_msg $?
		fi
		;;
	reload|force-reload)
		if [ "$START_IREXEC" = "true" ]; then
			start-stop-daemon --stop --quiet --signal 1 --exec /usr/bin/irexec
		fi
		if [ "$START_LIRCD" = "true" ]; then
			start-stop-daemon --stop --quiet --signal 1 --exec /usr/sbin/lircd
		fi
		if [ "$START_LIRCMD" = "true" ]; then
			start-stop-daemon --stop --quiet --signal 1 --exec /usr/sbin/lircmd
		fi
		;;
	restart)
		$0 stop
		sleep 1
		$0 start
		;;
	*)
		echo "Usage: /etc/init.d/lircd {start|stop|reload|restart|force-reload}"
	exit 1
esac
exit 0

/etc/lirc/hardware.conf changed:
LIRCD_ARGS=""
LOAD_MODULES=true
DRIVER=""
DEVICE=""
MODULES="lirc_sir"
LIRCD_CONF=""
LIRCMD_CONF=""
setserial /dev/ttyS1 uart none

/etc/lirc/lircd.conf changed:
begin remote
  name  AZ2407
  bits           13
  flags RC5|CONST_LENGTH
  eps            30
  aeps          100
  one           972   797
  zero          972   797
  plead        1144
  gap          113668
  toggle_bit      2
      begin codes
          volUp                    0x0000000000001410
          volDn                    0x0000000000001411
          shuffle                  0x000000000000151C
          repeat                   0x000000000000151D
          play                     0x0000000000001535
          shuffleL                 0x0000000000001521
          shuffleR                 0x0000000000001520
          stop                     0x0000000000001536
          searchL                  0x0000000000001532
          searchR                  0x0000000000001534
          presetUp                 0x0000000000001460
          presetDn                 0x0000000000001461
          tuningL                  0x000000000000145F
          tuningR                  0x000000000000145E
      end codes
end remote
begin remote
  name  Philips_DVP-5982
  bits            8
  flags RC6|CONST_LENGTH
  eps            30
  aeps          100
  header       2667   889
  one           444   444
  zero          444   444
  pre_data_bits   13
  pre_data       0xEFB
  gap          108000
  toggle_bit_mask 0x10000
  rc6_mask    0x10000
      begin codes
          Power                    0x38
          Up                       0xA7
          Menu                     0x2E
          Display                  0xF0
          OK                       0xA3
          Right                    0xA4
          Left                     0xA5
          Down                     0xA6
          Play_Pause               0xD3
          Next                     0xDF
          Prev                     0xDE
          Stop                     0xCE
          USB                      0x81
          1                        0xFE
          2                        0xFD
          3                        0xFC
          4                        0xFB
          5                        0xFA
          6                        0xF9
          7                        0xF8
          8                        0xF7
          9                        0xF6
          0                        0xFF
          Audio                    0xB1
          Subtitle                 0xB4
          Zoom                     0x08
          Repeat                   0xE2
          Repeat_A-B               0xC4
      end codes
end remote


-- debconf information:
  lirc/take_care_of_old_config:
  lirc/port:
  lirc/install_devices: true
  lirc/device:
  lirc/irq:
  lirc/lircd_conf:
  lirc/reconfigure: false
  lirc/lircmd_conf:
  lirc/remove_var-log-lircd: true
  lirc/should-use-IntelliMouse:
  lirc/cflags:
  lirc/timer:
  lirc/modules:
  lirc/driver:

--===============1280232823==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="lirc-init.d.patch"

--- lirc.orig	2011-08-12 00:24:40.000000000 +0200
+++ lirc	2011-08-12 00:26:21.000000000 +0200
@@ -43,11 +43,15 @@
 	ARGS="$*"
 
 	## Try to find an lirc device.
+	## udev uses /dev/lirc0
+	## static dev uses /dev/lirc
 	if [ -z "$DEVICE" ]; then
-		if [ -c $dev ]; then
-			DEVICE="$dev"
-			break
-		fi
+		for dev in /dev/lirc0 /dev/lirc; do
+			if [ -c $dev ]; then
+				DEVICE="$dev"
+				break
+			fi
+		done
 	fi
 
 	if [ -n "$DEVICE" ] && [ "$DEVICE" != "none" ]; then

--===============1280232823==--

-- 
Netzwerkadministration/Zentrale Dienste, Interdiziplinaeres 
Zentrum fuer wissenschaftliches Rechnen der Universitaet Heidelberg
IWR; INF 368; 69120 Heidelberg; Tel: (06221)54-8236 Fax: -5224
Email: Hermann.Lauer at iwr.uni-heidelberg.de





More information about the Pkg-lirc-maint mailing list