#! /bin/sh # /etc/rc.d/rc.wireless # # Version:0.1 # Frank Schlaefendorf # erstellt am 04.03.2005 # letzte Aenderung 09.04.2005 ACTION=$1 DEVICE=$2 SCHEME=$3 FEHLER=0 if [ -e /etc/rc.d/PCMCIA_SCHEME ]; then . /etc/rc.d/PCMCIA_SCHEME else ESSID="BenQ" MODE="Managed" NICKNAME="libretto" NWID="" FREQ="" SENS=1 RATE=11M KEY="XXXX-XXXX-XX" RTS=500 FRAG=off POWER=off fi iwconf(){ case $MODE in Managed|Ad-hoc|Master|Repeater|Secondary|Monitor|Auto) iwconfig $1 mode $MODE ;; *) echo "Unbekannter Mode $MODE" FEHLER=1 exit 1 ;; esac if [ "$NICKNAME" != "" ]; then iwconfig $1 nick "${NICKNAME}" fi if [ "$NWID" != "" ]; then iwconfig $1 nwid "${NWID}" fi case $FREQ in 2.422G) iwconfig $1 freq $FREQ ;; esac if [ "$SENS" != "" ]; then iwconfig $1 sens $SENS fi case $RATE in 11M) iwconfig $1 rate 11M ;; esac if [ "$KEY" != "" ]; then iwconfig $1 key "${KEY}" fi if [ "$RTS" != "" ]; then iwconfig $1 rts $RTS else iwconfig $1 rts 500 fi if [ "$FRAG" != "" ]; then iwconfig $1 frag $FRAG else iwconfig $1 frag off fi if [ "$POWER" != "" ]; then iwconfig $1 power $POWER else iwconfig $1 power off fi if [ "$ESSID" != "" ]; then iwconfig $1 essid "${ESSID}" else echo "Sie haben keine ESSID im SCHEME $SCHEME angegeben!" FEHLER=10 exit 1 fi # logger ` iwconfig $DEVICE ` } if [ -z "`ifconfig $DEVICE 2>&1 | grep 'Device not found'`" ]; then case $ACTION in "start") iwconf $DEVICE if [ "$?" != "0" ]; then exit 1 fi /etc/rc.d/rc.ethernet start $DEVICE $SCHEME ;; "stop") /etc/rc.d/rc.ethernet stop $DEVICE $SCHEME ;; "restart") /etc/rc.d/rc.wireless stop $DEVICE $SCHEME sleep 1 /etc/rc.d/rc.wireless start $DEVICE $SCHEME ;; "status"|"check") /usr/sbin/iwconfig $DEVICE /sbin/ifconfig $DEVICE ;; "suspend") /etc/rc.d/rc.wireless stop $DEVICE $SCHEME ;; "resume") /etc/rc.d/rc.wireless start $DEVICE $SCHEME ;; *) echo "Benutze /etc/rc.wireless start|stop|restart|suspend|resume|status device" ;; esac # Setze den gateway: if [ ! "$GATEWAY" = "127.0.0.1" -a ! "$GATEWAY" = "" ]; then /sbin/route add default gw ${GATEWAY} metric 1 fi exit 0 else echo " $DEVICE existiert nicht " exit 1 fi # End of /etc/rc.d/rc.wireless