@Królik Barrrrdzo dobra robota! ;-)
Nie jesteś zalogowany. Proszę się zalogować lub zarejestrować.
eko.one.pl → Posty przez Leo-PL
@Królik Barrrrdzo dobra robota! ;-)
Spróbuję zdumpować po Saharze firmware ze swojego modemu, oraz rozpakować paczkę z firmwarem DNA do 286. Jeżeli tam jest ten sam firmware, to powinno jakoś wejść. Jestem ciekaw na ile to ma szansę się udać na porcie szeregowym ztunelowanym przez Socata przez SSH po dwóch Wireguardach 500km dalej ;-]
Leo-PL napisał/a:@MiG25: a jak z tą binarką? https://busybox.net/downloads/binaries/ … sybox-mips
@Leo-PL, jest to samo .
pawol napisał/a:To będzie niezły burdel openwrt na mf286 z polskiego rynku.
Ta moja sztuka jest z Tele2 , więc to "ogólnoświatowy" problem.
Ech. Będę musiał pokombinować dalej przez konsolę. Sam komunikat znaczy tyle, że któryś syscall przy otwieraniu binarki zwrócił kod błędu ENOENT. Tyle. Który dokładnie? Nie wiadomo.
To będzie niezły burdel openwrt na mf286 z polskiego rynku.
admin@(none):/etc_rw/fota# echo -e -n 'ATI\r' > /dev/ttyUSB1 && cat /dev/ttyUSB1
ATI
Manufacturer: ZTE CORPORATION
Model: MF286MODULE
Revision: BD_MF286MODULEV1.0.0B02
IMEI: 8682xxxxxxxxx
...
Już rozumiem. To jest wersja modemu, co z resztą widać. Porównałem to i owo i wychodzi, że MF286 i MF286A mają ten sam modem. Różnią się tylko flash layoutem, radiem na 5GHz. I wersją SDK na którym zbudowano soft.
Te z busyboxa to właśnie są statyczne.
Busybox może nie ładować się, bo ma w nagłówku binarki zaszytą inną oczekiwaną wersję ELF loadera (/lib/ld-linux*.so.*) której na MF286A nie ma, więc kernel nie wie jak załadować tą binarkę, pomimo, że ta jest polinkowana statycznie. Choć z drugiej strony, to nie powinno mieć znaczenia. Sprawdziłem nagłówki Busyboxa z obu wersji softu i wyglądają identycznie.
Można spróbować użyć busyboxa wyszarpanego z MF286 który ma telnetd. Rano gdzieś wrzucę.
A tak bogiem a prawdą, to do instalacji OpenWrt nie trzeba telnetd, to będzie dało się opędzić samym skryptem ładowanym po TFTP.
Na FAT wszystkie pliki mają atrybuty 777, więc będą wykonywalne tak czy siak.
@MiG25: a jak z tą binarką? https://busybox.net/downloads/binaries/ … sybox-mips
Przydałby się statycznie budowany strace na tą platformę, pokazałby czego brakuje.
MiG25 napisał/a:Leo-PL napisał/a:(chmod 755 /tmp/usb_disk/telnetd; ./tmp/usb_disk/telnetd) >/tmp/usb_disk/log.txt 2>&1./diag.sh: line 13: ./tmp/usb_disk/telnetd: not found
Ale ten plik tam jest ( na usb).
Masz pendrive na fat? Przerób go, ale wcześniej skopiuj binarkę do /tmp/
Tak się dzieje też, gdy brakuje jakiejś łączonej dynamicznie zależności. Trzeba byłoby tego busyboxa skompilować całkowicie statycznie, albo użyć nowszej wersji - może spasuje.
W międzyczasie, chunkeey wziął się za review mojego PRa, więc raczej też szybko wleci.
(chmod 755 /tmp/usb_disk/telnetd; ./tmp/usb_disk/telnetd) >/tmp/usb_disk/log.txt 2>&1A z modemem dałoby się pokombinować, żeby EDLa odpalić na routerze, tylko trzeba doinstalować Pythona - na to miejsce jest ;-)
Nie wiem , ja go jeszcze nie rozkręcałem
![]()
@Leo-PL , ta sztuka MF286A normalnie loguje po serial konsoli od początku , czy tak samo śmieci na początku , jak u @pawol ?
Loguje normalnie.
Co do skryptu mam jeszcze jedno podejrzenie - może jest jakieś nowsze ABI kernela czy coś, co czyni binarkę niekompatybilną. Tam jest sporo nowszy kernel niż na 286.
@Leo-PL mógłbyś zerknąć w wolnym momencie czy mój pakiet luci-app-3ginfo-lite działa poprawnie z MF286D, THX.
P.S.
Domyślam się, że pakiet luci-app-modemband już "omyłkowo" przetestowałeś.
Muszę go tylko zintegrować w buildach. 3ginfo-lite mam w buildzie, ale nie zaglądałem ;-)
A. No i nie mam 286D pod ręką.
Edit: na vanilla 286 śmigają elegancko.
Cezary napisał/a:O ile tylko to przejdzie przez parser. Jak nie to zrób sobie na tftp skrypt w którym to jest i każ mu pobrać plik, identycznie ja pobiera dla busyboxa/telnetd.
Nie przeszło ,przez parser, ale skrypt jak najbardziej się uruchamia. Ściągnąłem listę partycji , i wychodzi ,że to wersja A ( mimo ,że na naklejce tego nie ma).
skrypt taki:#!/bin/sh mkdir /tmp/usb_disk/ mount /dev/sda1 /tmp/usb_disk/ touch /tmp/usb_disk/tu-bylem.txt cat /sys/kernel/debug/usb/devices > /tmp/usb_disk/usblist.txt cat /proc/mtd > /tmp/usb_disk/mtdlist.txtlista partycji:
dev: size erasesize name mtd0: 000a0000 00010000 "u-boot" mtd1: 00020000 00010000 "u-boot-env" mtd2: 00140000 00010000 "reserved1" mtd3: 000a0000 00020000 "fota-flag" mtd4: 00080000 00020000 "art" mtd5: 00080000 00020000 "mac" mtd6: 000c0000 00020000 "reserved2" mtd7: 00400000 00020000 "cfg-param" mtd8: 00400000 00020000 "log" mtd9: 000a0000 00020000 "oops" mtd10: 00500000 00020000 "reserved3" mtd11: 00800000 00020000 "web" mtd12: 00300000 00020000 "kernel" mtd13: 01a00000 00020000 "rootfs" mtd14: 01900000 00020000 "data" mtd15: 03200000 00020000 "fota" mtd16: 01d00000 00020000 "firmware"I najważniejsze:
T: Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 1 B: Alloc= 0/800 us ( 0%), #Int= 0, #Iso= 0 D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=1d6b ProdID=0002 Rev= 3.03 S: Manufacturer=Linux 3.3.8 ehci_hcd S: Product=Generic Platform EHCI Controller S: SerialNumber=ehci-platform.1 C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub E: Ad=81(I) Atr=03(Int.) MxPS= 4 Ivl=256ms T: Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=480 MxCh= 0 D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=0930 ProdID=6544 Rev= 1.00 S: Manufacturer= S: Product=USB Flash Memory S: SerialNumber=001CC0C60D71C651042F06DA C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA I:* If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=31875us T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 1 B: Alloc= 0/800 us ( 0%), #Int= 0, #Iso= 0 D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=1d6b ProdID=0002 Rev= 3.03 S: Manufacturer=Linux 3.3.8 ehci_hcd S: Product=Generic Platform EHCI Controller S: SerialNumber=ehci-platform.0 C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub E: Ad=81(I) Atr=03(Int.) MxPS= 4 Ivl=256ms T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=480 MxCh= 0 D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=19d2 ProdID=0076 Rev= 0.00 S: Manufacturer=Qualcomm CDMA Technologies MSM S: Product=QHSUSB__BULK C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr= 2mA I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0msWygląda dokładnie tak jak to pisał smereka , modem przestawiony jest w jakiś tryb serwisowy.
@Leo-PL , masz jakieś pomysły na odceglenie tego modemu ? Może go wato rozkręcić zamiast oddawać....
Ehem, dokładnie to samo co u kolegi.
Trzeba znaleźć paczkę w firmwarem - cholera wie czy to nie ten sam modem co w "waniliowym" 286 i wgrać przez QDLoadera, np. tym: https://github.com/bkerler/edl
I jak odpalić telnet na tym MF286 chyba A ?
mam na usb binarkę busybox-mips ze zmienioną nazwą na telnetd.
próbowałem już w skrypcie:chmod 755 /tmp/usb_disk/telnetd ./tmp/usb_disk/telnetdale nie idzie.... Jakiś pomysł ?
Yyy, brakuje shebanga (#!/bin/sh) na początku?
Skopiuj go też najpierw do tmpfsa. Możesz też odpalić subshell, żeby zalogował na pendrive co się dzieje przy odpalaniu.
MF286 z t-mobile PL z softem CR_TMOMF286V1.0.0B03
odpowiada na cat /proc/mtddev: size erasesize name
mtd0: 000a0000 00010000 "u-boot"
mtd1: 00020000 00010000 "u-boot-env"
mtd2: 00140000 00010000 "reserved1"
mtd3: 000a0000 00020000 "fota-flag"
mtd4: 00080000 00020000 "art"
mtd5: 00080000 00020000 "mac"
mtd6: 000c0000 00020000 "reserved2"
mtd7: 00400000 00020000 "cfg-param"
mtd8: 00400000 00020000 "log"
mtd9: 000a0000 00020000 "oops"
mtd10: 00500000 00020000 "reserved3"
mtd11: 00800000 00020000 "web"
mtd12: 00300000 00020000 "kernel"
mtd13: 01a00000 00020000 "rootfs"
mtd14: 01900000 00020000 "data"
mtd15: 03200000 00020000 "fota"
mtd16: 01d00000 00020000 "firmware"
No to ten flash layout się zgadza. Soft na routerze przedstawiał się jako MF286A. Pospieszyłeś się ze sprzedażą ;-]
Nie do końca wyedytowałem jeszcze instrukcję, a przed chwilą zrobiłem mały refactoring i naprawiłem Wi-Fi na 5GHz. Zaraz wypcham.
Jedyne co realnie się różni, to flash layout i chip Wi-Fi. Poza tym, tylko kolor diodki "debug".
Potrzebujemy z kolegą jeszcze odceglić modemy i to chyba tyle, coś mi świta że IDki będą te same. Tylko teraz jeszcze odkopać paczkę z fabrycznym FW. ;_;
Edit: wypchane, have phun testing.
Akurat mój kolega wziął tą sztukę i on zdecydowanie wie jak przelutować taki slot ;-)
A w tak zwanym międzyczasie, razem z nim zmajstrowałem wsparcie MF286A. Zajęło to może z godzinę. Różnice są tylko w radiu 5GHz (jest wave2) i flash layoucie.
Tylko jest jeden szkopuł - z jakiegoś powodu ath10k nie ładuje board-2.bin choć teoretycznie powinien on w obrazie być. Poza tym raczej wszystko działa. Modemu nie testowaliśmy, bo jest uwalony w trybie EDL :-P
Jak chcecie, to możecie budować i testować. Instalacja z wewnątrz stockowego softu powinna być prostsza, bo jest partycja "firmware" będąca aliasem na "kernel" i "rootfs", więc wystarczy po prostu wypalić initramfs na niej, a dalej tak samo jak zwykły MF286.
Przez weekend pewnie naprawię to wifi i siup do upstreamu, byłoby spoko zanim odbranchują 22.0x.
https://github.com/Leo-PL/openwrt/tree/zte_mf286a
Jak szwagier wróci z reichu, to wezmę jego sztukę na warsztat i spróbuję wyłapać, czy na jego wersji softu któryś exploit ruszy.
Twoje buildy u mnie działają, wliczając w to instalację po TFTP. Ta metoda okazuje się zaskakująco bezproblemowa.
Ludzie ciśnienia nie wytrzymują i dużo przed końcem już licytują ja swoją udało się wyhaczyć za 60zł z walniętym gniazdem naprawa sprawnie poszła i działa do dziś jednak 150zł z potencjalnie uszkodzonym modemem a dziś taki był na licytacji to będzie miał gościu zonk haha
Ten oznaczony TA2759 czy jakoś tak? Dobrze, że dałem sobie z nim siana. Choć bogiem a prawdą, mam toole do flashowania fabrycznego tego modemu - może przez EDL dałoby radę.
@MiG25, masz jeszcze ten uwalony modem ze swojego routera? xD
@Cezary: masz za dużo rzeczy napakowanych w tym initramfs - on musiałby być z gołego builda, a pewnie idzie z tego co produkcyjny obraz ;-)
Spróbuj z lzma-loaderem, może da radę:
LOADER_TYPE := bin
KERNEL := kernel-bin | append-dtb | lzma | loader-kernel | uImage none
Wcześniej testowo mi to działało, ale na dużych initramfs i tak ten loader się wywalał.
Czułem że tak będzie. A sam chciałem sobie ustrzelić 1szt. MF286D.
No tak całkiem hobbystycznie, to niekoniecznie. Muszę widzieć w tym jakąś korzyść dla siebie ;-)
Zaprzyjaźnione stowarzyszenie ma jakiegoś grata z linii MF286, przypomnę im się o niego.
A niech to szlag trafi. Trza będzie zwrócić i ostrożniej kupować.
Zawsze możesz wysłać mi, xD
Do "D" one wszystkie były na QCA9563 i pewnie sprzętowo są w miarę na jedno kopyto, modulo modem i flash layout. Ale nie znaczy to, że szczególiki typu mapowanie GPIO, itd, będą takie same. Bardzo dużą część roboty zajmuje rozpracowywanie istniejącego softu.
Co do rozpoznawania wersji, dopisałem w instrukcji, żeby sprawdzić czy flash layout się zgadza i uważać czy nie trafiło się na któryś nowszy "wariant". Myślę, że wystarczy.
Wychodzi na to, że sam mam szczęście, że trafiłem na tą a nie inną wersję. Najwyżej wtedy powstałby port na tą "inną wersję". :-P
Nie miałem nigdy takiej w łapach, ale z tego co pisał przedmówca, to tak.
@Cezary możesz wciągnąć jeszcze jeden update - wyciąłem jednak generowanie tych pośrednich obrazów, bo krzaczyło się w trakcie. I uszczegółowiłem jeszcze instrukcję. Także ten, zdejmuję ten tag RFC z PRa. Możesz śmiało kleić z tego buildy, więcej zmian nie planuję.
Czy ktoś z Was na MF286D próbował wrąbać się na modem przez ADB? Jest stockowym sofcie - wszedłem na root shella modemu, ale nie wyciągałem tamtędy zbyt wiele rzeczy, póki co. Jestem ciekaw, czy na OpenWrt pójdzie od strzału i wykryje właściwe endpointy USB.
Dobra. Napiszę po prostu w instrukcji by dokładnie sprawdzić czy to nie jest któryś inny wariant i tyle. Wszystkiego nie jestem w stanie przewidzieć.
I chyba wywalę te dodatkowe obrazy pośrednie, bo dla kogoś wprawnego wygenerowanie ich z initramfsa to 5 sekund dwiema komendami dd. A wolałbym, żeby niewprawni ludzie nie brali się sami za instalację na tym sprzęcie, bo za dużo można spieprzyć. No i bez przeorania buildsystemu nie jestem w stanie ich sensownie zbudować _obok_ initramfsa.
Jeszcze jakieś sugestie odnośnie instrukcji?
Tak z dnia na dzień?
Sam dump flasha daje mi niewiele. Chodziło mi o cechy po których użytkownik może poznać, że nie ma do czynienia ze "zwykłym" MF286.
@Leo
Linki do fotki płyty dałem w tym wątku chwile wcześniej.https://iv.pl/image/img-20220130-213233-1.GIDg874
https://iv.pl/image/img-20220130-213247-1.GIDgBbYLink do dumpów poszedł mailem do ciebie
Tak jak pisałem, wszystko jest pod ekranami - musisz je pozdejmować, by te zdjęcia były użyteczne. Spokojnie, da się założyć je z powrotem. Płytka wygląda inaczej niż moja - ekrany są tylko nad głównym SoC, switchem i radiem 5GHz. Flashe, np, są odkryte.
Zobacz, czy da się zdowngrade'ować przez TFTP. To jest loco M5 XM czy XW? Do nowszych płytek XW, które technicznie są lepsze, był potrzebny exploit do instalacji.
A zrzuć mi zwykłym catem, jeżeli jeszcze tego nie zrobiłeś obrazy partycji MTD, wszystkich po kolei. W wolnej chwili zobaczę co się da zrobić, ale wygląda na to, że to zupełnie inny soft i oznaczenie na tabliczce znamionowej jest do bani.
Jeżeli masz fotki PCB, to też się przydadzą, czym dokładniejsze, tym lepiej. Jeżeli możesz, to pozdejmuj tymczasowo ekrany znad układów.
W tak zwanym międzyczasie, przetestowałem trzecią metodę instalacji, via fabryczne recovery TFTP, zwiększyłem rozmiar kernela do 4MB. Jeszcze jeden build, sprawdzenie i wystawiam PR.
@Królik MF286D niestety będę mógł mieć dopiero po 10-tym lutym, więc dopiero wtedy dam radę cokolwiek sam sprawdzić.
Edit: No i poszło: https://github.com/openwrt/openwrt/pull/5019
@Cezary możesz zcherry-pickować stamtąd wsparcie do testów w swoich buildach 21.02. Raczej powinno się nałożyć, modulo ten patch na kernel 5.10. Będę z resztą za niego bardzo wdzięczny, bo cherry-pickuję sobie Twoje patche do swoich obrazów ;-)
Tested-by i Reviewed-by mile widziane ;-)
eko.one.pl → Posty przez Leo-PL
Forum oparte o PunBB, wspierane przez Informer Technologies, Inc