1

(889 odpowiedzi, napisanych Sprzęt / Hardware)

I wish I remembered...
I lost some of my shell history on the machine I played with it, but I it was probably done using qwdirect,
something similar to this:
qwdirect -p <port> -k 12 -b <erase_block_number> -c <erase_block_count>

Haven't tested though. You can pipe output of qwdirect -h to a translator to get the help text in english instead of russian.

2

(3,741 odpowiedzi, napisanych Sprzęt / Hardware)

FXS ports are handled in the modem entirely. Stock firmware had no options to configure that IIRC - if it's configurable somewhere, it's in the modem. You can tinker with it via adb.

3

(889 odpowiedzi, napisanych Sprzęt / Hardware)

Gdyby zgłaszał się taki z USB ID 11d2:0076, to tak. W przeciwnym wypadku jest coś grubszego. Mój modem na USB nie zgłasza się w ogóle, jeżeli go nie kopnę tym czy innym sposobem podczas startu, czy to do trybu Firehose czy EDL. Po kompletnym przejechaniu flasha via QPST SB3.0.

4

(889 odpowiedzi, napisanych Sprzęt / Hardware)

Tam jest pokazane tylko kasowanie niektórych partycji NAND do zera, to przy okazji wytnie informacje o potencjalnych bad-blockach. Chyba trzeba będzie przejechać go qtoolsem, jak stronę wcześniej.

5

(889 odpowiedzi, napisanych Sprzęt / Hardware)

Wykonałem kolejne podejście do swojego martwego modemu. Udało mi się wcześniej zaorać kernel, a teraz wprowadzić modem w tryb EDL pęsetą na zewnętrznych padach i odpalić flashowanie SB 3.0. Wrócił do pierwotnego stanu, gdy jakiekolwiek wyjście z seriala ginie w momencie przeskoczenia do Linuxa i dalej na USB nie zgłasza się nic. Więc obstawiam już uwalony sprzęt.

@smereka pamiętasz, czy poprawnie zabootowany modem wypluwał na serialu cokolwiek po próbie załadowania kernela?
Bootloader (lk) wypluwa mi to:

Android Bootloader - UART_DM Initialized!!!
[0] welcome to lk

[0] SCM call: 0x2000601 failed with :fffffffc
[0] Failed to initialize SCM
[10] platform_init()
[10] target_init()
[10] Waiting for the RPM to populate smd channel table
[10] smem ptable found: ver: 4 len: 17
[20] ERROR: No devinfo partition found
[20] Neither 'config' nor 'frp' partition found
[20] zte_power_on_ctrl no operation  
[30] ----fota cookie is [0xffffffff]----
[30] smem_power->efs_crash = 0x0
[30]  zte_crash_flag not  found
[40] Loading (boot) image (8941568): start
[870] Loading (boot) image (8941568): done
[870] Authenticating boot image (8941568): start
[950] Authenticating boot image: done return value = 1
[990] DTB Total entry: 170, DTB version: 3
[990] Using DTB entry 0x0000011b/00010001/0x00000008/0 for device 0x0000011b/00010001/0x00010008/0
[1000] cmdline: noinitrd  rw console=ttyHSL0,115200,n8 androidboot.hardware=qcom ehci-hcd.park=3 msm_rtb.filter=0x37 lpm_levels.sleep_disabled=1  earlycon=msm_hsl_uart,0x78b1000  androidboot.serialno=c1203dba androidboot.authorized_kernel=true androidboot.baseba[1020] Updating device tree: start
[1080] Updating device tree: done
[1090] Channel alloc freed
[1100] booting linux @ 0x80008000, ramdisk @ 0x80008000 (0), tags/device tree @ 0x82000000

I tu jakiekolwiek wyjście się urywa.

Ostatni pomysł, który przychodzi mi do łba, to modyfikacja obrazu kernela (aboot) by zmienić linię komend i zflashować go w ten sposób - próby bootowania kernela via fastboot spaliły na panewce.

6

(80 odpowiedzi, napisanych Sprzęt / Hardware)

