瀏覽代碼

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 年之前
父節點
當前提交
c3b44cf4fa
共有 1 個文件被更改,包括 7 次插入2 次删除
  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 ] && {