From: Arne Fitzenreiter Date: Tue, 12 Aug 2008 18:41:44 +0000 (+0200) Subject: Change persistant network rules to work with atheros/hostapd without removing the... X-Git-Tag: v2.3-beta3~43 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=5f785e716cab32edb6cbc8d859bb6475e670f834;p=people%2Fstevee%2Fipfire-2.x.git Change persistant network rules to work with atheros/hostapd without removing the blue0 rule change hostapd initskript for other cards than atheros --- diff --git a/src/initscripts/init.d/hostapd b/src/initscripts/init.d/hostapd index 271aaab926..2d228b3037 100644 --- a/src/initscripts/init.d/hostapd +++ b/src/initscripts/init.d/hostapd @@ -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 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 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 ;; diff --git a/src/install+setup/libsmooth/netstuff.c b/src/install+setup/libsmooth/netstuff.c index 193c734586..eb0c4e7990 100644 --- a/src/install+setup/libsmooth/netstuff.c +++ b/src/install+setup/libsmooth/netstuff.c @@ -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);