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):
- 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).
- 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
- 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
- Reboot nastąpi automatycznie; nie odłączaj zasilania.
-
Scenariusz B – router działa, ale nie chcesz/nie możesz użyć SCP:
- Na PC uruchom prosty HTTP w katalogu z obrazem:
- Python 3: python -m http.server 8000
- 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):
- 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.
- 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:
- Połącz PuTTY w trybie Serial (UART 3.3 V, zwykle 115200 8N1; przejściówka USB‑TTL) lub czasem Telnet na IP bootloadera.
- 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 RAMzapis 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.
- 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
- 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.
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