@xabolcs' custom builds for ramips/rt305x Sunvalleytek Tripmate devices: stock compatible flash layout for HooToo HT-TM01, HT-TM02 and RAVPower RP-WD02

Placeholder

Current status

  • sysupgrade doesn't work: it starts upgrading, reboots but keeps the system intact
  • sysupgrading from Offical OpenWrt image is still possible :frowning:
    • should be avoided (to prevent bricked devices) with some compatible or something
    • or just disable sysupgrade.bin :upside_down_face:
  • the release GitHub Action doesn't work, so no repacked images for OpenWrt 19.07.8 service release
  • it's compatible with HT-TM02 clones, but doesn't supports any of the extras: battery reading, microSD slot, etc

Support for battery reading has been started and it doesn't work at first try. As usual! :see_no_evil:

Sysupgrade serial log:

Watchdog handover: fd=3
- watchdog -
killall: telnetd: no process killed
killall: ash: no process killed
Sending TERM to remaining processes ... dnsmasq ubusd askfirst urngd logd netifd odhcpd ntpd 
Sending KILL to remaining processes ... ntpd 
Switching to ramdisk...
Performing system upgrade...
Could not open mtd device: firmware
Can't open device for writing!
cat: write error: Broken pipe
sysupgrade abort[  670.661483] reboot: Restarting system

Which means a porting error to me.


Battery reading now had a progress:

[   22.237524] i2c /dev entries driver
[   22.259628] i2c-ralink 10000900.i2c: clock 100KHz, re-start support

@arrmo , where did you get your i2cset and i2cget addresses?
I got errors only:

root@OpenWrt:~# i2cset -y 0 0x0a 0x0a 0x10
Error: Write failed
root@OpenWrt:~# i2cget -y 0 0x0a 0x0a
Error: Read failed

and the i2cdump script below returns nothing for me:

for i in 0 1 2 3 4 5 6 7; do for j in 0 1 2 3 4 5 6 7 8 9 a b c d e f; do i2cdump -y 0 0x${i}${j} 2>/dev/null|grep -v 0123456789abcdef|grep -v XXXXXXXXXXXXXXXX; done; done;

I'm hacking at my branch-19.07-ht-tm02-new-dts branch.

  • sysupgrade-tar will be the aid for the sysupgrade error
  • I'm unsure about the DTS changes (enabling i2c for HT-TM01, enabling mode switch for HT-TM02): they works, but ...
  • i2c driver loads but nothing else :roll_eyes: (as already commented)

Sorry for the slow reply! Been out of pocket a few days, just saw this.

Got the info two places (and of course, tested to confirm :stuck_out_tongue_winking_eye:),

  1. I found some similar code here, and then pulled the datasheet for the HT66F40 to debug.
  2. I got the source code for the Hootoo from the vendor. Quick look now and I can't find it, but it was in there somewhere. LOL.

Bummer, HT-TM01 has HT66F30. That's why it doesn't work. :confused:

Dang it! :frowning_face:

Wizard @jwmullally, as you already know I use your awesome Image Builder frontend to hack around with some ramips/rt305x HooToo images.

After successfully adding a new device, I'm having problems improving the Makefile futher, my Makefile-fu ended here. :sweat_smile:
Could you give me a few hint in the following topics?

Adding new device

touching $(TOPDIR)/target/linux/$(BOARD)/base-files

Adding a new device I had to touch some base-files files in $(TOPDIR)/target/linux/$(BOARD)/base-files.
These files don't make their ways into image, only with the Image Builder's FILES="path" parameter.:confused:
Any hint?

handling patch series

I added the new devices as a separate commit on my branch, so I would like to apply all the patch automatically instead of listing them in Makefile.

OpenWrt uses quilt to handle patch series, but in Image Builder only the wrapper is included. It's command list is empty:

$ ./staging_dir/host/bin/quilt 
Usage: quilt [--trace[=verbose]] [--quiltrc=XX] command [-h] ...
       quilt --version
Commands are:

Global options:

