Changeset 40680


Ignore:
Timestamp:
2014-05-03T20:38:09+02:00 (4 years ago)
Author:
nbd
Message:

mac80211: simplify HT40 handling, derive lower/upper channel mode automatically from channel index

Signed-off-by: Felix Fietkau <nbd@…>

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh

    r40497 r40680  
    7272                ht_capab= 
    7373                case "$htmode" in 
    74                         HT20|HT40-|HT40+) ht_capab="[$htmode]";; 
    75                         VHT40|VHT80|VHT160) 
    76                                 case "$channel" in 
    77                                         36|44|52|60|100|108|116|124|132|140|149|157) ht_capab="[HT40+]";; 
    78                                         40|48|56|64|104|112|120|128|136|144|153|161) ht_capab="[HT40-]";; 
     74                        HT40*|VHT40|VHT80|VHT160) 
     75                                case "$(( ($channel / 4) % 2 ))" in 
     76                                        1) ht_capab="[HT40+]";; 
     77                                        0) ht_capab="[HT40-]";; 
    7978                                esac 
    8079                                ;; 
     
    9190                case "$htmode" in 
    9291                        VHT40) 
    93                                 case "$channel" in 
    94                                         36|40) idx=38;; 
    95                                         44|48) idx=42;; 
    96                                         52|56) idx=54;; 
    97                                         60|64) idx=58;; 
    98                                         100|104) idx=102;; 
    99                                         108|112) idx=110;; 
    100                                         116|120) idx=118;; 
    101                                         124|128) idx=126;; 
    102                                         132|136) idx=134;; 
    103                                         140|144) idx=142;; 
    104                                         149|153) idx=151;; 
    105                                         157|161) idx=159;; 
     92                                case "$(( ($channel / 4) % 2 ))" in 
     93                                        1) idx=$(($channel + 2));; 
     94                                        0) idx=$(($channel - 2));; 
    10695                                esac 
    10796                                enable_ac=1 
     
    11099                        ;; 
    111100                        VHT80) 
    112                                 case "$channel" in 
    113                                         36|40|44|48) idx=42;; 
    114                                         52|56|60|64) idx=58;; 
    115                                         100|104|108|112) idx=106;; 
    116                                         116|120|124|128) idx=122;; 
    117                                         132|136|140|144) idx=138;; 
    118                                         149|153|157|161) idx=155;; 
     101                                case "$(( ($channel / 4) % 2 ))" in 
     102                                        1) idx=$(($channel + 6));; 
     103                                        2) idx=$(($channel + 2));; 
     104                                        3) idx=$(($channel - 2));; 
     105                                        0) idx=$(($channel - 6));; 
    119106                                esac 
    120107                                enable_ac=1 
Note: See TracChangeset for help on using the changeset viewer.