<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[eko.one.pl]]></title>
		<link>https://eko.one.pl/forum/index.php</link>
		<atom:link href="https://eko.one.pl/forum/extern.php?action=feed&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Najświeże tematy w eko.one.pl.]]></description>
		<lastBuildDate>Mon, 01 Jun 2026 20:57:22 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Openwrt/Wireguart/CG-NAT]]></title>
			<link>https://eko.one.pl/forum/viewtopic.php?id=25309&amp;action=new</link>
			<description><![CDATA[<p>Dzień dobry szanowni Użytkownicy OpenWrt!</p><p>Zwracam się z pytaniem i prośbą o pomoc w rozwiązaniu małego &quot;problemu&quot; Jak skonfigurować router openwrt wraz z zainstalowanym wireguard aby mieć dostęp do maszyn które znajdują się po stronie klienta. <a href="https://ibb.co/39ftKqvr">https://ibb.co/39ftKqvr</a><br />Dziękuję za wszystkie odpowiedzi.</p>]]></description>
			<author><![CDATA[null@example.com (anotheremailbox)]]></author>
			<pubDate>Mon, 01 Jun 2026 20:57:22 +0000</pubDate>
			<guid>https://eko.one.pl/forum/viewtopic.php?id=25309&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Kompilacja OpenWrt pod RK3066 (MK808 tv box)]]></title>
			<link>https://eko.one.pl/forum/viewtopic.php?id=25308&amp;action=new</link>
			<description><![CDATA[<p>Witam,<br />próbuję pierwszy raz swoich sił z kompilowaniem... <img src="https://eko.one.pl/forum/img/smilies/smile.png" width="15" height="15" alt="smile" /></p><p>Wybieram:<br />Target System: Arm SystemReady (EFI) compliant =&gt; no i to EFI chyba jest problemem ?<br />Target Profile: 32-bit (armv7) machines</p><p>Po co to robię:<br />mam dwa takie tv boxy które potrzebuję zamienić na proste routerki (adapter LAN) rndis + ftp</p><p>Uruchomiłem picuntu i fajnie tylko nie ma opcji rndis, brak modułów w kernelu</p><p>Wgrywam linuxroot.img na partycje recovery i się uruchamia, zainstalowalem ftpa i pracuje na ile adapter LEN pozwala, generalnie do moich celów wystarcza.</p><p>----------------------------<br />Wsparcie dla rockchip armv7:<br /><a href="https://downloads.openwrt.org/releases/23.05.5/targets/armsr/armv7/">https://downloads.openwrt.org/releases/ … msr/armv7/</a><br />Ale nie bardzo wiem czy mogę któryś z tych plików wgrać jako partycje recovery ?</p><br /><p>Da się to jakoś ogarnąć kompilując + moduły rndis?</p>]]></description>
			<author><![CDATA[null@example.com (slimax)]]></author>
			<pubDate>Mon, 01 Jun 2026 12:00:43 +0000</pubDate>
			<guid>https://eko.one.pl/forum/viewtopic.php?id=25308&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Toto X5000R, światłowód T-Mobile i wolny WAN]]></title>
			<link>https://eko.one.pl/forum/viewtopic.php?id=25307&amp;action=new</link>
			<description><![CDATA[<p>Hej,</p><p>Przeprowadzam się właśnie i zmieniam łącze - mam światłowód t-mobile + ONT, podłączyłem toto X5000R i wyciągam niestety ledwie 400mbps z groszami. Włączone packet steering na wszystkich rdzeniach (bez tego jeszcze wolniej), hardware NAT offloading też. Jest szansa że coś jest jeszcze nie halo i dam radę wyciągnąć okolice 900mbps, czy to CPU nie wyrabia i bez wymiany sprzętu się nie obejdzie?</p>]]></description>
			<author><![CDATA[null@example.com (dijxie)]]></author>
			<pubDate>Sun, 31 May 2026 19:28:20 +0000</pubDate>
			<guid>https://eko.one.pl/forum/viewtopic.php?id=25307&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[banIP]]></title>
			<link>https://eko.one.pl/forum/viewtopic.php?id=25306&amp;action=new</link>
			<description><![CDATA[<p>czy&nbsp; banip dziala w obecnej wersji&nbsp; OpenWrt 25.12-SNAPSHOT, r32909-7014bb7ee2&nbsp; &nbsp;<br />dostaje taka informacje&nbsp; &nbsp;, nie wiem czy instalować : <br /></p><div class="codebox"><pre><code>LuCI support for banIP
Wymagana zależność libncursesw6 nie jest dostępna w żadnym repozytorium.</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (ad2014)]]></author>
			<pubDate>Sat, 30 May 2026 21:11:56 +0000</pubDate>
			<guid>https://eko.one.pl/forum/viewtopic.php?id=25306&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Ustawienie portu LAN sztywno na 10Mbit]]></title>
			<link>https://eko.one.pl/forum/viewtopic.php?id=25305&amp;action=new</link>
			<description><![CDATA[<p>Cześć</p><p>Prawdopodobnie piorun uwalił mi router i jedno urządzenie sieciowe w taki sposób że działa tylko z tym jednym routerem i tylko na tym jednym porcie. Nawet ten sam model routera jako inny egzemplarz nie synchronizuje się z tym uwalonym urządzeniem</p><p>Jest możliwość ustawienia portu LAN na sztywno 10Mbit tak żeby nie próbował się synchronizować na inne prędkości?</p>]]></description>
			<author><![CDATA[null@example.com (Loozak)]]></author>
			<pubDate>Sat, 30 May 2026 13:21:23 +0000</pubDate>
			<guid>https://eko.one.pl/forum/viewtopic.php?id=25305&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[D-Link DAP-2610/ Gargoyle 1.15 zmiana portu LAN na WAN?]]></title>
			<link>https://eko.one.pl/forum/viewtopic.php?id=25304&amp;action=new</link>
			<description><![CDATA[<p>Próbuję skonfigurować DAP-2610 jako AP-Router z portem WAN-ethernet/ niestety nie startuje mi konfiguracja z tymi ustawieniami GUI?&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </p><div class="codebox"><pre><code> 

    Nazwa urządzenia:Gargoyle
    Wersja Gargoyle:1.15.0.5 (Built 20260411-1407 git@cf140c45)
     eko.one.pl
    Model:D-Link DAP 2610
    Konfiguracja urządzenia:Brama sieciowa
    Zajętość pamięci RAM:78.3MB / 240.6MB (32.5%)
    Połączenia:18/4096
    Średnie obciążenie CPU:0.13 / 0.13 / 0.09 (1/5/15 min.)
    Temperatura CPU:52 °C
    Temperatura RAM:- °C
    Temperatura Wi-Fi:- °C

LAN

    Adres IP LAN:192.168.1.1
    fdb6:d420:74a9::1
    Maska podsieci LAN:255.255.255.0
    fdb6:d420:74a9::1/60
    Adres MAC LAN:A4:2A:95:52:55:40

Port    Status
LAN    1Gbps</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (jarek7714)]]></author>
			<pubDate>Sat, 30 May 2026 11:49:30 +0000</pubDate>
			<guid>https://eko.one.pl/forum/viewtopic.php?id=25304&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[MikroTik RBM33G]]></title>
			<link>https://eko.one.pl/forum/viewtopic.php?id=25303&amp;action=new</link>
			<description><![CDATA[<p>Czas znów trochę powspominać. <strong>MikroTik RBM33G</strong> to płytka która godnie zastępuje starsze konstrukcje i znalazła zastosowanie w wielu projektach. A że jest już na rynku parę lat to okazuje się że zaczyna się pojawiać w okazyjnych cenach z drugiej ręki, co umożliwia ponowne wykorzystanie jej w różnych projektach DIY. Oczywiście nadal jest do nabycia jako produkt &quot;nowy&quot;, jak by ktoś miał taką potrzebę.</p><p><span class="postimg"><img src="https://eko.one.pl/routerdatabase/imgs/mikrotikrouterboardrbm33g.jpg" alt="https://eko.one.pl/routerdatabase/imgs/mikrotikrouterboardrbm33g.jpg" /></span></p><p>Na pokładzie mamy znanego staruszka Mediateka MT7621 wspomaganego 256MB pamięci ram i 16MB flash. Do tego mamy trzy gigabitowe porty ethernet, złącza USB 3.0, dwa złącza minipci, każdy ze slotem na kartę SIM oraz złącze m.2 z sygnałami PCI. Nie ma wbudowanego Wi-Fi. Zasilanie jest możliwe przez jeden portów ethernet przez PoE lub normalnie przez gniazdo DC Jack, akceptowane jest szeroki zakres napięć. Na krawędzi jest szereg pinów z napięciami i GPIO, które mają dość dużą zgodność ze złączem pinów stosowanym w RPi, choć nie jest to zgodne jeden-do-jednego.<br />Systemem operacyjnym jest RouterOS, który oczywiście spokojnie można zastąpić przez OpenWrt, wykorzystując standardową procedurę instalacji tego systemu dla MikroTików.</p><p>Najbardziej interesujące są właśnie dwa sloty minipci, który każdy ma podłączony swój niezależny slot karty SIM. Umożliwia to&nbsp; umieszczenie tam dwóch nieżależnych modemów komórkowych. Oczywiście działają także adaptery minipci&lt;&gt;m2, więc można nawet włożyć tam nowsze modemy nawet 5G, ale obsługiwane przez USB.<br />Modemu zaś nie możemy włożyć do slotu M.2 bo on nie ma podłączonego wyprowadzenia karty SIM. Ma tylko sygnały PCI, więc można tam umieścić kartę WiFi lub - jak sugeruje producent - dysk NVME.</p><p>Oprócz tego mamy zewnętrzne złącze USB 3.0 które współdzieli podsystem USB 2.0 z drugim slotem minipci - jest to przełączane odpowiednią fizyczną zworką. Czyli jeżeli chcemy używać modemu w drugim slocie minipci to nie możemy użyć USB 2.0 z gniazda, ale wciąż w gnieździe zostają sygnały od USB 3.0 i ponoć działa wtedy np. pendrive z USB 3.0. Nie sprawdzałem jeszcze tego.</p><p>Cena (nowej) takiej płytki to ok 220zł. </p><p>RBM33G ma także młodszego brata w postaci RBM11G, ale to z kolei bardzo uproszczona konstrukcja pod jeden modem.</p>]]></description>
			<author><![CDATA[null@example.com (Cezary)]]></author>
			<pubDate>Sat, 30 May 2026 05:19:45 +0000</pubDate>
			<guid>https://eko.one.pl/forum/viewtopic.php?id=25303&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Doinstalowanie nowszej wersji pythona na OpenWRT 19.07]]></title>
			<link>https://eko.one.pl/forum/viewtopic.php?id=25302&amp;action=new</link>
			<description><![CDATA[<p>Cześć,<br />potrzebuję pomocy odnośnie doinstalowania nowszego Pythona na urządzeniu z OpenWrt 19.07.</p><p>Aktualnie system działa na Pythonie 3.7.13 i korzystają z niego istniejące usługi produkcyjne, więc nie chciałbym podmieniać systemowego interpretera ani ryzykować konfliktów zależności.</p><p>Chcę obok systemowego Pythona uruchomić nową aplikację webową i zastanawiam się jaka będzie najlepsza droga:</p><p>doinstalowanie równolegle np. Python 3.10/3.11,<br />własny build/toolchain,<br />statycznie zbudowany Python,<br />albo inne podejście rekomendowane na OpenWrt 19.07.</p><p>Założenie: stary software ma dalej działać na obecnym Pythonie 3.7</p><p>Zależy mi na możliwości używania nowszych bibliotek i wygodniejszego developmentu.</p>]]></description>
			<author><![CDATA[null@example.com (marcinwijata)]]></author>
			<pubDate>Fri, 29 May 2026 14:03:37 +0000</pubDate>
			<guid>https://eko.one.pl/forum/viewtopic.php?id=25302&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[VLANy na 1043nd v1]]></title>
			<link>https://eko.one.pl/forum/viewtopic.php?id=25301&amp;action=new</link>
			<description><![CDATA[<p>Witam.</p><p>Każdy z fizycznych portów w 1043ND v1 jest przypisany do co najmniej jednej oddzielnej sieci, wszystko działało do czasu próby modyfikacji tj. próby połącznia kamery poprzez osobny VLAN przez bojarze VLAN30 do innego routera, który ma połączenie z NVR ). I na pierwszym połączeniu tj utknąłem.</p><p>Przed modyfikacją switch wyglądał tak:</p><div class="codebox"><pre><code>root@LEDE:~# swconfig dev switch0 show | grep -A10 VLAN
VLAN 1:
        info: VLAN 1: Ports: &#039;45t&#039;, members=0030, untag=0000, fid=0
        fid: 0
        ports: 4 5t
VLAN 2:
        info: VLAN 2: Ports: &#039;15t&#039;, members=0022, untag=0002, fid=0
        fid: 0
        ports: 1 5t
VLAN 3:
        info: VLAN 3: Ports: &#039;35t&#039;, members=0028, untag=0008, fid=0
        fid: 0
        ports: 3 5t
VLAN 4:
        info: VLAN 4: Ports: &#039;05t&#039;, members=0021, untag=0001, fid=0
        fid: 0
        ports: 0 5t
VLAN 5:
        info: VLAN 5: Ports: &#039;25t&#039;, members=0024, untag=0004, fid=0
        fid: 0
        ports: 2 5t
VLAN 30:
        info: VLAN 30: Ports: &#039;0t5t&#039;, members=0021, untag=0000, fid=0
        fid: 0
        ports: 0t 5t
VLAN 40:
        info: VLAN 40: Ports: &#039;0t5t&#039;, members=0021, untag=0000, fid=0
        fid: 0
        ports: 0t 5t</code></pre></div><p>Po modyfikacji tj próbie dodanie VLAN88</p><div class="codebox"><pre><code>VLAN 1:
        info: VLAN 1: Ports: &#039;45t&#039;, members=0030, untag=0000, fid=0
        fid: 0
        ports: 4 5t
....
....

VLAN 88:
        info: VLAN 88: Ports: &#039;4t5t&#039;, members=0030, untag=0000, fid=0
        fid: 0
        ports: 4t 5t</code></pre></div><br /><br /><p>Niestety, moje próby spowodowały, że wszystkie urządzania na zarządzalnym switchu przestały odpowiadać (dodam, że stałym adresem IP w sieci 192.168.10.0/24)</p><br /><br /><p>Mam zarządzalny switch TP-LINK T2600G-28TS podłączony przez port nr 1 z portem nr 4 OpenWRT i w sekcji L2 </p><p>1. Z istniejącej VLAN1 z &quot;Untagged Ports&quot; usunąłem port nr 13 (tj tam, gdzie jest podpięta kamera)<br />2. Dodałem nowy VLAN88 z&nbsp; jednym &quot;Untagged Ports&quot;&nbsp; = 1/0/13 (kamera) oraz dodałem &quot;Tagged port&quot; 1/0/1 (to jest fizyczne połączenie z OpenWRT)</p><br /><p>Oczywiście nie zadziałało, próbowałem też w punkcie nr 1 port pierwszy (a więc połączony z OpenWRT) dodać jako tagowany i zmieniona konfiguracja switcha z tagowaniem dla portu 4:</p><div class="codebox"><pre><code>VLAN 1:
        info: VLAN 1: Ports: &#039;4t5t&#039;, members=0030, untag=0000, fid=0
        fid: 0
        ports: 4t 5t
....
....

VLAN 88:
        info: VLAN 88: Ports: &#039;4t5t&#039;, members=0030, untag=0000, fid=0
        fid: 0
        ports: 4t 5t</code></pre></div><p>ale też nie działa.</p><p>Co robię źle?</p>]]></description>
			<author><![CDATA[null@example.com (oneiro)]]></author>
			<pubDate>Thu, 28 May 2026 18:39:28 +0000</pubDate>
			<guid>https://eko.one.pl/forum/viewtopic.php?id=25301&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Edycja skryptu qmi.sh - bridge mode]]></title>
			<link>https://eko.one.pl/forum/viewtopic.php?id=25300&amp;action=new</link>
			<description><![CDATA[<p>Chciałbym przełączyć router LTE z wgranym OpenWRT w tryb bridge z pełnym IP passthrough, niestety natywnie pakiety nie oferują takiej opcji (a może się mylę?)<br />Dobrze kminię, że można tu wyłączyć DHCP i po zmostkowaniu interfejsów klient DHCP to łyknie?<br /></p><div class="codebox"><pre><code>#!/bin/sh

[ -n &quot;$INCLUDE_ONLY&quot; ] || {
    . /lib/functions.sh
    . ../netifd-proto.sh
    init_proto &quot;$@&quot;
}

proto_qmi_init_config() {
    available=1
    no_device=1
    proto_config_add_string &quot;device:device&quot;
    proto_config_add_string apn
    proto_config_add_string v6apn
    proto_config_add_string auth
    proto_config_add_string username
    proto_config_add_string password
    proto_config_add_string pincode
    proto_config_add_int delay
    proto_config_add_string modes
    proto_config_add_string pdptype
    proto_config_add_int profile
    proto_config_add_int v6profile
    proto_config_add_string devpath
    proto_config_add_boolean dhcp
    proto_config_add_boolean dhcpv6
    proto_config_add_boolean sourcefilter
    proto_config_add_boolean delegate
    proto_config_add_boolean autoconnect
    proto_config_add_int plmn
    proto_config_add_int timeout
    proto_config_add_int mtu
    proto_config_add_defaults
}

proto_qmi_setup() {
    local interface=&quot;$1&quot;

    local connstat dataformat mcc mnc plmn_mode
    local cid_4 cid_6 pdh_4 pdh_6
    local dns1_6 dns2_6 gateway_6 ip_6 ip_prefix_length
    local profile_pdptype

    local delegate ip4table ip6table mtu sourcefilter $PROTO_DEFAULT_OPTIONS
    json_get_vars delegate ip4table ip6table mtu sourcefilter $PROTO_DEFAULT_OPTIONS

    local apn auth delay device modes password pdptype pincode username v6apn
    json_get_vars apn auth delay device modes password pdptype pincode username v6apn

    local profile v6profile devpath dhcp dhcpv6 autoconnect plmn timeout
    json_get_vars profile v6profile devpath dhcp dhcpv6 autoconnect plmn timeout

    [ &quot;$timeout&quot; = &quot;&quot; ] &amp;&amp; timeout=&quot;10&quot;

    [ &quot;$metric&quot; = &quot;&quot; ] &amp;&amp; metric=&quot;0&quot;

    [ -n &quot;$ctl_device&quot; ] &amp;&amp; device=$ctl_device

    if [ -n &quot;$devpath&quot; ]; then
        local usbmisc_or_wwan_path
        # For usbmisc:
        # /sys/devices/platform/1e1c0000.xhci/usb1/1-2/1-2:1.4/usbmisc/cdc-wdm0
        # Numbers after &quot;:&quot; are the configuration and interface number
        # of the connected modem. There can be multiple interfaces but
        # there will only be a single interface that provides the
        # control channel device. Therefore, check also /*/usbmisc to
        # allow specifying the USB port number the modem is directly
        # connected to.
        # For wwan:
        # /sys/devices/platform/soc/11280000.pcie/pci0003:00/0003:00:00.0/0003:01:00.0/wwan/wwan0/wwan0qmi0
        # /sys/devices/platform/soc/11280000.pcie/pci0003:00/0003:00:00.0/0003:01:00.0/mhi0/wwan/wwan0/wwan0qmi0
        for usbmisc_or_wwan_path in \
            &quot;$devpath&quot;/usbmisc/cdc-wdm* \
            &quot;$devpath&quot;/*/usbmisc/cdc-wdm* \
            &quot;$devpath&quot;/*/wwan[0-9]*/wwan[0-9]*qmi* \
            &quot;$devpath&quot;/*/*/wwan[0-9]*/wwan[0-9]*qmi*; do
            [ ! -e &quot;$usbmisc_or_wwan_path&quot; ] &amp;&amp; continue
            device=&quot;/dev/${usbmisc_or_wwan_path##*/}&quot;
            break
        done
    fi

    [ -n &quot;$device&quot; ] || {
        echo &quot;No control device specified&quot;
        proto_notify_error &quot;$interface&quot; NO_DEVICE
        proto_set_available &quot;$interface&quot; 0
        return 1
    }

    [ -n &quot;$delay&quot; ] &amp;&amp; sleep &quot;$delay&quot;

    device=&quot;$(readlink -f $device)&quot;
    [ -c &quot;$device&quot; ] || {
        echo &quot;The specified control device does not exist&quot;
        proto_notify_error &quot;$interface&quot; NO_DEVICE
        proto_set_available &quot;$interface&quot; 0
        return 1
    }

    devname=&quot;$(basename &quot;$device&quot;)&quot;
    devpath=&quot;$(readlink -f /sys/class/usbmisc/$devname/device/)&quot;
    ifname=&quot;$( ls &quot;$devpath&quot;/net )&quot;
    [ -n &quot;$ifname&quot; ] || {
        echo &quot;The interface could not be found.&quot;
        proto_notify_error &quot;$interface&quot; NO_IFACE
        proto_set_available &quot;$interface&quot; 0
        return 1
    }

    [ -n &quot;$mtu&quot; ] &amp;&amp; {
        echo &quot;Setting MTU to $mtu&quot;
        /sbin/ip link set dev $ifname mtu $mtu
    }

    echo &quot;Waiting for SIM initialization&quot;
    local uninitialized_timeout=0
    # timeout 3s for first call to avoid hanging uqmi
    uqmi -d &quot;$device&quot; -t 3000 --get-pin-status &gt; /dev/null 2&gt;&amp;1
    while uqmi -s -d &quot;$device&quot; -t 1000 --get-pin-status | grep &#039;&quot;UIM uninitialized&quot;&#039; &gt; /dev/null; do
        [ -e &quot;$device&quot; ] || return 1
        if [ &quot;$uninitialized_timeout&quot; -lt &quot;$timeout&quot; -o &quot;$timeout&quot; = &quot;0&quot; ]; then
            let uninitialized_timeout++
            sleep 1;
        else
            echo &quot;SIM not initialized&quot;
            proto_notify_error &quot;$interface&quot; SIM_NOT_INITIALIZED
            proto_block_restart &quot;$interface&quot;
            return 1
        fi
    done

    # Check if UIM application is stuck in illegal state
    local uim_state_timeout=0
    while true; do
        json_load &quot;$(uqmi -s -d &quot;$device&quot; -t 2000 --uim-get-sim-state)&quot;
        json_get_var card_application_state card_application_state

        # SIM card is either completely absent or state is labeled as illegal
        # Try to power-cycle the SIM card to recover from this state
        if [ -z &quot;$card_application_state&quot; -o &quot;$card_application_state&quot; = &quot;illegal&quot; ]; then
            echo &quot;SIM in illegal state - Power-cycling SIM&quot;

            # Try to reset SIM application
            uqmi -d &quot;$device&quot; -t 1000 --uim-power-off --uim-slot 1
            sleep 3
            uqmi -d &quot;$device&quot; -t 1000 --uim-power-on --uim-slot 1

            if [ &quot;$uim_state_timeout&quot; -lt &quot;$timeout&quot; ] || [ &quot;$timeout&quot; = &quot;0&quot; ]; then
                let uim_state_timeout++
                sleep 5
                continue
            fi

            # Recovery failed
            proto_notify_error &quot;$interface&quot; SIM_ILLEGAL_STATE
            proto_block_restart &quot;$interface&quot;
            return 1
        else
            break
        fi
    done

    if uqmi -s -d &quot;$device&quot; -t 1000 --uim-get-sim-state | grep -q &#039;&quot;Not supported&quot;\|&quot;Invalid QMI command&quot;&#039; &amp;&amp;
       uqmi -s -d &quot;$device&quot; -t 1000 --get-pin-status | grep -q &#039;&quot;Not supported&quot;\|&quot;Invalid QMI command&quot;&#039; ; then
        [ -n &quot;$pincode&quot; ] &amp;&amp; {
            uqmi -s -d &quot;$device&quot; -t 1000 --verify-pin1 &quot;$pincode&quot; &gt; /dev/null || uqmi -s -d &quot;$device&quot; -t 1000 --uim-verify-pin1 &quot;$pincode&quot; &gt; /dev/null || {
                echo &quot;Unable to verify PIN&quot;
                proto_notify_error &quot;$interface&quot; PIN_FAILED
                proto_block_restart &quot;$interface&quot;
                return 1
            }
        }
    else
        json_load &quot;$(uqmi -s -d &quot;$device&quot; -t 1000 --get-pin-status)&quot;
        json_get_var pin1_status pin1_status
        if [ -z &quot;$pin1_status&quot; ]; then
            json_load &quot;$(uqmi -s -d &quot;$device&quot; -t 1000 --uim-get-sim-state)&quot;
            json_get_var pin1_status pin1_status
        fi
        json_get_var pin1_verify_tries pin1_verify_tries

        case &quot;$pin1_status&quot; in
            disabled)
                echo &quot;PIN verification is disabled&quot;
                ;;
            blocked)
                echo &quot;SIM locked PUK required&quot;
                proto_notify_error &quot;$interface&quot; PUK_NEEDED
                proto_block_restart &quot;$interface&quot;
                return 1
                ;;
            not_verified)
                [ &quot;$pin1_verify_tries&quot; -lt &quot;3&quot; ] &amp;&amp; {
                    echo &quot;PIN verify count value is $pin1_verify_tries this is below the limit of 3&quot;
                    proto_notify_error &quot;$interface&quot; PIN_TRIES_BELOW_LIMIT
                    proto_block_restart &quot;$interface&quot;
                    return 1
                }
                if [ -n &quot;$pincode&quot; ]; then
                    uqmi -s -d &quot;$device&quot; -t 1000 --verify-pin1 &quot;$pincode&quot; &gt; /dev/null 2&gt;&amp;1 || uqmi -s -d &quot;$device&quot; -t 1000 --uim-verify-pin1 &quot;$pincode&quot; &gt; /dev/null 2&gt;&amp;1 || {
                        echo &quot;Unable to verify PIN&quot;
                        proto_notify_error &quot;$interface&quot; PIN_FAILED
                        proto_block_restart &quot;$interface&quot;
                        return 1
                    }
                else
                    echo &quot;PIN not specified but required&quot;
                    proto_notify_error &quot;$interface&quot; PIN_NOT_SPECIFIED
                    proto_block_restart &quot;$interface&quot;
                    return 1
                fi
                ;;
            verified)
                echo &quot;PIN already verified&quot;
                ;;
            *)
                echo &quot;PIN status failed (${pin1_status:-sim_not_present})&quot;
                proto_notify_error &quot;$interface&quot; PIN_STATUS_FAILED
                proto_block_restart &quot;$interface&quot;
                return 1
            ;;
        esac
        json_cleanup
    fi

    if [ -n &quot;$plmn&quot; ]; then
        json_load &quot;$(uqmi -s -d &quot;$device&quot; -t 1000 --get-plmn)&quot;
        json_get_var plmn_mode mode
        json_get_vars mcc mnc || {
            mcc=0
            mnc=0
        }

        if [ &quot;$plmn&quot; = &quot;0&quot; ]; then
            if [ &quot;$plmn_mode&quot; != &quot;automatic&quot; ]; then
                mcc=0
                mnc=0
                echo &quot;Setting PLMN to auto&quot;
            fi
        elif [ &quot;$mcc&quot; -ne &quot;${plmn:0:3}&quot; -o &quot;$mnc&quot; -ne &quot;${plmn:3}&quot; ]; then
            mcc=${plmn:0:3}
            mnc=${plmn:3}
            echo &quot;Setting PLMN to $plmn&quot;
        else
            mcc=&quot;&quot;
            mnc=&quot;&quot;
        fi
    fi

    # Cleanup current state if any
    uqmi -s -d &quot;$device&quot; -t 1000 --stop-network 0xffffffff --autoconnect &gt; /dev/null 2&gt;&amp;1
    uqmi -s -d &quot;$device&quot; -t 1000 --set-ip-family ipv6 --stop-network 0xffffffff --autoconnect &gt; /dev/null 2&gt;&amp;1

    # Go online
    uqmi -s -d &quot;$device&quot; -t 1000 --set-device-operating-mode online &gt; /dev/null 2&gt;&amp;1

    # Set IP format
    uqmi -s -d &quot;$device&quot; -t 1000 --set-data-format 802.3 &gt; /dev/null 2&gt;&amp;1
    uqmi -s -d &quot;$device&quot; -t 1000 --wda-set-data-format 802.3 &gt; /dev/null 2&gt;&amp;1
    json_load &quot;$(uqmi -s -d &quot;$device&quot; -t 1000 --wda-get-data-format)&quot;
    json_get_var dataformat link-layer-protocol

    if [ &quot;$dataformat&quot; = &quot;raw-ip&quot; ]; then

        [ -f /sys/class/net/$ifname/qmi/raw_ip ] || {
            echo &quot;Device only supports raw-ip mode but is missing this required driver attribute: /sys/class/net/$ifname/qmi/raw_ip&quot;
            return 1
        }

        echo &quot;Device does not support 802.3 mode. Informing driver of raw-ip only for $ifname ..&quot;
        echo &quot;Y&quot; &gt; /sys/class/net/$ifname/qmi/raw_ip
    fi

    uqmi -s -d &quot;$device&quot; -t 1000 --sync &gt; /dev/null 2&gt;&amp;1

    uqmi -s -d &quot;$device&quot; -t 20000 --network-register &gt; /dev/null 2&gt;&amp;1

    # PLMN selection must happen after the call to network-register
    if [ -n &quot;$mcc&quot; -a -n &quot;$mnc&quot; ]; then
        uqmi -s -d &quot;$device&quot; -t 1000 --set-plmn --mcc &quot;$mcc&quot; --mnc &quot;$mnc&quot; &gt; /dev/null 2&gt;&amp;1 || {
            echo &quot;Unable to set PLMN&quot;
            proto_notify_error &quot;$interface&quot; PLMN_FAILED
            proto_block_restart &quot;$interface&quot;
            return 1
        }
    fi

    [ -n &quot;$modes&quot; ] &amp;&amp; {
        uqmi -s -d &quot;$device&quot; -t 1000 --set-network-modes &quot;$modes&quot; &gt; /dev/null 2&gt;&amp;1
        sleep 3
        # Scan network to not rely on registration-timeout after RAT change
        uqmi -s -d &quot;$device&quot; -t 30000 --network-scan &gt; /dev/null 2&gt;&amp;1
    }

    echo &quot;Waiting for network registration&quot;
    sleep 5
    local registration_timeout=0
    local serving_system=&quot;&quot;
    local registration_state=&quot;&quot;
    while true; do
        serving_system=&quot;$(uqmi -s -d &quot;$device&quot; -t 1000 --get-serving-system 2&gt;/dev/null)&quot;
        registration_state=$(echo &quot;$serving_system&quot; | jsonfilter -e &quot;@.registration&quot; 2&gt;/dev/null)

        [ &quot;$serving_system&quot; = &quot;\&quot;Invalid QMI command\&quot;&quot; ] &amp;&amp; break
        [ &quot;$registration_state&quot; = &quot;registered&quot; ] &amp;&amp; break

        if [ &quot;$registration_state&quot; = &quot;searching&quot; ] || [ &quot;$registration_state&quot; = &quot;not_registered&quot; ]; then
            if [ &quot;$registration_timeout&quot; -lt &quot;$timeout&quot; ] || [ &quot;$timeout&quot; = &quot;0&quot; ]; then
                [ &quot;$registration_state&quot; = &quot;searching&quot; ] || {
                    echo &quot;Device stopped network registration. Restart network registration&quot;
                    uqmi -s -d &quot;$device&quot; -t 20000 --network-register &gt; /dev/null 2&gt;&amp;1
                }
                let registration_timeout++
                sleep 1
                continue
            fi
            echo &quot;Network registration failed, registration timeout reached&quot;
        else
            # registration_state is &#039;registration_denied&#039; or &#039;unknown&#039; or &#039;&#039;
            echo &quot;Network registration failed (reason: &#039;$registration_state&#039;)&quot;
        fi

        proto_notify_error &quot;$interface&quot; NETWORK_REGISTRATION_FAILED
        return 1
    done


    echo &quot;Starting network $interface&quot;

    pdptype=&quot;$(echo &quot;$pdptype&quot; | awk &#039;{print tolower($0)}&#039;)&quot;

    [ &quot;$pdptype&quot; = &quot;ip&quot; -o &quot;$pdptype&quot; = &quot;ipv6&quot; -o &quot;$pdptype&quot; = &quot;ipv4v6&quot; ] || pdptype=&quot;ip&quot;

    # Configure PDP type and APN for profile 1.
    # In case GGSN rejects IPv4v6 PDP, modem might not be able to
    # establish a non-LTE data session.
    profile_pdptype=&quot;$pdptype&quot;
    [ &quot;$profile_pdptype&quot; = &quot;ip&quot; ] &amp;&amp; profile_pdptype=&quot;ipv4&quot;
    uqmi -s -d &quot;$device&quot; -t 1000 --modify-profile &quot;3gpp,1&quot; --apn &quot;$apn&quot; --pdp-type &quot;$profile_pdptype&quot; &gt; /dev/null 2&gt;&amp;1

    if [ &quot;$pdptype&quot; = &quot;ip&quot; ]; then
        [ -z &quot;$autoconnect&quot; ] &amp;&amp; autoconnect=1
        [ &quot;$autoconnect&quot; = 0 ] &amp;&amp; autoconnect=&quot;&quot;
    else
        [ &quot;$autoconnect&quot; = 1 ] || autoconnect=&quot;&quot;
    fi

    [ &quot;$pdptype&quot; = &quot;ip&quot; -o &quot;$pdptype&quot; = &quot;ipv4v6&quot; ] &amp;&amp; {
        cid_4=$(uqmi -s -d &quot;$device&quot; -t 1000 --get-client-id wds)
        if ! [ &quot;$cid_4&quot; -eq &quot;$cid_4&quot; ] 2&gt; /dev/null; then
            echo &quot;Unable to obtain client ID&quot;
            proto_notify_error &quot;$interface&quot; NO_CID
            return 1
        fi

        uqmi -s -d &quot;$device&quot; -t 1000 --set-client-id wds,&quot;$cid_4&quot; --set-ip-family ipv4 &gt; /dev/null 2&gt;&amp;1

        pdh_4=$(uqmi -s -d &quot;$device&quot; -t 5000 --set-client-id wds,&quot;$cid_4&quot; \
            --start-network \
            ${apn:+--apn $apn} \
            ${profile:+--profile $profile} \
            ${auth:+--auth-type $auth} \
            ${username:+--username $username} \
            ${password:+--password $password} \
            ${autoconnect:+--autoconnect})

        # pdh_4 is a numeric value on success
        if ! [ &quot;$pdh_4&quot; -eq &quot;$pdh_4&quot; ] 2&gt; /dev/null; then
            echo &quot;Unable to connect IPv4&quot;
            uqmi -s -d &quot;$device&quot; -t 1000 --set-client-id wds,&quot;$cid_4&quot; --release-client-id wds &gt; /dev/null 2&gt;&amp;1
            proto_notify_error &quot;$interface&quot; CALL_FAILED
            return 1
        fi

        # Check data connection state
        connstat=$(uqmi -s -d &quot;$device&quot; -t 1000 --set-client-id wds,&quot;$cid_4&quot; --get-data-status)
        [ &quot;$connstat&quot; == &#039;&quot;connected&quot;&#039; ] || {
            echo &quot;No data link!&quot;
            uqmi -s -d &quot;$device&quot; -t 1000 --set-client-id wds,&quot;$cid_4&quot; --release-client-id wds &gt; /dev/null 2&gt;&amp;1
            proto_notify_error &quot;$interface&quot; CALL_FAILED
            return 1
        }
    }

    [ &quot;$pdptype&quot; = &quot;ipv6&quot; -o &quot;$pdptype&quot; = &quot;ipv4v6&quot; ] &amp;&amp; {
        cid_6=$(uqmi -s -d &quot;$device&quot; -t 1000 --get-client-id wds)
        if ! [ &quot;$cid_6&quot; -eq &quot;$cid_6&quot; ] 2&gt; /dev/null; then
            echo &quot;Unable to obtain client ID&quot;
            proto_notify_error &quot;$interface&quot; NO_CID
            return 1
        fi

        uqmi -s -d &quot;$device&quot; -t 1000 --set-client-id wds,&quot;$cid_6&quot; --set-ip-family ipv6 &gt; /dev/null 2&gt;&amp;1

        : &quot;${v6apn:=${apn}}&quot;
        : &quot;${v6profile:=${profile}}&quot;

        pdh_6=$(uqmi -s -d &quot;$device&quot; -t 5000 --set-client-id wds,&quot;$cid_6&quot; \
            --start-network \
            ${v6apn:+--apn $v6apn} \
            ${v6profile:+--profile $v6profile} \
            ${auth:+--auth-type $auth} \
            ${username:+--username $username} \
            ${password:+--password $password} \
            ${autoconnect:+--autoconnect})

        # pdh_6 is a numeric value on success
        if ! [ &quot;$pdh_6&quot; -eq &quot;$pdh_6&quot; ] 2&gt; /dev/null; then
            echo &quot;Unable to connect IPv6&quot;
            uqmi -s -d &quot;$device&quot; -t 1000 --set-client-id wds,&quot;$cid_6&quot; --release-client-id wds &gt; /dev/null 2&gt;&amp;1
            proto_notify_error &quot;$interface&quot; CALL_FAILED
            return 1
        fi

        # Check data connection state
        connstat=$(uqmi -s -d &quot;$device&quot; -t 1000 --set-client-id wds,&quot;$cid_6&quot; --set-ip-family ipv6 --get-data-status)
        [ &quot;$connstat&quot; == &#039;&quot;connected&quot;&#039; ] || {
            echo &quot;No data link!&quot;
            uqmi -s -d &quot;$device&quot; -t 1000 --set-client-id wds,&quot;$cid_6&quot; --release-client-id wds &gt; /dev/null 2&gt;&amp;1
            proto_notify_error &quot;$interface&quot; CALL_FAILED
            return 1
        }
    }

    echo &quot;Setting up $ifname&quot;
    proto_init_update &quot;$ifname&quot; 1
    proto_set_keep 1
    proto_add_data
    [ -n &quot;$pdh_4&quot; ] &amp;&amp; {
        json_add_string &quot;cid_4&quot; &quot;$cid_4&quot;
        json_add_string &quot;pdh_4&quot; &quot;$pdh_4&quot;
    }
    [ -n &quot;$pdh_6&quot; ] &amp;&amp; {
        json_add_string &quot;cid_6&quot; &quot;$cid_6&quot;
        json_add_string &quot;pdh_6&quot; &quot;$pdh_6&quot;
    }
    proto_close_data
    proto_send_update &quot;$interface&quot;

    local zone=&quot;$(fw3 -q network &quot;$interface&quot; 2&gt;/dev/null)&quot;

    [ -n &quot;$pdh_6&quot; ] &amp;&amp; {
        if [ -z &quot;$dhcpv6&quot; -o &quot;$dhcpv6&quot; = 0 ]; then
            json_load &quot;$(uqmi -s -d $device -t 1000 --set-client-id wds,$cid_6 --get-current-settings)&quot;
            json_select ipv6
            json_get_var ip_6 ip
            json_get_var gateway_6 gateway
            json_get_var dns1_6 dns1
            json_get_var dns2_6 dns2
            json_get_var ip_prefix_length ip-prefix-length

            proto_init_update &quot;$ifname&quot; 1
            proto_set_keep 1
            proto_add_ipv6_address &quot;$ip_6&quot; &quot;128&quot;
            proto_add_ipv6_prefix &quot;${ip_6}/${ip_prefix_length}&quot;
            proto_add_ipv6_route &quot;$gateway_6&quot; &quot;128&quot;
            [ &quot;$defaultroute&quot; = 0 ] || proto_add_ipv6_route &quot;::0&quot; 0 &quot;$gateway_6&quot; &quot;&quot; &quot;&quot; &quot;${ip_6}/${ip_prefix_length}&quot;
            [ &quot;$peerdns&quot; = 0 ] || {
                proto_add_dns_server &quot;$dns1_6&quot;
                proto_add_dns_server &quot;$dns2_6&quot;
            }
            [ -n &quot;$zone&quot; ] &amp;&amp; {
                proto_add_data
                json_add_string zone &quot;$zone&quot;
                proto_close_data
            }
            proto_send_update &quot;$interface&quot;
        else
            json_init
            json_add_string name &quot;${interface}_6&quot;
            json_add_string ifname &quot;@$interface&quot;
            [ &quot;$pdptype&quot; = &quot;ipv4v6&quot; ] &amp;&amp; json_add_string iface_464xlat &quot;0&quot;
            json_add_string proto &quot;dhcpv6&quot;
            [ -n &quot;$ip6table&quot; ] &amp;&amp; json_add_string ip6table &quot;$ip6table&quot;
            proto_add_dynamic_defaults
            # RFC 7278: Extend an IPv6 /64 Prefix to LAN
            json_add_string extendprefix 1
            [ &quot;$delegate&quot; = &quot;0&quot; ] &amp;&amp; json_add_boolean delegate &quot;0&quot;
            [ &quot;$sourcefilter&quot; = &quot;0&quot; ] &amp;&amp; json_add_boolean sourcefilter &quot;0&quot;
            [ -n &quot;$zone&quot; ] &amp;&amp; json_add_string zone &quot;$zone&quot;
            json_close_object
            ubus call network add_dynamic &quot;$(json_dump)&quot;
        fi
    }

    [ -n &quot;$pdh_4&quot; ] &amp;&amp; {
        if [ &quot;$dhcp&quot; = 0 ]; then
            json_load &quot;$(uqmi -s -d $device -t 1000 --set-client-id wds,$cid_4 --get-current-settings)&quot;
            json_select ipv4
            json_get_var ip_4 ip
            json_get_var gateway_4 gateway
            json_get_var dns1_4 dns1
            json_get_var dns2_4 dns2
            json_get_var subnet_4 subnet

            proto_init_update &quot;$ifname&quot; 1
            proto_set_keep 1
            proto_add_ipv4_address &quot;$ip_4&quot; &quot;$subnet_4&quot;
            proto_add_ipv4_route &quot;$gateway_4&quot; &quot;128&quot;
            [ &quot;$defaultroute&quot; = 0 ] || proto_add_ipv4_route &quot;0.0.0.0&quot; 0 &quot;$gateway_4&quot;
            [ &quot;$peerdns&quot; = 0 ] || {
                proto_add_dns_server &quot;$dns1_4&quot;
                proto_add_dns_server &quot;$dns2_4&quot;
            }
            [ -n &quot;$zone&quot; ] &amp;&amp; {
                proto_add_data
                json_add_string zone &quot;$zone&quot;
                proto_close_data
            }
            proto_send_update &quot;$interface&quot;
        else
            json_init
            json_add_string name &quot;${interface}_4&quot;
            json_add_string ifname &quot;@$interface&quot;
            json_add_string proto &quot;dhcp&quot;
            [ -n &quot;$ip4table&quot; ] &amp;&amp; json_add_string ip4table &quot;$ip4table&quot;
            proto_add_dynamic_defaults
            [ -n &quot;$zone&quot; ] &amp;&amp; json_add_string zone &quot;$zone&quot;
            json_close_object
            ubus call network add_dynamic &quot;$(json_dump)&quot;
        fi
    }
}

qmi_wds_stop() {
    local cid=&quot;$1&quot;
    local pdh=&quot;$2&quot;

    [ -n &quot;$cid&quot; ] || return

    uqmi -s -d &quot;$device&quot; -t 1000 --set-client-id wds,&quot;$cid&quot; \
        --stop-network 0xffffffff \
        --autoconnect &gt; /dev/null 2&gt;&amp;1

    [ -n &quot;$pdh&quot; ] &amp;&amp; {
        uqmi -s -d &quot;$device&quot; -t 1000 --set-client-id wds,&quot;$cid&quot; \
            --stop-network &quot;$pdh&quot; &gt; /dev/null 2&gt;&amp;1
    }

    uqmi -s -d &quot;$device&quot; -t 1000 --set-client-id wds,&quot;$cid&quot; \
        --release-client-id wds &gt; /dev/null 2&gt;&amp;1
}

proto_qmi_teardown() {
    local interface=&quot;$1&quot;

    local device devpath cid_4 pdh_4 cid_6 pdh_6
    json_get_vars device devpath

    [ -n &quot;$ctl_device&quot; ] &amp;&amp; device=$ctl_device

    if [ -n &quot;$devpath&quot; ]; then
        local usbmisc_or_wwan_path
        for usbmisc_or_wwan_path in \
            &quot;$devpath&quot;/usbmisc/cdc-wdm* \
            &quot;$devpath&quot;/*/usbmisc/cdc-wdm* \
            &quot;$devpath&quot;/*/wwan[0-9]*/wwan[0-9]*qmi* \
            &quot;$devpath&quot;/*/*/wwan[0-9]*/wwan[0-9]*qmi*; do
            device=&quot;/dev/${usbmisc_or_wwan_path##*/}&quot;
        done
    fi

    echo &quot;Stopping network $interface&quot;

    json_load &quot;$(ubus call network.interface.$interface status)&quot;
    json_select data
    json_get_vars cid_4 pdh_4 cid_6 pdh_6

    qmi_wds_stop &quot;$cid_4&quot; &quot;$pdh_4&quot;
    qmi_wds_stop &quot;$cid_6&quot; &quot;$pdh_6&quot;

    proto_init_update &quot;*&quot; 0
    proto_send_update &quot;$interface&quot;
}

[ -n &quot;$INCLUDE_ONLY&quot; ] || {
    add_protocol qmi
}</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Majaque)]]></author>
			<pubDate>Thu, 28 May 2026 17:42:11 +0000</pubDate>
			<guid>https://eko.one.pl/forum/viewtopic.php?id=25300&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[TP-Link TL-MR150 v2.30]]></title>
			<link>https://eko.one.pl/forum/viewtopic.php?id=25299&amp;action=new</link>
			<description><![CDATA[<p>Udało mi się uruchomić na tym routerze OpenWrt wgrywając po TFTP firmware z TL-MR6400 v5 i dziwi mnie brak oficjalnego wsparcia.<br />Jest dostępny jakiś datasheet z listą SoC stosowanych w routerach TP-Linka, uwzględniający różnice w rewizjach?</p>]]></description>
			<author><![CDATA[null@example.com (Majaque)]]></author>
			<pubDate>Thu, 28 May 2026 12:18:51 +0000</pubDate>
			<guid>https://eko.one.pl/forum/viewtopic.php?id=25299&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[luci-app-trafficctl]]></title>
			<link>https://eko.one.pl/forum/viewtopic.php?id=25298&amp;action=new</link>
			<description><![CDATA[<p><span class="postimg"><img src="https://raw.githubusercontent.com/YusDyr/luci-app-trafficctl/refs/heads/main/docs/img/speed-graph-dark.gif" alt="https://raw.githubusercontent.com/YusDyr/luci-app-trafficctl/refs/heads/main/docs/img/speed-graph-dark.gif" /></span></p><p>Wczoraj pojawiała się informacja o nowym pakiecie dla luci: <a href="https://forum.openwrt.org/t/luci-app-trafficctl-per-device-traffic-monitoring-control-internet-wifi-block-shape-rate-limit-telegram-bot/250531">https://forum.openwrt.org/t/luci-app-tr … bot/250531</a></p><p>Funkcje<br />- Monitorowanie w czasie rzeczywistym — podgląd wykorzystania pasma na żywo dla każdego urządzenia z interaktywnymi wykresami wyskakującymi (pobieranie + wysyłanie, wypełnienie gradientowe, krzyżyk kursora, zakres min/max).<br />- Blokada Internetu — reguły odrzucania ruchu warstwy 3 dla każdego urządzenia; natychmiast zrywa istniejące połączenia, śledzone są statystyki liczników.<br />- Blokowanie MAC Wi-Fi — oparte na hostapd_cli, rozłącza tylko wybranego klienta (bez restartu Wi-Fi, pozostali klienci pozostają połączeni), działa na wszystkich pasmach/radiach (2.4/5/6 GHz).<br />- Ogranicznik prędkości (policer) — oparty na nftables lub iptables, odrzuca pakiety powyżej ustawionego limitu, działa natychmiastowo.<br />- Kształtowanie ruchu (queue) — klasy tc/HTB z kolejkami fq_codel, nadmiarowy ruch jest kolejkowany dla płynniejszego transferu.<br />- Wykrywanie interfejsu — pokazuje pasmo Wi-Fi (2.4G/5G/6G) albo nazwę portu LAN (lan2/lan3/lan4).<br />- Bot Telegram — zdalne sterowanie z telefonu: lista /devices z przyciskami akcji inline, blokowanie/odblokowanie, limity prędkości, kształtowanie ruchu, konfigurowalne powiadomienia o nowych urządzeniach z 17 zmiennymi szablonu.<br />- Wykrywanie nowych urządzeń — ARP + dzierżawy DHCP + lista stacji Wi-Fi; natychmiastowy trigger hotplug DHCP dla niemal natychmiastowych alertów Telegram.<br />- Rejestrowanie aktywności — wszystkie działania są logowane wraz z czasem, źródłem, nazwą użytkownika i sposobem wywołania (LuCI/Telegram/CLI).<br />- Trwałość konfiguracji — reguły kształtowania ruchu, blokowania i limitowania prędkości są przywracane po restarcie systemu przez mechanizm hotplug.</p><p>Info na forum OpenWrt: <a href="https://forum.openwrt.org/t/luci-app-trafficctl-per-device-traffic-monitoring-control-internet-wifi-block-shape-rate-limit-telegram-bot/250531">https://forum.openwrt.org/t/luci-app-tr … bot/250531</a></p><p>Github z pakietami: <a href="https://github.com/YusDyr/luci-app-trafficctl">https://github.com/YusDyr/luci-app-trafficctl</a></p>]]></description>
			<author><![CDATA[null@example.com (Cezary)]]></author>
			<pubDate>Wed, 27 May 2026 19:06:31 +0000</pubDate>
			<guid>https://eko.one.pl/forum/viewtopic.php?id=25298&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Jaki modem 5g kupić do starego laptopa]]></title>
			<link>https://eko.one.pl/forum/viewtopic.php?id=25297&amp;action=new</link>
			<description><![CDATA[<p>Na początek chciałem przywitać wszystkich bo to mój pierwszy post. Zdaje sobie sprawę że to jest forum o OpenWrt i mikrotik ale chyba tylko tu mogę znaleźć osoby znające się na modemach 5g.<br />Mam starego laptopa (Sony PCG-4Q1M)i to się nie zmieni, siedzi w nim adekwatny do wieku modem 3g Huawei EM820W na mPCIe na USB 2.0. Internet mam z a2moblie (nadajniki Plusa) a ten wyłącza 3g z końcem tego roku. Chciałem się poradzić jaki modem 5g kupić? Wymagania są konkretne i z pkt 1-4 nie podlegają negocjacji:<br />1. koniecznie modem wewnętrzny na złącze mPCIe full size- laptopa używam w podróży i było że urwałem port usb z modemem, router nie wchodzi w grę bo to dodatkowe zbędne urządzenie<br />2. posiadanie sterowników do windows 10(a jeszcze lepiej dla windows 7 i nowszych) i działanie pod tymi systemami<br />3. złącza anten typu IPEX / UFL -bo takie mam w laptopie<br />4. połączenie z laptopem przez piny odpowiadające za usb (nie szynę pci)<br />5. chciałbym modem 5g RedCap- z tego co się orientuję generuje znacznie mniej ciepła niż pełne 5g nr(bo mniej prądu pobiera) i nieco mniej niż modemy LTE-A (ale może jestem w błędzie i poprawcie mnie?)<br />6. Znalazłem taka listę pasujących (choć nie do końca jestem pewien)modemów <a href="https://techship.com/products/cellular-modules/5g-redcap/?page=1&amp;form=15%2C520">https://techship.com/products/cellular- … m=15%2C520</a> ale nigdzie (poza ta strona czego nie chcę robić) nie można ich dostać.<br />Poza tym modem Telit Cinterion FE910C04 ma sterowniki od win 11 wzwyż(nie wierzę w to ale jeśli to prawda to jest skreślony- proszę o potwierdzenie lub zaprzeczenie). <br />Może znacie jakieś inne modemy 5g których nie ma w linku a pasują do moich wymagań? Jeśli tak to gdzie je kupić?<br />Kto dobrnął do końca posta i przeczytał wszystko ten miszcz <img src="https://eko.one.pl/forum/img/smilies/wink.png" width="15" height="15" alt="wink" /></p>]]></description>
			<author><![CDATA[null@example.com (AK-MS)]]></author>
			<pubDate>Wed, 27 May 2026 13:52:49 +0000</pubDate>
			<guid>https://eko.one.pl/forum/viewtopic.php?id=25297&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Serwer wydruku-luci-app-p910nd]]></title>
			<link>https://eko.one.pl/forum/viewtopic.php?id=25295&amp;action=new</link>
			<description><![CDATA[<p>Pacjent Drukarka laserowa Brother HL-1112E - tani model pozbawiony funkcji WI-FI, na Windows po manualnej konfiguracji wszystko działa, czy podpowie ktoś czy udało mu się i jak uruchomić drukowanie na Androidzie?<br />Próbowałem na kilkuletnim Samsungu A40 bodajrze wersja 11 (taki tylko mam w szafie), nie znajduje drukarki mimo wpisania ip routera i portu.</p>]]></description>
			<author><![CDATA[null@example.com (przemciol)]]></author>
			<pubDate>Mon, 25 May 2026 18:59:39 +0000</pubDate>
			<guid>https://eko.one.pl/forum/viewtopic.php?id=25295&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[HomeAssistant i dostęp przez tailscale.]]></title>
			<link>https://eko.one.pl/forum/viewtopic.php?id=25294&amp;action=new</link>
			<description><![CDATA[<p>Pozwolę sobie zapytać, może ktoś mi odpowie. Cała sieć postawiona jest na openWRT. Tailscale siedzi sobie na serwerze, na nim mam zrobione &quot;Subnets&quot; do lokalnej sieci. Wszystko śmiga. <br />Postawiłem na serwerze w VM HA_OS. Wydzielone mam VLAN- dla sieci lokalnej (PC, laptopy i telefony) oraz sieć dla Gości i m.in dla IoT - IoT ma dostęp do neta ale nic poza tym, czyli nie ma dostępu do LAN, natomiast w Luci dałem, że LAN ma dostęp do WAN i do IoT.<br />Instalacja HA_os siedzi na VM w mostku z siecią IoT - z niej ma adres IP.<br />tak wygląda konfig na Debian:<br /></p><div class="codebox"><pre><code>vlans:

    # vlan homeIoT

    enp1s0.20:
      macaddress: 00:00:fa:00:54:00
      optional: true
      id: 20
      link: enp1s0
      dhcp4: false
      dhcp6: false

 # Bridge homeIoT:

    br20:
      interfaces:
      - enp1s0.20
      optional: true

      dhcp4: false
      dhcp6: false</code></pre></div><p>Chcąc wbić się do HA z poza sieci lokalnej (po VPN - tailscale) przez apkę, dostaję komunikat o źle ustawionym adresie. Mając włączone wifi w domu, wbijam się apką bez problemu. Co ciekawe, normalnie przez przeglądarkę mogę się wbić na HA będąc pod VPN.<br />Postawiłem Tailscale na HA - i teraz, domyślnie nie wiem dlaczego, ale robi sobie Subnets, oraz exit node. <br />W instalacji Tailscale na HA, bez opcji &quot;Subnets&quot; do sieci IoT, nie ma opcji podpięcia się przy użyciu apki.</p><p>Druga sprawa, jak ma się teraz VLAN do tailscale? <br />VLAN rozdzielam całą sieć od siebie a spinając ją Tailscale, nie udostępniam zasobów LAN do IoT ??<br />Mam na serwerze w LAN Subnets do LAN zrobiony.</p>]]></description>
			<author><![CDATA[null@example.com (lexmark3200)]]></author>
			<pubDate>Mon, 25 May 2026 13:55:11 +0000</pubDate>
			<guid>https://eko.one.pl/forum/viewtopic.php?id=25294&amp;action=new</guid>
		</item>
	</channel>
</rss>
