76

(43 odpowiedzi, napisanych Sprzęt / Hardware)

Tak. Które przyda się wyłącznie, jeśli ktoś będzie chciał na tej wersji zainstalować (ja już mam) i nie ogarnie tych kilku komend z pierwszego posta.

77

(43 odpowiedzi, napisanych Sprzęt / Hardware)

Jeśli dodać tę linię, to powinien zbudować się dodatkowo obraz z sufiksem -cp, obok normalnego. Sysupgrade zostaje ten sam, bo OpenWRT nie będą obchodzić nagłówki producenta. smile

78

(43 odpowiedzi, napisanych Sprzęt / Hardware)

Cezary napisał/a:

Teoretycznie mógłbym zrobić obrazy dla niego, ale musiał by być to nowy identyfikator urządzenia bo po czymś trzeba rozróżnić że ma brać adres mac a takiego a nie innego miejsca.

Identyfikator może zostać taki sam. Wersja CP potrzebuje innego nagłówka w recovery https://github.com/RolandoMagico/openwr … ic.mk#L505 :

IMAGE/recovery-cp.bin := sysupgrade-tar | pad-to $$(IMAGE_SIZE) | dlink-ai-recovery-header DLK6E6110004 \x6A\x28\xEE\x0B \x00\x00\x2C\x00 \x00\x00\x20\x03 \x61\x6E

A w kwestii odczytywania MAC z innego adresu, można sprawdzać w preinit czy na partycji Odm mamy DLK6E6110004 i jeśli tak, podmieniać odpowiednio MAC, to samo dla WiFi. Postaram się sprawdzić to podejście na dniach.

79

(43 odpowiedzi, napisanych Sprzęt / Hardware)

Mając gotowy obraz (od Ciebie Cezary) nie chce mi się bawić w budowanie, jeśli to tylko jeden bajt do podmiany. big_smile

Dodałem w pierwszym poście informację jak można to wyedytować w skompilowanym obrazie. Wszystko oczywiście tyczy się wersji CP z logo Plusa, na "normalnym" nie trzeba się w takie cuda bawić.

80

(58 odpowiedzi, napisanych Oprogramowanie / Software)

Brakuje Ci parametru "route_allowed_ips". Zobacz ten tutorial, sekcja dla klienta: https://eko.one.pl/?p=openwrt-wireguard

W kliencie dobrze też by było zmienić maskę na "/32" w "addresses", bo klient używa 1 IP.

81

(43 odpowiedzi, napisanych Sprzęt / Hardware)

Ale tyle ściągać, tyle czekać... A podmienić chcę tylko 1 bajt.

Będę próbować tak: podmieniam bajt w HxD i przeliczam sumy komendą

mkimage -F

. Zobaczymy, czy wstanie.

Do pierwszego posta dodałem informację na temat "poprawienia" MAC dla WiFi w wersji CP.

82

(43 odpowiedzi, napisanych Sprzęt / Hardware)

Mam pytanie, ponieważ nie potrafię znaleźć jednoznacznej informacji - czy w obrazie kernela (FIT, ITB) można w prosty sposób podmienić DTB? Mogę go wyłuskać przy pomocy dumpimage, zmienić wartość, która mnie interesuje przy pomocy fdtput, ale jak go z powrotem wsadzić w obraz? Prosta podmiana wartości w hxd nie wystarczy, bo mamy sumy kontrolne.

83

(43 odpowiedzi, napisanych Sprzęt / Hardware)

Jeśli ktoś z Was nabędzie "standardową" wersję, proszę o sprawdzenie pod jakim offsetem macie zapisany adres MAC na /dev/mtd6 - u mnie jest on pod 0x87, a nie 0x81, jak czyta OpenWRT. Jestem ciekaw, czy jest to kwestia wersji CP, czy "standardowe" egzemplarze też tak mają.

84

(43 odpowiedzi, napisanych Sprzęt / Hardware)

Szkoda, że nie potrzebuję dwóch, bo 125 zł za sztukę to mega przystępna cena. smile

85

(43 odpowiedzi, napisanych Sprzęt / Hardware)

"Niech ktoś..." big_smile Pewnie się da, ale nie mam wystarczającej wiedzy w tym temacie.

