AC Series Recommended Software and Utilities

Wiki.TerraBase.info
Revision as of 10:29, 23 February 2024 by Root (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

The best method of owning, managing, having, using, ...whatever, an OpenWRT based router it to have the OpenWRT OS stored on some type of USB Flash drive, mSATA, NVME, NGFF, or other type of external drive / SSD etc that utilizes the OpenWRT /overlay functionality (look it up, it's quite useful). Oh, and AC Series as in the Linksys WRT1900 series, WRT32X, etc.

...but, when the router is turned on, it's still booting from code stored on the built in "Disk Drive", AKA NAND. So an interesting question comes up: If the external drive fails, what should be installed on the NAND 'Drive'. Well, to start with, anything that is necessary for the "Overlay Functionality" (look it up on the OpenWRT site). But if it's booting to an external drive that's using the /overlay functionality, then it's already installed. Beyond that?

1) Anything (configuration / software) that allows the router to still provide internet access (albeit, possibly in a reduced functionality fashion)

2) Any useful software, utilities, or other tools that would allow one to fix whatever is wrong with the external drive. That includes backup and restoration software too.

Below is are some lists of things to install. Everything will fit on a WRT32X. Most will fit on a WRT3200ACM (if done in the correct order (biggest to smallest groups, see below) and individually, they'll all fit). But it will be a tight squeeze to fit everything on the lower end AC Series. Dependencies are not listed, but will be installed when the various items are installed.

When installing, to make use of limited storage space, install the largest items and groups first.

...but first;

On a brand new router;

  • Set the password via the LuCI GUI or command line

Installation Order (to make as much useful stuff as possible fit)

This section doesn't apply to the WRT32X as it has about 120 MB of storage space. The WRT3200ACM can benefit from this installation order and get everything to fit. For the 1900 series, don't even think about installing Samba on the internal NAND storage.

- Disk Utilities

- Samba <<< Reboot, then set the password after installing this: smbpasswd -a root (oh, and create a shared directory via the LuCI GUI and also replace the entire default configuration file as it doesn't work at all (see SAMBA on this WIKI))

- Shadow Stuff

- Core Utils

- Proc Utils

- Other Utilities

- Additional Utilities

...reboot, opkg update again

- All the Additional Utilities that didn't install as a group (probably these items: pciutils, tcpdump, ss (install in the shown order))

Disk Utilities

opkg install blkid block-mount cfdisk dosfstools dumpe2fs e2fsprogs f2fs-tools f2fsck fdisk file fstools gdisk hdparm kmod-fs-exfat kmod-fs-ext4 kmod-fs-f2fs kmod-fs-vfat kmod-usb-storage kmod-usb2 kmod-usb3 lsblk mkf2fs mtd ntfs-3g ntfs-3g-utils sfdisk tune2fs usbutils wipefs

For minimal installs, to just get enough installed to recognize a USB device and boot from an Overlay Partition on a USB Flash Drive: opkg install block-mount kmod-fs-ext4 kmod-usb-storage e2fsprogs kmod-usb-ohci kmod-usb-uhci wipefs mk2fs ntfs-3g ntfs-3g-utils

And if there's a bit more space: opkg install ntfs-3g ntfs-3g-utils tune2fs wipefs cfdisk

And if there's just a bit more: opkg install htop nano htop (yes, I know, not Disk Utilities, but useful in diagnosing "Disk" related stuff and configuring it)

The following utilities will use up around 5 MB of space (under 4 MB if you're using the above 'minimal')

blkid
block-mount
cfdisk
dosfstools
dumpe2fs
e2fsprogs
f2fs-tools
f2fsck
fdisk
file
fstools
gdisk
hdparm
kmod-fs-exfat
kmod-fs-ext4
kmod-fs-f2fs
kmod-fs-vfat
kmod-usb-storage
kmod-usb2
kmod-usb3
lsblk
mkf2fs
mtd
ntfs-3g
ntfs-3g-utils
sfdisk
tune2fs
usbutils
wipefs

Other Utilities

!!!WARNING: Do NOT install install the full version of the GREP Utility!!! (yet). See GREP Gripe section at the end.

opkg install ar attr bash bzip2 gzip htop luci-app-advanced-reboot luci-app-uhttpd nano netcat swconfig tar ubi-utils uboot-envtools wget ca-certificates whereis pciutils

This is on a separate line because the version number may change: opkg install libustream-mbedtls20150806 (REMEMBER, the "WOLFSSL" package will need to be removed first, but don't do it yet. First manually download the file for libustream-mbedtlsXYZversion, then after that file has been downloaded, remove the "WOLFSSL" package, then install the "BMEDTLS" version, because if you remove the "WOLFSSL" package first, it will 'CrapCan' the OPKG utility and prevent it from downloading anything.)

NOTE: LSPCI (in PCIUTILS) is really only useful on x86_64 installs of OpenWRT. For most routers it's fairly boring.

If GREP is desired, then download and install the 21.02.1 version: https://downloads.openwrt.org/releases/21.02.1/packages/arm_cortex-a9_vfpv3-d16/packages/grep_3.6-1_arm_cortex-a9_vfpv3-d16.ipk, or newer (as of early 2023): https://downloads.openwrt.org/releases/21.02.5/packages/arm_cortex-a9_vfpv3-d16/packages/grep_3.6-1_arm_cortex-a9_vfpv3-d16.ipk, but not too new, as the OpenWRT 23.xx.y versions of GREP won't work on OpenWRT 19.xx.y or 21.xx.y: https://downloads.openwrt.org/releases/22.03.3/packages/arm_cortex-a9_vfpv3-d16/packages/grep_3.7-2_arm_cortex-a9_vfpv3-d16.ipk (only download the last one in the 22.xx.y series of OpenWRT if running 22.xx.y, which isn't recommended because of busted Marvell Switch Drivers)

Remember, some of these utilities are the full version of the utility. A smaller / 'neutered' version of the command / utility may be included within the BusyBox software (again, look it up).

These items will take up about 3 or so MB of space

ar
attr
bash
bzip2
grep
gzip
htop
luci-app-advanced-reboot
luci-app-uhttpd
nano
netcat
swconfig
tar
ubi-utils
uboot-envtools
wget
findutils

Wildcard - All of the Utilities

opkg install WhatEver* Nope, won't work

The below commands will install in a wildcard fashion;

opkg list | grep WhatEverNamePackagesBeginWith| awk '{print $1}' | xargs opkg install

opkg list | grep shadow| awk '{print $1}' | xargs opkg install (about 15 MB, so if space is an issue, do these selectively)

opkg list | grep coreutils-| awk '{print $1}' | xargs opkg install (about 5 MB)

opkg list | grep procps| awk '{print $1}' | xargs opkg install (maybe 1 MB)

For some of these utilities the OpenWRT documentation states: "Full versions of standard shadow utilities. Normally, you would not…" And that's it. Let's finish that: Full versions of standard shadow utilities. Normally, you would not install, unless you want to actually succeed in accomplishing the task you need to complete. (That sounds a bit mean, and it isn't intended that way. There's always a compromise that has to be made in terms of space and functionality when choosing all the options for utilities to cram into BusyBox).

Not all of these utilities will prove useful. It is simply faster to install in a wildcard fashion, rather than individually, as many of them are useful. So if space is an issue, be selective.

If Samba or Restic is really important, do these items last.

If one wants to remove everything in a certain group, just replace the install at the end of the command with: remove

WATCH OUT: One or more of the password related utilities will break the LuCI GUI ability to change passwords. Use the passwd command on the command line instead (you'll need to do it separately for LuCI GUI access and SSH access). If one gets "locked out", remember the Serial / TTL interface doesn't require a password so all passwords for the root user can be removed with this command: passwd root -r

For the 'shadow group', if using english, none of the -i18n items need to be installed and can be removed with this command: opkg list | grep luci-i18n-shadowsocks| awk '{print $1}' | xargs opkg remove

OR

Using the LuCI GUI, find shadow-passwd, uninstall it (other dependencies will be uninstalled too), then the LuCI GUI Admin password change will work, and after changing the password, the shadow utilities can be installed again.

Samba

opkg install samba4-admin samba4-client samba4-libs samba4-server samba4-utils luci-app-samba4

...and finally Samba. It is quite useful in moving files around quickly, but it takes up a LOT of space. The WRT32X and WRT3200ACM (to a lesser degree than the 32X) can spare the space, but probably not the lower end AC routers. So this will be the item to leave off as it has the biggest storage footprint.

Restic

opkg install restic

Restic is another utility on the larger side. If backups are done with this software and need to be restored, then it's needed. If one doesn't use, consider using it. If not, don't worry about installing it.

One will have to make a choice on this one between Samba and Restic if a WRT3200ACM is being used.

Additional Utilities (if there's storage space available)

opkg install iftop ipset losetup lsof nmap pciutils resolveip ss tcpdump wget iperf

Remember, some of these utilities are the full version of the utility. A smaller / 'neutered' version of the command / utility may be included within the BusyBox software (again, look it up).

These items will take up about 2 or so MB of space

iftop
ipset
losetup
lsof
nmap
pciutils
resolveip
ss
tcpdump
wget

GREP Gripe

This is in regards to the 19.07.0-8 series of OpenWRT.

WARNING: Something in the Other Utilities section was causing a WRT1900ACSv2 router to crap out during boot. WRT32X and WRT3200ACM are fine. And it's the GREP Utility. Installing GREP causes OpenWRT to not fully bring up the ethernet interface. WTF? Seems like a defective package. Double checked and it isn't the dependency (libpcre) and is indeed the GREP Package. And it's the same package across the entire WRT / AC Series.

Well, the good news is that the 21.02.1 version of OpenWRT has GREP 3.6.1, and it works fine. If GREP is desired, then download and install the 21.02.1 version: https://downloads.openwrt.org/releases/21.02.1/packages/arm_cortex-a9_vfpv3-d16/packages/grep_3.6-1_arm_cortex-a9_vfpv3-d16.ipk

Here's what's going on. Well, this is where it stops. No real indication of why. The boot process just stops at ...eth1: link becomes ready;

BootROM - 1.73
Booting from NAND flash

General initialization - Version: 1.0.0
Detected Device ID 6820
High speed PHY - Version: 2.0

Init RD NAS topology Serdes Lane 3 is USB3
Serdes Lane 4 is SGMII
board SerDes lanes topology details:
 | Lane #  | Speed |  Type       |
 --------------------------------
 |   0    |  06   |  SATA0      |
 |   1    |  05   |  PCIe0      |
 |   2    |  06   |  SATA1      |
 |   3    |  05   |  USB3 HOST1 |
 |   4    |  05   |  PCIe1      |
 |   5    |  00   |  SGMII2     |
 --------------------------------
:** Link is Gen1, check the EP capability 
PCIe, Idx 0: Link upgraded to Gen2 based on client cpabilities 
:** Link is Gen1, check the EP capability 
PCIe, Idx 1: remains Gen1
High speed PHY - Ended Successfully
DDR3 Training Sequence - Ver TIP-1.26.0
mvSysEnvGetTopologyUpdateInfo: TWSI Read failed
DDR3 Training Sequence - Switching XBAR Window to FastPath Window 
DDR3 Training Sequence - Ended Successfully
Not detected suspend to RAM indication
BootROM: Image checksum verification PASSED

 __   __                      _ _
|  \/  | __ _ _ ____   _____| | |
| |\/| |/ _` | '__\ \ / / _ \ | |
| |  | | (_| | |   \ V /  __/ | |
|_|  |_|\__,_|_|    \_/ \___|_|_|
         _   _     ____              _
        | | | |   | __ )  ___   ___ | |_ 
        | | | |___|  _ \ / _ \ / _ \| __| 
        | |_| |___| |_) | (_) | (_) | |_ 
         \___/    |____/ \___/ \___/ \__| 
 ** LOADER **


U-Boot 2013.01 (Mar 27 2015 - 16:50:46) Marvell version: 2014_T3.0p6

Boot version : v1.0.13

Board: RD-NAS-88F6820-DDR3
SoC:   MV88F6820 Rev A0
       running 2 CPUs
CPU:   ARM Cortex A9 MPCore (Rev 1) LE
       CPU 0
       CPU    @ 1600 [MHz]
       L2     @ 800 [MHz]
       TClock @ 200 [MHz]
       DDR    @ 800 [MHz]
       DDR 32 Bit Width, FastPath Memory Access, DLB Enabled, ECC Disabled
DRAM:  512 MiB

Map:   Code:                    0x1fea9000:0x1ff7632c
       BSS:                     0x1ffef6b4
       Stack:                   0x1f9a8f20
       Heap:                    0x1f9a9000:0x1fea9000
raise: Signal # 8 caught
U-ENV offset == 0x200000
raise: Signal # 8 caught
U-ENV offset == 0x200000
       U-Boot Environment:      0x00200000:0x00220000 (NAND)

NAND:  128 MiB
MMC:   mv_sdh: 0
DEVINFO offset == 0x900000
U-ENV offset == 0x200000
U-ENV offset == 0x200000
S-ENV offset == 0x240000


#### auto_recovery ####
[u_env] get auto_recovery == yes
[u_env] get auto_recovery == yes
[u_env] get boot_part == 1
[u_env] get boot_part_ready == 3
auto_recovery enabled:1, boot_part:1, boot_part_ready:3 

S-ENV offset == 0x240000
[boot_count_read] block:0x240000, size:128KB, records:64 
[boot_count_read_record] boot_count:0, next_record:45

[boot_count_write] erase:0, auto_recovery->block_offset:0x240000 offset=0x256800

Updating boot_count ... 
[boot_count_write] offset:0x256800 , length:2048
done

PCI-e 0 (IF 0 - bus 0) Root Complex Interface, Detected Link X1, GEN 2.0
PCI-e 1 (IF 1 - bus 1) Root Complex Interface, Detected Link X1, GEN 1.1
USB2.0 0: Host Mode
USB3.0 1: Host Mode
USB3.0 0: Host Mode
Board configuration detected:
mvEthE6171SwitchBasicInit init 
Net:   
|  port  | Interface | PHY address  |
|--------|-----------|--------------|
| egiga0 |   RGMII   |     0x01     |
| egiga1 |   SGMII   |     0x00     |
egiga0 [PRIME], egiga1
auto_recovery_check changes bootcmd: run nandboot 
Hit any key to stop autoboot:  0 

NAND read: device 0 offset 0xa00000, size 0x600000
 6291456 bytes read: OK
## Booting kernel from Legacy Image at 02000000 ...
   Image Name:   ARM OpenWrt Linux-4.14.241
   Created:      2021-07-29  19:50:28 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2532271 Bytes = 2.4 MiB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.14.241 (builder@buildhost) (gcc version 7.5.0 (OpenWrt GCC 7.5.0 r11364-ef56c85848)) #0 SMP Thu Jul 29 19:50:28 2021
[    0.000000] CPU: ARMv7 Processor [414fc091] revision 1 (ARMv7), cr=10c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] OF: fdt: Machine model: Linksys WRT1900ACv2
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] random: get_random_bytes called from 0xc08008c0 with crng_init=0
[    0.000000] percpu: Embedded 11 pages/cpu s14860 r8192 d22004 u45056
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 130048
[    0.000000] Kernel command line: console=ttyS0,115200 root=/dev/mtdblock5 ro rootdelay=1 rootfstype=jffs2 earlyprintk mtdparts=armada-nand:2048K(uboot)ro,256K(u_env),256K(s_env),1m@9m(devinfo),40m@10m(kernel),34m@16m(rootfs),40m@50m(alt_kernel),34m@56m(alt_rootfs),80m@10m(ubifs),-@90m(syscfg)
[    0.000000] Bootloader command line (ignored): console=ttyS0,115200 root=/dev/mtdblock5 ro rootdelay=1 rootfstype=jffs2 earlyprintk mtdparts=armada-nand:2048K(uboot)ro,256K(u_env),256K(s_env),1m@9m(devinfo),40m@10m(kernel),34m@16m(rootfs),40m@50m(alt_kernel),34m@56m(alt_rootfs),80m@10m(ubifs),-@90m(syscfg)
[    0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
[    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Memory: 510928K/524288K available (6144K kernel code, 199K rwdata, 820K rodata, 1024K init, 233K bss, 13360K reserved, 0K cma-reserved, 0K highmem)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0xe0800000 - 0xff800000   ( 496 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xe0000000   ( 512 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]       .text : 0xc0008000 - 0xc0700000   (7136 kB)
[    0.000000]       .init : 0xc0800000 - 0xc0900000   (1024 kB)
[    0.000000]       .data : 0xc0900000 - 0xc0931e80   ( 200 kB)
[    0.000000]        .bss : 0xc0931e80 - 0xc096c450   ( 234 kB)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
[    0.000000] Hierarchical RCU implementation.
[    0.000000]  RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
[    0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000000] L2C: DT/platform modifies aux control register: 0x06070000 -> 0x16070000
[    0.000000] L2C-310 enabling early BRESP for Cortex-A9
[    0.000000] L2C-310 full line of zeros enabled for Cortex-A9
[    0.000000] L2C-310 D prefetch enabled, offset 1 lines
[    0.000000] L2C-310 dynamic clock gating enabled, standby mode enabled
[    0.000000] L2C-310 Coherent cache controller enabled, 16 ways, 1024 kB
[    0.000000] L2C-310 Coherent: CACHE_ID 0x410054c9, AUX_CTRL 0x56070001
[    0.000006] sched_clock: 64 bits at 800MHz, resolution 1ns, wraps every 4398046511103ns
[    0.000016] clocksource: arm_global_timer: mask: 0xffffffffffffffff max_cycles: 0xb881274fa3, max_idle_ns: 440795210636 ns
[    0.000029] Switching to timer-based delay loop, resolution 1ns
[    0.000142] Ignoring duplicate/late registration of read_current_timer delay
[    0.000149] clocksource: armada_370_xp_clocksource: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 76450417870 ns
[    0.000280] Calibrating delay loop (skipped), value calculated using timer frequency.. 1600.00 BogoMIPS (lpj=8000000)
[    0.000288] pid_max: default: 32768 minimum: 301
[    0.000341] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.000346] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.000555] CPU: Testing write buffer coherency: ok
[    0.000566] CPU0: Spectre v2: using BPIALL workaround
[    0.000665] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.000769] Setting up static identity map for 0x100000 - 0x100060
[    0.000837] mvebu-soc-id: MVEBU SoC ID=0x6820, Rev=0x4
[    0.000906] mvebu-pmsu: Initializing Power Management Service Unit
[    0.000949] Hierarchical SRCU implementation.
[    0.001130] smp: Bringing up secondary CPUs ...
[    0.001243] Booting CPU 1
[    0.001388] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[    0.001390] CPU1: Spectre v2: using BPIALL workaround
[    0.001436] smp: Brought up 1 node, 2 CPUs
[    0.001441] SMP: Total of 2 processors activated (3200.00 BogoMIPS).
[    0.001444] CPU: All CPU(s) started in SVC mode.
[    0.002934] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
[    0.002983] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.002990] futex hash table entries: 512 (order: 3, 32768 bytes)
[    0.003032] pinctrl core: initialized pinctrl subsystem
[    0.003338] NET: Registered protocol family 16
[    0.003903] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.004360] cpuidle: using governor ladder
[    0.004521] mvebu-pmsu: CPU hotplug support is currently broken on Armada 38x: disabling
[    0.004528] mvebu-pmsu: CPU idle is currently broken on Armada 38x: disabling
[    0.010203] reg-fixed-voltage usb3_1-vbus: could not find pctldev for node /soc/internal-regs/pinctrl@18000/usb3_1-vbus-pins, deferring probe
[    0.010351] SCSI subsystem initialized
[    0.010584] usbcore: registered new interface driver usbfs
[    0.010607] usbcore: registered new interface driver hub
[    0.010625] usbcore: registered new device driver usb
[    0.011414] clocksource: Switched to clocksource arm_global_timer
[    0.011779] NET: Registered protocol family 2
[    0.011848] IP idents hash table entries: 8192 (order: 4, 65536 bytes)
[    0.012136] TCP established hash table entries: 4096 (order: 2, 16384 bytes)
[    0.012159] TCP bind hash table entries: 4096 (order: 3, 32768 bytes)
[    0.012191] TCP: Hash tables configured (established 4096 bind 4096)
[    0.012226] UDP hash table entries: 256 (order: 1, 8192 bytes)
[    0.012240] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
[    0.012307] NET: Registered protocol family 1
[    0.013171] Crashlog allocated RAM at address 0x3f00000
[    0.013242] workingset: timestamp_bits=30 max_order=17 bucket_order=0
[    0.014814] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.014823] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.016037] io scheduler noop registered
[    0.016043] io scheduler deadline registered (default)
[    0.016484] armada-38x-pinctrl f1018000.pinctrl: registered pinctrl driver
[    0.017441] mvebu-pcie soc:pcie: PCI host bridge to bus 0000:00
[    0.017452] pci_bus 0000:00: root bus resource [io  0x1000-0xfffff]
[    0.017457] pci_bus 0000:00: root bus resource [mem 0xe0000000-0xe7ffffff]
[    0.017462] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.017632] PCI: bus0: Fast back to back transfers disabled
[    0.017639] pci 0000:00:01.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    0.017646] pci 0000:00:02.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    0.017842] PCI: bus1: Fast back to back transfers disabled
[    0.018076] PCI: bus2: Fast back to back transfers disabled
[    0.018099] pci 0000:00:01.0: BAR 8: assigned [mem 0xe0000000-0xe01fffff]
[    0.018105] pci 0000:00:02.0: BAR 8: assigned [mem 0xe0200000-0xe03fffff]
[    0.018112] pci 0000:01:00.0: BAR 0: assigned [mem 0xe0000000-0xe00fffff 64bit pref]
[    0.018122] pci 0000:01:00.0: BAR 2: assigned [mem 0xe0100000-0xe01fffff 64bit pref]
[    0.018131] pci 0000:00:01.0: PCI bridge to [bus 01]
[    0.018137] pci 0000:00:01.0:   bridge window [mem 0xe0000000-0xe01fffff]
[    0.018144] pci 0000:02:00.0: BAR 0: assigned [mem 0xe0200000-0xe02fffff 64bit pref]
[    0.018155] pci 0000:02:00.0: BAR 2: assigned [mem 0xe0300000-0xe03fffff 64bit pref]
[    0.018164] pci 0000:00:02.0: PCI bridge to [bus 02]
[    0.018169] pci 0000:00:02.0:   bridge window [mem 0xe0200000-0xe03fffff]
[    0.018388] mv_xor f1060800.xor: Marvell shared XOR driver
[    0.071868] mv_xor f1060800.xor: Marvell XOR (Descriptor Mode): ( xor cpy intr )
[    0.071981] mv_xor f1060900.xor: Marvell shared XOR driver
[    0.131838] mv_xor f1060900.xor: Marvell XOR (Descriptor Mode): ( xor cpy intr )
[    0.131989] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
[    0.132639] console [ttyS0] disabled
[    0.152708] f1012000.serial: ttyS0 at MMIO 0xf1012000 (irq = 22, base_baud = 12500000) is a 16550A
[    0.938960] console [ttyS0] enabled
[    0.943886] loop: module loaded
[    0.947323] ahci-mvebu f10a8000.sata: AHCI 0001.0000 32 slots 2 ports 6 Gbps 0x3 impl platform mode
[    0.956421] ahci-mvebu f10a8000.sata: flags: 64bit ncq sntf led only pmp fbs pio slum part sxs 
[    0.965564] scsi host0: ahci-mvebu
[    0.969141] scsi host1: ahci-mvebu
[    0.972691] ata1: SATA max UDMA/133 mmio [mem 0xf10a8000-0xf10a9fff] port 0x100 irq 41
[    0.980642] ata2: SATA max UDMA/133 mmio [mem 0xf10a8000-0xf10a9fff] port 0x180 irq 41
[    0.988972] pxa3xx-nand f10d0000.flash: This platform can't do DMA on this device
[    0.996797] nand: device found, Manufacturer ID: 0x01, Chip ID: 0xf1
[    1.003187] nand: AMD/Spansion S34ML01G2
[    1.007125] nand: 128 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
[    1.014749] pxa3xx-nand f10d0000.flash: ECC strength 16, ECC step size 2048
[    1.021934] Bad block table found at page 65472, version 0x01
[    1.028031] Bad block table found at page 65408, version 0x01
[    1.034074] 10 fixed-partitions partitions found on MTD device pxa3xx_nand-0
[    1.041151] Creating 10 MTD partitions on "pxa3xx_nand-0":
[    1.046671] 0x000000000000-0x000000200000 : "u-boot"
[    1.051891] 0x000000200000-0x000000240000 : "u_env"
[    1.056980] 0x000000240000-0x000000280000 : "s_env"
[    1.062060] 0x000000900000-0x000000a00000 : "devinfo"
[    1.067302] 0x000000a00000-0x000003200000 : "kernel1"
[    1.072638] 0x000001000000-0x000003200000 : "ubi"
[    1.077604] 0x000003200000-0x000005a00000 : "kernel2"
[    1.082945] 0x000003800000-0x000005a00000 : "rootfs2"
[    1.088258] 0x000005a00000-0x000008000000 : "syscfg"
[    1.093509] 0x000000280000-0x000000900000 : "unused_area"
[    1.099430] libphy: Fixed MDIO Bus: probed
[    1.103840] libphy: orion_mdio_bus: probed
[    1.108115] mvneta_bm f10c8000.bm: Buffer Manager for network controller enabled
[    1.116826] mvneta f1070000.ethernet eth0: Using hardware mac address 60:38:e0:05:1f:e7
[    1.126120] mvneta f1034000.ethernet eth1: Using random mac address 82:17:b7:bd:3f:38
[    1.134141] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    1.140695] ehci-pci: EHCI PCI platform driver
[    1.145187] ehci-platform: EHCI generic platform driver
[    1.150496] ehci-orion: EHCI orion driver
[    1.154612] orion-ehci f1058000.usb: EHCI Host Controller
[    1.160042] orion-ehci f1058000.usb: new USB bus registered, assigned bus number 1
[    1.167695] orion-ehci f1058000.usb: irq 38, io mem 0xf1058000
[    1.201418] orion-ehci f1058000.usb: USB 2.0 started, EHCI 1.00
[    1.207572] hub 1-0:1.0: USB hub found
[    1.211350] hub 1-0:1.0: 1 port detected
[    1.215721] usbcore: registered new interface driver usb-storage
[    1.221921] i2c /dev entries driver
[    1.236721] (NULL device *): hwmon_device_register() is deprecated. Please convert the driver to use hwmon_device_register_with_info().
[    1.249150] orion_wdt: Initial timeout 171 sec
[    1.253872] sdhci: Secure Digital Host Controller Interface driver
[    1.260076] sdhci: Copyright(c) Pierre Ossman
[    1.264546] sdhci-pltfm: SDHCI platform and OF driver helper
[    1.273746] marvell-cesa f1090000.crypto: CESA device successfully registered
[    1.281313] NET: Registered protocol family 10
[    1.286248] Segment Routing with IPv6
[    1.289953] NET: Registered protocol family 17
[    1.294440] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[    1.307549] 8021q: 802.1Q VLAN Support v1.8
[    1.311814] Registering SWP/SWPB emulation handler
[    1.312595] ata2: SATA link down (SStatus 0 SControl 300)
[    1.322095] ata1: SATA link down (SStatus 0 SControl 300)
[    1.329025] xhci-hcd f10f8000.usb3: xHCI Host Controller
[    1.334388] xhci-hcd f10f8000.usb3: new USB bus registered, assigned bus number 2
[    1.341967] xhci-hcd f10f8000.usb3: hcc params 0x0a000990 hci version 0x100 quirks 0x0000000000010010
[    1.351245] xhci-hcd f10f8000.usb3: irq 43, io mem 0xf10f8000
[    1.357250] hub 2-0:1.0: USB hub found
[    1.361030] hub 2-0:1.0: 1 port detected
[    1.365083] xhci-hcd f10f8000.usb3: xHCI Host Controller
[    1.370420] xhci-hcd f10f8000.usb3: new USB bus registered, assigned bus number 3
[    1.377976] xhci-hcd f10f8000.usb3: Host supports USB 3.0  SuperSpeed
[    1.384480] usb usb3: We don't know the algorithms for LPM for this host, disabling LPM.
[    1.392784] hub 3-0:1.0: USB hub found
[    1.396563] hub 3-0:1.0: 1 port detected
[    1.400842] UBI: auto-attach mtd5
[    1.404181] ubi0: attaching mtd5
[    1.414711] random: fast init done
[    1.501021] ubi0: scanning is finished
[    1.509005] ubi0: attached mtd5 (name "ubi", size 34 MiB)
[    1.514436] ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
[    1.521338] ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 2048
[    1.528157] ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096
[    1.535150] ubi0: good PEBs: 272, bad PEBs: 0, corrupted PEBs: 0
[    1.541179] ubi0: user volume: 2, internal volumes: 1, max. volumes count: 128
[    1.548434] ubi0: max/mean erase counter: 2/0, WL threshold: 4096, image sequence number: 499093418
[    1.557521] ubi0: available PEBs: 0, total reserved PEBs: 272, PEBs reserved for bad PEB handling: 20
[    1.566786] ubi0: background thread "ubi_bgt0d" started, PID 698
[    1.567162] block ubiblock0_0: created from ubi0:0(rootfs)
[    1.578338] ubiblock: device ubiblock0_0 (rootfs) set to be root filesystem
[    1.585518] mvsw61xx 10.mvsw61xx: Found MV88E6176 at f1072004.mdio-mii:10
[    1.592343] mvsw61xx 10.mvsw61xx: Using direct addressing
[    1.607248] hctosys: unable to open rtc device (rtc0)
[    1.612673] Waiting 1 sec before mounting root device...
[    2.643259] VFS: Mounted root (squashfs filesystem) readonly on device 254:0.
[    2.650966] Freeing unused kernel memory: 1024K
[    2.852595] init: Console is alive
[    2.856072] init: - watchdog -
[    3.048194] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[    3.081782] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    3.090908] init: - preinit -
[    3.276342] mvneta f1070000.ethernet tmp0: renamed from eth0
[    3.282287] random: procd: uninitialized urandom read (4 bytes read)
[    3.322842] mvneta f1034000.ethernet eth0: renamed from eth1
[    3.362805] mvneta f1070000.ethernet eth1: renamed from tmp0
[    3.679583] random: jshn: uninitialized urandom read (4 bytes read)
[    3.715340] random: jshn: uninitialized urandom read (4 bytes read)
[    3.907027] mvneta f1034000.ethernet eth0: configuring for fixed/sgmii link mode
[    3.914873] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[    3.920914] mvneta f1034000.ethernet eth0: Link is Up - 1Gbps/Full - flow control off
[    3.928992] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes 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
[    7.013019] UBIFS (ubi0:1): background thread "ubifs_bgt0_1" started, PID 810
[    7.041368] UBIFS (ubi0:1): recovery needed
[    7.096445] UBIFS (ubi0:1): recovery completed
[    7.100933] UBIFS (ubi0:1): UBIFS: mounted UBI device 0, volume 1, name "rootfs_data"
[    7.108805] UBIFS (ubi0:1): LEB size: 126976 bytes (124 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes
[    7.118765] UBIFS (ubi0:1): FS size: 27680768 bytes (26 MiB, 218 LEBs), journal size 1396736 bytes (1 MiB, 11 LEBs)
[    7.129246] UBIFS (ubi0:1): reserved for root: 1307430 bytes (1276 KiB)
[    7.135891] UBIFS (ubi0:1): media format: w4/r0 (latest is w5/r0), UUID 30FFED90-BFDB-4D20-B76A-B853F31FF64B, small LPT model
[    7.149099] mount_root: switching to ubifs overlay
/etc/preinit: line 13: grep: not found
ubiattach: option requires an argument: m
Use -h for help
ubifs syscfg partition is damaged, reformatting
ubidetach: option requires an argument: m
Use -h for help
libmtd: error!: cannot get information about "/dev/mtd"
    [    7.235752] urandom-seed: Seeding with /etc/urandom.seed
    error 2 (No such file or directory)
ubiformat: error!: cannot get information about "/dev/mtd"
           error 2 (No such file or directory)
ubiattach: option requires an argument: m
Use -h for help
libubi: error!: cannot get information about "/dev/ubi1"
        error 2 (No s[    7.266440] procd: - early -
uch file or dire[    7.269637] procd: - watchdog -
ctory)
ubimkvol: error!: error while probing "/dev/ubi1"
          error 2 (No such file or directory)
mount: mounting ubi1:syscfg on /tmp/syscfg failed: No such device
/etc/preinit: line 120: grep: not found
[    7.908131] procd: - watchdog -
[    7.911372] procd: - ubus -
[    7.931387] urandom_read: 3 callbacks suppressed
[    7.931390] random: ubusd: uninitialized urandom read (4 bytes read)
[    7.986637] random: ubusd: uninitialized urandom read (4 bytes read)
[    7.993130] random: ubusd: uninitialized urandom read (4 bytes read)
[    7.999716] procd: - init -
Please press Enter to activate this console.
[    8.127623] kmodloader: loading kernel modules from /etc/modules.d/*
[    8.135407] ip6_tables: (C) 2000-2006 Netfilter Core Team
[    8.141043] urngd: v1.0.2 started.
[    8.142138] Loading modules backported from Linux version v4.19.193-0-g1722257b8ece
[    8.152166] Backport generated by backports.git v4.19.193-1-0-gaa2cc8ea
[    8.170144] random: crng init done
[    8.173580] random: 1 urandom warning(s) missed due to ratelimiting
[    8.196656] <<Marvell Mac80211 Wireless PCIE Network Driver version 10.3.8.0-20181210>>
[    8.204717] pci 0000:00:01.0: enabling device (0140 -> 0142)
[    9.301422] ieee80211 phy0: device node: /soc/pcie/pcie@1,0
[    9.325432] ieee80211 phy0: firmware version: 0x702091a
[    9.677426] ieee80211 phy0: firmware region code: 10
[    9.716182] ieee80211 phy0: 2G disabled, 5G enabled
[    9.721088] ieee80211 phy0: 4 TX antennas, 4 RX antennas
[    9.726614] pci 0000:00:02.0: enabling device (0140 -> 0142)
[   10.817442] ieee80211 phy1: device node: /soc/pcie/pcie@2,0
[   10.840433] ieee80211 phy1: firmware version: 0x702091a
[   11.191412] ieee80211 phy1: firmware region code: 10
[   11.228213] ieee80211 phy1: 2G enabled, 5G disabled
[   11.233139] ieee80211 phy1: 4 TX antennas, 4 RX antennas
[   11.239625] ip_tables: (C) 2000-2006 Netfilter Core Team
[   11.247138] nf_conntrack version 0.5.0 (8192 buckets, 32768 max)
[   11.263322] xt_time: kernel timezone is -0000
[   11.269734] PPP generic driver version 2.4.2
[   11.274698] NET: Registered protocol family 24
[   11.279934] kmodloader: done loading kernel modules from /etc/modules.d/*
[   12.623167] mvneta f1034000.ethernet eth0: Link is Down
[   12.644466] mvneta f1034000.ethernet eth0: configuring for fixed/sgmii link mode
[   12.652004] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[   12.658040] IPv6: ADDRCONF(NETDEV_UP): eth0.1: link is not ready
[   12.664207] mvneta f1034000.ethernet eth0: Link is Up - 1Gbps/Full - flow control off
[   12.668609] br-lan: port 1(eth0.1) entered blocking state
[   12.677534] br-lan: port 1(eth0.1) entered disabled state
[   12.683164] device eth0.1 entered promiscuous mode
[   12.687982] device eth0 entered promiscuous mode
[   12.692834] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   12.699468] IPv6: ADDRCONF(NETDEV_UP): br-lan: link is not ready
[   12.705568] br-lan: port 1(eth0.1) entered blocking state
[   12.711002] br-lan: port 1(eth0.1) entered forwarding state
[   12.721710] mvneta f1070000.ethernet eth1: configuring for fixed/rgmii-id link mode
[   12.729808] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
[   12.735723] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready
[   12.735820] mvneta f1070000.ethernet eth1: Link is Up - 1Gbps/Full - flow control off
[   12.742294] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready

Now what's interesting is that issuing the service network restart command gets the router responsive again. But the command still hangs at the eth1: link becomes ready line. Hmmm. See below;

root@OpenWrt:/# service network restart
'radio0' is disabled
'radio1' is disabled
[  368.810573] br-lan: port 1(eth0.1) entered disabled state
[  368.818154] device eth0.1 left promiscuous mode
[  368.822705] device eth0 left promiscuous mode
[  368.827147] br-lan: port 1(eth0.1) entered disabled state
[  368.840633] IPv6: ADDRCONF(NETDEV_UP): eth0.1: link is not ready
[  368.881897] mvneta f1034000.ethernet eth0: Link is Down
[  369.071959] mvneta f1070000.ethernet eth1: Link is Down
root@OpenWrt:/# [  370.427240] mvneta f1034000.ethernet eth0: configuring for fixed/sgmii link mode
[  370.434770] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[  370.440676] mvneta f1034000.ethernet eth0: Link is Up - 1Gbps/Full - flow control off
[  370.446563] br-lan: port 1(eth0.1) entered blocking state
[  370.453992] br-lan: port 1(eth0.1) entered disabled state
[  370.459538] device eth0.1 entered promiscuous mode
[  370.464348] device eth0 entered promiscuous mode
[  370.469114] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[  370.476115] br-lan: port 1(eth0.1) entered blocking state
[  370.481553] br-lan: port 1(eth0.1) entered forwarding state
[  370.490248] mvneta f1070000.ethernet eth1: configuring for fixed/rgmii-id link mode
[  370.498055] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
[  370.504285] mvneta f1070000.ethernet eth1: Link is Up - 1Gbps/Full - flow control off
[  370.512310] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready

Again, the router is responsive, so the GREP package can be removed. And the final line (see) below, sees the key issue.

br-lan: link becomes ready

Installing the GREP 3.3-1 Utility will halt the boot process on a WRT1900ACSv2 router. So don't install it. Instead install the above noted 3.6-1 version.

Final thoughts: Now why would one be using the 19.x series in late 2021. Well, that's because of the busted ass crap in OpenWRT 21.02.1. Go ahead, install BIND / NAMED in the 21.02 series. There's more crap in there too. And they're still rocking the 5.28 version of PERL (woof) for OpenWRT 21.02.1. Really? OK, enough of the complaining. How much does OpenWRT cost? Yup. They're working hard to make a great product (with some flaws). And now you know some of the flaws.