Ja mam w swojej sieci dobre kilka tak przerobionych sztuk - jak dobrze liczę, to łącznie z siedem - ale nie wiem czy liczę się do statytyki, bo i tak buduję ze źródeł ;-)

7

(1,110 odpowiedzi, napisanych Sprzęt / Hardware)

Tak, coś w tym stylu, acz niekoniecznie musiałby to być U-boot. No i trzeba to ogarnąć na ipq40xx.

8

(1,110 odpowiedzi, napisanych Sprzęt / Hardware)

Na R6220 można sobie na to pozwolić, ponieważ kernel jest osobną partycją. Na MF286D i MF289F - nie. Jest wolumenem UBI, którego lokację i rozmiar zna też U-boot i jest zapisana w nim na stałe.
Być może dałoby się załatwić to loaderem i podłożoną partycją UBI zawierającą tylko jego, a ładującą kernel z docelowej zwiększonej, ale jest przy tym sporo dłubania. Nie wiem, czy coś takiego zostało już użyte w praktyce w OpenWrt.

9

(1,110 odpowiedzi, napisanych Sprzęt / Hardware)

Trzeba byłoby się nakombinować. Tutaj kernel jest ładowan z wewnątrz wolumenu UBI, który już oryginalnie na flashu był i nie można zmienić jego lokalizacji, w odróżnieniu od poprzednich wersji na MIPS, gdzie kernel był na surowej partycji.

10

(52 odpowiedzi, napisanych Sprzęt / Hardware)

i każdy D ma niebieski korpus zamiast szarego. Zwracaj na to uwagę, bo ludzie często mylą się w opisach.

11

(52 odpowiedzi, napisanych Sprzęt / Hardware)

Nie wygląda, by brakowało. Na RX masz tylko pulldown, na TX pulldown plus rezystor szeregowy, wszystko się zgadza. Dziwne. Masz pod ręką jakiś inny USB-UART? Może poziomy napięć nie te?

12

(52 odpowiedzi, napisanych Sprzęt / Hardware)

palibrzuch napisał/a:
Cezary napisał/a:

Weź go odepnij, złącz tx i rx konwertera i zobacz czy widzisz to co wpisujesz w putty.

Działa bez problemu.
Zabrałem go do pracy i tu też nie mogę zatrzymać. Po załączeniu tx z rx bez problemu wpisuje w putty i wszystko widać.

Leo-PL napisał/a:

Wtedy dałoby się wejść w konsolę już po załadowaniu Linuxa. A przynajmniej byłaby jakakolwiek reakcja.

Nawet jak się uruchomi do końca to nic nie da się wpisać.


edit: to teraz z której metody skorzystać aby wgrać openwrt?

Sprawdź czy na RX nie masz przypadkiem zwarcia do masy na urządzeniu, albo czy nie brakuje ci rezystorka między padem a ścieżką do CPU. Może uszkodziłeś lutując złącze.

13

(52 odpowiedzi, napisanych Sprzęt / Hardware)

Wtedy dałoby się wejść w konsolę już po załadowaniu Linuxa. A przynajmniej byłaby jakakolwiek reakcja.

Ah, fakt. Dobra, to najłatwiej chyba będzie odpalić initramfs i z niego zainstalować system raz jeszcze przez sysupgrade

setenv ethact eth1
setenv serverip 192.168.1.20 #zmień na pasujący do swojej sieci
setenv serverip 192.168.1.1 #zmień na pasujący do swojej sieci
tftpboot 80600000 openwrt-22.03.6-ath79-tiny-ubnt_nanostation-m-initramfs-kernel.bin
bootm 80600000

w 23.05 nie ma już budowanych obrazów dla płytek XM, przez mały rozmiar RAMu. Po princie z u-boota zgaduję, że to XM - ale jeżeli jednak XW, to wybierz obrazy do XW.

a jak przestawisz ethact na eth1, a następnie odpalisz urescue, albo tftpboot?

setenv ethact eth1

16