Zmieniłem pierwszy post, wystarczą 2 polecenia do podmiany headera w obrazie OpenWRT. smile

86

(43 odpowiedzi, napisanych Sprzęt / Hardware)

Kupiłem w niezłej cenie (jeszcze kilka sztuk zostało) router D-Link M30 w wersji dla Plusa - ma logo na obudowie i nazwę modelu M30CP. Oczywiście pierwszym krokiem było wgranie OpenWRT, ale... nie poszło. Okazuje się, że router ma specjalną wersję firmware z dodaną obsługą ODU, w związku z tym nie łyka softu dla modelu standardowego, a tym samym nie łyka obrazu recovery z OpenWRT.

Pobranie firmware ze strony producenta, szybka analiza i wygląda na to, że jedyną różnicą jest jedna cyfra w numerze modelu w nagłówku: zamiast DLK6E6110001 mamy DLK6E6110004. Reszta się pokrywa.

Można zmienić numer w skrypcie do kompilacji i zbudować obraz od zera albo po prostu podmienić nagłówek w obrazie i przeliczyć jego sumę kontrolną (na podstawie https://github.com/openwrt/openwrt/blob … ommands.mk). Przy założeniu, że pobrany obraz ma nazwę recovery.bin:

# Zmiana LOCALE, by uniknąć problemów z printf
LANG=C
# Podmiana naglowka
printf 4 | dd of=recovery.bin bs=1 seek=11 conv=notrunc
# Obliczenie sumy kontrolnej
dd if=recovery.bin bs=78 count=1 | od -v -w2 -tu2 -An --endian little | awk '{s+=65535-$1;}END{s%=65535;printf "%c%c",s%256,s/256;}' | dd of=recovery.bin bs=1 seek=78 conv=notrunc

W Wiki OpenWRT jest mowa o tym, że aby przywrócić firmware fabryczny, należy mieć obraz działający przed wgraniem OWRT, dlatego zanim uwolnimy sprzęt, warto na wszelki wypadek wgrać 2x firmware, który potem gdzieś się zachomikuje.

Przydatne linki:

Zalety: w wersji CP niedrogi, może się podobać, 512 MB RAM, 4xLAN.
Wady: ze względu na układ partycji niewiele miejsca na pakiety, z obrazem z linku powyżej mamy 30.8 MB wolnego na czystym systemie.

Edit 11.05.2025:
Wersja CP przechowuje adres MAC z innym offsetem niż standardowa. Aby poprawić MAC dla WiFi, należy edytować plik /etc/hotplug.d/ieee80211/11_fix_wifi_mac i w odpowiednim miejscu wpisać:

dlink,aquila-pro-ai-m30-a1)
        addr=$(mtd_get_mac_binary "Odm" 0x87)
        [ "$PHYNBR" = "0" ] && macaddr_add $addr 2 > /sys${DEVPATH}/macaddress
        [ "$PHYNBR" = "1" ] && macaddr_add $addr 3 > /sys${DEVPATH}/macaddress
        ;;

Jeśli chcemy mieć poprawny adres MAC również dla Ethernetu, należy zmodyfikować DTB, ustalając wartość

/soc/spi@1100a000/spi_nand@0/partitions/partition@6980000/nvmem-layout/macaddr@81 reg

na

87 6

Można zrobić to na gotowym obrazie: pobieramy sysupgrade (koniecznie dla tej samej wersji, którą już mamy na routerze) i wykonujemy następujące polecenia (na komputerze):

tar xvf luci-24.10-snapshot-r28627-0b392b925f-mediatek-filogic-dlink_aquila-pro-ai-m30-a1-squashfs-sysupgrade.bin

perl -pi -e 's/mac-base\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x08\x00\x00\x00\x3D\x00\x00\x00\x81/mac-base\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x08\x00\x00\x00\x
3D\x00\x00\x00\x87/' sysupgrade-dlink_aquila-pro-ai-m30-a1/kernel

mkimage -F sysupgrade-dlink_aquila-pro-ai-m30-a1/kernel

Następnie, plik sysupgrade-dlink_aquila-pro-ai-m30-a1/kernel transferujemy przez SCP do /tmp routera i wykonujemy polecenie:

ubiupdatevol /dev/ubi0_0 /tmp/kernel

