]> git.ipfire.org Git - people/teissler/ipfire-2.x.git/commitdiff
Change persistant network rules to work with atheros/hostapd without removing the...
authorArne Fitzenreiter <arne_f@ipfire.org>
Tue, 12 Aug 2008 18:41:44 +0000 (20:41 +0200)
committerArne Fitzenreiter <arne_f@ipfire.org>
Tue, 12 Aug 2008 18:41:44 +0000 (20:41 +0200)
change hostapd initskript for other cards than atheros

src/initscripts/init.d/hostapd
src/install+setup/libsmooth/netstuff.c

index 271aaab926e59df9269458dedd49f3c94400669f..2d228b3037b35ff6320f3863cae7af4abb346285 100644 (file)
@@ -4,23 +4,39 @@
 
 case "${1}" in
         start)
-               boot_mesg -n "Starting hostapd... "
+               boot_mesg "Starting hostapd... "
                mkdir -p /var/run/hostapd
                # enable wlan module of collectd
                sed -i -e "s|#LoadPlugin wireless|LoadPlugin wireless|g" /etc/collectd.conf
-                /usr/bin/wlanconfig ath0 destroy
-                /usr/bin/wlanconfig blue0 create wlandev wifi0 wlanmode ap
-                /usr/sbin/iwconfig blue0 channel 05
-                /usr/bin/hostapd -P /var/run/hostapd /etc/hostapd.conf </dev/tty12 >/dev/tty12 2>&1 &
-                evaluate_retval
+
+               # Set Atheros Card to master mode
+                /usr/bin/wlanconfig blue0 destroy > /dev/null
+                /usr/bin/wlanconfig blue0 create wlandev wifi0 wlanmode ap > /dev/null
+
+               # Set other cards to master mode
+               #/usr/sbin/iwconfig blue0 mode master
+
+               if [ "$(/usr/sbin/iwconfig blue0 | /bin/grep "Mode:Master")" == "" ]; then
+                   boot_mesg "Error! Can't set wlan master mode"
+                   echo_failure;
+                   exit 1;
+               else
+                   /usr/sbin/iwconfig blue0 channel 05
+                   /usr/bin/hostapd -P /var/run/hostapd /etc/hostapd.conf </dev/tty12 >/dev/tty12 2>&1 &
+                   evaluate_retval
+               fi
                 ;;
 
         stop)
                boot_mesg "Stopping hostapd..."
-                # Just make sure when going down the first time blue0 nw values are ignored
-               grep -v 'NAME="blue0"' /etc/udev/rules.d/30-persistent-network.rules > /tmp/30-persistent-network.rules
-               mv /tmp/30-persistent-network.rules /etc/udev/rules.d/30-persistent-network.rules
-               /usr/bin/wlanconfig blue0 destroy
+
+               # Set Atheros Card to Managed mode
+                /usr/bin/wlanconfig blue0 destroy > /dev/null
+                /usr/bin/wlanconfig blue0 create wlandev wifi0 wlanmode sta > /dev/null
+
+               # Set other cards to master mode
+               #/usr/sbin/iwconfig blue0 mode Managed
+
                 killproc /usr/bin/hostapd
                 evaluate_retval
                 ;;
index 193c734586a16b7783183e612bae3cdee28412b9..eb0c4e7990ba41874285b3f9d2e4e1fe240abbc9 100644 (file)
@@ -504,7 +504,7 @@ int create_udev(void)
        for (i = 0 ; i < 4 ; i++)
        {
                if (strcmp(knics[i].macaddr, "")) {
-                       fprintf(fp,"ACTION==\"add\", SUBSYSTEM==\"net\", SYSFS{address}==\"%s\", NAME=\"%s0\" # %s\n", knics[i].macaddr, lcolourcard[i], knics[i].description);
+                       fprintf(fp,"ACTION==\"add\", SUBSYSTEM==\"net\", SYSFS{type}==\"1\", SYSFS{address}==\"%s\", NAME=\"%s0\" # %s\n", knics[i].macaddr, lcolourcard[i], knics[i].description);
                }
        }
        fclose(fp);