Temat: Brak możliwości dostania się do niektórych urządzeń po dłuższym czasie

Witam,
mam router Xiaomi AX3600 z OpenWRT (LuCI openwrt-23.05 branch (git-24.364.71483-75d2b84) / OpenWrt 23.05.5 (r24106-10cc5fcd00)). Do urządzenia mam wpięte dużo urządzeń (nawet koło 30). Od długiego czasu zauważyłem dziwną przypadłość, która utrudnia mi zarządzanie urządzeniami IoT.
Moją przypadłością są problemy z uzyskaniem dostępu do urządzeń IoT (po adresie IP) po jakimś (zazwyczaj dłuższym) czasie, np. 4 dni, czasami 11 dni - jest to różnie. Gdy dziś znowu doświadczyłem tego problemu zauważyłem dziwną zależność, iż nie jestem w stanie spingować urządzenia IoT (są to ESP8266/32) z poziomu urządzeń wpiętych do routera, ale jestem w stanie spingować te urządzenia IoT z poziomu routera. Z poziomu komputera podpiętego przez kabel również nie jestem w stanie dostać się do tych urządzeń (otrzymuję błąd, że adres jest niedostępny). Wiem też, że urządzenia IoT poprawnie komunikują się wtedy z routerem, bo mam z nich na bieżąco dane w chmurze (nie mogę jedynie dostać się do nich z poziomu innych urządzeń Windows/Android).

Poniżej wrzucę configi i kilka screenów ukazujących problem. W aplikacji Termius pinguję urządzenia IoT (10.0.0.41 - 10.0.0.48), po prawo w CMD konsola Windowsa komputera podpiętego po WiFi.

Podczas problemu zmieniałem też ustawienie na interfejsie sieci WiFi w OpenWRT i zastosowanie zmiany spowodowało, że ponownie mogłem mieć dostęp do urządzeń IoT. Zmiana -> uci set wireless.wifinet4.disassoc_low_ack='0' (dla każdej sieci bezprzewodowej WiFi) (wygląda to trochę tak, że jakby restart wifi załatwiał sprawę)

Sprawa jest natomiast dosyć dziwna i być może ktoś poradziłby mi w czym może leżeć problem? Chciałbym raz na zawsze zażegnać ten problem, bym nie musiał myśleć i bawić się w resetowanie routera, by dostać się do urządzeń IoT.

Screeny:
PunBB bbcode test
PunBB bbcode test

Config wireless:

config wifi-device 'radio0'
    option type 'mac80211'
    option path 'soc/20000000.pci/pci0000:00/0000:00:00.0/0000:01:00.0'
    option channel 'auto'
    option band '5g'
    option htmode 'VHT80'
    option cell_density '0'
    option country 'PL'
    option log_level '1'
    option txpower '23'
    option disabled '1'

config wifi-iface 'default_radio0'
    option device 'radio0'
    option network 'lan'
    option mode 'ap'
    option ssid 'Test Xiao (2G/5G) QCA9887'
    option encryption 'psk2'
    option key '---'
    option disabled '1'

config wifi-device 'radio1'
    option type 'mac80211'
    option path 'platform/soc/c000000.wifi'
    option channel 'auto'
    option band '5g'
    option htmode 'HE80'
    option cell_density '0'
    option txpower '23'
    option log_level '1'

config wifi-iface 'default_radio1'
    option device 'radio1'
    option network 'lan'
    option mode 'ap'
    option ssid 'Wybrzeze Piatej Generacji'
    option encryption 'psk2'
    option key '---'

config wifi-device 'radio2'
    option type 'mac80211'
    option path 'platform/soc/c000000.wifi+1'
    option channel 'auto'
    option band '2g'
    option htmode 'HE40'
    option cell_density '0'
    option txpower '20'
    option country 'PL'
    option log_level '1'

