美文网首页OpenWRT
OpenWRT默认开启WiFi

OpenWRT默认开启WiFi

作者: 炎鸿 | 来源:发表于2021-03-29 04:43 被阅读0次

    1.目标源文件openwrt/package/kernel/mac80211/files/lib/wifi/mac80211.sh

    2.修改

    detect_mac80211() {
            devidx=0
            config_load wireless
            while :; do
                    config_get type "radio$devidx" type
                    [ -n "$type" ] || break
                    devidx=$(($devidx + 1))
            done
    
            for _dev in /sys/class/ieee80211/*; do
                    [ -e "$_dev" ] || continue
    
                    dev="${_dev##*/}"
    
                    found=0
                    config_foreach check_mac80211_device wifi-device
                    [ "$found" -gt 0 ] && continue
    
                    mode_band="g"
                    channel="11"
                    htmode=""
                    ht_capab=""
    
                    iw phy "$dev" info | grep -q 'Capabilities:' && htmode=HT20
    
                    iw phy "$dev" info | grep -q '\* 5... MHz \[' && {
                            mode_band="a"
                            channel=$(iw phy "$dev" info | grep '\* 5... MHz \[' | grep '(disabled)' -v -m 1 | sed 's/[^[]*\[\|\].*//g')
                            iw phy "$dev" info | grep -q 'VHT Capabilities' && htmode="VHT80"
                    }
    
                    iw phy "$dev" info | grep -q '\* 5.... MHz \[' && {
                            mode_band="ad"
                            channel=$(iw phy "$dev" info | grep '\* 5.... MHz \[' | grep '(disabled)' -v -m 1 | sed 's/[^[]*\[\|\|\].*//g')
                            iw phy "$dev" info | grep -q 'Capabilities:' && htmode="HT20"
                    }
    
                    [ -n "$htmode" ] && ht_capab="set wireless.radio${devidx}.htmode=$htmode"
    
                    path="$(mac80211_phy_to_path "$dev")"
                    if [ -n "$path" ]; then
                            dev_id="set wireless.radio${devidx}.path='$path'"
                    else
                            dev_id="set wireless.radio${devidx}.macaddr=$(cat /sys/class/ieee80211/${dev}/macaddress)"
                    fi
    
                    uci -q batch <<-EOF
                            set wireless.radio${devidx}=wifi-device
                            set wireless.radio${devidx}.type=mac80211
                            set wireless.radio${devidx}.channel=${channel}
                            set wireless.radio${devidx}.hwmode=11${mode_band}
                            ${dev_id}
                            ${ht_capab}
                            set wireless.radio${devidx}.disabled=0
    
                            set wireless.default_radio${devidx}=wifi-iface
                            set wireless.default_radio${devidx}.device=radio${devidx}
                            set wireless.default_radio${devidx}.network=lan
                            set wireless.default_radio${devidx}.mode=ap
                            set wireless.default_radio${devidx}.ssid=OpenWrt
                            set wireless.default_radio${devidx}.encryption=psk-mixed+ccmp
                            set wireless.default_radio${devidx}.password=12345678
    EOF
                    uci -q commit wireless
                    devidx=$(($devidx + 1))
            done
    

    相关文章

      网友评论

        本文标题:OpenWRT默认开启WiFi

        本文链接:https://www.haomeiwen.com/subject/hmjvhltx.html