Initial commit
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
#!/bin/sh
|
||||
|
||||
[ "${ACTION}" = "add" ] && [ "${INTERFACE%%[0-9]}" = "wl" ] && {
|
||||
/sbin/wifi config
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
include /lib/wifi
|
||||
|
||||
setup_broadcom_wds() {
|
||||
local iface="$1"
|
||||
local remote="$(wlc ifname "$iface" wdsmac)"
|
||||
|
||||
[ -z "$remote" ] && return
|
||||
|
||||
config_cb() {
|
||||
[ -z "$CONFIG_SECTION" ] && return
|
||||
|
||||
config_get type "$CONFIG_SECTION" TYPE
|
||||
[ "$type" = "wifi-iface" ] || return
|
||||
|
||||
config_get network "$CONFIG_SECTION" network
|
||||
[ -z "$network" ] && return
|
||||
|
||||
config_get addr "$CONFIG_SECTION" bssid
|
||||
addr=$(echo "$addr" | tr 'A-F' 'a-f')
|
||||
[ "$addr" = "$remote" ] && {
|
||||
local cfg="$CONFIG_SECTION"
|
||||
|
||||
include /lib/network
|
||||
scan_interfaces
|
||||
|
||||
for network in $network; do
|
||||
setup_interface "$iface" "$network"
|
||||
done
|
||||
|
||||
config_get encryption "$cfg" encryption
|
||||
config_get key "$cfg" key
|
||||
config_get ssid "$cfg" ssid
|
||||
|
||||
[ "$encryption" != "none" ] && {
|
||||
sleep 5
|
||||
case "$encryption" in
|
||||
psk|PSK)
|
||||
nas4not "$network" "$iface" up auto tkip psk "$key" "$ssid"
|
||||
;;
|
||||
psk2|PSK2)
|
||||
nas4not "$network" "$iface" up auto aes psk "$key" "$ssid"
|
||||
;;
|
||||
psk+psk2|psk2+psk|PSK+PSK2|PSK2+PSK)
|
||||
nas4not "$network" "$iface" up auto aes+tkip psk "$key" "$ssid"
|
||||
;;
|
||||
*)
|
||||
nas4not lan "$iface" up auto aes "$encryption" "$key" "$ssid"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
config_load wireless
|
||||
}
|
||||
|
||||
case "$ACTION" in
|
||||
add|register)
|
||||
[ "${INTERFACE%%[0-1]-*}" = wds ] && setup_broadcom_wds "$INTERFACE"
|
||||
;;
|
||||
esac
|
||||
29
package/kernel/broadcom-wl/files/etc/init.d/wlunbind
Executable file
29
package/kernel/broadcom-wl/files/etc/init.d/wlunbind
Executable file
@@ -0,0 +1,29 @@
|
||||
#!/bin/sh /etc/rc.common
|
||||
# Copyright (C) 2010-2011 OpenWrt.org
|
||||
|
||||
START=09
|
||||
|
||||
unbind_driver() {
|
||||
local driver="$1"
|
||||
local sysfs="/sys/bus/pci/drivers/$driver"
|
||||
if [ -d "$sysfs" ]; then
|
||||
local lnk
|
||||
for lnk in $sysfs/*; do
|
||||
[ -h "$lnk" ] || continue
|
||||
case "${lnk##*/}" in
|
||||
*:*:*.*)
|
||||
logger "Unbinding WL PCI device ${lnk##*/} from $driver"
|
||||
echo -n "${lnk##*/}" > "$sysfs/unbind"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
boot() {
|
||||
unbind_driver b43-pci-bridge
|
||||
unbind_driver bcma-pci-bridge
|
||||
}
|
||||
|
||||
start() { :; }
|
||||
stop() { :; }
|
||||
Reference in New Issue
Block a user