8-Openwrt config wifi

1.Detección de controlador de wifi

https://oldwiki.archive.openwrt.org/doc/howto/wireless.overview

/package/base-files/files/etc/init.d/boot

 /sbin/wifi detect > /tmp/wireless.tmp
        [ -s /tmp/wireless.tmp ] && {
                cat /tmp/wireless.tmp >> /etc/config/wireless
        }
        rm -f /tmp/wireless.tmp

No hay tal párrafo en la versión LEDE, no hay interfaz de detección wifi, pero la interfaz de configuración wifi, pero no sé por qué

wifi_detect_notice() {
        >&2 echo "WARNING: Wifi detect is deprecated. Use wifi config instead"
        >&2 echo "For more information, see commit 5f8f8a366136a07df661e31decce2458357c167a"
        exit 1
}

wifi_config() {
        [ ! -f /etc/config/wireless ] && touch /etc/config/wireless

        for driver in $DRIVERS; do (
                if eval "type detect_$driver" 2>/dev/null >/dev/null; then
                        eval "detect_$driver" || echo "$driver: Detect failed" >&2
                else
                        echo "$driver: Hardware detection not supported" >&2
                fi
        ); done
}

Si no hay forma de detectarlo, significa que hay un problema con el controlador wifi. En openwrt, el controlador wifi es de código abierto y de código cerrado proporcionado por el fabricante. Generalmente, el código cerrado es relativamente estable, pero la función se recortará y el código abierto puede ser inestable. Fácil de colgar.

La unidad debe estar habilitada en dts.

&wmac {
    status = "okay";
};

Debajo de la plataforma, aparecerá un dispositivo de 10300000.wmac.

root@LEDE:/sys/devices/platform# ls
10000000.palmbus   101c1000.ohci      gpio-keys-polled   rstctrl
10100000.ethernet  10300000.wmac      gpio-leds          serial8250
10110000.esw       alarmtimer         gpio_export        uevent
10120000.usbphy    clkctrl            pinctrl
101c0000.ehci      cpuintc@0          regulatory.0

/ package / base-files / files / sbin / wifi

wifi_detect() {
        for driver in ${2:-$DRIVERS}; do (
                if eval "type detect_$driver" 2>/dev/null >/dev/null; then
                        eval "detect_$driver" || echo "$driver: Detect failed" >&2
                else
                        echo "$driver: Hardware detection not supported" >&2
                fi
        ); done
}

paquete / kernel / mac80211 / files / lib / wifi / mac80211.sh

detect_mac80211() {  
        set wireless.radio${devidx}.hwmode=11${mode_band}  
        ${dev_id}  
        ${ht_capab}  
        set wireless.radio${devidx}.disabled=1  
   
        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=LEDE  
        set wireless.default_radio${devidx}.encryption=none  
}

Configuración 2.Wifi

https://oldwiki.archive.openwrt.org/doc/uci/wireless

El script sobre wifi se encuentra en / sbin / wifi, y la información de configuración sobre wifi se encuentra en / etc / config / wireless.

root@OpenWrt:/# cat etc/config/wireless 

config wifi-device 'mt7628'
        option type 'mt7628'
        option vendor 'ralink'
        option band '2.4G'
        option channel  0
        option auotch '2'

config wifi-iface
        option device 'mt7628'
        option ifname 'ra0'
        option network 'lan'
        option mode 'ap'
        option ssid  NiuFi-1000AA
        option key  12345678
        option encryption 'psk2'
uci set wireless.@wifi-device[0].channel=%d && uci commit
uci set wireless.@wifi-iface[0].ssid=%s && uci commit
uci set wireless.@wifi-iface[0].key=%s && uci commit
uci set wireless.@wifi-iface[0].hidden=1 && uci commit

Después de modificar los parámetros de configuración, volverá a tener efecto a través de wifi down && wifi up o wifi reload

Obtener información de usuario conectado wifi
root@OpenWrt:/# cat /proc/net/arp
IP address       HW type     Flags       HW address            Mask     Device
192.168.1.136    0x1         0x2         58:44:98:b9:94:44     *        br-lan
192.168.1.230    0x1         0x2         30:b4:9e:1d:da:76     *        br-lan  
192.168.1.100    0x1         0x2         20:ab:37:8d:c2:f6     *        br-lan  
filtro wifi, solo permite ciertos enlaces mac
config wifi-iface
        option device 'radio0'
        option mode 'ap'
        option ssid 'OpenWrt'
        option network 'lan'
        option encryption 'psk'
        option key '12345678'
        option macfilter 'allow'
        list maclist '20:AB:37:8D:C2:F6'
        list maclist 'A8:02:C4:00:75:3D'
No permitir ciertos enlaces mac
config wifi-iface
        option device 'radio0'
        option mode 'ap'
        option ssid 'OpenWrt'
        option network 'lan'
        option encryption 'psk'
        option key '12345678'
        option macfilter 'deny'
        list maclist '00:05:15:0B:02:11'
        list maclist 'A8:02:C4:00:75:3D'

vi /etc/firewall.user, luego agregue en este formato, reemplace la dirección mac con la dirección real.

iptables -I FORWARD -m mac --mac-source 11:22:33:44:55:66 -j DROP
iptables -D forwarding_rule -m mac --mac-source 78:d7:5f:20:e2:9c -j ACCEPT
iptables -t nat -D prerouting_rule -p tcp -m mac --mac-source 78:d7:5f:20:e2:9c --dport 80 -j ACCEPT

3. Utilice el modo AP + STA

https://oldwiki.archive.openwrt.org/doc/recipes/ap_sta

106 artículos originales publicados · 76 elogiados · 130,000 visitas +

Supongo que te gusta

Origin blog.csdn.net/Creator_Ly/article/details/86084486
Recomendado
Clasificación