On 02/04/2013 03:41 AM, Armin K. wrote:
On 02/03/2013 06:26 PM, Ivan Kovnatsky wrote:
I did service-like script, which looks pretty much nicer by arch of
implementing services through init.d/network.
-Ivan
I didn't notice first time that I responded to your mail. Forwarding to
blfs-dev.
I don't like your script since it is tied to one config file and it is
basically a rewrite of ipv4 script. I've taken some time to write a
script of my own. It's in attachment
Place it as /lib/services/wpa, generate wpa configuration file for, eg,
wlan0 by running wpa_passphrase YourSSID YourSSIDPSK >
/etc/sysconfig/wpa_supplicant-wlan0.conf and if using dhcp (isc dhcp -
dhclient service), create /etc/sysconfig/ifconfig.wlan0 with the following:
ONBOOT="yes"
IFACE="wlan0"
SERVICE="wpa"
WPA_SERVICE="dhclient"
DHCP_START=""
DHCP_STOP=""
# Set PRINTIP="yes" to have the script print
# the DHCP assigned IP address
PRINTIP="no"
# Set PRINTALL="yes" to print the DHCP assigned values for
# IP, SM, DG, and 1st NS. This requires PRINTIP="yes".
PRINTALL="no"
Same should work for static-ipv4, just change WPA_SERVICE to whatever is
apropriate and add the rest like it would be.
Any feedback is welcome.
I've updated the script a bit, introduced WPA_ARGS variable that can be
used in ifconfig.interface to pass aditional arguments to wpa_supplicant
command line and did some minor corrections to the last one plus I've
modified dhclient script, so dhcp should work great now. I haven't
tested it with static setup.
Script will be available in blfs-bootscripts package in few hours, I you
can't wait, take it from attachment
#!/bin/bash
# Begin services/wpa
# Origianlly based upon lfs-bootscripts-1.12 $NETWORK_DEVICES/if{down,up}
# Written by Armin K. <krejzi at email dot com>
# Call with: IFCONFIG=<filename> /lib/services/wpa <IFACE> <up | down>
#$LastChangedBy: krejzi $
#$Date: 2013-02-04 04:21:36 +0100 (Mon, 04 Feb 2013) $
. /lib/lsb/init-functions
. $IFCONFIG
case "$2" in
up)
if [ -e /run/wpa_supplicant/$1.pid ]; then
log_warning_msg "\n wpa_supplicant already running on $1."
exit 0
fi
if [ ! -e /etc/sysconfig/wpa_supplicant-$1.conf ]; then
log_info_msg "\n wpa_supplicant configuration file not present"
log_failure_msg2
exit 1
fi
log_info_msg "\n Starting wpa_supplicant on the $1 interface..."
mkdir -p /run/wpa_supplicant
/sbin/wpa_supplicant -q -B -Dnl80211,wext -P/run/wpa_supplicant/$1.pid
-C/run/wpa_supplicant -c/etc/sysconfig/wpa_supplicant-$1.conf -i$1 ${WPA_ARGS}
if [ "$?" != "0" ]; then
log_failure_msg2
exit 1
fi
log_success_msg2
if [ -n "${WPA_SERVICE}" ]; then
if [ ! -e /lib/services/${WPA_SERVICE} -a ! -x
/lib/services/${WPA_SERVICE} ]; then
log_info_msg "\n Cannot start ${WPA_SERVICE} on $1"
log_failure_msg2
exit 1
fi
IFCONFIG=${IFCONFIG} /lib/services/${WPA_SERVICE} $1 up
fi
;;
down)
if [ -n "${WPA_SERVICE}" ]; then
if [ ! -e /lib/services/${WPA_SERVICE} -a ! -x
/lib/services/${WPA_SERVICE} ]; then
log_warning_msg "\n Cannot stop ${WPA_SERVICE} on $1"
else
IFCONFIG=${IFCONFIG} /lib/services/${WPA_SERVICE} $1 down
fi
fi
log_info_msg "\n Stopping wpa_supplicant on the $1 interface..."
if [ -e /run/wpa_supplicant/$1.pid ]; then
kill -9 $(cat /run/wpa_supplicant/$1.pid)
rm -f /run/wpa_supplicant/$1.pid /run/wpa_supplicant/$1
evaluate_retval
else
log_warning_msg "\n wpa_supplicant already stopped on $1"
exit 0
fi
;;
*)
echo "Usage: $0 [interface] {up|down}"
exit 1
;;
esac
# End services/wpa
--
http://linuxfromscratch.org/mailman/listinfo/blfs-dev
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page