diff options
Diffstat (limited to 'openembedded/packages/irda-utils/files')
-rwxr-xr-x | openembedded/packages/irda-utils/files/init | 55 |
1 files changed, 49 insertions, 6 deletions
diff --git a/openembedded/packages/irda-utils/files/init b/openembedded/packages/irda-utils/files/init index f644e5929..9becfcc0e 100755 --- a/openembedded/packages/irda-utils/files/init +++ b/openembedded/packages/irda-utils/files/init @@ -1,21 +1,64 @@ #! /bin/sh -DESC=irattach +module_id() { + awk 'BEGIN { FS=": " } /Hardware/ { print $2 } ' </proc/cpuinfo +} + +if [ ! -f /etc/sysconfig/irda ]; then + + case `module_id` in + "HP iPAQ H2200" | "HP iPAQ HX4700") + IRDA=yes + DEVICE=/dev/ttyS2 + DONGLE= + DISCOVERY= + ;; + *) + IRDA=yes + DEVICE=/dev/ttyS1 + DONGLE= + DISCOVERY= + ;; + esac + + mkdir -p /etc/sysconfig + echo "IRDA=$IRDA" > /etc/sysconfig/irda + if [ $IRDA = "yes" ]; then + echo "DEVICE=$DEVICE" >> /etc/sysconfig/irda + echo "DONGLE=$DONGLE" >> /etc/sysconfig/irda + echo "DISCOVERY=$DISCOVERY" >> /etc/sysconfig/irda + fi +fi + +. /etc/sysconfig/irda + +# Check that irda is up. +[ ${IRDA} = "no" ] && exit 0 + +[ -f /usr/sbin/irattach ] || exit 0 + +ARGS= +if [ $DONGLE ]; then + ARGS="$ARGS -d $DONGLE" +fi +if [ "$DISCOVERY" = "yes" ];then + ARGS="$ARGS -s" +fi case "$1" in start) - echo -n "Starting $DESC: " - irattach /dev/ttyS1 > /dev/null 2>&1 & + echo -n "Starting IrDA: " + irattach ${DEVICE} ${ARGS} > /dev/null 2>&1 & echo "$NAME." ;; stop) - echo -n "Stopping $DESC: " + echo -n "Stopping IrDA: " killall irattach > /dev/null 2>&1 echo "$NAME." ;; restart|force-reload) - echo -n "Restarting $DESC: " - irattach /dev/ttyS1 > /dev/null 2>&1 & + echo -n "Restarting IrDA: " + irattach ${DEVICE} ${ARGS} > /dev/null 2>&1 & sleep 1 killall irattach > /dev/null 2>&1 echo "$NAME." |