Flashing the Ubiquiti Unifi UAP v2

Hi all,

beginning this month, Ubiquiti has taken a few older devices off their support.

While UAP v2 models are a bit older and don't have ac-capabilities, they are still very much usable and worked perfectly well for us until now.

Looking at the UAP's wiki page, I saw that there are builds and instructions on how to flash OpenWrt on the device, but also the notice that post-3.7 firmwares block custom binaries. We bought these devices in 2019, just months before the EOL announcement, so they already came with later firmware installed.

I managed to roll back the devices to version 3.7.37, but I wasn't able to find any older compatible firmware. Any older version or OpenWrt will just produce an Invalid version error, no matter which method is used: fwupdate.real, syswrapper.sh or a TFTP push.

I've noticed that the official builds are all named qca9342, while any older versions are only supplied as ar7240 and OpenWrt as ar71xx.

Considering this is correct and there is no "qca9342"-build that would be compatible, I'm looking at possibilities to flash OpenWrt in other ways.

This comment suggests that it might be possbile to install OpenWrt by aborting a compatible firmware install and manually flashing the partitions when they are open. Unfortunately, the explanation is a bit brief in parts and I'm not sure about certain details (how to find out exactly where to split the binary and how to "flash the sysupgrade image" to the partitions). Also, I'm not entirely sure if this can be done either via SSH or TFTP.

Unfortunately, I don't have any experiences with serial JTAG-connections and none of the required hardware at all, but I do have an SPI programmer (ch341a) and a SOIC-8 clip, as well as some flashrom experience, if this is another possibility.

Could someone with experience in this help me try to successfully flash OpenWrt to these devices?

How would you go about this? I suppose I have the necessary tools and binaries available, but am unsure about the exact process.

