bump Linux 3.18 trunk revision to 47027; bump Linux 3.18 kernel version to 3.18.21
[ps3openwrt_patches.git] / wext.sh
blob60dbd2a0507be9dd894f6d020b935e1a813fc621
1 #!/bin/sh
3 append DRIVERS "wext"
5 scan_wext() {
6 local device="$1"
7 local adhoc sta ap monitor mesh disabled
9 config_get vifs "$device" vifs
11 for vif in $vifs; do
12 config_get_bool disabled "$vif" disabled 0
13 [ $disabled = 0 ] || continue
15 config_get ifname "$vif" ifname
16 config_set "$vif" ifname "${ifname:-$device}"
18 config_get mode "$vif" mode
20 case "$mode" in
21 sta)
22 append $mode "$vif"
25 echo "$device($vif): Invalid mode, ignored."
26 continue
28 esac
29 done
31 config_set "$device" vifs "${ap:+$ap }${adhoc:+$adhoc }${sta:+$sta }${monitor:+$monitor }${mesh:+$mesh}"
34 disable_wext() {
35 local device="$1"
37 set_wifi_down "$device"
39 for pid in `pidof wpa_supplicant`; do
40 grep -E "$device" /proc/$pid/cmdline >/dev/null 2>/dev/null && \
41 kill $pid
42 done
44 ifconfig "$device" down
46 return 0
49 enable_wext() {
50 local device="$1"
51 local i=0
53 config_get vifs "$device" vifs
55 for vif in $vifs; do
56 config_get ifname "$vif" ifname
57 config_get mode "$vif" mode
59 config_set "$vif" ifname "$ifname"
61 ifconfig "$ifname" up
62 set_wifi_up "$vif" "$ifname"
64 case "$mode" in
65 sta)
66 if eval "type wpa_supplicant_setup_vif" 2>/dev/null >/dev/null; then
67 wpa_supplicant_setup_vif "$vif" wext || {
68 echo "enable_wext($device): Failed to set up wpa_supplicant for interface $ifname" >&2
69 ifconfig "$ifname" down
70 continue
74 esac
76 i=$(($i + 1))
77 done