26

Odp: ZTE MF258

Może to wszystko o ma do powiedzenia przez konsolę smile
Generalnie w tym routerze gdzies jest opis do uruchomienia ssh , może to będzie lepsze niż serial.

27 (edytowany przez pawol 2022-06-24 14:12:45)

Odp: ZTE MF258

albo celowo wyłączają uart

28 (edytowany przez Leo-PL 2022-06-24 14:32:25)

Odp: ZTE MF258

Ale żeby już na etapie U-boota?
Also, nie wiem, czy warto dłubać, mam bardzo złe wspomnienia z testowania go.

29

Odp: ZTE MF258

dokładnie terminal przestaje wyświetlać dane tuż przed fazą U-BOOT

30

Odp: ZTE MF258

U mnie w MF258K SSH było aktywne w standardzie tylko trzeba było zmienić hasło roota za pomocą spreparowanego pliku konfiguracyjnego.

31

Odp: ZTE MF258

https://fccid.io/2AU8HMGL5606A/User-Man … 799568.pdf

Od innego modelu ale pasuje hasło do konta root w antenie i parę komend

32

Odp: ZTE MF258

Cześć,
też jestem zainteresowany tematem - mam router microtika o sofcie i możliwościach dość mocno przekraczających te stacji bazowej mf258, co w połączeniu z samą anteną dałoby fajny zestaw.

Co udało mi się określić do tej pory:
Dostęp do relacji między IDU a ODU jest domyślnie odcięty po stronie wewnętrznej (chyba domyślne działanie systemu operacyjnego). Wystarczy jednak dodać odpowiedni wpis do tabeli routing i można dogadywać się z ODU nawet, gdy jest zamontowany na dachu:
(wersja windows, moja stacja bazowa zte ma adres 192.168.1.1 w sieci lokalnej):

route delete 169.254.0.0
route add 169.254.0.0 mask 255.255.255.0 192.168.1.1

Od tego momentu można podłączyć się do anteny (odu) przez telnet, ftp (długo startuje) oraz http.
Hasło w usłudze telnet do konta root jest zgodne z tym w dokumentacji od dob46.

Modem zawiera dodatkowy soft (na to się mówi, chyba, brandowany, ale nie jestem pewien). Jedną z jego funkcji jest watchodog, przesyłający sobie portem 4666 (protokół udp) podtrzymywacze połączenia: stacja bazowa wysyła tekst "IDU ALIVE" do antent, na co ta odpowiada zawsze "ODU ALIVE". Nie sprawdzałem jeszcze co się stanie, gdy nie będę wysyłał tego tekstu. Czekam na injector poe aby odpiąć się od stacji bazowej, bo nie mam ochoty wchodzić znowu na dach.

Strona domowa odu pozwala na spore konfiguracje, co potencjalnie pozwalałoby uniezależnić się od stacji bazowej, ale to tylko moja spekulacja.

Podsumowując: o ile nie widzę potencjalnych problemów w wymianie pingów (idu alive/odu alive) w dalszej zabawie, to problemem pozostaje konfiguracja VLAN (nie mam pojęcia co to) na poziomie antena - router oraz odpowiednie komendy AT, które trzeba przesłać do anteny po jej starcie.

33

Odp: ZTE MF258

@diemsi U mnie działało bez pakietów ALIVE, nie umiałem aktywować diód na antenie. Tylko nie wiem jak to wygląda z odnowienieniem IP bo ja brałem go z komend AT. Co do VLAN to 1 sesja LTE ma 100 , druga ma 101 i tak dalej. Co do odpalenia anteny na OpenWrt to w sobotę albo niedzielę wstawię skrypt który udało mi się zrobić.

34 (edytowany przez dob46 2023-08-12 18:33:48)

Odp: ZTE MF258

@diemsi
W skrócie:
1. Domyślnie jest aktywny na antenie serwer DHCP ( więc nie trzeba ustawiać stałego IP).
2. W konfiguracji ZTE antena ma IP 169.254.0.1, włączone VLANy i włączone ipatc ( program nasłuchujący na porcie 7788 odpowiedzialny za obsługę komend AT; obsługuje tylko jedno połączenie jednocześnie ).
3. Domyślnie pierwszym aktywnym profilem PDN jest profil numer 3.
4. Programem do konfiguracji z linii poleceń ucfg ale nie potrafię znaleźć do niego dokumentacji.
Mój skrypt (nie ma komentarzy więc może być niezrozumiały ):

