blog.vyoralek.cz

Unifi AP – znovuzprovoznění zcihleného AP pomocí tftp – blikající oranžová dioda

Máme tady druhý článek, kdy se mi podařilo nefunkční zařízení oživit pomocí nafleshování nového firmware. Po tiskárně tedy dnes deska od AP UniFi Ubiquiti.

Symptom

Projev se drobně liší u novější generace „AC“ UniFi řady produktů Ubiquity. Zatímto u starší při inicializaci bliká oranžová dioda u novější generace bliká dioda bílou barvou.

Inicializace AP - starší generace - oranžová dioda bliká
Inicializace AP – starší generace – oranžová dioda bliká
Inicializace AP - novější generace - bílá dioda bliká
Inicializace AP – novější generace – bílá dioda bliká

Problém u jednoho z mých AP byl v tom, že AP v tomhle stavu inicializace zůstávalo, tj. inicializace se nedokončila a AP tak nefungoval.

Zjištění více detailů

Problém zaseknutí v procesu inicializace je v tom, že zařízení není přístupné na síti a tímpádem se na něj nemůžete připojit přes SSH.

Naneštěstí už mám poměrně hodně zkušeností se sériovou linkou z různých IoT zařízení a jakmile jsem AP rozebral a viděl 4 známé porty bylo jasné, že bych se mohl dozvědět více.

Na mé konkrétní desce pro Unifi AP Long Range jsou porty sériové linky v pravé části – popis zhora:

  1. 3.3V
  2. SIN – RX
  3. SOUT – TX
  4. GND
Unifi AP Long Range deska s piny pro sériovou linku
Unifi AP Long Range deska s piny pro sériovou linku

Sériová linka do AP

Pro účely propojení s počítačem budeme potřebovat už z mnoha předchozích článků znamý USB UART – pokud ho ještě nemáte tak já mohu doporučit Aluminum shell CP2102 USB 2.0 to TTL UART – za nějakých aktuálně ani ne $2 perfektní věc. Detaily ohledně ovladačů najdete v článku o nahrávání Sonoff-Tasmota firmware.

USB UART
USB UART

Na desce AP připojení všechny piny kromě 3.3V, tj. zapojíme GND, TX a RX. USB UART strčíme do počítače a spustíme klienta sériové linky.

Klient pro MacOS / Linux

MacOS i Linux obsahují konzolovou aplikací screen, která je nejrychlejší a nejjednodušším způsobem připojení.

Pomocí příkazu

ls /dev/tty.*

si nejprve najdeme název USB, kam máme zapojený UART. Při použití výše uvedeného by to mělo být něco jako /dev/tty.SLAB_USBtoUART.

A nyní už můžeme spustit screen

screen /dev/tty.SLAB_USBtoUART 115200 -L

Btw. ukončení aplikace screen je poněkud netradiční. Je potřeba zmáčknout kombinaci Ctrl+A+\ a měla by se objevit hláška:

Really quit and kill all your windows [y/n]

kterou jen potvrdíme.

Klient pro Windows

Ve Windows je hodně rozšířená a oblíbená aplikace Putty, která se umí připojit i na sériovou linku.

V Connection type vybereme Serial a do pole Serial line dáme COM port kde máme zapojení USB UART a Speed změníme na 115200.

Putty klient pro Windows
Putty klient pro Windows

Univerzální klient pro Mac/Linux/Windows

Pro ty kteří mají raději GUI a univerzální aplikace je zde například CoolTerm.

CoolTerm
CoolTerm

Výstup sériové linky

Po připojení jedním z klientů výše jsem v mém případě viděl následující obrazovku:

U-Boot unifi-v1.6.15.278-g4ebbbcff (Mar  5 2018 - 23:40:55)

DRAM:  64 MB
Base:0x80000000, Top:0x84000000, Res logbuf:0xa3ffb000, log_magic:0xffffffff kseg: 0xa0000000
Flash:  8 MB
PCIe WLAN Module found (tries: 1). 
Net:   eth0, eth1
Board: Copyright Ubiquiti Networks Inc. 2014
Hit any key to stop autoboot:  1 ... 0 
Board: Ubiquiti Networks AR7241 board (e512-6.0101.002e)
 0. Name = u-boot, offset = 0, start_addr=9f000000, size=262144,start_sector=0, end_sector=3 
 1. Name = u-boot-env, offset = 40000, start_addr=9f040000, size=65536,start_sector=4, end_sector=4 
 2. Name = kernel, offset = 50000, start_addr=9f050000, size=1048576,start_sector=5, end_sector=20 
 3. Name = rootfs, offset = 150000, start_addr=9f150000, size=6684672,start_sector=21, end_sector=122 
 4. Name = cfg, offset = 7b0000, start_addr=9f7b0000, size=262144,start_sector=123, end_sector=126 
 5. Name = EEPROM, offset = 7f0000, start_addr=9f7f0000, size=65536,start_sector=127, end_sector=127 
