Changeset 11838


Ignore:
Timestamp:
2008-07-15T19:03:10+02:00 (10 years ago)
Author:
florian
Message:

Support for setting monitor mode (#1306)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/package/broadcom-wl/files/lib/wifi/broadcom.sh

    r10689 r11838  
    44        local device="$1" 
    55        local wds 
    6         local adhoc sta apmode 
    7         local adhoc_if sta_if ap_if 
     6        local adhoc sta apmode mon 
     7        local adhoc_if sta_if ap_if mon_if 
    88 
    99        config_get vifs "$device" vifs 
     
    2727                                [ -z "$addr" ] || append wds "$addr" 
    2828                        ;; 
     29                        monitor) 
     30                                mon=1 
     31                                mon_if="$vif" 
     32                        ;; 
    2933                        *) echo "$device($vif): Invalid mode";; 
    3034                esac 
     
    3337 
    3438        local _c= 
    35         for vif in ${adhoc_if:-$sta_if $ap_if}; do 
     39        for vif in ${adhoc_if:-$sta_if $ap_if $mon_if}; do 
    3640                config_set "$vif" ifname "wl0${_c:+.$_c}" 
    3741                _c=$((${_c:-0} + 1)) 
    3842        done 
    39         config_set "$device" vifs "${adhoc_if:-$sta_if $ap_if}" 
     43        config_set "$device" vifs "${adhoc_if:-$sta_if $ap_if $mon_if}" 
    4044 
    4145        ifdown="down" 
     
    5054        apsta=0 
    5155        radio=1 
    52         case "$adhoc:$sta:$apmode" in 
     56        monitor=0 
     57        passive=0 
     58        case "$adhoc:$sta:$apmode:$mon" in 
    5359                1*) 
    5460                        ap=0 
     
    5662                        infra=0 
    5763                ;; 
    58                 :1:1) 
     64                :1:1:) 
    5965                        apsta=1 
    6066                        wet=1 
    6167                ;; 
    62                 :1:) 
     68                :1::) 
    6369                        wet=1 
    6470                        ap=0 
    6571                        mssid= 
     72                ;; 
     73                :::1) 
     74                        wet=1 
     75                        ap=0 
     76                        mssid= 
     77                        monitor=1 
     78                        passive=1 
    6679                ;; 
    6780                ::) 
     
    202215                append vif_post_up "ssid $ssid" "$N" 
    203216                append vif_do_up "ssid $ssid" "$N" 
     217 
     218                [ "$mode" = "monitor" ] && { 
     219                        append vif_post_up "monitor $monitor" "$N" 
     220                        append vif_post_up "passive $passive" "$N" 
     221                } 
    204222                 
    205223                append vif_post_up "enabled 1" "$N" 
     
    244262rxant ${rxant:-3} 
    245263txant ${txant:-3} 
     264monitor ${monitor:-0} 
     265passive ${passive:-0} 
    246266 
    247267radio ${radio:-1} 
Note: See TracChangeset for help on using the changeset viewer.