config wifi-iface 'wifinet4'
    option device 'radio2'
    option mode 'ap'
    option ssid 'Wybrzeze Klatki Schodowej'
    option encryption 'psk2'
    option key '---'
    option network 'lan'
    option disassoc_low_ack '0'

Config firewall:

config defaults
    option input 'REJECT'
    option output 'ACCEPT'
    option forward 'REJECT'
    option synflood_protect '1'

config zone
    option name 'lan'
    option input 'ACCEPT'
    option output 'ACCEPT'
    option forward 'ACCEPT'
    list network 'lan'

config zone
    option name 'wan'
    option input 'REJECT'
    option output 'ACCEPT'
    option forward 'REJECT'
    option masq '1'
    option mtu_fix '1'
    list network 'wan'
    list network 'wan6'
    list network 'Play'

config forwarding
    option src 'lan'
    option dest 'wan'

config rule
    option name 'Allow-DHCP-Renew'
    option src 'wan'
    option proto 'udp'
    option dest_port '68'
    option target 'ACCEPT'
    option family 'ipv4'

config rule
    option name 'Allow-Ping'
    option src 'wan'
    option proto 'icmp'
    option icmp_type 'echo-request'
    option family 'ipv4'
    option target 'ACCEPT'

config rule
    option name 'Allow-IGMP'
    option src 'wan'
    option proto 'igmp'
    option family 'ipv4'
    option target 'ACCEPT'

config rule
    option name 'Allow-DHCPv6'
    option src 'wan'
    option proto 'udp'
    option dest_port '546'
    option family 'ipv6'
    option target 'ACCEPT'

config rule
    option name 'Allow-MLD'
    option src 'wan'
    option proto 'icmp'
    option src_ip 'fe80::/10'
    list icmp_type '130/0'
    list icmp_type '131/0'
    list icmp_type '132/0'
    list icmp_type '143/0'
    option family 'ipv6'
    option target 'ACCEPT'

config rule
    option name 'Allow-ICMPv6-Input'
    option src 'wan'
    option proto 'icmp'
    list icmp_type 'echo-request'
    list icmp_type 'echo-reply'
    list icmp_type 'destination-unreachable'
    list icmp_type 'packet-too-big'
    list icmp_type 'time-exceeded'
    list icmp_type 'bad-header'
    list icmp_type 'unknown-header-type'
    list icmp_type 'router-solicitation'
    list icmp_type 'neighbour-solicitation'
    list icmp_type 'router-advertisement'
    list icmp_type 'neighbour-advertisement'
    option limit '1000/sec'
    option family 'ipv6'
    option target 'ACCEPT'

config rule
    option name 'Allow-ICMPv6-Forward'
    option src 'wan'
    option dest '*'
    option proto 'icmp'
    list icmp_type 'echo-request'
    list icmp_type 'echo-reply'
    list icmp_type 'destination-unreachable'
    list icmp_type 'packet-too-big'
    list icmp_type 'time-exceeded'
    list icmp_type 'bad-header'
    list icmp_type 'unknown-header-type'
    option limit '1000/sec'
    option family 'ipv6'
    option target 'ACCEPT'

config rule
    option name 'Allow-IPSec-ESP'
    option src 'wan'
    option dest 'lan'
    option proto 'esp'
    option target 'ACCEPT'

config rule
    option name 'Allow-ISAKMP'
    option src 'wan'
    option dest 'lan'
    option dest_port '500'
    option proto 'udp'
    option target 'ACCEPT'

Config network:

config interface 'loopback'
    option device 'lo'
    option proto 'static'
    option ipaddr '127.0.0.1'
    option netmask '255.0.0.0'

config globals 'globals'
    option ula_prefix 'xxxx:xxxx:xxxx::/48'
    option packet_steering '1'

config device
    option name 'br-lan'
    option type 'bridge'
    list ports 'lan1'
    list ports 'lan2'
    list ports 'lan3'
    option ipv6 '0'

config interface 'lan'
    option device 'br-lan'
    option proto 'static'
    option ipaddr '10.0.0.1'
    option netmask '255.255.255.0'
    option ip6assign '60'
    list dns '1.1.1.1'
    list dns '8.8.8.8'

