Follow along with the video below to see how to install our site as a web app on your home screen.
Huomio: This feature may not be available in some browsers.
MC889A_DNAY_B13_FWAOnko firmisversio FWA malliin?
Onko tähän ohjeita?Tyhjentämällä tr069-config toimii normaalisti, ainakin itsellä jo toista kuukautta yhteyden uptime
Sen verran lähelle menee, että hyödynnetään samaa threadia. ZTE on julkaissut tietyille markkinoille uuden MC889(A) Pro -version, jossa on ainakin tehokkaampi antennivahvistus ja kiinnitysmekanismi muuttunut helpottamaan suuntaamista. Saa nähdä, tuleeko Suomen markkinoille saataville:
setTR069Config kun POSTaa hallinnasta kikkailen tyhjäksi niin katoo ne tiedot. On tuohon kans python-pala, mut en oo korjannu siihen paria juttua ja voi vaatia koodin läpikäyntiä;MC889A_DNAY_B13_FWA
Onko tähän ohjeita?
#!/bin/python3
import requests
from requests.exceptions import RequestException
import hashlib
from datetime import datetime
import urllib.parse
import json
import sys
import time
import urllib3
#from http.server import BaseHTTPRequestHandler, HTTPServer
import argparse
parser = argparse.ArgumentParser("ZTE tr069 tool")
parser.add_argument("ip", help="Router ip address")
parser.add_argument("username", help="Router username", default="admin")
parser.add_argument("password", help="Router password")
parser.add_argument("--login", help="Login method (multi, single)", default="single")
args = parser.parse_args()
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
s = requests.Session()
class zteRouter:
def __init__(self, ip, username, password, login):
self.login = login
self.ip = ip
self.protocol = "http" # default to http
self.username = username
self.password = password
self.try_set_protocol()
self.referer = f"{self.protocol}://{self.ip}/"
def try_set_protocol(self):
protocols = ["http", "https"]
for protocol in protocols:
url = f"{protocol}://{self.ip}"
try:
response = requests.get(url, timeout=5, verify=False)
if response.ok:
self.protocol = protocol
# print(f"{self.ip} is accessible via {protocol}")
return
except RequestException:
pass # If RequestException occurs, try the next protocol
# print(f"Could not determine the protocol for {self.ip}")
def hash(self, str):
return hashlib.sha256(str.encode()).hexdigest()
def get_LD(self):
header = {"Referer": self.referer}
payload = "isTest=false&cmd=LD"
r = s.get(self.referer + f"goform/goform_get_cmd_process?{payload}&_=", headers=header, data=payload, verify=False)
return r.json()["LD"].upper()
def getVersion(self):
header = {"Referer": self.referer}
payload = "isTest=false&cmd=wa_inner_version"
r = s.get(self.referer + f"goform/goform_get_cmd_process?{payload}", headers=header, data=payload, verify=False)
return r.json()["wa_inner_version"]
def get_AD(self):
def md5(s):
m = hashlib.md5()
m.update(s.encode("utf-8"))
return m.hexdigest()
def sha256(s):
m = hashlib.sha256()
m.update(s.encode("utf-8"))
return m.hexdigest() # no .upper() to match whatever mc7010 had
#return m.hexdigest().upper() # .upper() to match your example hash
wa_inner_version = self.getVersion()
hash_function = sha256 # set depending on device, MC7010 md5, MC889 sha256?
cr_version = "" # is empty, is printed on getInfos
a = hash_function(wa_inner_version + cr_version)
header = {"Referer": self.referer}
rd_response = s.get(self.referer + "goform/goform_get_cmd_process?isTest=false&cmd=RD", headers=header, verify=False)
rd_json = rd_response.json()
u = rd_json.get("RD", "")
result = hash_function(a + u) # Use hash_function here as well
print("result (hash of a + u):", result) # Debug print
return result
def getCookie(self, username, password, LD, login):
header = {"Referer": self.referer}
hashPassword = self.hash(password).upper()
ztePass = self.hash(hashPassword + LD).upper()
if login == "multi":
payload = {
'isTest': 'false',
'goformId': 'LOGIN_MULTI_USER',
'password': ztePass,
'user': username
}
else:
payload = {
'isTest': 'false',
'goformId': 'LOGIN',
'password': ztePass,
}
r = s.post(self.referer + "goform/goform_set_cmd_process", headers=header, data=payload, verify=False)
return "stok=" + r.cookies["stok"].strip('\"')
def getTRInfo(self):
ip = self.ip
cookie = self.getCookie(username=self.username, password=self.password, LD=self.get_LD(), login=self.login)
#cmd_url = f"{self.protocol}://{self.ip}/goform/goform_get_cmd_process?multi_data=1&isTest=false&cmd=wa_inner_version%2Clte_rssi%2CZ5g_rssi%2Clte_rsrp%2CZ5g_rsrp%2Clte_rsrq%2CZ5g_rsrq%2Clte_snr%2CZ5g_SINR%2Csignalbar%2Ccell_id%2Cnr5g_action_band%2Ccell_id%2Cnetwork_provider%2Cmonthly_tx_bytes%2Cmonthly_rx_bytes%2Crealtime_tx_bytes%2Crealtime_rx_bytes%2Crealtime_tx_thrpt%2Crealtime_rx_thrpt%2Cwan_ipaddr%2Cwan_apn"
cmd_url = f"{self.protocol}://{self.ip}/goform/goform_get_cmd_process?multi_data=1&isTest=false&cmd=cr_version%2Ctr069_ServerURL%2Ctr069_CPEPortNo%2Ctr069_ServerUsername%2Ctr069_ServerPassword%2Ctr069_ConnectionRequestUname%2Ctr069_ConnectionRequestPassword%2Cwan_ipaddr%2Ctr069_PeriodicInformEnable%2Ctr069_PeriodicInformInterval%2Ctr069_CertEnable%2Ctr069_DataModule%2Ctr069_Webui_DataModuleSupport"
headers = {
"Host": ip,
"Referer": f"{self.referer}index.html",
"Cookie": f"{cookie}"
}
response = s.get(cmd_url, headers=headers, verify=False)
return response.text
def setTRInfo(self):
ip = self.ip
#cookie = self.getCookie(username=self.username, password=self.password, LD=self.get_LD())
cookie = self.getCookie(username=self.username, password=self.password, LD=self.get_LD(), login=self.login)
headers = {
"Host": ip,
"Referer": f"{self.referer}index.html",
"Cookie": f"{cookie}"
}
payload = {
'isTest': 'false',
'goformId': 'setTR069Config',
'AD': self.get_AD(),
"tr069_ServerURL": "https://ltm.mdna.fi:7548/tr069/ServiceHandle",
"tr069_CPEPortNo": "",
"tr069_ServerUsername": "",
"tr069_ServerPassword": "",
"tr069_ConnectionRequestUname": "",
"tr069_ConnectionRequestPassword": "",
"tr069_PeriodicInformEnable": "1",
"tr069_PeriodicInformInterval": "7200",
"tr069_CertEnable": "1",
"tr069_DataModule": "",
"tr069_Webui_DataModuleSupport": ""
}
response = s.post(self.referer + "goform/goform_set_cmd_process", headers=headers, data=payload, verify=False)
return response.text
zteInstance = zteRouter(args.ip, args.username, args.password, args.login)
#class serveInfos():
# gatheredJson = json.loads(zteInstance.getTRInfo())
# print(json.dumps(gatheredJson))
class setInfos():
gatheredJson = json.loads(zteInstance.getTRInfo())
print(json.dumps(gatheredJson))
print(zteInstance.setTRInfo())
if __name__ == "__main__":
setInfos()
Tilasin tuollaisen MC889A Pron nyt sitten 7010:n korvaajaksi (bigbox.fi:stä, varmaan tuovat sen juuri jostain Puolasta ensin Baltiaan ja sitten lähettävät tänne). Toivottavasti softa ei ole aivan yhtä kuraa...889 ja Pro vierekkäin, kokoero on huomattava.
Tilasin tuollaisen MC889A Pron nyt sitten 7010:n korvaajaksi (bigbox.fi:stä, varmaan tuovat sen juuri jostain Puolasta ensin Baltiaan ja sitten lähettävät tänne). Toivottavasti softa ei ole aivan yhtä kuraa...
Olen testannut Puolalaista MC7010 kotimaisissa 5G verkoissa muutama vuosi sitten ja 5G ei mennyt päälle.Tilasin tuollaisen MC889A Pron nyt sitten 7010:n korvaajaksi (bigbox.fi:stä, varmaan tuovat sen juuri jostain Puolasta ensin Baltiaan ja sitten lähettävät tänne). Toivottavasti softa ei ole aivan yhtä kuraa...
python3 tr069.py
Kun resetoit modeemin, niin se palauttaa oletus TR069 asetukset.Olisiko joku DNA:n omistava voinut ajaa tuon scriptin ja laittaa mulle vaikka YV:nä nuo tr069 tiedot, mitä tulostuu konsoliin ja tiedostoon?
Juu. Tiedän, mutta olisin koittanut laittaa nuo DNA:n TR069 asetukset omaan laitteeseen, niin ehkä olisi päässyt DNA:n päivitysten piiriin.Kun resetoit modeemin, niin se palauttaa oletus TR069 asetukset.
Tässä laitoit, että modeemissasi on DNA:n kiinteän asennuksen firmis, eli se saa kyllä DNA:n päivitysasetukset resetin jälkeen. Ne tulevat laitteen tiedostojärjestelmästä (firmwarelta), eikä sim-kortilta. B13 on uusin firmis tälle ja ei-FWA laitteelle.Juu. Tiedän, mutta olisin koittanut laittaa nuo DNA:n TR069 asetukset omaan laitteeseen, niin ehkä olisi päässyt DNA:n päivitysten piiriin.
MC889A_DNAY_B13_FWA
@Richard Modasin vähän tuota sinun Python scriptiä. Mielenkiintoista on se, että kun kirjoitat mitään tr069 asetuksia, niin se nollaa kaikki nuo asetukset.
Tuolta löytyy uusin versio. Käyttö menee:
Valinnaisia argumentteja on <ip> <username> <password> --settr069 "filename"Koodi:python3 tr069.py
Jos ei laita mitään, niin käyttää 192.168.8.1 admin 1234
Tämä tallentaa tr069.json tiedostoon tr069 asetukset, jos ei käytä --settr069 argumenttia.
Olisiko joku DNA:n omistava voinut ajaa tuon scriptin ja laittaa mulle vaikka YV:nä nuo tr069 tiedot, mitä tulostuu konsoliin ja tiedostoon?
Tässä kannattaa myös huomioida, että osassa SYV tolpista, joissa B20, B8, B28 on käytössä, ei ole low band comboja aktivoitu.Ilmeisesti tällä pitäisi toimia B20+B8 ja B8+B28 combot SYV alueella? Kaikki nuo taajuudet löytyy tukiasemasta, mutta saa B8 vaan käyttöön jos sen laittaa päälle. B20 jos aktivoi niin ei yhdistä B8 ollenkaan sitten.
B8 toimii, mutta ei missään CA combossa.
Testattu MR5200 Varkaus/Pieksämäki, vika ei laitteessa vaan SYV verkossa CA:ta ei ole täällä ko. taajuudelle aktivoitu.
Laitoin kysymystä eteenpäin, toivotaan selventävää lausuntoa alkuviikosta.
Tuliko tähän mitään, vai katosiko lomaposteihin?
Kyllä tuosta hieman keskustelua käytiin statuksella sisäinen.
Tästä voimme kuitenkin päätellä, että tosiaan b8 kombot ei ainakaan osassa SYV:iä ole päällä, mutta syitä voimme vain arvailla.
Toimijat ovat ainakin tietoisia asiasta ja siitä mitä täällä on kirjoitettu. Kannattaa tarkkailla miten tilanne kehittyy.
Mukana tulevan (tosin omani on MC7010) injektorin läpi menee kyllä tuo nopeus.Onkos jossain jo kerrottu kun en nyt hauilla löytänyt tuon mukana tulevan injectorin porttinopeuksia? Kun tuo modeemi kuitenki tukee 2,5Gb niin tukeekohan myös injektori?
Elisa 5G+ on 5G SA. Eli verkko ei tarvi apuja 4G verkolta.Sivukysymys, oliks Elisalla muuten vielä joku 5G+ SA mahdollisuus jolla sais pienemmillä pingeillä?
100M on maksimi upload mobiililaajakaistassa.Mitäs tällä nyt pitäisi tolla DNA 1000M liittymällä saada nopeuksiksi? Myyjällä oli epäselvää että sheipataanko sitä up kaistaa johonkin 50M 100M ja sitten lopulta löytyi joko löyhä lauseke että 10% DL:sta. Eli onko tämä nyt kuitenkin oikea liittymä vai pitääkö jotain muuta pyytää että saa sitä vauhtia maksimit.
ok, onko nuo osan 1800MBps/169Mbps tyyliset sitten millä operaattorilla tai liittymällä ajettuja jos tuolla DNA 1000M tuo on max 1000M/100M sheipattu 5G:llä ja 600M/50M 4G:llä?0M on maksimi upload mobiililaajakaistassa.
Tiedot löytyvät ehdoista ja linkki niihin o
Mitäs tällä nyt pitäisi tolla DNA 1000M liittymällä saada nopeuksiksi? Myyjällä oli epäselvää että sheipataanko sitä up kaistaa johonkin 50M 100M ja sitten lopulta löytyi joko löyhä lauseke että 10% DL:sta. Eli onko tämä nyt kuitenkin oikea liittymä vai pitääkö jotain muuta pyytää että saa sitä vauhtia maksimit.
ok, onko nuo osan 1800MBps/169Mbps tyyliset sitten millä operaattorilla tai liittymällä ajettuja jos tuolla DNA 1000M tuo on max 1000M/100M sheipattu 5G:llä ja 600M/50M 4G:llä?
Hyvin pääsee 160-170Mbps DNA:n 400M 5G liittymällä. Mutta tarvinnee N78 bandin siihen, itselläni on 2x B7+2x N78 käytössä. Testailen illasta mitä lähetysnopeuksia saa noilla mainituilla bandeilla, tolpasta löytyy nekin ja on näköyhteys.Noilla taajuuksilla maksimi on 600Mbit/s ja todellinen nopeus 450-550Mbit/s, jos signaalitasot hyvät ja tukiasema ei kovin ruuhkainen. Ilman B7 ja/tai N78 taajuuksia ei 1000Mbit/s nopeuksiin pääse. Eli voi huoletta ottaa halvemman liittymän. Tämän on myyjä myös tiennyt kuuluvuuskartassaan, eli aika epäeettistä on touhu taas ollut.
DNA:n upload on 100Mbit/s, mutta rajoitin on löyhä, eli voi päästä 110-120Mbit/s, joku oli tainnut saada jopa 150Mbit/s uploadia.
Hyvin pääsee 160-170Mbps DNA:n 400M 5G liittymällä. Mutta tarvinnee N78 bandin siihen, itselläni on 2x B7+2x N78 käytössä. Testailen illasta mitä lähetysnopeuksia saa noilla mainituilla bandeilla, tolpasta löytyy nekin ja on näköyhteys.
Etukäteen jo kiittäen, ei tarvitse välttämättä kaikkia komboja käydä läpi kunhan saisi jonkinlaisen hyvän kuvan että mitä lukituksia ja bandejä kannattaa käyttää ja mitä sieltä olisi odotettavissa.Hyvin pääsee 160-170Mbps DNA:n 400M 5G liittymällä. Mutta tarvinnee N78 bandin siihen, itselläni on 2x B7+2x N78 käytössä. Testailen illasta mitä lähetysnopeuksia saa noilla mainituilla bandeilla, tolpasta löytyy nekin ja on näköyhteys.
Etukäteen jo kiittäen, ei tarvitse välttämättä kaikkia komboja käydä läpi kunhan saisi jonkinlaisen hyvän kuvan että mitä lukituksia ja bandejä kannattaa käyttää ja mitä sieltä olisi odotettavissa.
Onko nyt siis niin että jos asema 400m päässä näköyhteydellä ja vaikka yksikään 3:sta B3:n keilasta ei suoraan osu omaan tukiasema mastoon, niin silti Tästä olisi järkevä joku B1+ 2xB3 + n28 tyylinen, näin olen ymmärtänyt? Miten tuon saa varmistettua että ottaako se 1xB3 tai 2xB3? Saako vakiokäyttöliittymällä vai pitääkö homeassistant + skriptit heti lisätä HA:han tai jollain javalla / pythonilla auttaa?
Mikä tuo uplaod CA on? Käyttääkö siis useampaa 4G taajuutta yhtäaikaa lähetykseen vai 4G + 5G yhdessä? Löytyyköhän mahdollisesti mc801a:sta tuollaista ominaisuutta vai koskeeko vain uudempia malleja.ei näillä saa upload CA:ta päälle.
Molemmat ovat mahdollisia. On taas modeemiriippuvaista, mitkä ovat tuettuna. Täältä voi tarkastella tuetut yhdistelmät: ZTE MC801A (MC801A) | 4G/5G Bands & Combos. Huawei tukee yleisesti noita 4G comboja uploadissa paremmin, mitä ZTE.Mikä tuo uplaod CA on? Käyttääkö siis useampaa 4G taajuutta yhtäaikaa lähetykseen vai 4G + 5G yhdessä? Löytyyköhän mahdollisesti mc801a:sta tuollaista ominaisuutta vai koskeeko vain uudempia malleja.
SYV:in verkossa B3 on 2x per solu. B1, B7 ja N78 on myös tuplana. Heillä kun on Telian ja DNA:n radiokaistat käytettävissään. "Network Information" sivulta näkee mitä taajuuksia modeemi käyttää(löytyy Advanced Settings/Others).Etukäteen jo kiittäen, ei tarvitse välttämättä kaikkia komboja käydä läpi kunhan saisi jonkinlaisen hyvän kuvan että mitä lukituksia ja bandejä kannattaa käyttää ja mitä sieltä olisi odotettavissa.
Onko nyt siis niin että jos asema 400m päässä näköyhteydellä ja vaikka yksikään 3:sta B3:n keilasta ei suoraan osu omaan tukiasema mastoon, niin silti Tästä olisi järkevä joku B1+ 2xB3 + n28 tyylinen, näin olen ymmärtänyt? Miten tuon saa varmistettua että ottaako se 1xB3 tai 2xB3? Saako vakiokäyttöliittymällä vai pitääkö homeassistant + skriptit heti lisätä HA:han tai jollain javalla / pythonilla auttaa?
Olikos tämä saapunut Suomenniemelle? Ja onko kokemuksia jakaa @olli_tr?Tilasin tuollaisen MC889A Pron nyt sitten 7010:n korvaajaksi (bigbox.fi:stä, varmaan tuovat sen juuri jostain Puolasta ensin Baltiaan ja sitten lähettävät tänne). Toivottavasti softa ei ole aivan yhtä kuraa...
Oliko käytössä mikä liittymä, eli tuleeko sieltä nopeuskatto vastaan jossain testeissä?SYV:in verkossa B3 on 2x per solu. B1, B7 ja N78 on myös tuplana. Heillä kun on Telian ja DNA:n radiokaistat käytettävissään. "Network Information" sivulta näkee mitä taajuuksia modeemi käyttää(löytyy Advanced Settings/Others).
Testailin jonninverran niin ainakin B8 kantsii heti ruksia pois. B1+2xB2+B20 uppi jäi heikoksi kun 2CA UL ei lähde päälle. 2xB3+B20 paras uppi mutta jää kaipaamaan B1 DL lisää. Itse käyttäisin ekaa vaihtoehtoa.
1. B1+2xB3+N28 206/116 UL B3+N28
2. B1+2xB3+B20 207/76 UL B3 (2CA UL ei aktivoidu)
3. 2xB3+B20 142/142 UL B3+B20
4. B1+2xB3 178/121 UL B1+B3
5. 2xB3 112/127 UL 2xB3
6. 2xB3+N28 199/93 UL B3+N28
Laitetaan bonustestinä 4G ylätaajuudet
400M 5G. Käyttäjiä on kyllä solussa paljon ja satun asumaan kahden tukiaseman rajamaastossa mikä näkyy B1 ja B3 taajuuksien häiriöissä. Siksi ne ovatki ruksittu pois. N78 2x 100MHz radiokaista läpsyttelee ihan eri tahtiin kuin 4G:n 20MHz siivut. Nopeustesteissä näkee melkoisen piikin alkuun kun nopeusleikkuri aktivoituu.Oliko käytössä mikä liittymä, eli tuleeko sieltä nopeuskatto vastaan jossain testeissä?
Tämän perusteella on pakko todeta, että on kyllä ihan lottoa nopeuksien suhteen, mihin kukin tukiasema pystyy. Eli ruuhkaisuus vaikuttaa todella paljon.
Vastaavilla taajuuksilla (ei B7:aa käytössä) omissa testeissä heikommilla signaaliarvoilla pääsee aina vähintään 350 downiin, hiljaisempana aikana 400 ja pelkällä 4G:lla 500Mbit/s+. Toisaalta taas uploadin osalta ei ole yli 115Mbit/s päässyt kertaakaan.