Wgrywanie firmware do routera przez LAN z PuTTY

Pytanie

Jak wgrać firmware do routera po LAN przez putty

Odpowiedź Sztucznej Inteligencji


Bezpośrednia odpowiedź na pytanie

  • PuTTY nie „wgrywa” plików – jest terminalem (SSH/Telnet/Serial). Firmware wgrywa się poleceniem w CLI routera, a sam plik dostarcza przez SCP/SFTP (np. WinSCP/pscp), TFTP lub HTTP (wget/curl).
  • Najprostszy, bezpieczny schemat po LAN: skopiuj plik firmware do /tmp na routerze (RAM), a następnie uruchom odpowiednią komendę aktualizacji (np. sysupgrade lub mtd).
  • Jeśli system się nie uruchamia: użyj konsoli bootloadera (U‑Boot/CFE) przez PuTTY i załaduj obraz przez TFTP.

Kluczowe punkty:

  • Kabel Ethernet, stałe IP na PC, właściwy obraz dla dokładnego modelu i rewizji HW.
  • Transfer pliku: WinSCP/SCP lub lokalny HTTP/TFTP.
  • Flashowanie: sysupgrade (OpenWrt) lub mtd/fwupdate/inne komendy producenta.
  • Nie przerywać zasilania; nie wykonywać aktualizacji po Wi‑Fi.

Szczegółowa analiza problemu

  • Scenariusz A – router działa, masz SSH po LAN (najczęstszy: OpenWrt/Gargoyle/DD‑WRT, wiele urządzeń OEM z Linuksem):

    1. Przygotowanie PC:
      • Ustaw stałe IP na interfejsie LAN (np. 192.168.1.10/24).
      • Pobierz obraz firmware właściwy dla modelu i rewizji (uwaga: dla OpenWrt istnieją „factory” i „sysupgrade” – do CLI używaj pliku sysupgrade).
    2. Transfer pliku:
      • Windows/WinSCP: połącz się SCP/SFTP na IP routera, zaloguj (np. root). Skopiuj plik do /tmp, np. /tmp/fw.bin.
      • Windows/pscp (z pakietu PuTTY):
        pscp.exe C:\sciezka\firmware.bin root@192.168.1.1:/tmp/fw.bin
      • Linux/macOS (OpenSSH; w razie problemu z SFTP dodaj -O aby wymusić stary protokół scp):
        scp -O firmware.bin root@192.168.1.1:/tmp/fw.bin
    3. Flashowanie (PuTTY → SSH do routera):
      • Wejście do RAM:
        cd /tmp
      • Weryfikacja sumy (jeśli masz SHA256/MD5 obrazu):
        sha256sum fw.bin
      • OpenWrt/LEDE:
        sysupgrade -v /tmp/fw.bin # -n jeśli chcesz „czystą” instalację bez zachowania konfigu
      • Uniwersalnie (zaawansowane, gdy brak sysupgrade): zidentyfikuj partycję:
        cat /proc/mtd # znajdź nazwę, zwykle „firmware”/„linux”
        mtd -r write /tmp/fw.bin firmware # -r = reboot po zapisie
    4. Reboot nastąpi automatycznie; nie odłączaj zasilania.
  • Scenariusz B – router działa, ale nie chcesz/nie możesz użyć SCP:

    1. Na PC uruchom prosty HTTP w katalogu z obrazem:
      • Python 3: python -m http.server 8000
    2. W PuTTY (na routerze):
      cd /tmp
      wget http://192.168.1.10:8000/firmware.bin -O fw.bin
      sysupgrade -v fw.bin # albo mtd -r write fw.bin firmware
  • Scenariusz C – producentowe CLI z TFTP/FTP (częste w sprzęcie SMB, niektóre TP‑Link/Cisco/Ubiquiti):

    1. Na PC: uruchom TFTP serwer (np. Tftpd64), ustaw bazowy katalog, zezwól w firewallu na UDP/69; ustaw IP PC np. 192.168.0.2.
    2. W PuTTY (na routerze, po LAN/serial):
      • Przykład ogólny TFTP:
        tftp -g -r firmware.bin 192.168.0.2
        mtd -r write firmware.bin firmware
      • W urządzeniach z własnym CLI bywa „copy tftp flash”, „sys update” itp. Składnia zależna od producenta.
  • Scenariusz D – system nie startuje, tylko bootloader (U‑Boot/CFE) – odzysk przez TFTP:

    1. Połącz PuTTY w trybie Serial (UART 3.3 V, zwykle 115200 8N1; przejściówka USB‑TTL) lub czasem Telnet na IP bootloadera.
    2. U‑Boot (przykład, adresy i polecenia są urządzeniowo specyficzne!):
      setenv ipaddr 192.168.1.1
      setenv serverip 192.168.1.2 # IP PC z TFTP
      tftpboot 0x81000000 firmware.bin # załaduj do RAM

      zapis do flash – zależny od typu pamięci (NOR/NAND/eMMC):

      np. cp.b 0x81000000 0x9f020000 ${filesize} (NOR, PRZYKŁAD!)

      saveenv
      reset
      Uwaga: Prawidłowe adresy/partycje sprawdzisz przez „printenv”, „mtdparts”, „sf probe”, „nand info”. Nie używaj przykładowych adresów w ciemno.

    3. CFE (Broadcom; przykład):
      ifconfig eth0 -addr=192.168.1.1 -mask=255.255.255.0
      flash -noheader 192.168.1.2:firmware.trx flash0.os
      reset
    4. Alternatywnie wiele urządzeń ma tryb „recovery TFTP/HTTP” wywoływany przyciskiem RESET podczas włączania – po LED‑zie/komunikatach rozpoznasz, a PC musi odpowiadać TFTP/HTTP na żądany adres.
  • Rozpoznanie stanu po TTL ping:

    • TTL≈100 zwykle odpowiada bootloader (okno TFTP).
    • TTL≈64 to już Linux – aktualizacja z poziomu systemu.