#!/bin/bash
dns1=""
dns2=""
set_dns2=1
ifnt=zte100
ifnt6_lan=lan
ifnt6=zte101
ifnt6_bare=$(uci get network.$ifnt6.device)
ip_uplink=$(ifconfig eth1.5 2>/dev/null|awk '/inet addr:/ {print $2}'|sed 's/addr://')
uplink() {
    while [ -z $ip_uplink ]
    do
        sleep 0.1
        ip_uplink=$(ifconfig eth1.5 2>/dev/null|awk '/inet addr:/ {print $2}'|sed 's/addr://')
    done
}
check_connectivity() {
while ! ping -c 13 169.254.0.1 &> /dev/null
do
    sleep 0.1
done
}
uci_set() {
    uci set network.$ifnt.ipaddr="$ip"
    uci set network.$ifnt.netmask="$netmask"
    uci set network.$ifnt.gateway="$gateway"
    uci del network.$ifnt.dns
    uci add_list network.$ifnt.dns="$dns1"
    if [ -n $dns2 ]; then
        uci add_list network.$ifnt.dns="$dns2"
    fi
    uci commit network
    /etc/init.d/network reload
}
uci_set_v6() {
    uci del network.$ifnt6_lan.ip6addr
    uci set network.$ifnt6_lan.ip6addr="$ipv6_hex/64"
    uci set network.lan.ip6prefix="$prefixv6_hex"
    uci del network.$ifnt6_lan.dns
    uci add_list network.$ifnt6_lan.dns="$dns1v6_hex"
    uci add_list network.$ifnt6_lan.dns="$dns2v6_hex"
    uci commit network
    /etc/init.d/network reload
}
cereg() {
    e=$((echo AT+CEREG?
    sleep 2
    ) | nc 169.254.0.1 7788 )
    echo "$e" | tr '\r\n' ' ' | awk -F" " '{ print $2 }' | awk -F"," '{print $2}'
}
cgcontrdp() {
    e=$((echo AT+CGCONTRDP=3
    sleep 2
    ) | nc 169.254.0.1 7788)
    ip=$(echo "$e" | grep CGCONTRDP | awk -F"\"" '{ print $4 }' | awk -F"." '{ print $1"."$2"."$3"."$4 }')
    netmask=$(echo "$e" | grep CGCONTRDP | awk -F"\"" '{ print $4 }' | awk -F"." '{ print $5"."$6"."$7"."$8 }')
    gateway=$(echo "$e" | grep CGCONTRDP | awk -F"\"" '{ print $6 }')
    if [ -e $dns1 ]; then
        dns1=$(echo "$e" | grep CGCONTRDP | awk -F"\"" '{ print $8 }')
    fi
    if [ -e $dns2 ]; then
        if [ $set_dns2 -eq 1 ]; then
            dns2=$(echo "$e" | grep CGCONTRDP | awk -F"\"" '{ print $10 }')
        fi
    fi
}
cgcontrdpv6() {
    ev6=$((echo AT+CGCONTRDP=4
    sleep 2
    ) | nc 169.254.0.1 7788)
    ipv6_dec=$(echo "$ev6" | grep CGCONTRDP | awk -F"\"" '{ print $4 }' | awk -F"." '{ print $1"."$2"."$3"."$4"."$5"."$6"."$7"."$8"."$9"."$10"."$11"."$12"."$13"."$14"."$15"."$16 }')
    #netmaskv6_dec=$(echo "$ev6" | grep CGCONTRDP | awk -F"\"" '{ print $4 }' | awk -F"." '{ print $17"."$18"."$19"."$20"."$22"."$23"."$24"."$25"."$26"."$27"."$28"."$29"."$30"."$31"."$32 }')
    #gatewayv6_dec=$(echo "$ev6" | grep CGCONTRDP | awk -F"\"" '{ print $6 }')
    dns1v6_dec=$(echo "$ev6" | grep CGCONTRDP | awk -F"\"" '{ print $8 }')
    dns2v6_dec=$(echo "$ev6" | grep CGCONTRDP | awk -F"\"" '{ print $10 }')
    ipv6_hex=$(printf '%02X' ${ipv6_dec//./ } |  sed 's/.\{4\}/&:/g;s/:$//')
    prefixv6_hex=$(echo "$ipv6_hex" | awk -F: '{print $1":"$2":"$3":"$4"::/64"}')
    #netmaskv6_hex=$(printf '%02X' ${netmaskv6_dec//./ } |  sed 's/.\{4\}/&:/g;s/:$//')
    #gatewayv6_hex=$(printf '%02X' ${gatewayv6_dec//./ } |  sed 's/.\{4\}/&:/g;s/:$//')
    #dns1v6_hex=$(printf '%02X' ${dns1v6_dec//./ } |  sed 's/.\{4\}/&:/g;s/:$//')
    #dns2v6_hex=$(printf '%02X' ${dns2v6_dec//./ } |  sed 's/.\{4\}/&:/g;s/:$//')
}
activatepdp4() {
    pdp1=$((echo AT%GPDNTYPE=4,1
        sleep 2
    echo AT+CGACT=1,4
    sleep 10
        ) | nc 169.254.0.1 7788)
}
remove_pci_earfcn_lock() {
ea1=$((echo AT%GLOCKCELL=1,0,-1
    sleep 1
    echo AT%GLOCKCELL=2,0,-1
    sleep 1
    echo AT%GLOCKCELL=3,0,-1
    sleep 1
    echo AT%GLOCKCELL=4,0,-1
    sleep 1
    echo AT%GLOCKCELL=5,0,-1
    sleep 1) |  nc 169.254.0.1 7788)
}
set_pci_earfcn_lock() {
#AT%GLOCKCELL=id,earfcn,pci
ea2=$((echo AT%GLOCKCELL=1,75,489
        sleep 1) | nc 169.254.0.1 7788)
}
uplink
check_connectivity
var1=$(cereg)
while [ $var1 -ne 1 ]
do
    var1=$(cereg)
done
cgcontrdp
uci_set
activatepdp4
cgcontrdpv6
uci_set_v6
ifup $ifnt
echo " IPIPIP $ip "
#set_pci_earfcn_lock
ifup $ifnt6
ip -f inet6 route add default dev $ifnt6_bare

35

Odp: ZTE MF258

Cześć!
Czy jakiś specjalista byłby w stanie napisać krok po kroku jaka konfiguracja jest wymagana, żeby ODU ruszyło? Niestety nie bardzo rozumiem skrypt, a docelowo chciałbym zrobić router na OPNsense, więc i tak by nie zadziałał ze względu na zastosowanie komendy UCI. Już tracę nadzieję, że projekt swojego routera z zastosowaniem tej anteny wypali sad Router z anteną mam od Play jeśli to ma jakieś znaczenie.

Będę bardzo wdzięczny za wszelką pomoc, dziękuję!

36 (edytowany przez rl 2024-08-17 11:25:24)

Odp: ZTE MF258

Witam
Czy udało się komuś uruchomić VPN  (GRE/IPSEC)?

37 (edytowany przez dob46 2024-10-21 20:41:10)

Odp: ZTE MF258

Janeq napisał/a:

Cześć!
Czy jakiś specjalista byłby w stanie napisać krok po kroku jaka konfiguracja jest wymagana, żeby ODU ruszyło? Niestety nie bardzo rozumiem skrypt, a docelowo chciałbym zrobić router na OPNsense, więc i tak by nie zadziałał ze względu na zastosowanie komendy UCI. Już tracę nadzieję, że projekt swojego routera z zastosowaniem tej anteny wypali sad Router z anteną mam od Play jeśli to ma jakieś znaczenie.

Będę bardzo wdzięczny za wszelką pomoc, dziękuję!

W skrócie:
1. Antena sama się łączy z poprawnie skonfigurowanym APN numer 3 ( można konfigurować przez interfejs webowy )
2. Usunąłem zbędne elementy ze skryptu ( skrypt nie obsługuje odnawiania adresu , według dokumentacji skrypt jest źle napisany ). Ale to i tak jest wydmuszka do dalszej pracy

#!/bin/bash

# z komendą NC https://stackoverflow.com/questions/709801/creating-a-script-for-a-telnet-session

#funkcja która czeka dopóki adres anteny będzie pingowalny
check_connectivity() {
while ! ping -c 13 169.254.0.1 &> /dev/null
do
    sleep 0.1
done
}
show_adr(){
    #Wyświetla dane z komendy cgcontrdp
    #Internet jest udostępniany w vlanach, zaczynając od VLAN100
    echo IP "$ip"
    echo Maska podsieci "$netmask"
    echo Brama "$gateway"
    echo DNS1 "$dns1"
    echo DNS2 "$dns2"
}
cereg() {
    #sprawdza czy modem jest zarejestrowany w sieci
    e=$((echo AT+CEREG?
    sleep 2
    ) | nc 169.254.0.1 7788 )
    echo "$e" | tr '\r\n' ' ' | awk -F" " '{ print $2 }' | awk -F"," '{print $2}'
}
# ta funkcja dzieli wynik komendy AT+CGCONTRDP=3 na mniejsze cżeści
cgcontrdp() {
    e=$((echo AT+CGCONTRDP=3
    sleep 2
    ) | nc 169.254.0.1 7788)
    ip=$(echo "$e" | grep CGCONTRDP | awk -F"\"" '{ print $4 }' | awk -F"." '{ print $1"."$2"."$3"."$4 }')
    netmask=$(echo "$e" | grep CGCONTRDP | awk -F"\"" '{ print $4 }' | awk -F"." '{ print $5"."$6"."$7"."$8 }')
    gateway=$(echo "$e" | grep CGCONTRDP | awk -F"\"" '{ print $6 }')
    if [ -e $dns1 ]; then
        dns1=$(echo "$e" | grep CGCONTRDP | awk -F"\"" '{ print $8 }')
    fi
    if [ -e $dns2 ]; then
        if [ $set_dns2 -eq 1 ]; then
            dns2=$(echo "$e" | grep CGCONTRDP | awk -F"\"" '{ print $10 }')
        fi
    fi
}
check_connectivity
var1=$(cereg)
while [ $var1 -ne 1 ]
do
    var1=$(cereg)
done
cgcontrdp
show_adr

38 (edytowany przez nedyarrd 2025-01-17 12:35:40)

Odp: ZTE MF258

Witam Panowie.

Więc też walczę z tą anteną od jakiegoś czasu. Napisałem nawet w c++ daemona lted który miałby obsługiwać to z poziomu openwrt, antena się uruchamia i niby wszystko działa. Niestety internetu nie ma a to moje odkrycia:

- używam do internetu domowego w T-Mobile, więc jest troszeczkę inna konfiguracja niż u was.
- po podaniu wszystkich komend tak jak u was ze skryptów, następuje połączenie LTE natomiast adres ip uzyskany w tym połączeniu jest z innej puli powinno być 10.xx.xx.xx a jest 100.xx.xx.xx
- przeskryptowanie całego ruchu jaki ściągnąłem z routera daje podobny efekt jak powyżej
- przypuszczam, że włącza się konfiguracja innego APN np emergency czy coś takiego
- dodatkowo router odzywa się do anteny na porcie 80 i w ten sposób chyba dodatkowo sprawdza http://169.254.0.1/ltestatus.html odpowiedzi są w SOAP

Także ten, chwilowo utknąłem

Edit: nadal nie działa ale, uruchomienie skryptu bezpośrednio z routera działa, a adresacja 100.xx.xx.xx włącza się gdy uruchomię skrypt z innego adresu.

39

Odp: ZTE MF258

W modemach kablowych przyjmowało się że adres 100* z bardzo małym czasem dzierżawy dostawało się jak było połączenie z modemem ale modem nie miał podłączenia ze światem więc nic nie było dostępne. Może tu jest tak samo?

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

40

Odp: ZTE MF258

A na pewno dobrze ustawiłeś APN ? (Może głupie pytanie )
Zaloguj się na antenę i daj wynik komendy :

ucfg get config wan lte

41 (edytowany przez nedyarrd 2025-01-17 19:38:39)

Odp: ZTE MF258

Okazuje się że:

1. Gdy łączysz się z hosta który nie jest w sieci 169.254.0.0/24 to dostaję taki IP
2. Dodatkowo - muszę na interface dodać VLANy i skonfigurować vlan 100 na ip/gw jaki dostanę
3. W wersji T-Mobile zdaje się że istniał routing na interfejsie WAN bez vlan-tag do sieci wewnętrznej, poza NAT. Czyli przez sieć 169.254.0.0/24

Także działa.
Przejrzałem soft anteny i okazuje się że to modyfikacje które wprowadziło T-Mobile w swoich firmware.

Będę przepisywał lted, do obsługi połączeń pod openwrt. Mam już gotowy, ale w C++, więc ze względów oszczędnościowych przepisuję na czyste C. Będzie bardziej interaktywny niż podane przez was skrypty i docelowo będzie obsługiwał np:
- konfigurację przez UCI /etc/config
- SMSy

42

Odp: ZTE MF258

A jak skończysz to będą dostępne źródła ( chciałbym z ciekawości zobaczyć ja można by to rozwiązać )

43

Odp: ZTE MF258

Będą smile

44

Odp: ZTE MF258

Wstępnie gotowe. Dużo pisania, ale musiałem to zrobić, bo na moim openwrt brakuje miejsca na basha lub inne shell's które mi to by zrobiły.

https://github.com/nedyarrd/lted_mf258

Skompilowany exec na mipselu zajmuje tylko 19kb. Czyli całość ~20kb z plikiem konfiguracyjnym.

45

Odp: ZTE MF258

Napisałeś i  chwała ci za to. Ale lekkie OT: OpenWrt dysponuje obecnie własnym językiem skryptowym o nazwie ucode. Sporo rzeczy w tym już jest (firewall, wifi, pewnie systemowe elementy) i w sumie nadaje się do pisana takich różnych procedur.

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

46

Odp: ZTE MF258

Cezary napisał/a:

Napisałeś i  chwała ci za to. Ale lekkie OT: OpenWrt dysponuje obecnie własnym językiem skryptowym o nazwie ucode. Sporo rzeczy w tym już jest (firewall, wifi, pewnie systemowe elementy) i w sumie nadaje się do pisana takich różnych procedur.

Może i jest. Ale mi nie potrzebny kolejny język programowania do nauki. Nie wiem czy zauważyłeś że dużo developerów linux kernela zamierza się wycofać z Rusta.

47

Odp: ZTE MF258

Udało mi się rozpracować samo ODU od tego zestawu MF258. Większość rzeczy można wywnioskować z /etc/sysconfig/scripts/... i ODU może funkcjonować jako niezależne urządzenie bez żadnej integracji z IDU.

Czy ktoś może mi podpowiedzieć jak mogę modyfikować pliki systemowe w ODU? Jest montowany jako read-only poza plikami konfiguracyjnymi ucfg. Mam problem w skrypcie od NAT, źle startują przed uruchomieniem interfejsu LTE i nie działa. Powtórne wywołanie skryptu po ustanowieniu połączenia LTE odpala poprawnie NATa, ale lipa żeby za każdym razem po restarcie ręcznie restartować iptables.

Czy ktoś mógłby podzielić się niebrandowanym softem? Nigdzie nie mogę dorwać: matula[]mixbox.pl

48 (edytowany przez wisipior 2025-06-04 09:22:08)

Odp: ZTE MF258

matula napisał/a:

Udało mi się rozpracować samo ODU od tego zestawu MF258. Większość rzeczy można wywnioskować z /etc/sysconfig/scripts/... i ODU może funkcjonować jako niezależne urządzenie bez żadnej integracji z IDU.

Czy ktoś może mi podpowiedzieć jak mogę modyfikować pliki systemowe w ODU? Jest montowany jako read-only poza plikami konfiguracyjnymi ucfg. Mam problem w skrypcie od NAT, źle startują przed uruchomieniem interfejsu LTE i nie działa. Powtórne wywołanie skryptu po ustanowieniu połączenia LTE odpala poprawnie NATa, ale lipa żeby za każdym razem po restarcie ręcznie restartować iptables.

Czy ktoś mógłby podzielić się niebrandowanym softem? Nigdzie nie mogę dorwać: matula[]mixbox.pl

Czy możesz pokazać co wypluwa mount oraz cat /etc/*-release


Jeśli jest /overlay - spróbuj mount -o remont,rw /overlay   a w nim wtedy /overlay/etc/...
Jeśli jest jakiś katalog domowy albo zapisywalny userspace to spróbuj w nim zrobić  katalog  .config  a w nim zawartość z /etc 
Sprawdz skrypty startowe/etc/rc.... czy są gdzieś podlinkowane.

49

Odp: ZTE MF258

https://www.mediafire.com/file/yuijgw9d … 4.ZIP/file

Tym plikiem dawało się przejść z fw Play na STD ( nie wiem ,czy taki masz  , czy może nowszy).

Poczytaj też temat o tym modemie na bez-kabli.pl , tam coś kojarzę ,że było ,żeby zmienić jakiś serwer do update i się aktualizuje...

W każdym razie teraz ZTE te modemy sprzedaje jako "PRO" , i one już takiego limitu nie mają ( że musi być dedykowane IDU) , więc dobrze byłoby mieć takie fw...

50 (edytowany przez wisipior 2025-07-09 14:07:01)

Odp: ZTE MF258

nedyarrd napisał/a:

Wstępnie gotowe. Dużo pisania, ale musiałem to zrobić, bo na moim openwrt brakuje miejsca na basha lub inne shell's które mi to by zrobiły.

https://github.com/nedyarrd/lted_mf258

Skompilowany exec na mipselu zajmuje tylko 19kb. Czyli całość ~20kb z plikiem konfiguracyjnym.

Czy byłbyś uprzejmy wystawić gdzieś ten exec, albo i nawet konkretnie binarkę na ten właśnie MF258. Kompilacja - na dodatek z poziomu innej maszyny - to może być czarna magia. Czy ktoś ma namiar na tę binarkę ?