1 (edytowany przez m80 2023-06-25 13:14:29)

Temat: Hotplug i wifi

Cześć

Mam dwa interfejsy wifi 2.4 i 5GHz połączone jednym bridgem i należące do tego samego vlana (Redmi AX6000 + OpenWrt SNAPSHOT r23422-e0fb38f4ee).
Chciałbym te interfejsy odizolować od siebie na bridge'u za pomocą (zainstalowany pakiet ip-bridge):

bridge link set dev phyX-apY isolated on

Utworzyłem w tym celu plik /etc/hotplug.d/iface/70-isolate-wifi:

if [ "$ACTION" = "ifup" ] ; then
      logger -t hotplug "WiFi hotplug test: $DEVICE, $INTERFACE, $ACTION"
fi

Niestety po wydaniu polecenia

wifi up radio2g 

lub 

wifi up radio5g

nie ma śladu że skrypt się odpala.

Pozdrawiam
Michał

2

Odp: Hotplug i wifi

Dla interfejsów radiowych nie zachodzi takie zdarzenie.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3 (edytowany przez m80 2023-06-25 13:58:45)

Odp: Hotplug i wifi

Czyli zostaje tylko wpisanie komend bridge do rc.local lub do crona?


Gdzie w kodzie źródłowym Openwrt można znaleźć jakie opcje są dozwolone w sekcji bridge'a:

config device
    option name 'br-lan'
    option type 'bridge'
    option vlan_filtering '1'

Chodzi o opcje vlan_filtering, igmp_snooping..., podobno jest taka opcja jak "isolated".

4

Odp: Hotplug i wifi

Na openwrt.org: https://openwrt.org/playground/arinc9/networking-basics zaś jeźeli faktycznie pytasz o kod źródłowy to netifd: https://git.openwrt.org/?p=project/neti … 4e;hb=HEAD

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

5 (edytowany przez m80 2023-06-25 16:29:54)

Odp: Hotplug i wifi

Dzięki Cezary

Nie znalazłem żadnej opcji do izolowania bridge'a więc na razie wpiszę do rc.local i crona wywołanie skryptu:

#!/bin/sh

# Zaczekaj na podniesienie interfejsow
sleep 120

# SSID sieci dla ktorej ma byc zastosowana opcja bridge'a
ssid="guest"
option="isolated on"

# Lista interfejsow bezprzewodowych
wifi_ifaces=`iwinfo | grep -w "ESSID: \"$ssid\"" | awk '{print $1}'`

# Wlacz/wylacz izolacje dla sieci z podanym ssid
for i in $wifi_ifaces; do
      /usr/sbin/bridge link set dev $i $option
done

rc.local:

...
/root/isolate_wifi.sh &

exit 0

cron:

...
00 07 * * *  wifi up && /root/isolate_wifi.sh
00 00 * * *  wifi down
...