(860 odpowiedzi, napisanych Oprogramowanie / Software)

No i wystawiłem: https://github.com/openwrt/openwrt/pull/14361

17

(860 odpowiedzi, napisanych Oprogramowanie / Software)

Plus jeszcze poprawa buga odnośnie zapisu ustawień na flashu w gratach Ubiquiti XW i WA :-P
...wróć, to nie zostało zbackportowane, a powinno.
https://github.com/openwrt/openwrt/pull/14237
Wieczorem spróbuję wystawić PR z backportem, to powinien być prosty cherry-pick.

Tak, da się, możesz spróbować załadować przez protokół Xmodem lub Zmodem jeżeli U-boot to ogarnia (komenda loady/loadz), jeżeli ma komendę "mw" można próbować tym skryptem: https://github.com/HorstBaerbel/ubootwrite. Przy okazji zabaw z MR33 ktoś sportował to na Pythona 3.

19

(40 odpowiedzi, napisanych Sprzęt / Hardware)

Loadery do MDM9230 były w samych paczkach fabrycznego FW do MF286(A) - ale edl ani qtools nie chciały mi z nimi zagadać. Jak dobrze pójdzie, to wieczorem spróbuję gdzieś to wrzucić, wydobyłem trochę różnych.

20

(7 odpowiedzi, napisanych Oprogramowanie / Software)

Cezary napisał/a:

Kiedyś istniał dynamiczne wykrywanie pamięci flash, więc można było prawie dowolnie bawić się wielością. Teraz po zmianie sposobu opisu urządzenia (tzw. DTS) podział jest na sztywno, wiec bez jego zmiany i ponownego rekompilowania systemu nie będzie widział większej kości pamięci.

To dynamiczne wykrywanie da się zrobić z device tree, ale upstream (Linux) na to psioczy: https://github.com/openwrt/openwrt/pull/12174

21

(860 odpowiedzi, napisanych Oprogramowanie / Software)

Z tego co wiem, to nie buduje się jedna zależność z GCC 12 (libcompress, czy coś - nie pamiętam dokładnie), byłoby spoko to zgłosić na githubie. Jak znajdę chwilę, to może to zrobię.

22

(889 odpowiedzi, napisanych Sprzęt / Hardware)

I think I'll take another attempt at that pesky 286D modem I have laying around, which doesn't want to boot. Good thing is that I have in fastboot mode now, which means I can boot the kernel images over USB. After learning how to repack Android kernel images, I can probably force it to output some more debug information over the console, by manipulating the kernel command line and see its woes.

23

(585 odpowiedzi, napisanych Sprzęt / Hardware)

boczkizz napisał/a:
Cezary napisał/a:

Których? Bo nie wszystkie da sie wyłączyć, np. te od sygnały są sterowane przez modem. adb musisz użyć, dostać się do modemu i przez niego się bawić z diodami.

W sensie nie działa ten tryb nocny

Bo modem tego nie zapamiętuje. Z tego co udało mi się wygrzebać, to na stocku router każdorazowo przy odpaleniu konfiguruje to przez ADB. I na OpenWrt musiałbyś sobie to analogicznie zautomatyzować.

24

(860 odpowiedzi, napisanych Oprogramowanie / Software)

Przyczyna problemów z MR33 znaleziona i potwierdzona:
https://github.com/openwrt/openwrt/pull … 1677155103
Jakoś niedługo oficjalne obrazy wrócą.

25

(512 odpowiedzi, napisanych Sprzęt / Hardware)

Małe ogłoszenie parafialne odnośnie pierwszej instalacji na stockowym firmware, podczas której blokowany był zapis do flasha lub kasowanie.
Istnieje magiczna inkantacja, którą znalazł @andyboeh (na forum OpenWrt i na Githubie), która działa na MF286 i wyższych.

cat /proc/driver/sensor_id

Odczytanie czegokolwiek z tego (pustego) pliku powoduje odblokowanie zapisów do flasha i możliwość manipulacji partycjami kernel i rootfs.
Za chwilę podopisuję to na wiki.