--trace
	Runs the command in bash trace mode (-x). For internal debugging.

--quiltrc file
	Use the specified configuration file instead of ~/.quiltrc (or
	/builder/shared-workdir/build/staging_dir/host/etc/quilt.quiltrc if ~/.quiltrc does not exist).  See the pdf
	documentation for details about its possible contents.  The
	special value "-" causes quilt not to read any configuration
	file.

--version
	Print the version number and exit immediately.

Should I install quilt at OS level instead trying to revive IB's wrapper?
Thankfully there is an answered question at SO related to Makefile and quilt. :+1:

multi-profile support

Now I have ht-tm02 and ht-tm01 and I'd like to build them in one make command.
Without hard coding $(PROFILE) and/or duplicating the whole line:

	cd $(BUILDER) && make image PROFILE="$(PROFILE)" EXTRA_IMAGE_NAME="$(EXTRA_IMAGE_NAME)" PACKAGES="$(PACKAGES)" FILES="$(FILES)"

could you give me some hint for magical rules to achieve this?

Thanks! :slight_smile:

RE: HT66F30

There is a post at doozan.com - NSA325 fan control, which I paste here:

Hi @xabolcs , good to hear the method is useful, it does look like a handy approach to maintaining custom OpenWRT images.

Yes, I found that too a few months ago. Originally I didn't need to modify anything in base-files so I hadn't noticed it. I think the issue is that with Image Builder, those files come from the already built base-files packages (e.g. here). I found the easiest solution was specifying FILES= as you suggest. Because those are applied at the end of the filesystem build, it means anything can be customized easily, which is nice.