Aktualne informacje i trendy

  • W nowszych wydaniach firmware opartych na Linuksie producenci coraz częściej zostawiają wyłącznie SSH (bez Telnetu) i wspierają aktualizację przez narzędzia systemowe (sysupgrade/fwupdate), rzadziej przez surowe mtd.
  • Coraz częściej obrazy mają podpisy/manifesty (weryfikacja sygnatury), co uniemożliwia wgranie nieautoryzowanego pliku z CLI bez odpowiednich opcji.
  • Wiele urządzeń ma wbudowany tryb awaryjny HTTP/TFTP bezpośrednio w bootloaderze, co upraszcza odzysk bez JTAG/UART.

Wspierające wyjaśnienia i detale

  • Dlaczego /tmp? To RAM – szybki i bezpieczny bufor. Nie zapisuj obrazu do trwałej części flash jako pliku (brak miejsca, ryzyko fragmentacji).
  • „factory” vs „sysupgrade” (OpenWrt):
    • factory: do wgrywania z oryginalnego GUI producenta,
    • sysupgrade: do aktualizacji z poziomu działającego OpenWrt (CLI/GUI).
  • W OpenSSH ≥9 klient scp domyślnie używa SFTP; część routerów ma tylko „stare” scp – użyj „scp -O …”.

Aspekty etyczne i prawne

  • Wgrywanie nieoficjalnego firmware może naruszać warunki gwarancji/EULA.
  • Urządzenia radiowe: dbaj o zgodność z przepisami (ERP/DFS/region). Zmiana firmware nie zwalnia z odpowiedzialności za zgodność emisji.
  • Dostęp przez UART wymaga otwarcia obudowy – to zwykle utrata gwarancji.

Praktyczne wskazówki

  • Użyj zasilania z UPS lub przynajmniej stabilnego zasilacza.
  • Wstaw mały switch między PC a router – karta sieciowa PC nie zgubi linku przy resetach, co ułatwia TFTP/recovery.
  • Na czas aktualizacji wyłącz firewall na PC dla TFTP/HTTP i wybierz poprawny interfejs w serwerze TFTP.
  • Sprawdź sumy kontrolne (SHA256) obrazu przed flashowaniem.
  • Zrób kopię konfiguracji (jeśli to możliwe) i export MTD („dd if=/dev/mtdX of=/tmp/backup.bin”) w krytycznych przypadkach.

Ewentualne zastrzeżenia lub uwagi dodatkowe

  • Komendy bootloadera z adresami pamięci są specyficzne dla modelu – przykłady mają charakter poglądowy.
  • Za mało RAMu: jeśli /tmp nie mieści obrazu, użyj nośnika USB (jeśli wspierany) lub trybu TFTP/HTTP bezpośrednio w bootloaderze.
  • Nie mieszaj obrazów dla różnych rewizji sprzętowych (np. v1 vs v2).

Sugestie dalszych badań

  • Sprawdź kartę urządzenia w dokumentacji producenta lub stronę swojego modelu w dokumentacji projektu (np. wiki urządzeń) – tam są właściwe obrazy i kroki dla konkretnego modelu.
  • Zapoznaj się z instrukcjami trybu „recovery” Twojego bootloadera (U‑Boot/CFE) i z mapą partycji MTD dla urządzenia.

Krótkie podsumowanie

  • Po LAN przez PuTTY wgrywasz firmware tak: przenieś obraz na router (SCP/SFTP/TFTP/HTTP), a następnie uruchom właściwą komendę aktualizacji (sysupgrade/mtd/fwupdate).
  • Gdy system nie startuje, użyj konsoli bootloadera i TFTP recovery.
  • Kluczowe są: właściwy obraz dla modelu/revizji, stabilne zasilanie i poprawna metoda transferu.

Chcesz, żebym rozpisał dokładne komendy pod Twój przypadek? Podaj:

  • dokładny model i rewizję sprzętową routera,
  • co jest teraz wgrane (OEM/OpenWrt/DD‑WRT) i czy system startuje,
  • czy masz dostęp przez SSH, czy tylko przez UART/tryb recovery.

Oceń odpowiedź:
Zastrzeżenie: Odpowiedzi udzielone przez sztuczną inteligencję (model językowy) mogą być niedokładne i wprowadzające w błąd. Elektroda nie ponosi odpowiedzialności za dokładność, rzetelność ani kompletność prezentowanych informacji. Wszystkie odpowiedzi powinny być zweryfikowane przez użytkownika.

Zadaj dodatkowe pytanie Sztucznej Inteligencji

Czekaj (2min)...