I also understand that this is potentially risky and while I would like to preserve the hardware, damaging it would not be catastrophic (as we can't use them anymore anyway). Maybe this could also be an opportunity to "recycle" other units surely popping up on the used market lately.

Thank you!

I have a UAP-LR. I've found the easiest way to install OpenWrt to them is with serial control of the bootloader. TFTP an initramfs build to RAM at 0x81000000 and boot it from RAM. SCP a release sysupgrade build to that temporarily running OpenWrt and run sysupgrade for the permanent install.

These have an ath79 build. (ath79/generic/ubnt-unifi-initramfs-xxxx or sysupgrade-xxxx) The ar71xx builds on the wiki page are obsolete. Though it indeed has an AR7241 chip, the ath79 builds apply to those chips.

Erasing and writing flash directly as the wiki page suggests, is risky-- in case of a typo you can erase permanent factory data that is not readily replaced.

2 Likes

Hi mk24,

thank you for the hints!

You'd have to unpack that a little bit for me: So the basic idea is to externally place an OpenWrt image into the device's RAM and then force it to boot into that system to execute a regular system upgrade without the OEM restrictions?

I've found this guide searching for that method:
https://wiki.metamesh.org/index.php/Flash_WDR3600_and_bypass_TFTP_lock

Does this also apply to the UAP? Could I follow those instructions?

1 Like

Boot up with serial connected. When it says "autobooting in X seconds" hit any key to get to the u-boot prompt. Run printenv to find the default server IP. Configure your PC to be a TFTP server at that IP. Run tftp 0x81000000 <filename> to fetch the initramfs file. Run bootm 0x81000000 to boot OpenWrt. When the messages stop hit enter and you should have an OpenWrt prompt. OpenWrt's default IP address is 192.168.1.1. On the PC, use scp to push the sysupgrade to the router scp <filename> root@192.168.1.1:/tmp (Remember run that on the PC not the router, the CLI scp is built into any Linux as well as available on the Command Prompt of Windows 10). Back to the router run sysupgrade /tmp/<filename> Allow time to flash and it will reboot, this time it is installed in flash and ready to use.

3 Likes

Tagging @tmomas and @bobafetthotmail in case they have the time to update the wiki.

Yeah OpenWrt provides special images that are designed to be loaded to RAM and executed (and will run from RAM) so you can load them from bootloader and then use a normal sysupgrade to do the actual install to flash. As long as you can control the bootloader with serial console you can usually do this. This is the only way to install on some devices where nobody cracked the firmware checks of the stock firmware. They have "initramfs" in the name.

After you have done this please confirm if it is working so I can update the wiki (or you can update the wiki yourself, if you are not registered you can send me a PM with your email and chosen username so I can manually register you)

3 Likes

Thank you. I'll probably be fine after that. Again, I've just never used a serial connection to push something into RAM, so I wasn't sure about that procedure.

I'll make sure to keep you posted.

There's just one slight issue, I opened the case today and saw that there are no terminal pins on my circuit board whatsoever. I don't know if that's to be expected or not, but it seems I'll have to order some together with the serial adapter.

The onboard serial is really only for debuggging, so after the first batches the manufacturer can decide to not install the header anymore and save some cents per device. As long as the other components near it, the holes and the white silkscreen with the pinout is still there you can just solder the header yourself.

you can find serial console pinout from openwrt wiki page

1 Like

Are you able to determine this by looking at it?

Here's the current board:

Compared to the Wiki entry:

I can see some surface-mounted components, but the layout is definitely different and I can't make out any traces to the port.

You have a newer version with an AR9300 series chip. so the board is not the same. The 14 pin JTAG port was deleted in newer models.

The concept of the serial port is the same though. The traces and resistors appear to be in place, it is hard to see them.

What I usually do here is take a strip of 3 pins (SIN, SOUT, and GND, do not connect 3.3V) and plug them on to the wires from the converter then place the pins through the holes without soldering. Tilt them to the side and hold in place by wrapping the wires around the board so the pins stay in contact.

1 Like

Okay, so short update: I have the hardware now. Trying to solder on a set of pins didn't work out so well, I almost fried the board. For some reason, I couldn't get the solder to stick to the rings and just ended up with a huge blob of flux I had to scrape off. Maybe my tip is bad or something else happened, can't recommend that anyway.

At least I was still able to get connections to ground and the near components from the "holes" after, so I hope they still work, I'll try your method of stripping and wrapping the wires around next time.

I don't know when I'll get the chance to plug it up yet, so might just take a few more days in before I can test it.

Note that I don't know if you already did this or not so I'm not assuming anything, I'm just telling what I've seen in my experience.

If the board was too good at dissipating the heat from the iron, the temp on the board is too low and the solder will not want to stick. That board around that connector is a huge ground plane (it's a copper plate under the green color), so it is acting like a heatsink.

Using temperature-controlled soldering irons is usually best because the onboard microcontroller will react to this situation and push more power to the heater to compensate, while a conventional soldering iron does not react very fast and can either be too weak or burn the board depending on how the board is actually made (if it is a heatsink or not a heatsink).
You can get a temperature-controlled iron for cheap nowadays (with digital temp display), it's not as good as professional tools but it's still a big improvement over conventional ones.

Apart from that it could also be poor technique, it's better to run solder on board contacts (tin the contacts) before you actually solder the component on them.

I've also seen that adding flux separately, before you come in with the iron and solder helps a lot. Just because the solder wire you bought claims it contains its own flux it's not guaranteed that it will be enough for whatever level of oxydation you face.

I did use a temperature controlled soldering iron, albeit not with a digital meter, so I can't 100% verify how quick it reacts, but it has always worked well so far. I've also soldered quite a few components over the years, mostly capacitors, resistors, pots, those kinds of things. I'm not an expert by any means, but this was pretty bad.

Maybe it was heat dissipation or I have made a mistake, but I did try a couple of different angles on all pins and I just couldn't get it. I thought about soldering the holes first and then connecting the pins individually, but at that point, I didn't want to seriously damage anything, so I just stopped. I think the "damage" is only superficial so far.

If I can't get a stable connection otherwise, I might still try that. Or I'll just tape/glue the wires on, it doesn't matter that much anyway, no need to do it all that neatly.

Okay, so I did manage do get a stable connection by just wrapping the wires around without soldering.

Here's where I ran into a bit of an issue. So I loaded the binary onto the AP via TFTP, however when I try to boot it, this happens:

ar7240> bootm 0x81000000
## Booting image at 81000000 ...
   Image Name:   MIPS OpenWrt Linux-4.14.221
   Created:      2021-02-15  15:22:37 UTC
   Image Type:   MIPS Linux Kernel Image (lzma compressed)
   Data Size:    3822317 Bytes =  3.6 MB
   Load Address: 80060000
   Entry Point:  80060000
   Verifying Checksum at 0x81000040 ...OK
   Uncompressing Kernel Image ... OK

Starting kernel ...

[    0.000000] Linux version 4.14.221 (builder@buildhost) (gcc version 7.5.0 (OpenWrt GCC 7.5.0 r11306-c4a6851c72)) #0 Mon Feb 15 15:22:37 2021
[    0.000000] bootconsole [early0] enabled
[    0.000000] CPU0 revision is: 0001974c (MIPS 74Kc)
[    0.000000] MIPS: machine is Ubiquiti UniFi AP
[    0.000000] SoC: Atheros AR9342 rev 3
[    0.000000] Determined physical RAM map:
[    0.000000]  memory: 04000000 @ 00000000 (usable)
[    0.000000] Initrd not found or empty - disabling initrd
[    0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
[    0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000000000000-0x0000000003ffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x0000000003ffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000003ffffff]
[    0.000000] random: get_random_bytes called from 0x80501740 with crng_init=0
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 16256
[    0.000000] Kernel command line: console=ttyS0,115200 rootfstype=squashfs,jffs2
[    0.000000] PID hash table entries: 256 (order: -2, 1024 bytes)
[    0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
[    0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Writing ErrCtl register=00000000
[    0.000000] Readback ErrCtl register=00000000
[    0.000000] Memory: 51360K/65536K available (4037K kernel code, 163K rwdata, 532K rodata, 8188K init, 212K bss, 14176K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS: 51
[    0.000000] CPU clock: 185.032 MHz
[    0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 20658623107 ns
[    0.000032] sched_clock: 32 bits at 92MHz, resolution 10ns, wraps every 23211935738ns
[    0.025510] Calibrating delay loop... 92.05 BogoMIPS (lpj=460288)
[    0.125090] pid_max: default: 32768 minimum: 301
[    0.140661] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.162030] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.197539] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.229370] futex hash table entries: 256 (order: -1, 3072 bytes)
[    0.249328] pinctrl core: initialized pinctrl subsystem
[    0.273987] NET: Registered protocol family 16
[    0.297551] PCI host bridge /ahb/apb/pcie-controller@180c0000 ranges:
[    0.318543]  MEM 0x0000000010000000..0x0000000013ffffff
[    0.335424]   IO 0x0000000000000000..0x0000000000000000
[    0.452095] ar724x-pci 180c0000.pcie-controller: PCIe link is down
[    0.527651] PCI host bridge to bus 0000:00
[    0.541082] pci_bus 0000:00: root bus resource [mem 0x10000000-0x13ffffff]
[    0.563287] pci_bus 0000:00: root bus resource [io  0x0000]
[    0.581285] pci_bus 0000:00: root bus resource [??? 0x00000000 flags 0x0]
[    0.603201] pci_bus 0000:00: No busn resource found for root bus, will use [bus 00-ff]
[    0.638204] clocksource: Switched to clocksource MIPS
[    0.658137] NET: Registered protocol family 2
[    0.675306] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[    0.697973] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
[    0.718546] TCP: Hash tables configured (established 1024 bind 1024)
[    0.739507] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.758536] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.779639] NET: Registered protocol family 1
[    1.370169] Crashlog allocated RAM at address 0x3f00000
[    1.391989] workingset: timestamp_bits=30 max_order=14 bucket_order=0
[    1.429704] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    1.448657] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    1.720798] io scheduler noop registered
[    1.733606] io scheduler deadline registered (default)
[    1.752422] pinctrl-single 18040028.pinmux: 64 pins at pa b8040028 size 8
[    1.777634] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
[    1.806277] console [ttyS0] disabled
[    1.818106] 18020000.uart: ttyS0 at MMIO 0x18020000 (irq = 9, base_baud = 140000000) is a 16550A

If I haven't missed anything, this is just normal kernel behavior. However, my screen is disabled at the end. The serial receive LED still blinks for a few more seconds and then nothing happens.

The AP is still physically connected via ethernet, but I can't ping either 1.1 (OpenWrt) or 1.20 (Ubiquiti).