You could try something simple like this in your Makefile. It would save you having to install quilt and update a list of patches.

    $(foreach file, $(sort $(wildcard patches/*.patch)), echo "Patch file $(file)";)

Image Builder seems designed around building one profile at a time (I think?), so I wasn't able to find any alternative that didn't look overly complex. In the end I just went with the simple approach).

You could use another loop like:

PROFILES_TO_BUILD := myprofile1 myprofile2

images:
        $(foreach profile, $(PROFILES_TO_BUILD), echo "Building this profile: $(profile)";)

Or something more complicated like this with a dynamic rule per profile, but IMHO its better to keep Makefiles simple and easy to maintain :slight_smile:

1 Like

It just simply awesome!

Practically I added a whole new device to Image Builder, so it can use the packages from the official releases. :+1:

Thanks for all the hints, will bake them into my fork! :ok_hand:

For the interested parties I pushed a few updates to my HooToo oldstable repository! :grinning:

  • updated v19.07 to v19.07.10, the last one from 19.07 line
    • built only for HT-TM01, but should run on any other Tripmate!
  • rebased the repo to @jwmullally's "simple approach" (thanks again! :pray:)
  • added v21.02 release as v21.02.3-0
    • built only the in-tree HT-TM02, but should run on any other Tripmate!
    • completely untested :see_no_evil:
1 Like

Doesn't work: looks like the mtd concat driver is inactive in ramips/rt305x target. :confused:

 ##### The CPU freq = 360 MHZ #### 
 estimate memory size =32 Mbytes
.
Initialize vs configure module
.Initialize GPIO
Input i key to enter menu 0 
........................## Booting image at 80500000 ...
   Image Name:   MIPS OpenWrt Linux-5.4.188
   Created:      2022-10-19  20:09:33 UTC
   Image Type:   MIPS Linux Kernel Image (lzma compressed)
   Data Size:    1498700 Bytes =  1.4 MB
   Load Address: 80000000
   Entry Point:  80000000
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK
No initrd
## Transferring control to Linux (at address 80000000) ...
## Giving linux memsize in MB, 32

Starting kernel ...

[    0.000000] Linux version 5.4.188 (builder@buildhost) (gcc version 8.4.0 (OpenWrt GCC 8.4.0 r16554-1d4dea6d4f)) #0 Sat Apr 16 12:59:34 2022
[    0.000000] SoC Type: Ralink RT5350 id:1 rev:3
[    0.000000] printk: bootconsole [early0] enabled
[    0.000000] CPU0 revision is: 0001964c (MIPS 24KEc)
[    0.000000] MIPS: machine is HooToo HT-TM02
[    0.000000] Initrd not found or empty - disabling initrd
...
[    0.658311] spi spi0.0: force spi mode3
[    0.667949] spi-nor spi0.0: mx25l6405d (8192 Kbytes)
[    0.678147] 7 fixed-partitions partitions found on MTD device spi0.0
[    0.690916] Creating 7 MTD partitions on "spi0.0":
[    0.700560] 0x000000000000-0x000000030000 : "u-boot"
[    0.713018] 0x000000030000-0x000000040000 : "config"
[    0.725785] 0x000000040000-0x000000050000 : "factory"
[    0.738616] 0x000000050000-0x0000001d0000 : "kernel"
[    0.751294] 0x0000001d0000-0x0000001e0000 : "u-boot-env"
[    0.764548] 0x0000001e0000-0x000000200000 : "rootfs2"
[    0.777476] 0x000000200000-0x000000800000 : "rootfs1"
[    0.819484] rt3050-esw 10110000.esw: link changed 0x00
[    0.833815] mtk_soc_eth 10100000.ethernet eth0: mediatek frame engine at 0xb0100000, irq 5
[    0.851658] rt2880_wdt 10000120.watchdog: Initialized
[    0.865115] NET: Registered protocol family 10
[    0.885967] Segment Routing with IPv6
[    0.893730] NET: Registered protocol family 17
[    0.902879] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[    0.928832] 8021q: 802.1Q VLAN Support v1.8
[    0.941567] /dev/root: Can't open blockdev
[    0.949932] VFS: Cannot open root device "(null)" or unknown-block(0,0): error -6
[    0.964926] Please append a correct "root=" boot option; here are the available partitions:
[    0.981654] 1f00             192 mtdblock0 
[    0.981665]  (driver?)
[    0.994816] 1f01              64 mtdblock1 
[    0.994826]  (driver?)
[    1.007972] 1f02              64 mtdblock2 
[    1.007981]  (driver?)
[    1.021127] 1f03            1536 mtdblock3 
[    1.021137]  (driver?)
[    1.034319] 1f04              64 mtdblock4 
[    1.034328]  (driver?)
[    1.047477] 1f05             128 mtdblock5 
[    1.047486]  (driver?)
[    1.060635] 1f06            6144 mtdblock6 
[    1.060644]  (driver?)
[    1.073789] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
[    1.090276] Rebooting in 1 seconds..

I wanted to reuse those user and userbackup partitions as rootfs as extra 128K! :+1:

21.02.3-1 build is out! :smiley:

added HT-TM01

I2C doesn't start, again!

[   22.643980] kmodloader: loading kernel modules from /etc/modules.d/*
[   22.756931] i2c /dev entries driver
[   22.779565] rt2880-pinmux pinctrl: pin io1 already requested by pinctrl; cannot claim for 10000900.i2c
[   22.798337] rt2880-pinmux pinctrl: pin-1 (10000900.i2c) status -22
[   22.810758] rt2880-pinmux pinctrl: could not request pin 1 (io1) from group i2c  on device rt2880-pinmux
[   22.829743] i2c-ralink 10000900.i2c: Error applying setting, reverse things back
[   22.844615] i2c-ralink: probe of 10000900.i2c failed with error -22
[   22.952306] Loading modules backported from Linux version v5.10.110-0-g3238bffaf992
[   22.967767] Backport generated by backports.git v5.10.110-1-0-g1fbde860
[   23.101852] xt_time: kernel timezone is -0000
[   23.280760] urngd: v1.0.2 started.
[   23.501313] rt2800_wmac 10180000.wmac: loaded eeprom from mtd device "factory"
[   23.515869] ieee80211 phy0: rt2x00_set_rt: Info - RT chipset 5350, rev 0500 detected
[   23.531480] ieee80211 phy0: rt2x00_set_rf: Info - RF chipset 5350 detected
[   23.545590] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'
[   23.657603] kmodloader: done loading kernel modules from /etc/modules.d/*

And I'm unsure about LEDs.

fixed sysupgrade!

It works from this version, but never tried from my 19.07.8-1 build!

added fancy extras :see_no_evil:

  • uboot-env: fw_printenv, fw_printsys, ...
  • sysinfo
  • color prompt

@xabolcs does your latest 21.02.3-1 build work in terms of basic router functions? Despite looking up what I2C is I don't know what the implications of it not starting are in terms of the router working. The LEDs not working isn't a concern.

I've been looking into upgrading various small routers including an HT-02 I have, and I find it strange that the current officially supported release of OpenWRT for the HT-02 and the other TripMates is 19.07.10, despite there being 3 other devices -- D-Link DIR-320 b1, Hame MPR-A2, Olimex RT5350F -- which all seemingly have the same specs but are supported by 22.03.04. If anyone can explain why that might be, I'm curious to know.

It doesn't have the ppp and ppp-mod-pppoe packages, so it won't work with PPPoE ISPs.
These devices have only one ethernet port, which is configured as LAN, so they are not really routers! :slightly_smiling_face:

Of course you could reconfigure the ethernet port to WAN or the other way around: use the devices as a wireless client.

And here is the new 21.02.7 release! :muscle:

BusyBox v1.33.2 (2023-03-30 12:18:04 UTC) built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt 21.02.7, r16847-f8282da11e
 -----------------------------------------------------
 | Machine: HooToo HT-TM01                           |
 | Uptime: 0d, 02:40:36                              |
 | Load: 0.42 0.12 0.04                              |
 | Flash: total: 3.4MB, free: 96KB, used: 97%        |
 | Memory: total: 27.2MB, free: 11.1MB, used: 59%    |
 | WAN:                                              |
 | LAN: 192.168.1.1, leases: 1                       |
 | radio0: mode: sta, ssid: OpenWrt, channel: 1, conn: 1 |
 -----------------------------------------------------
=== WARNING! =====================================
There is no root password defined on this device!
Use the "passwd" command to set up a new password
in order to prevent unauthorized SSH logins.
--------------------------------------------------
root@HT-TM01-E58 ~ # ping -c 4 forum.openwrt.org
PING forum.openwrt.org (139.59.210.197): 56 data bytes
64 bytes from 139.59.210.197: seq=0 ttl=49 time=23.248 ms
64 bytes from 139.59.210.197: seq=1 ttl=49 time=22.967 ms
64 bytes from 139.59.210.197: seq=2 ttl=49 time=22.608 ms
64 bytes from 139.59.210.197: seq=3 ttl=49 time=23.143 ms

--- forum.openwrt.org ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 22.608/22.991/23.248 ms

It's work in progress. The most that can happen, it will able to show the battery levels! :grinning:
But I'm clueless know. :woman_shrugging:

Nobody cares about them ... the 22.03 kernel are greater than 1536 KB, so I'm unsure if they are able to boot it.
For the HooToo HT-TM02 I intentionally disabled it. See below commit for details!

Back in the 21.02 day, the SNAPSHOT wasn't able to boot because of size problems. Fortunately the release version (of 21.02) is a little bit thinner and below 1536K and now I'm able to provide those new 21.02 releases! :muscle:

Just pushed to GitHub the release!

@xabolcs thanks for your continued work on this. I'm not a developer so some of what you discuss is over my head. On the networking side of things though I'm familiar with PPP and PPPoE so I know that I won't miss these on a router intended for travel use. :slight_smile:

Further, for I2C, since the HT-TM02 doesn't have a battery it sounds it not working shouldn't be an issue.

Do these builds have WireGuard support in the kernel? I see above that one of the previous releases used Linux kernel 5.4.188, and I know that WireGuard was backported to the 5.4 kernel, but beyond that I don't know how to tell if WireGuard is supported in this specific kernel. I'm aware the 360 MHz processor on these devices would be a huge bottleneck to WireGuard speeds, but for my purposes, even if it can hit 10 Mbps, that would prove useful for a travel router.

Also, if you feel like explaining that limit of 1536 kb for the kernel: is that due to the factory partition sizes, or is something else the reason for that limit?

Will the ht tm-02 image work on the ravpower wd-02. Its not entirely clear as the tile of this would indicate yes while the github page doesnt mention this device at all.

It works.

First boot dmesg:

BusyBox v1.33.2 (2023-03-30 12:18:04 UTC) built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt 21.02.7, r16847-f8282da11e
 -----------------------------------------------------
 | Machine: HooToo HT-TM02                           |
 | Uptime: 0d, 00:03:38                              |
 | Load: 0.55 0.52 0.23                              |
 | Flash: total: 3.4MB, free: 3.2MB, used: 5%        |
 | Memory: total: 27.2MB, free: 12.7MB, used: 53%    |
 | WAN:                                              |
 | LAN: 192.168.1.1, leases: 1                       |
 -----------------------------------------------------
=== WARNING! =====================================
There is no root password defined on this device!
Use the "passwd" command to set up a new password
in order to prevent unauthorized SSH logins.
--------------------------------------------------
root@OpenWrt ~ # dmesg 
[    0.000000] Linux version 5.4.238 (builder@buildhost) (gcc version 8.4.0 (OpenWrt GCC 8.4.0 r16847-f8282da11e)) #0 Mon Apr 17 13:15:36 2023
[    0.000000] SoC Type: Ralink RT5350 id:1 rev:3
[    0.000000] printk: bootconsole [early0] enabled
[    0.000000] CPU0 revision is: 0001964c (MIPS 24KEc)
[    0.000000] MIPS: machine is HooToo HT-TM02
[    0.000000] Initrd not found or empty - disabling initrd
[    0.000000] Primary instruction cache 32kB, VIPT, 4-way, linesize 32 bytes.
[    0.000000] Primary data cache 16kB, 4-way, VIPT, no aliases, linesize 32 bytes
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000000000000-0x0000000001ffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x0000000001ffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000001ffffff]
[    0.000000] On node 0 totalpages: 8192
[    0.000000]   Normal zone: 64 pages used for memmap
[    0.000000]   Normal zone: 0 pages reserved
[    0.000000]   Normal zone: 8192 pages, LIFO batch:0
[    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[    0.000000] pcpu-alloc: [0] 0 
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 8128
[    0.000000] Kernel command line: console=ttyS0,57600 rootfstype=squashfs,jffs2
[    0.000000] Dentry cache hash table entries: 4096 (order: 2, 16384 bytes, linear)
[    0.000000] Inode-cache hash table entries: 2048 (order: 1, 8192 bytes, linear)
[    0.000000] Writing ErrCtl register=0006f41f
[    0.000000] Readback ErrCtl register=0006f41f
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 26588K/32768K available (3706K kernel code, 165K rwdata, 516K rodata, 1236K init, 194K bss, 6180K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS: 256
[    0.000000] CPU Clock: 360MHz
[    0.000000] clocksource: systick: mask: 0xffff max_cycles: 0xffff, max_idle_ns: 583261500 ns
[    0.000000] systick: running - mult: 214748, shift: 32
[    0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 10618113593 ns
[    0.000017] sched_clock: 32 bits at 180MHz, resolution 5ns, wraps every 11930464253ns
[    0.015892] Calibrating delay loop... 239.10 BogoMIPS (lpj=478208)
[    0.060052] pid_max: default: 32768 minimum: 301
[    0.069607] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.084109] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.110466] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.129879] futex hash table entries: 256 (order: -1, 3072 bytes, linear)
[    0.143442] pinctrl core: initialized pinctrl subsystem
[    0.158735] NET: Registered protocol family 16
[    0.245773] rt2880_gpio 10000600.gpio: registering 22 gpios
[    0.256973] rt2880_gpio 10000600.gpio: registering 22 irq handlers
[    0.283571] clocksource: Switched to clocksource MIPS
[    0.296656] NET: Registered protocol family 2
[    0.305918] IP idents hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.322317] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
[    0.339078] TCP established hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.354322] TCP bind hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.368313] TCP: Hash tables configured (established 1024 bind 1024)
[    0.381329] UDP hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.394397] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.408959] NET: Registered protocol family 1
[    0.426269] rt-timer 10000100.timer: maximum frequency is 3662Hz
[    0.445278] workingset: timestamp_bits=30 max_order=13 bucket_order=0
[    0.473279] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.484902] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.547201] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
[    0.565281] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
[    0.585107] printk: console [ttyS0] disabled
[    0.593761] 10000c00.uartlite: ttyS0 at MMIO 0x10000c00 (irq = 20, base_baud = 2500000) is a Palmchip BK-3103
[    0.613509] printk: console [ttyS0] enabled
[    0.630091] printk: bootconsole [early0] disabled
[    0.680313] spi spi0.0: force spi mode3
[    0.690037] spi-nor spi0.0: mx25l6405d (8192 Kbytes)
[    0.700232] 8 fixed-partitions partitions found on MTD device spi0.0
[    0.713019] Creating 8 MTD partitions on "spi0.0":
[    0.722672] 0x000000000000-0x000000030000 : "u-boot"
[    0.735076] 0x000000030000-0x000000040000 : "config"
[    0.747741] 0x000000040000-0x000000050000 : "factory"
[    0.760556] 0x000000050000-0x0000001d0000 : "kernel"
[    0.773235] 0x0000001d0000-0x0000001e0000 : "u-boot-env"
[    0.786394] 0x0000001e0000-0x0000001f0000 : "userbackup"
[    0.799823] 0x0000001f0000-0x000000200000 : "user"
[    0.812086] 0x000000200000-0x000000800000 : "rootfs"
[    0.824669] mtd: device 7 (rootfs) set to be root filesystem
[    0.862072] 1 squashfs-split partitions found on MTD device rootfs
[    0.874614] 0x000000494000-0x000000800000 : "rootfs_data"
[    0.901509] rt3050-esw 10110000.esw: link changed 0x00
[    0.916419] mtk_soc_eth 10100000.ethernet eth0: mediatek frame engine at 0xb0100000, irq 5
[    0.934288] rt2880_wdt 10000120.watchdog: Initialized
[    0.948015] NET: Registered protocol family 10
[    0.970054] Segment Routing with IPv6
[    0.977879] NET: Registered protocol family 17
[    0.987041] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[    1.012997] 8021q: 802.1Q VLAN Support v1.8
[    1.036759] VFS: Mounted root (squashfs filesystem) readonly on device 31:7.
[    1.063971] Freeing unused kernel memory: 1236K
[    1.073109] This architecture does not have kernel memory protection.
[    1.086005] Run /sbin/init as init process
[    4.973189] init: Console is alive
[    4.980943] init: - watchdog -
[    7.162200] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[    7.719066] usbcore: registered new interface driver usbfs
[    7.730526] usbcore: registered new interface driver hub
[    7.741558] usbcore: registered new device driver usb
[    7.767338] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    7.783289] fsl-ehci: Freescale EHCI Host controller driver
[    7.798936] ehci-platform: EHCI generic platform driver
[    7.820261] phy phy-usbphy.0: remote usb device wakeup disabled
[    7.832161] phy phy-usbphy.0: UTMI 16bit 30MHz
[    7.841101] ehci-platform 101c0000.ehci: EHCI Host Controller
[    7.852725] ehci-platform 101c0000.ehci: new USB bus registered, assigned bus number 1
[    7.868898] ehci-platform 101c0000.ehci: irq 26, io mem 0x101c0000
[    7.895661] ehci-platform 101c0000.ehci: USB 2.0 started, EHCI 1.00
[    7.910922] hub 1-0:1.0: USB hub found
[    7.920095] hub 1-0:1.0: 1 port detected
[    7.941313] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    7.957272] ohci-platform: OHCI generic platform driver
[    7.968461] ohci-platform 101c1000.ohci: Generic Platform OHCI controller
[    7.982286] ohci-platform 101c1000.ohci: new USB bus registered, assigned bus number 2
[    7.998455] ohci-platform 101c1000.ohci: irq 26, io mem 0x101c1000
[    8.074170] hub 2-0:1.0: USB hub found
[    8.083265] hub 2-0:1.0: 1 port detected
[    8.104047] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    8.129669] init: - preinit -
[    8.183759] usb 1-1: new high-speed USB device number 2 using ehci-platform
[    9.247058] hub 1-1:1.0: USB hub found
[    9.783869] hub 1-1:1.0: 4 ports detected
[   10.257833] random: jshn: uninitialized urandom read (4 bytes read)
[   10.340199] random: procd: uninitialized urandom read (4 bytes read)
[   10.450656] random: jshn: uninitialized urandom read (4 bytes read)
[   11.793244] rt3050-esw 10110000.esw: link changed 0x00
[   13.416508] rt3050-esw 10110000.esw: link changed 0x10
[   16.633263] mount_root: jffs2 not ready yet, using temporary tmpfs overlay
[   16.656969] urandom-seed: Seed file not found (/etc/urandom.seed)
[   16.752390] procd: - early -
[   16.758636] procd: - watchdog -
[   18.106939] procd: - watchdog -
[   18.115104] procd: - ubus -
[   18.640942] random: ubusd: uninitialized urandom read (4 bytes read)
[   18.658425] random: ubusd: uninitialized urandom read (4 bytes read)
[   18.672926] random: ubusd: uninitialized urandom read (4 bytes read)
[   18.699036] procd: - init -
[   20.192080] random: jshn: uninitialized urandom read (4 bytes read)
[   20.228157] random: ubusd: uninitialized urandom read (4 bytes read)
[   20.241745] random: ubus: uninitialized urandom read (4 bytes read)
[   21.193107] kmodloader: loading kernel modules from /etc/modules.d/*
[   21.294925] Loading modules backported from Linux version v5.10.168-0-g707c48210a53
[   21.310383] Backport generated by backports.git v5.10.168-1-0-gd990acb2
[   21.444912] xt_time: kernel timezone is -0000
[   21.833364] rt2800_wmac 10180000.wmac: loaded eeprom from mtd device "factory"
[   21.847984] ieee80211 phy0: rt2x00_set_rt: Info - RT chipset 5350, rev 0500 detected
[   21.863603] ieee80211 phy0: rt2x00_set_rf: Info - RF chipset 5350 detected
[   21.877746] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'
[   21.960061] urngd: v1.0.2 started.
[   22.004691] kmodloader: done loading kernel modules from /etc/modules.d/*
[   23.007044] random: crng init done
[   23.014020] random: 21 urandom warning(s) missed due to ratelimiting
[   89.909234] rt3050-esw 10110000.esw: link changed 0x00
[   91.548193] rt3050-esw 10110000.esw: link changed 0x10
[   98.659461] jffs2_scan_eraseblock(): End of filesystem marker found at 0x0
[   98.688118] jffs2_build_filesystem(): unlocking the mtd device... 
[   98.688135] done.
[   98.704531] jffs2_build_filesystem(): erasing all blocks after the end marker... 
[  104.256413] br-lan: port 1(eth0) entered blocking state
[  104.281965] br-lan: port 1(eth0) entered disabled state
[  104.293257] device eth0 entered promiscuous mode
[  104.501838] br-lan: port 1(eth0) entered blocking state
[  104.512421] br-lan: port 1(eth0) entered forwarding state
[  105.227805] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready
[  143.753666] done.
[  143.757694] jffs2: notice: (1491) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of xref (0 dead, 0 orphan) found.
[  144.127289] overlayfs: upper fs does not support tmpfile.