Po restarcie routera powinniśmy mieć prawidłowy MAC dla interfejsów WAN (internet) i LAN (eth0).

87

(4,539 odpowiedzi, napisanych Oprogramowanie / Software)

Czy ktoś z Was miał okazję testować Mercusys MR80X v3? Znany i lubiany Filogic, wygląda na ciekawą alternatywę dla AX3000T, ma 2x więcej RAM, wsparcie w trunku jest, PR dla 24.10 też mamy.

Próbuję zlokalizować, czy jakiś sprzedawca ma stanie v3...

88

(4,539 odpowiedzi, napisanych Oprogramowanie / Software)

FUTURISTA napisał/a:

Rozumiem, czyli na wymienionych przeze mnie sprzętach powinno to działać i nie obciążać ich zbyt mocno?
Na AX3000T obecna wersja działa.

Mi wieszało AX3000T po 2-3 dniach używania i tailscale jako exit node. Obawiam się, że przy obecnych wersjach potrzeba minimum 512MB RAM w routerze - albo czekać aż zostanie poprawione zarządzanie pamięcią w go i/lub tailscale. Możliwe też, że zostało conieco poprawione w ostatnich kilku miesiącach. Jednak dla świętego spokoju mam postawione Tailscale na osobnym SBC z 1GB RAM.

Aby Tailscale daemon był w stanie przekierować "cały" ruch przez exit node musisz go uruchomić z opcją --exit-node, inaczej wewnętrznie nie będzie wiedział do którego hosta puścić pakiety.

Tailsclale wstawia swoje reguły trasowania i jest niestety pod tym względem praktycznie niekonfigurowalny. Regułki po włączeniu --exit-node wyglądają tak:

# ip rule
0:      from all lookup local
5210:   from all fwmark 0x80000/0xff0000 lookup main
5230:   from all fwmark 0x80000/0xff0000 lookup default
5250:   from all fwmark 0x80000/0xff0000 unreachable
5270:   from all lookup 52
32766:  from all lookup main
32767:  from all lookup default

W związku z tym jeśli chciałbym przekierować przez exit-node ruch wyłącznie od hosta 192.168.0.10, dopisałbym 2 regułki: po pierwsze, kieruj ruch z wybranego hosta do Tailscale (tabela 52):

# ip rule add from 192.168.0.10/32 lookup 52 prio 5200

a pozostały ruch normalnie - tutaj priorytet 5209, żeby "ominąć" Tailscale:

# ip rule add lookup main prio 5209

Możesz spróbować wklepać to ręcznie i zobaczyć czy w ten sposób działa, jak oczekujesz. Niestety nie pomogę w tym gdzie takie regułki najlepiej wpisać na stałe w OpenWRT.

90

(14 odpowiedzi, napisanych Sprzęt / Hardware)

Chyba nie we wszystkich modelach AVM jest taka możliwość - mam 7360 i 7330, w nich się nie da - ale w razie potrzeby można sobie samodzielnie zacisnąć kabelek RJ11 do RJ45: https://www.router-faq.de/?id=kabel&kabel=y_kabel

91

(8 odpowiedzi, napisanych Inne)

Dużo chyba zależy od modemu, bo na starym E3372 (nie-HiLink) nie chciało działać. Na DW5811e jest OK.

92

(8 odpowiedzi, napisanych Inne)

Modem LTE w laptopie z kartą Orange (taryfa na kartę), bez problemu działa IPv6 - mam ustawiony APN internetipv6 i protokół 464xlat.

93

(627 odpowiedzi, napisanych Oprogramowanie / Software)

Cezary napisał/a:

W wireless nie network i właśnie o to chodzi. Robią skrypt migracyjny, więc na razie albo ręcznie albo bez zachowania konfiguracji.

Oczywście tak, wyedytowałem mój post dla jasności. Dzięki za zwrócenie uwagi!

94

(627 odpowiedzi, napisanych Oprogramowanie / Software)

Cezary napisał/a:

filogic. Bez zachowania konfiguracji bo inaczej wykryje następne radia.

Robiłem sysupgrade z 23.05 z zachowaniem konfiguracji na AX3000T i jedynie przed odpaleniem sysupgrade w konsoli zmieniłem wpisy w /etc/config/wireless zgodnie z tym postem:
https://eko.one.pl/forum/viewtopic.php? … 97#p308997
Wszystko działa prawidłowo od 16 listopada, czyli pierwszego obrazu 24.10 na stronie.

