54 lines
1009 B
Plaintext
54 lines
1009 B
Plaintext
|
#!/bin/sh
|
||
|
#
|
||
|
# /etc/rc.d/iwd: start/stop wireless interface
|
||
|
#
|
||
|
|
||
|
SSD=/sbin/start-stop-daemon
|
||
|
PROG_DHCP=/sbin/dhcpcd
|
||
|
PROG_WIFI=/usr/sbin/iwd
|
||
|
PID_DHCP=/var/run/dhcpcd.pid
|
||
|
PID_WIFI=/var/run/iwd.pid
|
||
|
|
||
|
OPTS_DHCP=""
|
||
|
OPTS_WIFI=""
|
||
|
|
||
|
|
||
|
print_status() {
|
||
|
$SSD --status --pidfile $2
|
||
|
case $? in
|
||
|
0) echo "$1 is running with pid $(cat $2)" ;;
|
||
|
1) echo "$1 is not running but the pid file $2 exists" ;;
|
||
|
3) echo "$1 is not running" ;;
|
||
|
4) echo "Unable to determine the program status" ;;
|
||
|
esac
|
||
|
}
|
||
|
|
||
|
case $1 in
|
||
|
start)
|
||
|
$SSD --start -bmC --pidfile $PID_WIFI --exec $PROG_WIFI -- $OPTS_WIFI && \
|
||
|
$SSD --start --pidfile $PID_DHCP --exec $PROG_DHCP -- $OPTS_DHCP
|
||
|
RETVAL=$?
|
||
|
;;
|
||
|
stop)
|
||
|
( $SSD --stop --retry 10 --pidfile $PID_DHCP
|
||
|
$SSD --stop --remove-pidfile --retry 10 --pidfile $PID_WIFI )
|
||
|
RETVAL=$?
|
||
|
;;
|
||
|
restart)
|
||
|
$0 stop
|
||
|
$0 start
|
||
|
;;
|
||
|
status)
|
||
|
print_status $PROG_WIFI $PID_WIFI
|
||
|
print_status $PROG_DHCP $PID_DHCP
|
||
|
;;
|
||
|
*)
|
||
|
echo "Usage: $0 [start|stop|restart|status]"
|
||
|
;;
|
||
|
esac
|
||
|
|
||
|
exit $RETVAL
|
||
|
|
||
|
# End of file
|
||
|
|