Browse Source

package/base-files: wireless: allow setting pairwise algorithm

Not perfect, since allowing WPA+WPA2 means setting wpa_pairwise as well
as rsn_pairwise, but I do not want to add unnecessary complexity to
interface configuration.

This is relevant for my X40 with ipw2200, which bugs for CCMP pairwise
cipher.
Phil Sutter 10 years ago
parent
commit
c3b44cf4fa
1 changed files with 7 additions and 2 deletions
  1. 7 2
      package/base-files/src/etc/network/if-pre-up.d/04-wireless

+ 7 - 2
package/base-files/src/etc/network/if-pre-up.d/04-wireless

@@ -12,6 +12,7 @@ set -e
 wpa=0
 wpa1=0
 wpa2=0
+pairwise=""
 
 case "$IF_WIRELESS_SECURITY" in
 	none)
@@ -23,10 +24,12 @@ case "$IF_WIRELESS_SECURITY" in
 	wpa)
 		sec=1
 		wpa1=1
+		pairwise=TKIP
 		;;
 	wpa2)
 		sec=1
 		wpa2=1
+		pairwise=CCMP
 		;;
 	wpa+wpa2)
 		sec=1
@@ -37,6 +40,8 @@ case "$IF_WIRELESS_SECURITY" in
 		;;
 esac
 
+[ "$IF_WIRELESS_PAIRWISE" ] || IF_WIRELESS_PAIRWISE=$pairwise
+
 case "$IF_WIRELESS_MODE" in
 	ap)
 		logger -t hostap "Creating hostapd configuration"
@@ -55,14 +60,14 @@ case "$IF_WIRELESS_MODE" in
 			logger -t hostap "using WPA for security"
 			echo "wpa=1" >> /tmp/hostapd.conf
 			echo "wpa_key_mgmt=WPA-PSK" >> /tmp/hostapd.conf
-			echo "wpa_pairwise=TKIP" >> /tmp/hostapd.conf
+			echo "wpa_pairwise=$IF_WIRELESS_PAIRWISE" >> /tmp/hostapd.conf
 			echo "wpa_passphrase=$IF_WIRELESS_PASSPHRASE" >> /tmp/hostapd.conf
 		}
 		[ $wpa2 -eq 1 ] && {
 			logger -t hostap "using WPA2 for security"
 			echo "wpa=2" >> /tmp/hostapd.conf
 			echo "wpa_key_mgmt=WPA-PSK" >> /tmp/hostapd.conf
-			echo "rsn_pairwise=CCMP" >> /tmp/hostapd.conf
+			echo "rsn_pairwise=$IF_WIRELESS_PAIRWISE" >> /tmp/hostapd.conf
 			echo "wpa_passphrase=$IF_WIRELESS_PASSPHRASE" >> /tmp/hostapd.conf
 		}
 		[ $wpa -eq 1 ] && {