Zysk będzie znikomy, bo jak sam zauważyłeś mamy o 0,5% większe MTU, a zdarza się, że aplikacje same stosują mniejsze pakiety lub dostosowują się do MTU i niekoniecznie zaobserwujesz spadek dzielonych pakietów. Jedynie przy transferze większej ilości danych ilość pakietów spadnie o te 0,5%. Zawsze to coś. wink

BTW tą samą wartość MTU stosuje FunBox, to znaczy "na świat" wychodzimy z MTU 1500.

nju światłowód, czy de facto Orange - tak samo bez problemu na PPPoE, vlan 35 i dodatkowo MTU na WAN ustawiona na 1508, dzięki czemu mam 1500 na PPPoE.

Jeśli chcesz łączyć się z innej sieci, w której lokalnie używasz tej samej puli lokalnych adresów, to nie zadziała. Musisz w którejś podsieci zmienić sobie na cokolwiek poza 192.168.1.x. Mam kilka lokalnych LANów spiętych przez tailscale i każda ma ustawioną inną pulę lokalną - wtedy działa bez problemu.

chudyxxx napisał/a:

Cześć, dawno mnie tu nie było. Potrzebuję pomocy (aktualnej instrukcji) z wgraniem OpenWRT na AX3000T z Winbondem. Ostatnie na co wgrywałem, to jakieś stare tplinki, Xiaomi 3G i Nexx WT3020 (16mb) którego ostatnio odnalazłem w szafie. Podsumowując wgrywałem dawno temu. Czy jest ktoś w stanie podesłać instrukcję wraz z aktualnymi/najnowszymi plikami? Nie chcę go uwalić, bo kabla to nie znajdę (przez przeprowadzkę). Czy mamy kogoś w świętokrzyskim kto by wgrał? Ewentualnie (ale tylko w ten weekend) na trasie Kielce-Piaseczno? oczywiście nie za free

Build od Cezarego wspiera Winbonda, pobierasz firmware od niego, używasz XMiR-Patcher i powinno śmigać. smile

Instrukcja jest w pierwszym poście na forum OpenWRT (Easy method): https://forum.openwrt.org/t/openwrt-sup … 00t/180490

xury napisał/a:

No teraz jest ok. Już wiem o co chodzi.
Na 23.05 było:

option path 'platform/18000000.wifi'

teraz na 24.10 jest:

option path 'platform/soc/18000000.wifi'

I to samo dla radia 5g

Zrobiłem tę podmianę przed aktualizacją z 23.05 na 24.10 i po sysupgrade z zachowaniem ustawień wszystko działa, dzięki!

Problemu z kluczami opkg nie zaobserwowałem. Używam domyślnych.

lexmark3200 napisał/a:

Aż tak głęboko nie siedzę z kompilacjami ;-)
Tylko podobny wynik mam na t620
Nieco lepiej jak odpaliłem ten sam docker, ale na mocniejszym CPU, wtedy mam ok 30/8 Mb

Porobiłem trochę testów na Xiaomi Router 3G z MT7621AT i dołożenie zoptymalizowanej wersji ChaCha20 niestety daje tylko minimalne zyski - iperf3 zyskuje wyłącznie w kierunku routera (40Mbps vs niecałe 50Mbps z patchem), w drugą stronę zysku nie ma (17Mbps). Wygląda niestety, że większość pracy routera idzie na przepychanie pakietów do userspace i z powrotem, a crypto w go jest w miarę zoptymalizowane nawet bez wersji asm. 

Ten sam Xiaomi 3G w wg-bench osiąga 100Mbps, ale tu już korzysta z modułu kernela.

Tailscale niestety lubi rozpychać się w RAMie. Miałem go odpalonego na Xiaomi AX3000T (256MB RAM) i router potrafił wieszać się po 1-2 dniach pracy, pracował jako exit node dla 1 klienta. Wyrzuciłem go z routera i wykorzystałem na serwer starego boxa na Amlogic - tailscale ma tam RAMu co nie miara, box ciągnie 0.8W, a router już nie dostaje zadyszki. smile