diff options
Diffstat (limited to 'package/broadcom-wl/files')
-rw-r--r-- | package/broadcom-wl/files/etc/hotplug.d/net/20-broadcom_wds | 61 | ||||
-rwxr-xr-x | package/broadcom-wl/files/etc/init.d/wlunbind | 29 | ||||
-rw-r--r-- | package/broadcom-wl/files/lib/wifi/broadcom.sh | 395 |
3 files changed, 0 insertions, 485 deletions
diff --git a/package/broadcom-wl/files/etc/hotplug.d/net/20-broadcom_wds b/package/broadcom-wl/files/etc/hotplug.d/net/20-broadcom_wds deleted file mode 100644 index 0a563c2dbd..0000000000 --- a/package/broadcom-wl/files/etc/hotplug.d/net/20-broadcom_wds +++ /dev/null @@ -1,61 +0,0 @@ -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.*}" = wds ] && setup_broadcom_wds "$INTERFACE" - ;; -esac diff --git a/package/broadcom-wl/files/etc/init.d/wlunbind b/package/broadcom-wl/files/etc/init.d/wlunbind deleted file mode 100755 index 0a29db565f..0000000000 --- a/package/broadcom-wl/files/etc/init.d/wlunbind +++ /dev/null @@ -1,29 +0,0 @@ -#!/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() { :; } diff --git a/package/broadcom-wl/files/lib/wifi/broadcom.sh b/package/broadcom-wl/files/lib/wifi/broadcom.sh deleted file mode 100644 index 72b85aaf88..0000000000 --- a/package/broadcom-wl/files/lib/wifi/broadcom.sh +++ /dev/null @@ -1,395 +0,0 @@ -append DRIVERS "broadcom" - -scan_broadcom() { - local device="$1" - local wds - local adhoc sta apmode mon disabled - local adhoc_if sta_if ap_if mon_if - local _c=0 - - config_get vifs "$device" vifs - for vif in $vifs; do - config_get_bool disabled "$vif" disabled 0 - [ $disabled -eq 0 ] || continue - - config_get mode "$vif" mode - _c=$(($_c + 1)) - case "$mode" in - adhoc) - adhoc=1 - adhoc_if="$vif" - ;; - sta) - sta=1 - sta_if="$vif" - ;; - ap) - apmode=1 - ap_if="${ap_if:+$ap_if }$vif" - ;; - wds) - config_get addr "$vif" bssid - [ -z "$addr" ] || { - addr=$(echo "$addr" | tr 'A-F' 'a-f') - append wds "$addr" - } - ;; - monitor) - mon=1 - mon_if="$vif" - ;; - *) echo "$device($vif): Invalid mode";; - esac - done - config_set "$device" wds "$wds" - - local _c= - for vif in ${adhoc_if:-$sta_if $ap_if $mon_if}; do - config_set "$vif" ifname "${device}${_c:+.$_c}" - _c=$((${_c:-0} + 1)) - done - config_set "$device" vifs "${adhoc_if:-$sta_if $ap_if $mon_if}" - - ifdown="down" - for vif in 0 1 2 3; do - append ifdown "vif $vif" "$N" - append ifdown "enabled 0" "$N" - done - - ap=1 - infra=1 - if [ "$_c" -gt 1 ]; then - mssid=1 - else - mssid= - fi - apsta=0 - radio=1 - monitor=0 - case "$adhoc:$sta:$apmode:$mon" in - 1*) - ap=0 - mssid= - infra=0 - ;; - :1:1:) - apsta=1 - wet=1 - ;; - :1::) - wet=1 - ap=0 - mssid= - ;; - :::1) - wet=1 - ap=0 - mssid= - monitor=1 - ;; - ::) - radio=0 - ;; - esac -} - -disable_broadcom() { - local device="$1" - set_wifi_down "$device" - wlc ifname "$device" down - wlc ifname "$device" bssid `wlc ifname "$device" default_bssid` - ( - include /lib/network - - # make sure the interfaces are down and removed from all bridges - for dev in $device ${device}.1 ${device}.2 ${device}.3; do - ifconfig "$dev" down 2>/dev/null >/dev/null && { - unbridge "$dev" - } - done - ) - true -} - -enable_broadcom() { - local device="$1" - local _c - config_get channel "$device" channel - config_get country "$device" country - config_get maxassoc "$device" maxassoc - config_get wds "$device" wds - config_get vifs "$device" vifs - config_get distance "$device" distance - config_get slottime "$device" slottime - config_get rxantenna "$device" rxantenna - config_get txantenna "$device" txantenna - config_get_bool frameburst "$device" frameburst - config_get macfilter "$device" macfilter - config_get maclist "$device" maclist - config_get macaddr "$device" macaddr - config_get txpower "$device" txpower - config_get frag "$device" frag - config_get rts "$device" rts - config_get hwmode "$device" hwmode - local vif_pre_up vif_post_up vif_do_up vif_txpower - local doth=0 - local wmm=1 - - _c=0 - nas="$(which nas)" - nas_cmd= - if_up= - - [ -z "$slottime" ] && { - [ -n "$distance" ] && { - # slottime = 9 + (distance / 150) + (distance % 150 ? 1 : 0) - slottime="$((9 + ($distance / 150) + 1 - (150 - ($distance % 150)) / 150 ))" - } - } || { - slottime="${slottime:--1}" - } - - case "$macfilter" in - allow|2) - macfilter=2; - ;; - deny|1) - macfilter=1; - ;; - disable|none|0) - macfilter=0; - ;; - esac - - case "$hwmode" in - *b) hwmode=0;; - *bg) hwmode=1;; - *g) hwmode=2;; - *gst) hwmode=4;; - *lrs) hwmode=5;; - *) hwmode=1;; - esac - - for vif in $vifs; do - config_get vif_txpower "$vif" txpower - - config_get mode "$vif" mode - append vif_pre_up "vif $_c" "$N" - append vif_post_up "vif $_c" "$N" - append vif_do_up "vif $_c" "$N" - - config_get_bool wmm "$vif" wmm "$wmm" - config_get_bool doth "$vif" doth "$doth" - - [ "$mode" = "sta" ] || { - config_get_bool hidden "$vif" hidden 0 - append vif_pre_up "closed $hidden" "$N" - config_get_bool isolate "$vif" isolate 0 - append vif_pre_up "ap_isolate $isolate" "$N" - } - - wsec_r=0 - eap_r=0 - wsec=0 - auth=0 - nasopts= - config_get enc "$vif" encryption - case "$enc" in - *wep*) - wsec_r=1 - wsec=1 - defkey=1 - config_get key "$vif" key - case "$enc" in - *shared*) append vif_do_up "wepauth 1" "$N";; - *) append vif_do_up "wepauth 0" "$N";; - esac - case "$key" in - [1234]) - defkey="$key" - for knr in 1 2 3 4; do - config_get k "$vif" key$knr - [ -n "$k" ] || continue - [ "$defkey" = "$knr" ] && def="=" || def="" - append vif_do_up "wepkey $def$knr,$k" "$N" - done - ;; - "");; - *) append vif_do_up "wepkey =1,$key" "$N";; - esac - ;; - *psk*) - wsec_r=1 - config_get key "$vif" key - - # psk version + default cipher - case "$enc" in - *mixed*|*psk+psk2*) auth=132; wsec=6;; - *psk2*) auth=128; wsec=4;; - *) auth=4; wsec=2;; - esac - - # cipher override - case "$enc" in - *tkip+aes*|*tkip+ccmp*|*aes+tkip*|*ccmp+tkip*) wsec=6;; - *aes*|*ccmp*) wsec=4;; - *tkip*) wsec=2;; - esac - - # group rekey interval - config_get rekey "$vif" wpa_group_rekey - - eval "${vif}_key=\"\$key\"" - nasopts="-k \"\$${vif}_key\"${rekey:+ -g $rekey}" - ;; - *wpa*) - wsec_r=1 - eap_r=1 - config_get auth_server "$vif" auth_server - [ -z "$auth_server" ] && config_get auth_server "$vif" server - config_get auth_port "$vif" auth_port - [ -z "$auth_port" ] && config_get auth_port "$vif" port - config_get auth_secret "$vif" auth_secret - [ -z "$auth_secret" ] && config_get auth_secret "$vif" key - - # wpa version + default cipher - case "$enc" in - *mixed*|*wpa+wpa2*) auth=66; wsec=6;; - *wpa2*) auth=64; wsec=4;; - *) auth=2; wsec=2;; - esac - - # cipher override - case "$enc" in - *tkip+aes*|*tkip+ccmp*|*aes+tkip*|*ccmp+tkip*) wsec=6;; - *aes*|*ccmp*) wsec=4;; - *tkip*) wsec=2;; - esac - - # group rekey interval - config_get rekey "$vif" wpa_group_rekey - - eval "${vif}_key=\"\$auth_secret\"" - nasopts="-r \"\$${vif}_key\" -h $auth_server -p ${auth_port:-1812}${rekey:+ -g $rekey}" - ;; - esac - append vif_do_up "wsec $wsec" "$N" - append vif_do_up "wpa_auth $auth" "$N" - append vif_do_up "wsec_restrict $wsec_r" "$N" - append vif_do_up "eap_restrict $eap_r" "$N" - - config_get ssid "$vif" ssid - append vif_post_up "vlan_mode 0" "$N" - append vif_post_up "ssid $ssid" "$N" - append vif_do_up "ssid $ssid" "$N" - - [ "$mode" = "monitor" ] && { - append vif_post_up "monitor $monitor" "$N" - } - - [ "$mode" = "adhoc" ] && { - config_get bssid "$vif" bssid - [ -n "$bssid" ] && { - append vif_pre_up "bssid $bssid" "$N" - append vif_pre_up "ibss_merge 0" "$N" - } || { - append vif_pre_up "ibss_merge 1" "$N" - } - } - - append vif_post_up "enabled 1" "$N" - - config_get ifname "$vif" ifname - #append if_up "ifconfig $ifname up" ";$N" - - local net_cfg - net_cfg="$(find_net_config "$vif")" - [ -z "$net_cfg" ] || { - append if_up "set_wifi_up '$vif' '$ifname'" ";$N" - append if_up "start_net '$ifname' '$net_cfg'" ";$N" - } - [ -z "$nasopts" ] || { - eval "${vif}_ssid=\"\$ssid\"" - nas_mode="-A" - [ "$mode" = "sta" ] && nas_mode="-S" - [ -z "$nas" ] || { - nas_cmd="${nas_cmd:+$nas_cmd$N}start-stop-daemon -S -b -p /var/run/nas.$ifname.pid -x $nas -- -P /var/run/nas.$ifname.pid -H 34954 -i $ifname $nas_mode -m $auth -w $wsec -s \"\$${vif}_ssid\" -g 3600 -F $nasopts" - } - } - _c=$(($_c + 1)) - done - killall -KILL nas >&- 2>&- - wlc ifname "$device" stdin <<EOF -$ifdown - -gmode ${hwmode:-1} -apsta $apsta -ap $ap -${mssid:+mssid $mssid} -infra $infra -${wet:+wet 1} -802.11d 0 -802.11h ${doth:-0} -wme ${wmm:-1} -rxant ${rxantenna:-3} -txant ${txantenna:-3} -fragthresh ${frag:-2346} -rtsthresh ${rts:-2347} -monitor ${monitor:-0} - -radio ${radio:-1} -macfilter ${macfilter:-0} -maclist ${maclist:-none} -wds none -${wds:+wds $wds} -country ${country:-US} -${channel:+channel $channel} -maxassoc ${maxassoc:-128} -slottime ${slottime:--1} -${frameburst:+frameburst $frameburst} - -$vif_pre_up -up -$vif_post_up -EOF - eval "$if_up" - wlc ifname "$device" stdin <<EOF -$vif_do_up -EOF - - # use vif_txpower (from last wifi-iface) instead of txpower (from - # wifi-device) if the latter does not exist - txpower=${txpower:-$vif_txpower} - [ -z "$txpower" ] || iwconfig $device txpower ${txpower}dBm - - eval "$nas_cmd" -} - - -detect_broadcom() { - local i=-1 - - while grep -qs "^ *wl$((++i)):" /proc/net/dev; do - local channel - - config_get type wl${i} type - [ "$type" = broadcom ] && continue - channel=`wlc ifname wl${i} channel` - cat <<EOF -config wifi-device wl${i} - option type broadcom - option channel ${channel:-11} - - # REMOVE THIS LINE TO ENABLE WIFI: - option disabled 1 - -config wifi-iface - option device wl${i} - option network lan - option mode ap - option ssid OpenWrt${i#0} - option encryption none - -EOF - done -} |