Any idea on how to deal with this? Did I make a mistake? Or do I still have to take the tftpboot/erase-route from the Wiki (if that's still accurate)?

The point where output stops is where the kernel serial driver takes over from the bootloader serial driver. That indicates the kernel does not have the proper serial driver.

This may be an issue with the different SoC (AR9342 vs AR7142) in the V2. The unit I have is AR7142 so I can't help much there.

Okay, that's unfortunate, thanks.

Any chance of maybe using another build or making one with the drivers? I saw that the Nanostation M5 one has the same chipset.

There's no risk in trying initramfs builds for different models. The RAM boot will not affect the flash.

You would potentially cause damage flashing when the partition map doesn't match though. I think the Nanostations are 8MB flash instead of 16.

Okay.

So I tried the Nanostation builds.

The regular model (ubnt_nanostation-m-xw-initramfs-kernel.bin) did retain the serial connection and booted successfully, I got an OpenWrt prompt, but no cable connection. Via serial, I checked the config and saw that there was no ethernet interface. I guess this is some kind of driver or config issue?

root@OpenWrt:/# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether 18:e8:29:8d:99:34 brd ff:ff:ff:ff:ff:ff
root@OpenWrt:/etc/config# dmesg | grep eth
[    0.984853] ag71xx 19000000.eth: Could not connect to PHY device. Deferring probe.
[    1.363362] ag71xx 19000000.eth: Could not connect to PHY device. Deferring probe.
[    1.823405] ag71xx 19000000.eth: Could not connect to PHY device. Deferring probe.
[    8.003400] ag71xx 19000000.eth: Could not connect to PHY device. Deferring probe.

Since I felt like I couldn't do anything else, I also downloaded the "Loco"-model build (ubnt_nanostation-loco-m-xw-initramfs-kernel.bin) as that was the other one with the same chipset and booted that one, which worked as well, this time even with ethernet, here's the boot log:

Starting kernel ...

[    0.000000] Linux version 4.14.221 (builder@buildhost) (gcc version 7.5.0 (OpenWrt GCC 7.5.0 r11306-c4a6851c72)) #0 Mon Feb 15 15:22:37 2021
[    0.000000] bootconsole [early0] enabled
[    0.000000] CPU0 revision is: 0001974c (MIPS 74Kc)
[    0.000000] MIPS: machine is Ubiquiti Nanostation Loco M (XW)
[    0.000000] SoC: Atheros AR9342 rev 3
[    0.000000] Determined physical RAM map:
[    0.000000]  memory: 04000000 @ 00000000 (usable)
[    0.000000] Initrd not found or empty - disabling initrd
[    0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
[    0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000000000000-0x0000000003ffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x0000000003ffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000003ffffff]
[    0.000000] random: get_random_bytes called from 0x80501740 with crng_init=0
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 16256
[    0.000000] Kernel command line: console=ttyS0,115200 rootfstype=squashfs,jffs2
[    0.000000] PID hash table entries: 256 (order: -2, 1024 bytes)
[    0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
[    0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Writing ErrCtl register=00000000
[    0.000000] Readback ErrCtl register=00000000
[    0.000000] Memory: 51356K/65536K available (4037K kernel code, 163K rwdata, 532K rodata, 8188K init, 212K bss, 14180K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS: 51
[    0.000000] CPU clock: 560.000 MHz
[    0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 6825930166 ns
[    0.000010] sched_clock: 32 bits at 280MHz, resolution 3ns, wraps every 7669584382ns
[    0.008342] Calibrating delay loop... 278.93 BogoMIPS (lpj=1394688)
[    0.084965] pid_max: default: 32768 minimum: 301
[    0.090093] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.097155] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.109093] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.119602] futex hash table entries: 256 (order: -1, 3072 bytes)
[    0.126177] pinctrl core: initialized pinctrl subsystem
[    0.134336] NET: Registered protocol family 16
[    0.162231] clocksource: Switched to clocksource MIPS
[    0.168750] NET: Registered protocol family 2
[    0.174408] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[    0.181835] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
[    0.188673] TCP: Hash tables configured (established 1024 bind 1024)
[    0.195602] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.201834] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.208818] NET: Registered protocol family 1
[    0.399296] Crashlog allocated RAM at address 0x3f00000
[    0.406441] workingset: timestamp_bits=30 max_order=14 bucket_order=0
[    0.418788] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.425050] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.514096] io scheduler noop registered
[    0.518276] io scheduler deadline registered (default)
[    0.526137] pinctrl-single 1804002c.pinmux: 544 pins at pa b804002c size 68
[    0.534657] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
[    0.544083] console [ttyS0] disabled
[    0.547939] 18020000.uart: ttyS0 at MMIO 0x18020000 (irq = 9, base_baud = 2500000) is a 16550A
[    0.557181] console [ttyS0] enabled
[    0.557181] console [ttyS0] enabled
[    0.564616] bootconsole [early0] disabled
[    0.564616] bootconsole [early0] disabled
[    0.583732] m25p80 spi0.0: mx25l6405d (8192 Kbytes)
[    0.588741] 5 fixed-partitions partitions found on MTD device spi0.0
[    0.595243] Creating 5 MTD partitions on "spi0.0":
[    0.600117] 0x000000000000-0x000000040000 : "u-boot"
[    0.606073] 0x000000040000-0x000000050000 : "u-boot-env"
[    0.612388] 0x000000050000-0x0000007b0000 : "firmware"
[    0.621159] 0x0000007b0000-0x0000007f0000 : "cfg"
[    0.626854] 0x0000007f0000-0x000000800000 : "EEPROM"
[    0.634013] libphy: Fixed MDIO Bus: probed
[    0.974112] libphy: ag71xx_mdio: probed
[    1.092447] ag71xx 19000000.eth: connected to PHY at mdio-bus.0:01 [uid=004dd023, driver=Atheros 8032 ethernet]
[    1.103420] eth0: Atheros AG71xx at 0xb9000000, irq 4, mode: mii
[    1.112093] NET: Registered protocol family 10
[    1.122088] Segment Routing with IPv6
[    1.125983] NET: Registered protocol family 17
[    1.130553] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[    1.143729] 8021q: 802.1Q VLAN Support v1.8
[    1.149828] hctosys: unable to open rtc device (rtc0)
[    1.202955] Freeing unused kernel memory: 8188K
[    1.207559] This architecture does not have kernel memory protection.
[    1.230401] init: Console is alive
[    1.234269] init: - watchdog -
[    1.260832] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[    1.270718] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    1.288879] init: - preinit -
[    1.626448] random: jshn: uninitialized urandom read (4 bytes read)
[    1.736501] random: jshn: uninitialized urandom read (4 bytes read)
[    1.838507] random: jshn: uninitialized urandom read (4 bytes read)
[    2.243515] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
Press the [f] key and hit [enter] to enter failsafe mode
Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level
[    4.202231] random: fast init done
[    5.424690] procd: - early -
[    5.427744] procd: - watchdog -
[    6.006258] procd: - watchdog -
[    6.009812] procd: - ubus -
[    6.020345] urandom_read: 5 callbacks suppressed
[    6.020354] random: ubusd: uninitialized urandom read (4 bytes read)
[    6.063496] random: ubusd: uninitialized urandom read (4 bytes read)
[    6.071479] procd: - init -
Please press Enter to activate this console.
[    6.604744] kmodloader: loading kernel modules from /etc/modules.d/*
[    6.627145] ip6_tables: (C) 2000-2006 Netfilter Core Team
[    6.650432] Loading modules backported from Linux version v4.19.161-0-gdaefdc9eb24b
[    6.658270] Backport generated by backports.git v4.19.161-1-0-g4bb568fe
[    6.684777] ip_tables: (C) 2000-2006 Netfilter Core Team
[    6.711062] nf_conntrack version 0.5.0 (1024 buckets, 4096 max)
[    6.837452] xt_time: kernel timezone is -0000
[    6.968112] PPP generic driver version 2.4.2
[    6.983186] NET: Registered protocol family 24
[    7.026394] urngd: v1.0.2 started.
[    7.080522] ieee80211 phy0: Atheros AR9340 Rev:3 mem=0xb8100000, irq=12
[    7.172717] kmodloader: done loading kernel modules from /etc/modules.d/*
[    7.397771] random: crng init done
[   56.291732] br-lan: port 1(eth0) entered blocking state
[   56.297135] br-lan: port 1(eth0) entered disabled state
[   56.302808] device eth0 entered promiscuous mode
[   56.347884] br-lan: port 1(eth0) entered blocking state
[   56.353259] br-lan: port 1(eth0) entered forwarding state
[   56.358933] IPv6: ADDRCONF(NETDEV_UP): br-lan: link is not ready
[   57.292376] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready

I was then able to access the web interface and also retrieved the system log:

Wed Feb 17 13:42:20 2021 kern.notice kernel: [    0.000000] Linux version 4.14.221 (builder@buildhost) (gcc version 7.5.0 (OpenWrt GCC 7.5.0 r11306-c4a6851c72)) #0 Mon Feb 15 15:22:37 2021
Wed Feb 17 13:42:20 2021 kern.info kernel: [    0.000000] bootconsole [early0] enabled
Wed Feb 17 13:42:20 2021 kern.info kernel: [    0.000000] CPU0 revision is: 0001974c (MIPS 74Kc)
Wed Feb 17 13:42:20 2021 kern.info kernel: [    0.000000] MIPS: machine is Ubiquiti Nanostation Loco M (XW)
Wed Feb 17 13:42:20 2021 kern.info kernel: [    0.000000] SoC: Atheros AR9342 rev 3
Wed Feb 17 13:42:20 2021 kern.info kernel: [    0.000000] Determined physical RAM map:
Wed Feb 17 13:42:20 2021 kern.info kernel: [    0.000000]  memory: 04000000 @ 00000000 (usable)
Wed Feb 17 13:42:20 2021 kern.info kernel: [    0.000000] Initrd not found or empty - disabling initrd
Wed Feb 17 13:42:20 2021 kern.warn kernel: [    0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
Wed Feb 17 13:42:20 2021 kern.warn kernel: [    0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes
Wed Feb 17 13:42:20 2021 kern.info kernel: [    0.000000] Zone ranges:
Wed Feb 17 13:42:20 2021 kern.info kernel: [    0.000000]   Normal   [mem 0x0000000000000000-0x0000000003ffffff]
Wed Feb 17 13:42:20 2021 kern.info kernel: [    0.000000] Movable zone start for each node
Wed Feb 17 13:42:20 2021 kern.info kernel: [    0.000000] Early memory node ranges
Wed Feb 17 13:42:20 2021 kern.info kernel: [    0.000000]   node   0: [mem 0x0000000000000000-0x0000000003ffffff]
Wed Feb 17 13:42:20 2021 kern.info kernel: [    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000003ffffff]
Wed Feb 17 13:42:20 2021 kern.debug kernel: [    0.000000] On node 0 totalpages: 16384
Wed Feb 17 13:42:20 2021 kern.debug kernel: [    0.000000] free_area_init_node: node 0, pgdat 804fdf80, node_mem_map 81007500
Wed Feb 17 13:42:20 2021 kern.debug kernel: [    0.000000]   Normal zone: 128 pages used for memmap
Wed Feb 17 13:42:20 2021 kern.debug kernel: [    0.000000]   Normal zone: 0 pages reserved
Wed Feb 17 13:42:20 2021 kern.debug kernel: [    0.000000]   Normal zone: 16384 pages, LIFO batch:3
Wed Feb 17 13:42:20 2021 kern.notice kernel: [    0.000000] random: get_random_bytes called from 0x80501740 with crng_init=0
Wed Feb 17 13:42:20 2021 kern.debug kernel: [    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
Wed Feb 17 13:42:20 2021 kern.debug kernel: [    0.000000] pcpu-alloc: [0] 0
Wed Feb 17 13:42:20 2021 kern.info kernel: [    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 16256
Wed Feb 17 13:42:20 2021 kern.notice kernel: [    0.000000] Kernel command line: console=ttyS0,115200 rootfstype=squashfs,jffs2
Wed Feb 17 13:42:20 2021 kern.info kernel: [    0.000000] PID hash table entries: 256 (order: -2, 1024 bytes)
Wed Feb 17 13:42:20 2021 kern.info kernel: [    0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Wed Feb 17 13:42:20 2021 kern.info kernel: [    0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Wed Feb 17 13:42:20 2021 kern.info kernel: [    0.000000] Writing ErrCtl register=00000000
Wed Feb 17 13:42:20 2021 kern.info kernel: [    0.000000] Readback ErrCtl register=00000000
Wed Feb 17 13:42:20 2021 kern.info kernel: [    0.000000] Memory: 51356K/65536K available (4037K kernel code, 163K rwdata, 532K rodata, 8188K init, 212K bss, 14180K reserved, 0K cma-reserved)
Wed Feb 17 13:42:20 2021 kern.info kernel: [    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Wed Feb 17 13:42:20 2021 kern.info kernel: [    0.000000] NR_IRQS: 51
Wed Feb 17 13:42:20 2021 kern.info kernel: [    0.000000] CPU clock: 560.000 MHz
Wed Feb 17 13:42:20 2021 kern.info kernel: [    0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 6825930166 ns
Wed Feb 17 13:42:20 2021 kern.info kernel: [    0.000010] sched_clock: 32 bits at 280MHz, resolution 3ns, wraps every 7669584382ns
Wed Feb 17 13:42:20 2021 kern.info kernel: [    0.008342] Calibrating delay loop... 278.93 BogoMIPS (lpj=1394688)
Wed Feb 17 13:42:20 2021 kern.info kernel: [    0.084965] pid_max: default: 32768 minimum: 301
Wed Feb 17 13:42:20 2021 kern.info kernel: [    0.090093] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
Wed Feb 17 13:42:20 2021 kern.info kernel: [    0.097155] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
Wed Feb 17 13:42:20 2021 kern.info kernel: [    0.109093] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
Wed Feb 17 13:42:20 2021 kern.info kernel: [    0.119602] futex hash table entries: 256 (order: -1, 3072 bytes)
Wed Feb 17 13:42:20 2021 kern.info kernel: [    0.126177] pinctrl core: initialized pinctrl subsystem
Wed Feb 17 13:42:20 2021 kern.info kernel: [    0.134336] NET: Registered protocol family 16
Wed Feb 17 13:42:20 2021 kern.info kernel: [    0.162231] clocksource: Switched to clocksource MIPS
Wed Feb 17 13:42:20 2021 kern.info kernel: [    0.168750] NET: Registered protocol family 2
Wed Feb 17 13:42:20 2021 kern.info kernel: [    0.174408] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
Wed Feb 17 13:42:20 2021 kern.info kernel: [    0.181835] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
Wed Feb 17 13:42:20 2021 kern.info kernel: [    0.188673] TCP: Hash tables configured (established 1024 bind 1024)
Wed Feb 17 13:42:20 2021 kern.info kernel: [    0.195602] UDP hash table entries: 256 (order: 0, 4096 bytes)
Wed Feb 17 13:42:20 2021 kern.info kernel: [    0.201834] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
Wed Feb 17 13:42:20 2021 kern.info kernel: [    0.208818] NET: Registered protocol family 1
Wed Feb 17 13:42:20 2021 kern.debug kernel: [    0.213534] PCI: CLS 0 bytes, default 32
Wed Feb 17 13:42:20 2021 kern.warn kernel: [    0.399296] Crashlog allocated RAM at address 0x3f00000
Wed Feb 17 13:42:20 2021 kern.info kernel: [    0.406441] workingset: timestamp_bits=30 max_order=14 bucket_order=0
Wed Feb 17 13:42:20 2021 kern.info kernel: [    0.418788] squashfs: version 4.0 (2009/01/31) Phillip Lougher
Wed Feb 17 13:42:20 2021 kern.info kernel: [    0.425050] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
Wed Feb 17 13:42:20 2021 kern.info kernel: [    0.514096] io scheduler noop registered
Wed Feb 17 13:42:20 2021 kern.info kernel: [    0.518276] io scheduler deadline registered (default)
Wed Feb 17 13:42:20 2021 kern.info kernel: [    0.526137] pinctrl-single 1804002c.pinmux: 544 pins at pa b804002c size 68
Wed Feb 17 13:42:20 2021 kern.info kernel: [    0.534657] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
Wed Feb 17 13:42:20 2021 kern.info kernel: [    0.544083] console [ttyS0] disabled
Wed Feb 17 13:42:20 2021 kern.info kernel: [    0.547939] 18020000.uart: ttyS0 at MMIO 0x18020000 (irq = 9, base_baud = 2500000) is a 16550A
Wed Feb 17 13:42:20 2021 kern.info kernel: [    0.557181] console [ttyS0] enabled
Wed Feb 17 13:42:20 2021 kern.info kernel: [    0.564616] bootconsole [early0] disabled
Wed Feb 17 13:42:20 2021 kern.info kernel: [    0.583732] m25p80 spi0.0: mx25l6405d (8192 Kbytes)
Wed Feb 17 13:42:20 2021 kern.notice kernel: [    0.588741] 5 fixed-partitions partitions found on MTD device spi0.0
Wed Feb 17 13:42:20 2021 kern.notice kernel: [    0.595243] Creating 5 MTD partitions on "spi0.0":
Wed Feb 17 13:42:20 2021 kern.notice kernel: [    0.600117] 0x000000000000-0x000000040000 : "u-boot"
Wed Feb 17 13:42:20 2021 kern.notice kernel: [    0.606073] 0x000000040000-0x000000050000 : "u-boot-env"
Wed Feb 17 13:42:20 2021 kern.notice kernel: [    0.612388] 0x000000050000-0x0000007b0000 : "firmware"
Wed Feb 17 13:42:20 2021 kern.notice kernel: [    0.621159] 0x0000007b0000-0x0000007f0000 : "cfg"
Wed Feb 17 13:42:20 2021 kern.notice kernel: [    0.626854] 0x0000007f0000-0x000000800000 : "EEPROM"
Wed Feb 17 13:42:20 2021 kern.info kernel: [    0.634013] libphy: Fixed MDIO Bus: probed
Wed Feb 17 13:42:20 2021 kern.info kernel: [    0.974112] libphy: ag71xx_mdio: probed
Wed Feb 17 13:42:20 2021 kern.info kernel: [    1.092447] ag71xx 19000000.eth: connected to PHY at mdio-bus.0:01 [uid=004dd023, driver=Atheros 8032 ethernet]
Wed Feb 17 13:42:20 2021 kern.info kernel: [    1.103420] eth0: Atheros AG71xx at 0xb9000000, irq 4, mode: mii
Wed Feb 17 13:42:20 2021 kern.info kernel: [    1.112093] NET: Registered protocol family 10
Wed Feb 17 13:42:20 2021 kern.info kernel: [    1.122088] Segment Routing with IPv6
Wed Feb 17 13:42:20 2021 kern.info kernel: [    1.125983] NET: Registered protocol family 17
Wed Feb 17 13:42:20 2021 kern.info kernel: [    1.130553] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
Wed Feb 17 13:42:20 2021 kern.info kernel: [    1.143729] 8021q: 802.1Q VLAN Support v1.8
Wed Feb 17 13:42:20 2021 kern.info kernel: [    1.149828] hctosys: unable to open rtc device (rtc0)
Wed Feb 17 13:42:20 2021 kern.info kernel: [    1.202955] Freeing unused kernel memory: 8188K
Wed Feb 17 13:42:20 2021 kern.warn kernel: [    1.207559] This architecture does not have kernel memory protection.
Wed Feb 17 13:42:20 2021 user.info kernel: [    1.230401] init: Console is alive
Wed Feb 17 13:42:20 2021 user.info kernel: [    1.234269] init: - watchdog -
Wed Feb 17 13:42:20 2021 user.info kernel: [    1.260832] kmodloader: loading kernel modules from /etc/modules-boot.d/*
Wed Feb 17 13:42:20 2021 user.info kernel: [    1.270718] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
Wed Feb 17 13:42:20 2021 user.info kernel: [    1.288879] init: - preinit -
Wed Feb 17 13:42:20 2021 kern.notice kernel: [    1.626448] random: jshn: uninitialized urandom read (4 bytes read)
Wed Feb 17 13:42:20 2021 kern.notice kernel: [    1.736501] random: jshn: uninitialized urandom read (4 bytes read)
Wed Feb 17 13:42:20 2021 kern.notice kernel: [    1.838507] random: jshn: uninitialized urandom read (4 bytes read)
Wed Feb 17 13:42:20 2021 kern.info kernel: [    2.243515] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
Wed Feb 17 13:42:20 2021 kern.notice kernel: [    4.202231] random: fast init done
Wed Feb 17 13:42:20 2021 user.info kernel: [    5.424690] procd: - early -
Wed Feb 17 13:42:20 2021 user.info kernel: [    5.427744] procd: - watchdog -
Wed Feb 17 13:42:20 2021 user.info kernel: [    6.006258] procd: - watchdog -
Wed Feb 17 13:42:20 2021 user.info kernel: [    6.009812] procd: - ubus -
Wed Feb 17 13:42:20 2021 kern.warn kernel: [    6.020345] urandom_read: 5 callbacks suppressed
Wed Feb 17 13:42:20 2021 kern.notice kernel: [    6.020354] random: ubusd: uninitialized urandom read (4 bytes read)
Wed Feb 17 13:42:20 2021 kern.notice kernel: [    6.063496] random: ubusd: uninitialized urandom read (4 bytes read)
Wed Feb 17 13:42:20 2021 user.info kernel: [    6.071479] procd: - init -
Wed Feb 17 13:42:20 2021 user.info kernel: [    6.604744] kmodloader: loading kernel modules from /etc/modules.d/*
Wed Feb 17 13:42:20 2021 kern.info kernel: [    6.627145] ip6_tables: (C) 2000-2006 Netfilter Core Team
Wed Feb 17 13:42:20 2021 kern.info kernel: [    6.650432] Loading modules backported from Linux version v4.19.161-0-gdaefdc9eb24b
Wed Feb 17 13:42:20 2021 kern.info kernel: [    6.658270] Backport generated by backports.git v4.19.161-1-0-g4bb568fe
Wed Feb 17 13:42:20 2021 kern.info kernel: [    6.684777] ip_tables: (C) 2000-2006 Netfilter Core Team
Wed Feb 17 13:42:20 2021 kern.info kernel: [    6.711062] nf_conntrack version 0.5.0 (1024 buckets, 4096 max)
Wed Feb 17 13:42:20 2021 kern.info kernel: [    6.837452] xt_time: kernel timezone is -0000
Wed Feb 17 13:42:20 2021 kern.info kernel: [    6.968112] PPP generic driver version 2.4.2
Wed Feb 17 13:42:20 2021 kern.info kernel: [    6.983186] NET: Registered protocol family 24
Wed Feb 17 13:42:20 2021 user.info kernel: [    7.026394] urngd: v1.0.2 started.
Wed Feb 17 13:42:20 2021 kern.debug kernel: [    7.063644] ath: EEPROM regdomain: 0x0
Wed Feb 17 13:42:20 2021 kern.debug kernel: [    7.063654] ath: EEPROM indicates default country code should be used
Wed Feb 17 13:42:20 2021 kern.debug kernel: [    7.063659] ath: doing EEPROM country->regdmn map search
Wed Feb 17 13:42:20 2021 kern.debug kernel: [    7.063676] ath: country maps to regdmn code: 0x3a
Wed Feb 17 13:42:20 2021 kern.debug kernel: [    7.063682] ath: Country alpha2 being used: US
Wed Feb 17 13:42:20 2021 kern.debug kernel: [    7.063687] ath: Regpair used: 0x3a
Wed Feb 17 13:42:20 2021 kern.debug kernel: [    7.078546] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'
Wed Feb 17 13:42:20 2021 kern.info kernel: [    7.080522] ieee80211 phy0: Atheros AR9340 Rev:3 mem=0xb8100000, irq=12
Wed Feb 17 13:42:20 2021 user.info kernel: [    7.172717] kmodloader: done loading kernel modules from /etc/modules.d/*
Wed Feb 17 13:42:20 2021 kern.notice kernel: [    7.397771] random: crng init done
Wed Feb 17 13:42:21 2021 user.notice dnsmasq: DNS rebinding protection is active, will discard upstream RFC1918 responses!
Wed Feb 17 13:42:21 2021 user.notice dnsmasq: Allowing 127.0.0.0/8 responses
Wed Feb 17 13:42:22 2021 daemon.info dnsmasq[923]: started, version 2.80 cachesize 150
Wed Feb 17 13:42:22 2021 daemon.info dnsmasq[923]: DNS service limited to local subnets
Wed Feb 17 13:42:22 2021 daemon.info dnsmasq[923]: compile time options: IPv6 GNU-getopt no-DBus no-i18n no-IDN DHCP no-DHCPv6 no-Lua TFTP no-conntrack no-ipset no-auth no-nettlehash no-DNSSEC no-ID loop-detect inotify dumpfile
Wed Feb 17 13:42:22 2021 daemon.info dnsmasq[923]: using local addresses only for domain test
Wed Feb 17 13:42:22 2021 daemon.info dnsmasq[923]: using local addresses only for domain onion
Wed Feb 17 13:42:22 2021 daemon.info dnsmasq[923]: using local addresses only for domain localhost
Wed Feb 17 13:42:22 2021 daemon.info dnsmasq[923]: using local addresses only for domain local
Wed Feb 17 13:42:22 2021 daemon.info dnsmasq[923]: using local addresses only for domain invalid
Wed Feb 17 13:42:22 2021 daemon.info dnsmasq[923]: using local addresses only for domain bind
Wed Feb 17 13:42:22 2021 daemon.info dnsmasq[923]: using local addresses only for domain lan
Wed Feb 17 13:42:22 2021 daemon.warn dnsmasq[923]: no servers found in /tmp/resolv.conf.auto, will retry
Wed Feb 17 13:42:22 2021 daemon.info dnsmasq[923]: read /etc/hosts - 4 addresses
Wed Feb 17 13:42:22 2021 daemon.info dnsmasq[923]: read /tmp/hosts/dhcp.cfg01411c - 0 addresses
Wed Feb 17 13:42:59 2021 authpriv.info dropbear[960]: Not backgrounding
Wed Feb 17 13:43:00 2021 user.notice : Added device handler type: 8021ad
Wed Feb 17 13:43:00 2021 user.notice : Added device handler type: 8021q
Wed Feb 17 13:43:00 2021 user.notice : Added device handler type: macvlan
Wed Feb 17 13:43:00 2021 user.notice : Added device handler type: veth
Wed Feb 17 13:43:00 2021 user.notice : Added device handler type: bridge
Wed Feb 17 13:43:00 2021 user.notice : Added device handler type: Network device
Wed Feb 17 13:43:00 2021 user.notice : Added device handler type: tunnel
Wed Feb 17 13:43:00 2021 daemon.notice procd: /etc/init.d/network: 'radio0' is disabled
Wed Feb 17 13:43:00 2021 daemon.notice procd: /etc/init.d/network: 'radio0' is disabled
Wed Feb 17 13:43:02 2021 user.notice ucitrack: Setting up /etc/config/network reload dependency on /etc/config/dhcp
Wed Feb 17 13:43:03 2021 user.notice ucitrack: Setting up /etc/config/network reload dependency on /etc/config/radvd
Wed Feb 17 13:43:03 2021 user.notice ucitrack: Setting up /etc/config/wireless reload dependency on /etc/config/network
Wed Feb 17 13:43:03 2021 user.notice ucitrack: Setting up /etc/config/firewall reload dependency on /etc/config/luci-splash
Wed Feb 17 13:43:03 2021 user.notice ucitrack: Setting up /etc/config/firewall reload dependency on /etc/config/qos
Wed Feb 17 13:43:03 2021 user.notice ucitrack: Setting up /etc/config/firewall reload dependency on /etc/config/miniupnpd
Wed Feb 17 13:43:03 2021 user.notice ucitrack: Setting up /etc/config/dhcp reload dependency on /etc/config/odhcpd
Wed Feb 17 13:43:04 2021 user.notice ucitrack: Setting up non-init /etc/config/fstab reload handler: /sbin/block mount
Wed Feb 17 13:43:04 2021 user.notice ucitrack: Setting up /etc/config/system reload trigger for non-procd /etc/init.d/led
Wed Feb 17 13:43:04 2021 user.notice ucitrack: Setting up /etc/config/system reload dependency on /etc/config/luci_statistics
Wed Feb 17 13:43:04 2021 user.notice ucitrack: Setting up /etc/config/system reload dependency on /etc/config/dhcp
Wed Feb 17 13:43:06 2021 kern.info kernel: [   56.286501] eth0: link up (100Mbps/Full duplex)
Wed Feb 17 13:43:06 2021 kern.info kernel: [   56.291732] br-lan: port 1(eth0) entered blocking state
Wed Feb 17 13:43:06 2021 kern.info kernel: [   56.297135] br-lan: port 1(eth0) entered disabled state
Wed Feb 17 13:43:06 2021 kern.info kernel: [   56.302808] device eth0 entered promiscuous mode
Wed Feb 17 13:43:06 2021 kern.info kernel: [   56.347884] br-lan: port 1(eth0) entered blocking state
Wed Feb 17 13:43:06 2021 kern.info kernel: [   56.353259] br-lan: port 1(eth0) entered forwarding state
Wed Feb 17 13:43:06 2021 kern.info kernel: [   56.358933] IPv6: ADDRCONF(NETDEV_UP): br-lan: link is not ready
Wed Feb 17 13:43:06 2021 daemon.notice netifd: Interface 'lan' is enabled
Wed Feb 17 13:43:06 2021 daemon.notice netifd: Interface 'lan' is setting up now
Wed Feb 17 13:43:06 2021 daemon.notice netifd: Interface 'lan' is now up
Wed Feb 17 13:43:06 2021 daemon.notice netifd: Interface 'loopback' is enabled
Wed Feb 17 13:43:06 2021 daemon.notice netifd: Interface 'loopback' is setting up now
Wed Feb 17 13:43:06 2021 daemon.notice netifd: Interface 'loopback' is now up
Wed Feb 17 13:43:06 2021 daemon.notice netifd: bridge 'br-lan' link is up
Wed Feb 17 13:43:06 2021 daemon.notice netifd: Interface 'lan' has link connectivity
Wed Feb 17 13:43:06 2021 daemon.notice netifd: Network device 'eth0' link is up
Wed Feb 17 13:43:06 2021 daemon.notice netifd: Network device 'lo' link is up
Wed Feb 17 13:43:06 2021 daemon.notice netifd: Interface 'loopback' has link connectivity
Wed Feb 17 13:43:06 2021 user.notice firewall: Reloading firewall due to ifup of lan (br-lan)
Wed Feb 17 13:43:07 2021 kern.info kernel: [   57.292376] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready
Wed Feb 17 13:43:07 2021 daemon.err odhcpd[1053]: Failed to send to ff02::1%lan@br-lan (Address not available)
Wed Feb 17 13:43:07 2021 daemon.info procd: - init complete -
Wed Feb 17 13:43:07 2021 daemon.info urandom_seed[1333]: Seed saved (/etc/urandom.seed)
Wed Feb 17 13:43:11 2021 daemon.info dnsmasq[923]: exiting on receipt of SIGTERM
Wed Feb 17 13:43:11 2021 daemon.info dnsmasq[1420]: started, version 2.80 cachesize 150
Wed Feb 17 13:43:11 2021 daemon.info dnsmasq[1420]: DNS service limited to local subnets
Wed Feb 17 13:43:11 2021 daemon.info dnsmasq[1420]: compile time options: IPv6 GNU-getopt no-DBus no-i18n no-IDN DHCP no-DHCPv6 no-Lua TFTP no-conntrack no-ipset no-auth no-nettlehash no-DNSSEC no-ID loop-detect inotify dumpfile
Wed Feb 17 13:43:11 2021 daemon.info dnsmasq-dhcp[1420]: DHCP, IP range 192.168.1.100 -- 192.168.1.249, lease time 12h
Wed Feb 17 13:43:11 2021 daemon.info dnsmasq[1420]: using local addresses only for domain test
Wed Feb 17 13:43:11 2021 daemon.info dnsmasq[1420]: using local addresses only for domain onion
Wed Feb 17 13:43:11 2021 daemon.info dnsmasq[1420]: using local addresses only for domain localhost
Wed Feb 17 13:43:11 2021 daemon.info dnsmasq[1420]: using local addresses only for domain local
Wed Feb 17 13:43:11 2021 daemon.info dnsmasq[1420]: using local addresses only for domain invalid
Wed Feb 17 13:43:11 2021 daemon.info dnsmasq[1420]: using local addresses only for domain bind
Wed Feb 17 13:43:11 2021 daemon.info dnsmasq[1420]: using local addresses only for domain lan
Wed Feb 17 13:43:11 2021 daemon.warn dnsmasq[1420]: no servers found in /tmp/resolv.conf.auto, will retry
Wed Feb 17 13:43:11 2021 daemon.info dnsmasq[1420]: read /etc/hosts - 4 addresses
Wed Feb 17 13:43:11 2021 daemon.info dnsmasq[1420]: read /tmp/hosts/dhcp.cfg01411c - 2 addresses
Wed Feb 17 13:43:11 2021 daemon.info dnsmasq-dhcp[1420]: read /etc/ethers - 0 addresses
Wed Feb 17 13:43:11 2021 daemon.info dnsmasq[1420]: read /etc/hosts - 4 addresses
Wed Feb 17 13:43:11 2021 daemon.info dnsmasq[1420]: read /tmp/hosts/dhcp.cfg01411c - 2 addresses
Wed Feb 17 13:43:11 2021 daemon.info dnsmasq-dhcp[1420]: read /etc/ethers - 0 addresses
Wed Feb 17 13:45:05 2021 kern.info kernel: [  175.932452] eth0: link down
Wed Feb 17 13:45:05 2021 kern.info kernel: [  175.936171] br-lan: port 1(eth0) entered disabled state
Wed Feb 17 13:45:05 2021 daemon.notice netifd: Network device 'eth0' link is down
Wed Feb 17 13:45:06 2021 daemon.notice netifd: bridge 'br-lan' link is down
Wed Feb 17 13:45:06 2021 daemon.notice netifd: Interface 'lan' has link connectivity loss
Wed Feb 17 13:45:08 2021 kern.info kernel: [  179.133606] eth0: link up (100Mbps/Full duplex)
Wed Feb 17 13:45:08 2021 kern.info kernel: [  179.138253] br-lan: port 1(eth0) entered blocking state
Wed Feb 17 13:45:08 2021 kern.info kernel: [  179.143606] br-lan: port 1(eth0) entered forwarding state
Wed Feb 17 13:45:08 2021 daemon.notice netifd: Network device 'eth0' link is up
Wed Feb 17 13:45:08 2021 daemon.notice netifd: bridge 'br-lan' link is up
Wed Feb 17 13:45:08 2021 daemon.notice netifd: Interface 'lan' has link connectivity
Wed Feb 17 13:45:29 2021 daemon.err uhttpd[1106]: luci: accepted login on / for root from 192.168.1.2
Wed Feb 17 13:49:29 2021 authpriv.info dropbear[1739]: Child connection from 192.168.1.2:55228
Wed Feb 17 13:49:31 2021 authpriv.info dropbear[1739]: Exit before auth: Exited normally
Wed Feb 17 13:49:32 2021 authpriv.info dropbear[1740]: Child connection from 192.168.1.2:55230
Wed Feb 17 13:49:35 2021 authpriv.notice dropbear[1740]: Auth succeeded with blank password for 'root' from 192.168.1.2:55230

Apparently, the time/date is wrong, but I briefly enabled wifi and could also connect to it with my laptop.

Of course, the interface shows the wrong model name (Nanostation instead of UAP), but since ethernet and wifi appear to be working, is this actually something usable? (Considering it's just a dumb, silly AP)

Any way to diagnose this further?

As far as flashing goes, the Wiki pages for both the Nanostation M5 and the UAP mention an 8 MiB flash. If I'm not mistaken, the chip on my board is a MX25L6498EMI-12G, but for some reason I couldn't find anything useful.

Is there a way to install this permanently without breaking the device?

I have a regular UAP v1. I tried to install latest snapshot r17228-9928236d16 for it however can't get the ethernet port working. With this build eth0 port is always down and I can't bring it up. I then tried nanostation M5 build as they share the same hardware. In this case I can bring eth0 up, however ping still doesn't work. What build is working for your UAP-LR?