config interface 'wan'
    option device 'wan'
    option proto 'dhcp'
    option type 'bridge'

config interface 'wan6'
    option device 'wan'
    option proto 'dhcpv6'
    option type 'bridge'
    option disabled '1'
    option reqaddress 'try'
    option reqprefix 'auto'
    option auto '0'

config device
    option name 'wan'

config device
    option type '8021q'
    option ifname 'wan'
    option vid '35'
    option name 'wan.35'
    option mtu '1500'
    option macaddr '2X:XX:XX:XX:XX:XX'

config interface 'Play'
    option proto 'dhcp'
    option device 'wan.35'
    option hostname '*'

2

Odp: Brak możliwości dostania się do niektórych urządzeń po dłuższym czasie

Dlaczego - nie wiem. Coś mi świta że ktoś już pisał coś o tym że po paru dniach przestają mi działać dostępy do urządzeń ale nie pamiętam kontektu wątku. Trzeba by poszukać.

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

3

Odp: Brak możliwości dostania się do niektórych urządzeń po dłuższym czasie

Nie jestem pewien ale możliwe, że to będzie rozwiązanie tego problemu: https://github.com/openwrt/openwrt/pull/18705

4

Odp: Brak możliwości dostania się do niektórych urządzeń po dłuższym czasie

Poprawka o której pisałem weszła już do wersji 24.10. Więc jak Cezary wybuduje kolejne obrazy to będzie już w nich zawarta. Ale to wymaga przejścia z 23.05 na 24.10.

5

Odp: Brak możliwości dostania się do niektórych urządzeń po dłuższym czasie

Kurcze kusisz do spróbowania jak działa router po tej poprawce... smile
Wiesz może jak dokonać aktualizacji wersji OperWRT z 23.05 do 24.10? Dotychczas robiłem to z Sysupgrade Attended (ta opcja co sama kompiluje obraz bodajże z użyciem firmware-selectora i aktualizuje. Zastanawiam się jak poprawnie taki obraz sam skompilować i wyświetlić całą listę pakietów (przypuszczam, że ten Attended Sysupgrade nie ma możliwości aktualizacji całej nowej wersji OpenWRT - chyba, że się mylę?)?

6

Odp: Brak możliwości dostania się do niektórych urządzeń po dłuższym czasie

Mylisz się, on składa i aktualizuje cały obraz.

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

7

Odp: Brak możliwości dostania się do niektórych urządzeń po dłuższym czasie

Znaczy ja wiem, że on skłąda cały obraz, źle się zrozumieliśmy. Tylko aktualnie nie wykrywał mi wyższej wersji. Ale już chyba to rozwiązałem - wystarczyło zaznaczyć opcje zaawansowane (wtedy pojawiła się wyższa wersja OpenWRT + devy zmieniły nazewnictwo na "qualcommax/ipq807x"). Myślę, że teraz można już zaktualizować, będę bawił się z tym potem.

Tak dopytam - jeśli skompiluję ten obraz to ta poprawka już tam będzie?

8

Odp: Brak możliwości dostania się do niektórych urządzeń po dłuższym czasie

Jeżeli skompilujesz wersję rozwojową openwrt lub gałąź 24.10-SNAPSHOT to tak. Jeżeli 24.10.1 to nie, bo to starsze wydanie. Poprawka wygląduje dopiero w 24.10.2 (jak będzie)

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

9

Odp: Brak możliwości dostania się do niektórych urządzeń po dłuższym czasie

A wiesz może czy przez ten Attended Sysupgrade mogę skompilować wersję SNAPSHOT? Mam takie okno i nie mam jak tego wybrać:
PunBB bbcode test

Chyba, że ta opcja pojawi się dopiero po aktualizacji do 24.10.1? (Na stronie firmware selectora widzę, że jest opcja SNAPSHOT do wybrania)