Adding OpenWrt support for Xiaomi AX3600 (Part 1)

@robimarko I have seen the ipq40xx pull a couple hours ago. I think it is appropriate to congratulate, as this was clearly a massive undertaking.

I hope the knowledge gained can be reused for the 806x/807x targets :slightly_smiling_face:

4 Likes

Thanks, but 807x is a completely different beast for which there isn't even a broken datasheet we had for IPQ40xx

Hey guys, about the

ath11k c000000.wifi: failed to flush transmit queue, data pkts pending 305

I took a look at the code (I'm not a C dev though), it looks like it's some kind of performance issue, and I went into the lazy guy's debug methods.

musl yes it's good for small devices (arm) and may be faster than glibc on not very powerfull devices, but glibc can be faster on more powerful CPU's
So I rebuilt the image with glibc instead of musl, have it running for almost 2 days without a warning (i used to have at least 4 to 5 per day)

Also, and this part doesn't make much sense, it seems the memory management is somewhat better as well, as I had OOMS (I have nginx and haproxy running as well, and some high traffic wireguard vpn), and so far, nothing, seems stable so far.

I'll let it run until something happens, and also built it with default ondemand (although this was already mentioned here) governor which made everything better! less latencies and better nat throughput benchmarks.

EDIT: Also added zram-swap, although still didn't reach that mark

EDIT: I totally disregarded that the kernel doesn't use libc, ignore this comment

1 Like

That makes absolutely zero sense, because the kernel doesn't even use libc.

1 Like

OMFG, I have no idea how I've missed this, yeah, indeed, totally f'in fail on my end!!! But then the only kernel build difference is the governor? from schedutil to ondemand?
Thing is , it's way more stable, at least RAM usage wise, can be that the entire user space uses glibc now instead of musl?

Google says:
"Under musl, constructors only run the first time a library is run, and destructors only run on exit. Under glibc, the contents of all static storage in a library will be reset to its original state if the library is unloaded and reloaded. Under musl, it will never be reset."

So perhaps this difference between musl and libc is what you observe as better memory management?

3 Likes

Can be, yes, makes sense!

But how do you explain no ath11k errors? (yes, i know that kernel doesn't use libc)

Hey! I'm finally trying to rebuild robimarko's branch for ax3600, just adding wireguard support. I started with this page: https://openwrt.org/docs/guide-developer/toolchain/use-buildsystem and installed all the dependencies for ubuntu.

Now, I'm stuck on a simple check when setting up the environment - the python3-distutils check never ends (I waited at least 10 mins) and my python setup is OK, I'm pretty sure. How can I debug it? Here's what I've done so far:

~/devel via 🐍 pyenv took 2s ➜  git clone https://github.com/robimarko/openwrt.git openwrt-robimarko
Cloning into 'openwrt-robimarko'...
remote: Enumerating objects: 599100, done.
remote: Counting objects: 100% (2/2), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 599100 (delta 0), reused 0 (delta 0), pack-reused 599098
Receiving objects: 100% (599100/599100), 225.53 MiB | 14.04 MiB/s, done.
Resolving deltas: 100% (399267/399267), done.
Updating files: 100% (8860/8860), done.
~/devel via 🐍 pyenv system took 28s ➜  cd openwrt-robimarko 
…/openwrt-robimarko on ξ‚  master ➜  git checkout ipq807x-5.15-pr 
Updating files: 100% (9071/9071), done.
Branch 'ipq807x-5.15-pr' set up to track remote branch 'ipq807x-5.15-pr' from 'origin'.
Switched to a new branch 'ipq807x-5.15-pr'
…/openwrt-robimarko on ξ‚  ipq807x-5.15-pr ➜  ./scripts/feeds update -a
Updating feed 'packages' from 'https://git.openwrt.org/feed/packages.git' ...
Cloning into './feeds/packages'...
remote: Enumerating objects: 169320, done.
remote: Counting objects: 100% (169320/169320), done.
remote: Compressing objects: 100% (69652/69652), done.
remote: Total 169320 (delta 98083), reused 161167 (delta 91024), pack-reused 0
Receiving objects: 100% (169320/169320), 46.93 MiB | 17.05 MiB/s, done.
Resolving deltas: 100% (98083/98083), done.
Updating feed 'luci' from 'https://git.openwrt.org/project/luci.git' ...
Cloning into './feeds/luci'...
remote: Enumerating objects: 35242, done.
remote: Counting objects: 100% (35242/35242), done.
remote: Compressing objects: 100% (5898/5898), done.
remote: Total 342185 (delta 31433), reused 30517 (delta 27545), pack-reused 306943
Receiving objects: 100% (342185/342185), 138.53 MiB | 24.78 MiB/s, done.
Resolving deltas: 100% (196186/196186), done.
Updating files: 100% (4542/4542), done.
Updating feed 'routing' from 'https://git.openwrt.org/feed/routing.git' ...
Cloning into './feeds/routing'...
remote: Enumerating objects: 10402, done.
remote: Counting objects: 100% (10402/10402), done.
remote: Compressing objects: 100% (5975/5975), done.
remote: Total 10402 (delta 4686), reused 9112 (delta 3833), pack-reused 0
Receiving objects: 100% (10402/10402), 2.44 MiB | 7.85 MiB/s, done.
Resolving deltas: 100% (4686/4686), done.
Updating feed 'telephony' from 'https://git.openwrt.org/feed/telephony.git' ...
Cloning into './feeds/telephony'...
remote: Enumerating objects: 10963, done.
remote: Counting objects: 100% (10963/10963), done.
remote: Compressing objects: 100% (6426/6426), done.
remote: Total 10963 (delta 6143), reused 7874 (delta 4313), pack-reused 0
Receiving objects: 100% (10963/10963), 2.18 MiB | 8.45 MiB/s, done.
Resolving deltas: 100% (6143/6143), done.
Create index file './feeds/packages.index' 
Checking 'working-make'... ok.
Checking 'case-sensitive-fs'... ok.
Checking 'proper-umask'... ok.
Checking 'gcc'... ok.
Checking 'working-gcc'... ok.
Checking 'g++'... ok.
Checking 'working-g++'... ok.
Checking 'ncurses'... ok.
Checking 'git'... ok.
Checking 'rsync'... ok.
Checking 'perl-data-dumper'... ok.
Checking 'perl-findbin'... ok.
Checking 'perl-file-copy'... ok.
Checking 'perl-file-compare'... ok.
Checking 'perl-thread-queue'... ok.
Checking 'tar'... ok.
Checking 'find'... ok.
Checking 'bash'... ok.
Checking 'xargs'... ok.
Checking 'patch'... ok.
Checking 'diff'... ok.
Checking 'cp'... ok.
Checking 'seq'... ok.
Checking 'awk'... ok.
Checking 'grep'... ok.
Checking 'egrep'... ok.
Checking 'getopt'... ok.
Checking 'realpath'... ok.
Checking 'stat'... ok.
Checking 'unzip'... ok.
Checking 'bzip2'... ok.
Checking 'wget'... ok.
Checking 'install'... ok.
Checking 'perl'... ok.
Checking 'python2-cleanup'... ok.
Checking 'python'... ok.
Checking 'python3'... ok.
Checking 'python3-distutils'... 

OK, I think it's about some glitches around detecting python2, doesn't sound dangerous. Still when ignored, I'm getting this warning about mkhash - I have no idea what it's about?

Checking 'python2-cleanup'... ^Cgmake: *** [/home/piontec/devel/openwrt-robimarko/include/toplevel.mk:181: staging_dir/host/.prereq-build] Interrupt
bash: line 3: /home/piontec/devel/openwrt-robimarko/staging_dir/host/bin/mkhash: No such file or directory
bash: line 3: /home/piontec/devel/openwrt-robimarko/staging_dir/host/bin/mkhash: No such file or directory

Kind-of figured it out... my system python is 3.10.6, and my wild guess is that something fails when parsing the 10 part in it. When I used pyenv to set python to 3.9.7 evrything worked fine. :person_shrugging:

Well, Python 3.10, even 3.11 should work fine, support for detecting them has been there for a while.
I have Python 3.10.7 and it detects it under Fedora just fine

At Ansuel's single partition

When sysupgrade(robimarko's repo...etc), ax3600 has gone softbrick.

Watchdog did not previously reset the system
Mon Sep  5 17:18:55 UTC 2022 upgrade: Sending TERM to remaining processes ...
Mon Sep  5 17:19:00 UTC 2022 upgrade: Sending KILL to remaining processes ...
[  122.120755] stage2 (3876): drop_caches: 3
Mon Sep  5 17:19:06 UTC 2022 upgrade: Switching to ramdisk...
[  123.427182] UBIFS (ubi0:1): background thread "ubifs_bgt0_1" stops
[  123.433938] UBIFS (ubi0:1): un-mount UBI device 0
Mon Sep  5 17:19:07 UTC 2022 upgrade: Performing system upgrade...
ubiformat: mtd11 (nand), size 37486592 bytes (35.7 MiB), 286 eraseblocks of 131072 bytes (128.0 KiB), min. I/O size 2048 bytes
libscan: scanning eraseblock 285 -- 100 % complete
ubiformat: 286 eraseblocks have valid erase counter, mean value is 21
ubiformat: error!: file "-" (size 4999640 bytes) is not multiple of eraseblock size (131072 bytes)
           error 0 (No error information)
tar: write error: Broken pipe
removing ubiblock0_0
[  125.369600] block ubiblock0_0: released
Volume ID 0, size 60 LEBs (7618560 bytes, 7.2 MiB), LEB size 126976 bytes (124.0 KiB), dynamic, name "rootfs", alignment 1
Set volume size to 200241152
Volume ID 1, size 1577 LEBs (200241152 bytes, 190.9 MiB), LEB size 126976 bytes (124.0 KiB), dynamic, name "rootfs_data", alignment 1
[  127.532837] UBIFS (ubi0:1): default file-system created
[  127.533350] UBIFS (ubi0:1): Mounting in unauthenticated mode
[  127.536997] UBIFS (ubi0:1): background thread "ubifs_bgt0_1" started, PID 4604
[  127.585560] UBIFS (ubi0:1): UBIFS: mounted UBI device 0, volume 1, name "rootfs_data"
[  127.585598] UBIFS (ubi0:1): LEB size: 126976 bytes (124 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes
[  127.592395] UBIFS (ubi0:1): FS size: 198717440 bytes (189 MiB, 1565 LEBs), max 1577 LEBs, journal size 9904128 bytes (9 MiB, 78 LEBs)
[  127.602287] UBIFS (ubi0:1): reserved for root: 4952683 bytes (4836 KiB)
[  127.614254] UBIFS (ubi0:1): media format: w5/r0 (latest is w5/r0), UUID 8A40B936-00C7-4CF2-A8A0-5148FD03B296, small LPT model
[  127.634134] UBIFS (ubi0:1): un-mount UBI device 0
[  127.634189] UBIFS (ubi0:1): background thread "ubifs_bgt0_1" stops
configuration saved
sysupgrade successful
umount: can't unmount /dev: Resource busy
umount: can't unmount /tmp: Resource busy
[  127.750454] reboot: Restarting system

Only rootfs.ubi and kernel.ubi are available in Ansuel's repo.

Format: Log Type - Time(microsec) - Message - Optional Info
Log Type: B - Since Boot(Power On Reset),  D - Delta,  S - Statistic
S - QC_IMAGE_VERSION_STRING=BOOT.BF.3.3.1-00147
S - IMAGE_VARIANT_STRING=HAACANAZA
S - OEM_IMAGE_VERSION_STRING=CRM
S - Boot Config, 0x000002e5
B -       203 - PBL, Start
B -      2740 - bootable_media_detect_entry, Start
B -      3448 - bootable_media_detect_success, Start
B -      3452 - elf_loader_entry, Start
B -      6120 - auth_hash_seg_entry, Start
B -      6367 - auth_hash_seg_exit, Start
B -     68602 - elf_segs_hash_verify_entry, Start
B -    131297 - PBL, End
B -    142587 - SBL1, Start
B -    194376 - GCC [RstStat:0x10, RstDbg:0x600000] WDog Stat : 0x4
B -    200812 - pm_device_init, Start
B -    321744 - PM_SET_VAL:Skip
D -    120322 - pm_device_init, Delta
B -    324001 - pm_driver_init, Start
D -      5337 - pm_driver_init, Delta
B -    330437 - clock_init, Start
D -      2135 - clock_init, Delta
B -    334493 - boot_flash_init, Start
D -     11895 - boot_flash_init, Delta
B -    350170 - boot_config_data_table_init, Start
D -      3172 - boot_config_data_table_init, Delta - (575 Bytes)
B -    357704 - Boot Setting :  0x00000600
B -    361638 - CDT version:2,Platform ID:8,Major ID:1,Minor ID:0,Subtype:16
B -    368562 - sbl1_ddr_set_params, Start
B -    372374 - CPR configuration: 0x300
B -    375851 - cpr_init, Start
B -    378657 - Rail:0 Mode: 5 Voltage: 808000
B -    383781 - CL CPR settled at 760000mV
B -    386618 - Rail:1 Mode: 5 Voltage: 880000
B -    390796 - Rail:1 Mode: 7 Voltage: 912000
D -     16470 - cpr_init, Delta
B -    397689 - Pre_DDR_clock_init, Start
B -    401715 - Pre_DDR_clock_init, End
B -    405101 - DDR Type : PCDDR3
B -    410804 - do ddr sanity test, Start
D -      1067 - do ddr sanity test, Delta
B -    415562 - DDR: Start of HAL DDR Boot Training
B -    420290 - DDR: End of HAL DDR Boot Training
B -    425993 - DDR: Checksum to be stored on flash is 1112850385
B -    436394 - Image Load, Start
D -    224053 - QSEE Image Loaded, Delta - (1373936 Bytes)
B -    660538 - Image Load, Start
D -        61 - SEC Image Loaded, Delta - (0 Bytes)
B -    668194 - Image Load, Start
D -     10736 - DEVCFG Image Loaded, Delta - (26004 Bytes)
B -    679021 - Image Load, Start
D -     25224 - RPM Image Loaded, Delta - (105964 Bytes)
B -    704336 - Image Load, Start
D -     96533 - APPSBL Image Loaded, Delta - (590068 Bytes)
B -    800991 - QSEE Execution, Start
D -        61 - QSEE Execution, Delta
B -    806816 - USB D+ check, Start
D -         0 - USB D+ check, Delta
B -    813191 - SBL1, End
D -    672922 - SBL1, Delta
S - Flash Throughput, 6751 KB/s  (2096547 Bytes,  310546 us)
S - DDR Frequency, 466 MHz
S - Core 0 Frequency, 800 MHz


U-Boot 2016.01 (Mar 10 2020 - 04:29:18 +0000), Build: jenkins-r3600_ota_publish-               28

DRAM:  smem ram ptable found: ver: 1 len: 4
512 MiB
NAND:  ONFI device found
ID = 1590aaef
Vendor = ef
Device = aa
SF: Unsupported flash IDs: manuf ff, jedec ffff, ext_jedec ffff
ipq_spi: SPI Flash not found (bus/cs/speed/mode) = (0/0/48000000/0)
256 MiB
MMC:   sdhci: Node Not found, skipping initialization

PCI Link Intialized
PCI1 is not defined in the device tree
In:    serial@78B3000
Out:   serial@78B3000
Err:   serial@78B3000
machid: 8010010
MMC Device 0 not found
eth5 MAC Address from ART is not valid
write phy_id=1, reg(0x8074):0x0670
write phy_id=2, reg(0x8074):0x0670
write phy_id=3, reg(0x8074):0x0670
write phy_id=4, reg(0x8074):0x0670
bootwait is on, bootdelay=5
Hit any key to stop autoboot:  0
 trigger button release!
boot from rootfs 0
  miwifi: check crash in rmem !
ubi0: attaching mtd1
ubi0: scanning is finished
ubi0: attached mtd1 (name "mtd=0", size 35 MiB)
ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 2048
ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096
ubi0: good PEBs: 286, bad PEBs: 0, corrupted PEBs: 0
ubi0: user volume: 1, internal volumes: 1, max. volumes count: 128
ubi0: max/mean erase counter: 23/20, WL threshold: 4096, image sequence number: 496007964
ubi0: available PEBs: 204, total reserved PEBs: 82, PEBs reserved for bad PEB handling: 40
Read 0 bytes from volume kernel to 44000000
No size specified -> Using max size (4825088)
Could not find PCI in device tree
## Loading kernel from FIT Image at 44000000 ...
   Using 'config@ac04' configuration
   Trying 'kernel-1' kernel subimage
     Description:  ARM64 OpenWrt Linux-5.15.63
     Type:         Kernel Image
     Compression:  gzip compressed
     Data Start:   0x440000e8
     Data Size:    4731673 Bytes = 4.5 MiB
     Architecture: AArch64
     OS:           Linux
     Load Address: 0x41000000
     Entry Point:  0x41000000
     Hash algo:    crc32
     Hash value:   721f478f
     Hash algo:    sha1
     Hash value:   fd33a99ddd9d33a22519fa01f2ad8b08c4655b0b
   Verifying Hash Integrity ... crc32+ sha1+ OK
## Loading fdt from FIT Image at 44000000 ...
   Using 'config@ac04' configuration
   Trying 'fdt-1' fdt subimage
     Description:  ARM64 OpenWrt xiaomi_ax3600 device tree blob
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x44483544
     Data Size:    39299 Bytes = 38.4 KiB
     Architecture: AArch64
     Hash algo:    crc32
     Hash value:   43ca7236
     Hash algo:    sha1
     Hash value:   7ae4b99c18197895d0714b1dad0adc7ee762e1d6
   Verifying Hash Integrity ... crc32+ sha1+ OK
   Booting using the fdt blob at 0x44483544
   Uncompressing Kernel Image ... OK
   Loading Device Tree to 4a3f3000, end 4a3ff982 ... OK
Using machid 0x8010010 from environment

Starting kernel ...

Jumping to AARCH64 kernel via monitor
[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 5.15.63 (runner@fv-az334-276) (aarch64-openwrt-linux-musl-gcc (OpenWrt GCC 11.3.0 r0-86c0161) 11.3.0, GNU ld (GNU Binutils) 2.37) #0 SMP Mon Sep 5 17:17:12 2022
[    0.000000] Machine model: Xiaomi AX3600
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000040000000-0x000000005fffffff]
[    0.000000]   DMA32    empty
[    0.000000]   Normal   empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000040000000-0x0000000040ffffff]
[    0.000000]   node   0: [mem 0x0000000041000000-0x000000004a3fffff]
[    0.000000]   node   0: [mem 0x000000004a400000-0x000000004a4fffff]
[    0.000000]   node   0: [mem 0x000000004a500000-0x000000004a5fffff]
[    0.000000]   node   0: [mem 0x000000004a600000-0x000000004e8fffff]
[    0.000000]   node   0: [mem 0x000000004e900000-0x000000005fffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x000000005fffffff]
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.0 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: MIGRATE_INFO_TYPE not supported.
[    0.000000] psci: SMC Calling Convention v1.0
[    0.000000] psci: OSI mode supported.
[    0.000000] percpu: Embedded 17 pages/cpu s30360 r8192 d31080 u69632
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 129024
[    0.000000] Kernel command line: ubi.mtd=rootfs root=mtd:ubi_rootfs rootfstype=squashfs rootwait uart_en=1 root=/dev/ubiblock0_0
[    0.000000] Unknown kernel command line parameters "uart_en=1", will be passed to user space.
[    0.000000] Dentry cache hash table entries: 65536 (order: 7, 524288 bytes, linear)
[    0.000000] Inode-cache hash table entries: 32768 (order: 6, 262144 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 415956K/524288K available (7424K kernel code, 846K rwdata, 2032K rodata, 1216K init, 271K bss, 108332K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000]  Tracing variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] Root IRQ handler: gic_handle_irq
[    0.000000] GICv2m: range[mem 0x0b00a000-0x0b00affc], SPI[448:479]
[    0.000000] arch_timer: cp15 and mmio timer(s) running at 19.20MHz (virt/virt).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x46d987e47, max_idle_ns: 440795202767 ns
[    0.000000] sched_clock: 56 bits at 19MHz, resolution 52ns, wraps every 4398046511078ns
[    0.000107] Calibrating delay loop (skipped), value calculated using timer frequency.. 38.40 BogoMIPS (lpj=192000)
[    0.000123] pid_max: default: 32768 minimum: 301
[    0.000271] Mount-cache hash table entries: 1024 (order: 1, 8192 bytes, linear)
[    0.000288] Mountpoint-cache hash table entries: 1024 (order: 1, 8192 bytes, linear)
[    0.001850] rcu: Hierarchical SRCU implementation.
[    0.002019] dyndbg: Ignore empty _ddebug table in a CONFIG_DYNAMIC_DEBUG_CORE build
[    0.002520] smp: Bringing up secondary CPUs ...
[    0.003130] Detected VIPT I-cache on CPU1
[    0.003196] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[    0.003821] Detected VIPT I-cache on CPU2
[    0.003864] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
[    0.004449] Detected VIPT I-cache on CPU3
[    0.004487] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
[    0.004553] smp: Brought up 1 node, 4 CPUs
[    0.004579] SMP: Total of 4 processors activated.
[    0.004586] CPU features: detected: 32-bit EL0 Support
[    0.004593] CPU features: detected: CRC32 instructions
[    0.004644] CPU features: emulated: Privileged Access Never (PAN) using TTBR0_EL1 switching
[    0.004654] CPU: All CPU(s) started at EL1
[    0.004675] alternatives: patching kernel code
[    0.011762] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.011800] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[    0.011958] pinctrl core: initialized pinctrl subsystem
[    0.013026] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.013528] DMA: preallocated 128 KiB GFP_KERNEL pool for atomic allocations
[    0.013571] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[    0.013610] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[    0.013952] thermal_sys: Registered thermal governor 'step_wise'
[    0.015301] cpuidle: using governor menu
[    0.015525] ASID allocator initialised with 65536 entries
[    0.069101] qcom,cpr4-apss-regulator b018000.cpr4-ctrl: CPR valid fuse count: 4
[    0.077548] SCSI subsystem initialized
[    0.077730] usbcore: registered new interface driver usbfs
[    0.077775] usbcore: registered new interface driver hub
[    0.077812] usbcore: registered new device driver usb
[    0.078045] CPUidle PSCI: failed to enable OSI mode: -95
[    0.078367] qcom_scm: convention: smc arm 64
[    0.079521] clocksource: Switched to clocksource arch_sys_counter
[    0.080291] NET: Registered PF_INET protocol family
[    0.080427] IP idents hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.080992] tcp_listen_portaddr_hash hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.081017] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.081032] TCP established hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.081083] TCP bind hash table entries: 4096 (order: 4, 65536 bytes, linear)
[    0.081167] TCP: Hash tables configured (established 4096 bind 4096)
[    0.081250] UDP hash table entries: 256 (order: 1, 8192 bytes, linear)
[    0.081278] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes, linear)
[    0.081428] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.081462] PCI: CLS 0 bytes, default 64
[    0.082546] workingset: timestamp_bits=46 max_order=17 bucket_order=0
[    0.086205] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.086225] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.089002] qcom-qmp-phy 84000.phy: Registered Qcom-QMP phy
[    0.091174] qcom-pcie 20000000.pci: host bridge /soc/pci@20000000 ranges:
[    0.091239] qcom-pcie 20000000.pci:       IO 0x0020200000..0x002020ffff -> 0x0020200000
[    0.091267] qcom-pcie 20000000.pci:      MEM 0x0020220000..0x002fffffff -> 0x0020220000
[    0.221081] qcom-pcie 20000000.pci: iATU unroll: enabled
[    0.221100] qcom-pcie 20000000.pci: Detected iATU regions: 8 outbound, 8 inbound
[    0.321168] qcom-pcie 20000000.pci: Link up
[    0.321325] qcom-pcie 20000000.pci: PCI host bridge to bus 0000:00
[    0.321343] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.321359] pci_bus 0000:00: root bus resource [io  0x0000-0xffff] (bus address [0x20200000-0x2020ffff])
[    0.321372] pci_bus 0000:00: root bus resource [mem 0x20220000-0x2fffffff]
[    0.321416] pci 0000:00:00.0: [17cb:1002] type 01 class 0x060400
[    0.321446] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x00000fff]
[    0.321527] pci 0000:00:00.0: PME# supported from D0 D3hot D3cold
[    0.324454] pci 0000:01:00.0: [168c:0050] type 00 class 0x028000
[    0.324601] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x001fffff 64bit]
[    0.324820] pci 0000:01:00.0: reg 0x30: [mem 0x00000000-0x0000ffff pref]
[    0.325279] pci 0000:01:00.0: supports D1
[    0.325290] pci 0000:01:00.0: PME# supported from D0 D1 D3hot
[    0.328083] pci 0000:00:00.0: BAR 8: assigned [mem 0x20300000-0x205fffff]
[    0.328107] pci 0000:00:00.0: BAR 9: assigned [mem 0x20600000-0x207fffff 64bit pref]
[    0.328122] pci 0000:00:00.0: BAR 0: assigned [mem 0x20220000-0x20220fff]
[    0.328137] pci 0000:00:00.0: BAR 7: assigned [io  0x1000-0x1fff]
[    0.328154] pci 0000:01:00.0: BAR 0: assigned [mem 0x20400000-0x205fffff 64bit]
[    0.328226] pci 0000:01:00.0: BAR 6: assigned [mem 0x20300000-0x2030ffff pref]
[    0.328240] pci 0000:00:00.0: PCI bridge to [bus 01-ff]
[    0.328252] pci 0000:00:00.0:   bridge window [io  0x1000-0x1fff]
[    0.328265] pci 0000:00:00.0:   bridge window [mem 0x20300000-0x205fffff]
[    0.328277] pci 0000:00:00.0:   bridge window [mem 0x20600000-0x207fffff 64bit pref]
[    0.330211] pcieport 0000:00:00.0: PME: Signaling with IRQ 82
[    0.330517] pcieport 0000:00:00.0: AER: enabled with IRQ 82
[    0.333821] bam-dma-engine 704000.dma-controller: num-channels unspecified in dt
[    0.333847] bam-dma-engine 704000.dma-controller: num-ees unspecified in dt
[    0.337377] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
[    0.337860] msm_serial 78b3000.serial: msm_serial: detected port #0
[    0.337893] msm_serial 78b3000.serial: uartclk = 3686400
[    0.337930] 78b3000.serial: ttyMSM0 at MMIO 0x78b3000 (irq = 22, base_baud = 230400) is a MSM
[    0.337956] msm_serial: console setup on port #0
[    1.152409] printk: console [ttyMSM0] enabled
[    1.157558] msm_serial: driver initialized
[    1.165460] loop: module loaded
[    1.166786] nand: device found, Manufacturer ID: 0xef, Chip ID: 0xaa
[    1.168363] nand: Winbond W29N02GZ
[    1.174977] nand: 256 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
[    1.178449] 13 fixed-partitions partitions found on MTD device qcom_nand.0
[    1.185781] Creating 13 MTD partitions on "qcom_nand.0":
[    1.192590] 0x000000000000-0x000000100000 : "0:sbl1"
[    1.199307] 0x000000100000-0x000000200000 : "0:mibib"
[    1.204201] 0x000000200000-0x000000500000 : "0:qsee"
[    1.210730] 0x000000500000-0x000000580000 : "0:devcfg"
[    1.213760] 0x000000580000-0x000000600000 : "0:rpm"
[    1.218723] 0x000000600000-0x000000680000 : "0:cdt"
[    1.223543] 0x000000680000-0x000000700000 : "0:appsblenv"
[    1.228348] 0x000000700000-0x000000800000 : "0:appsbl"
[    1.234342] 0x000000800000-0x000000880000 : "0:art"
[    1.238947] 0x000000880000-0x000000900000 : "bdata"
[    1.243744] 0x000000900000-0x000000a00000 : "pstore"
[    1.248973] 0x000000a00000-0x000002dc0000 : "kernel"
[    1.281427] 0x000002de0000-0x000010000000 : "rootfs"
[    1.446269] mtd: device 12 (rootfs) set to be root filesystem
[    1.446562] mtdsplit: no squashfs found in "rootfs"
[    1.455396] spmi spmi-0: PMIC arbiter version v2 (0x20010000)
[    1.458595] s1: supplied by regulator-dummy
[    1.461799] s2: supplied by regulator-dummy
[    1.465729] vdd_s3: supplied by regulator-dummy
[    1.470049] vdd_s4: supplied by regulator-dummy
[    1.474572] s5: supplied by regulator-dummy
[    1.478929] l1: supplied by regulator-dummy
[    1.483113] l2: supplied by regulator-dummy
[    1.487287] l3: supplied by regulator-dummy
[    1.491450] l4: supplied by regulator-dummy
[    1.495596] l5: supplied by regulator-dummy
[    1.499795] l6: supplied by regulator-dummy
[    1.503926] l7: supplied by regulator-dummy
[    1.508103] l8: supplied by regulator-dummy
[    1.512310] l9: supplied by regulator-dummy
[    1.516540] l11: supplied by regulator-dummy
[    1.520615] l12: supplied by regulator-dummy
[    1.525135] l13: supplied by regulator-dummy
[    1.543046] i2c_dev: i2c /dev entries driver
[    1.546737] sdhci: Secure Digital Host Controller Interface driver
[    1.546786] sdhci: Copyright(c) Pierre Ossman
[    1.552443] sdhci-pltfm: SDHCI platform and OF driver helper
[    1.560196] remoteproc remoteproc0: releasing cd00000.q6v5_wcss
[    1.564121] NET: Registered PF_INET6 protocol family
[    1.569075] Segment Routing with IPv6
[    1.573480] In-situ OAM (IOAM) with IPv6
[    1.577000] NET: Registered PF_PACKET protocol family
[    1.580998] 8021q: 802.1Q VLAN Support v1.8
[    1.601899] qcom,cpr4-apss-regulator b018000.cpr4-ctrl: CPR valid fuse count: 4
[    1.602202] cpr4_ipq807x_apss_read_fuse_data: apc_corner: speed bin = 0
[    1.608025] cpr4_ipq807x_apss_read_fuse_data: apc_corner: CPR fusing revision = 1
[    1.614650] cpr4_ipq807x_apss_read_fuse_data: apc_corner: CPR misc fuse value = 0
[    1.622295] cpr4_ipq807x_apss_read_fuse_data: apc_corner: Voltage boost fuse config = 0 boost = disable
[    1.629800] cpr3_mem_acc_init: apc: not using memory accelerator regulator
[    1.638928] cpr4_ipq807x_apss_calculate_open_loop_voltages: apc_corner: fused      SVS: open-loop= 704000 uV
[    1.645885] cpr4_ipq807x_apss_calculate_open_loop_voltages: apc_corner: fused      NOM: open-loop= 832000 uV
[    1.655867] cpr4_ipq807x_apss_calculate_open_loop_voltages: apc_corner: fused    TURBO: open-loop= 896000 uV
[    1.665681] cpr4_ipq807x_apss_calculate_open_loop_voltages: apc_corner: fused   STURBO: open-loop= 968000 uV
[    1.675537] cpr4_ipq807x_apss_calculate_target_quotients: apc_corner: fused      SVS: quot[ 7]= 700, quot_offset[ 7]=   0
[    1.685298] cpr4_ipq807x_apss_calculate_target_quotients: apc_corner: fused      NOM: quot[ 7]= 940, quot_offset[ 7]= 240
[    1.696147] cpr4_ipq807x_apss_calculate_target_quotients: apc_corner: fused    TURBO: quot[ 7]=1048, quot_offset[ 7]= 105
[    1.707085] cpr4_ipq807x_apss_calculate_target_quotients: apc_corner: fused   STURBO: quot[ 7]=1177, quot_offset[ 7]= 125
[    1.718162] cpr3_regulator_init_ctrl: apc: Default CPR mode = closed-loop
[    1.720225] cpufreq: cpufreq_online: CPU0: Running at unlisted initial frequency: 19200 KHz, changing to: 1017600 KHz
[    1.736805] remoteproc remoteproc0: cd00000.q6v5_wcss is available
[    1.746866] ubi0: attaching mtd12
[    2.325960] random: crng init done
[    2.695320] ubi0: scanning is finished
[    2.702222] ubi0: attached mtd12 (name "rootfs", size 210 MiB)
[    2.702264] ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
[    2.706957] ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 2048
[    2.713841] ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096
[    2.720678] ubi0: good PEBs: 1681, bad PEBs: 0, corrupted PEBs: 0
[    2.727442] ubi0: user volume: 2, internal volumes: 1, max. volumes count: 128
[    2.733702] ubi0: max/mean erase counter: 17/8, WL threshold: 4096, image sequence number: 224992871
[    2.740822] ubi0: available PEBs: 0, total reserved PEBs: 1681, PEBs reserved for bad PEB handling: 40
[    2.750119] ubi0: background thread "ubi_bgt0d" started, PID 431
β–’[    2.769183] VFS: Mounted root (squashfs filesystem) readonly on device 254:0.
[    2.769802] Freeing unused kernel memory: 1216K
[    2.809626] Run /sbin/init as init process
[    3.009642] init: Console is alive
[    3.009792] init: - watchdog -
[    3.047953] kmodloader: no module folders for kernel version 5.15.63 found
[    3.052666] init: - preinit -
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
[    5.530908] UBIFS (ubi0:1): Mounting in unauthenticated mode
[    5.531029] UBIFS (ubi0:1): background thread "ubifs_bgt0_1" started, PID 515
[    5.566002] UBIFS (ubi0:1): recovery needed
[    5.637691] UBIFS (ubi0:1): recovery completed
[    5.637804] UBIFS (ubi0:1): UBIFS: mounted UBI device 0, volume 1, name "rootfs_data"
[    5.641066] UBIFS (ubi0:1): LEB size: 126976 bytes (124 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes
[    5.648950] UBIFS (ubi0:1): FS size: 199225344 bytes (189 MiB, 1569 LEBs), max 1581 LEBs, journal size 10031104 bytes (9 MiB, 79 LEBs)
[    5.658861] UBIFS (ubi0:1): reserved for root: 4952683 bytes (4836 KiB)
[    5.670827] UBIFS (ubi0:1): media format: w5/r0 (latest is w5/r0), UUID A46417D7-9B5F-4552-B5D1-9674F6A9A888, small LPT model
[    5.679697] mount_root: switching to ubifs overlay
[    5.692389] overlayfs: null uuid detected in lower fs '/', falling back to xino=off,index=off,nfs_export=off.
[    5.698166] urandom-seed: Seeding with /etc/urandom.seed
[    5.777985] procd: - early -
[    5.778086] procd: - watchdog -
[    6.306331] procd: - watchdog -
[    6.307905] procd: - ubus -
[    6.362469] procd: - init -
Please press Enter to activate this console.
[    6.605168] kmodloader: no module folders for kernel version 5.15.63 found
[    6.620442] urngd: v1.0.2 started.
[   33.129562] l11: disabling

I want to return it to its original state. Ansuel's repo single partition is a nightmare.

Ok I guess? take serial flash original firmware done :smiley:
Nothing like other alternative where you risk to brick the router FOR REAL by flashing uboot....

It's days that you are complaining you are free to use the dual partition system or use stock...
Are you here just to say shit about me? Sorry for being rude but for real stop....

5 Likes

Are you play me?

Already pointed out:

You cannot sysupgrade with any other build without the patch from @Ansuel. This means @robimarko vanilla build or any other build cannot be used for sysupgrade! You will end with a softbrick!

For the topic. If I modify "Beacon Interval" for the 2G radio. The radio is dead after. For 5G it works fine. Any other with this problem? Could provide a log/config if needed.

2 Likes

I just tried changing 2G radio Beacon Interval:
50ms, 20ms, 200ms
All ok here

1 Like

If you have configured client and station on the same radio they need to have the same BI.

1 Like

Well I've forgotten to mention that the struggle begins with a 2nd wireless network (2nd SSID) for 2G.

So for 5G I can setup as many SSID's I want. If I change BI on 5G on any wireless network the value is applied to all others of course. Everything is fine after.
For 2G this is not working. After I've applied any value >=15. The networks do not come up again.

I hope I have explaind it good enough for you guys to understand.

1 Like