UBNT application initialized 
## Booting image at 9f050000 ...
   Image Name:   MIPS Ubiquiti Linux-2.6.32.33
   Created:      2018-09-14   6:22:36 UTC
   Image Type:   MIPS Linux Kernel Image (lzma compressed)
   Data Size:    924962 Bytes = 903.3 kB
   Load Address: 80002000
   Entry Point:  80002000
   Verifying Checksum at 0x9f050040 ...OK
   Uncompressing Kernel Image ... OK

Starting kernel ...

Booting...

Tenhle výstup nám dává spousty užitečných informací:

  1. vidíme datum kompilace aktuální verze firmware – 2018-09-14
  2. přesný název desky: Ubiquiti Networks AR7241 board – firmware obsahující tento název potřebujeme
  3. poslední krok – v našem případě Booting…

Přepnutí AP do režimu nahrávání firmware

Vedle Ethernet portu má každé AP tlačítko reset. To normálně pouze restartuje AP, ale pokud ho podržíte dostatečně dlouho (cca. 18 sec) začne dioda střídavě blikat zelenou a oranžovou a zařízení je pak přepnuto do režimu nahrávání přes TFTP.

Režim TFTP starší generace AP
Režim TFTP starší generace AP
Režim TFTP novější generace AP
Režim TFTP novější generace AP

V TFTP režimu AP nepoužívá DHCP, ale je vždy nastaveno na IP adresu 192.168.1.20.

Propojení a nastavení PC

Ethernet port LAN zapojíme přímo do síťové karty počítače. Port POE ponecháme zapojený do AP.

Propojení počítače a AP přes POE adaptér
Propojení počítače a AP přes POE adaptér

V počítači je pak potřeba nastavit manuální IP adresu z rozsahu sítě 192.168.1.0/24, tj. například 192.168.1.10.

Manuální nastavení IP adresy
Manuální nastavení IP adresy

Stažení a nahrání firmware

Na webu Ubiquity je potřeba si najít správný firmware. Pro UniFi AP vidíme dvě možnosti, ale po rozklinutí první vidíme, že je to ta správná, jelikož v názvu souboru je čip desky – AR7240, který jsme si již zjistili výše pomocí sériové linky.

Správný firmware pro UniFi AP-LR
Správný firmware pro UniFi AP-LR

Soubor si stáhneme na disk a spustíme klienta tftp, který nahraje firmware do AP.

➜  Downloads tftp -e 192.168.1.20
tftp> binary
tftp> put BZ.ar720.v4.0.10.9653.181205.1311.bin
Sent 7966439 bytes in 4.2 seconds

Zároveň pokud jsme ještě připojení k sériové lince můžeme sledovat co se děje na AP. Pokud jde všechno správně měli bychom vidět následující:

Firmware Version: ar720.v4.0.10.9653.181205.1311
Will not overwrite u-boot partition! Skipped.
Copying partition 'kernel' to flash memory:

First 0x5 last 0x14 sector size 0x10000
................ done
write addr: 9f050000
Copying partition 'rootfs' to flash memory:

First 0x15 last 0x7a sector size 0x10000
...................................................................................................... done
write addr: 9f150000

Firmware update complete.
Resetting...

Přepojení, restart a adoptace

Ethernet kabely přepojíme tak jak mají být klasicky, tj. LAN do switche a počítač si připojíme také zpět do sítě.

AP restartujeme a po chvíli bychom měli vidět první změnu – dioda přestane blikat a jen svítí oranžově, resp. bílou.

Připraveno k adoptaci - starší generace AP
Připraveno k adoptaci – starší generace AP
Připraveno k adoptaci - novější generace AP
Připraveno k adoptaci – novější generace AP

Přes UniFi controller AP adaptujeme a můžeme si užívat návratu AP.

Adoptované AP v UniFi controlleru
Adoptované AP v UniFi controlleru
AP je zpět zelené :)
AP je zpět zelené 🙂

Pokud ještě Ubiquiti produkty nepoužíváte a nebo by se vám hodil další přírustek pak si můžete vybrat z velkého výběru např. na Alze. Já už jsem mnoho let spokojený uživatel 🙂

2 comments

Tato stránka používá Akismet k omezení spamu. Podívejte se, jak vaše data z komentářů zpracováváme..

  • S produkty ubnt pracuji denně, a tftp je nutnost – je to vcelku častá věc.

  • Mám dotaz, UAP-LR začne startovat, několikrát bliká oražově a potom trvale se rozbliká rychle oranžově. FW jsem přes TFTP zkoušel přehrát, výpis přes sér.port probíhá bez zjevných anomálií, IP 192.168.1.20 je pingovatelná. Nenašel jsem kloudnou radu kde sehnat kompletní obraz SPI paměti, případně jak opravit. Díky