MikroTik rb450gx4 support

Hi Johnth:
There is no "b - booter options" in my device.

Press any key within 2 seconds to enter setup

RouterBOOT-6.42
What do you want to configure?
   d - boot delay
   k - boot key
   s - serial console
   n - silent boot
   o - boot device
   r - reset booter configuration
   e - format nand
   w - repartition nand
   g - upgrade firmware
   i - board info
   p - boot protocol
   x - exit setup
your choice: 

My RB450Gx4 can boot with [openwrt-ipq40xx-mikrotik_rb450gx4-initramfs-fit-uImage.elf].
12a

Is there anything I can check in this linux ?
Besides, not sure I can see more device mtd3 ~ mtd7 ?

Thanks!

  • arktos

Okay, too old.

Looks like you primary RouterBOOT and backup are the same 6.42 version, and there is a known bug in them: https://forum.mikrotik.com/viewtopic.php?p=682925

Extract the ipq4000-*fwf from an NPK and use that to upgrade RouterBOOT (from within RouterBOOT). Or ask Mikrotik support for it.

Hi Johnth:
Yes, I saw this post before.
So, I had tried to upgrade firmware by using XMODEM.
But my device still cannot be worked.

Do you think I can upgrade my device to use OpenWrt ?

Thanks!

  • arktos

Is this product supported or is it dead project for it?
I tried to install it, but it will go to boot loop after that.

RouterBOOT booter 6.49.11

RB450Gx4

CPU frequency: 716 MHz
  Memory size: 1024 MiB
    NAND size: 512 MiB

Press any key within 2 seconds to enter setup..
writing settings to flash... OK
Please, check ethernet cable...
trying bootp protocol...... OK
Got IP address: 192.168.1.131
resolved mac address 00:22:20:29:D8:55
Gateway: 192.168.1.10
transfer started ............................................................... transfer ok, time=5.64s
setting up elf image... OK
jumping to kernel code
Jumping to kernel

OpenWrt kernel loader for Qualcomm IPQ-4XXX/IPQ-806X
Copyright (C) 2019  Sergey Sergeev <adron@mstnt.com>

Extracting LZMA kernel...Done
Starting kernel at 0x80208000

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.19.62 (robimarko@localhost.localdomain) (gcc version 7.4.0 (OpenWrt GCC 7.4.0 r10661-7fc2487829)) #0 SMP Fri Aug 2 14:42:36 2019
[    0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d
[    0.000000] CPU: div instructions available: patching division code
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] OF: fdt: Machine model: Mikrotik RouterBOARD RB450Gx4
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] random: get_random_bytes called from start_kernel+0x7c/0x438 with crng_init=0
[    0.000000] percpu: Embedded 15 pages/cpu s29964 r8192 d23284 u61440
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 259904
[    0.000000] Kernel command line: 
[    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
[    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] Memory: 1011220K/1046528K available (4853K kernel code, 169K rwdata, 1324K rodata, 17408K init, 231K bss, 35308K reserved, 0K cma-reserved, 262144K highmem)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0xf0800000 - 0xff800000   ( 240 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xf0000000   ( 768 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]       .text : 0x(ptrval) - 0x(ptrval)   (5846 kB)
[    0.000000]       .init : 0x(ptrval) - 0x(ptrval)   (17408 kB)
[    0.000000]       .data : 0x(ptrval) - 0x(ptrval)   ( 170 kB)
[    0.000000]        .bss : 0x(ptrval) - 0x(ptrval)   ( 232 kB)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000000] arch_timer: cp15 timer(s) running at 48.00MHz (virt).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0xb11fd3bfb, max_idle_ns: 440795203732 ns
[    0.000008] sched_clock: 56 bits at 48MHz, resolution 20ns, wraps every 4398046511096ns
[    0.000021] Switching to timer-based delay loop, resolution 20ns
[    0.000259] Calibrating delay loop (skipped), value calculated using timer frequency.. 96.00 BogoMIPS (lpj=480000)
[    0.000277] pid_max: default: 32768 minimum: 301
[    0.000474] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.000494] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.001416] CPU: Testing write buffer coherency: ok
[    0.002367] Setting up static identity map for 0x80300000 - 0x80300060
[    0.002527] rcu: Hierarchical SRCU implementation.
[    0.003242] smp: Bringing up secondary CPUs ...
[    0.006159] smp: Brought up 1 node, 4 CPUs
[    0.006177] SMP: Total of 4 processors activated (384.00 BogoMIPS).
[    0.006185] CPU: All CPU(s) started in SVC mode.
[    0.010531] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
[    0.010682] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.010703] futex hash table entries: 1024 (order: 4, 65536 bytes)
[    0.010955] pinctrl core: initialized pinctrl subsystem
[    0.011951] NET: Registered protocol family 16
[    0.012211] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.013375] cpuidle: using governor ladder
[    0.013420] cpuidle: using governor menu
[    0.029505] usbcore: registered new interface driver usbfs
[    0.029567] usbcore: registered new interface driver hub
[    0.029647] usbcore: registered new device driver usb
[    0.029695] pps_core: LinuxPPS API ver. 1 registered
[    0.029706] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.029737] PTP clock support registered
[    0.031207] clocksource: Switched to clocksource arch_sys_counter
[    0.032127] NET: Registered protocol family 2
[    0.032734] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes)
[    0.032771] TCP established hash table entries: 8192 (order: 3, 32768 bytes)
[    0.032877] TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
[    0.033040] TCP: Hash tables configured (established 8192 bind 8192)
[    0.033176] UDP hash table entries: 512 (order: 2, 16384 bytes)
[    0.033230] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
[    0.033496] NET: Registered protocol family 1
[    0.241343] No memory allocated for crashlog
[    0.241776] workingset: timestamp_bits=14 max_order=18 bucket_order=4
[    0.246626] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.246642] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.252499] bounce: pool size: 64 pages
[    0.252525] io scheduler noop registered
[    0.252535] io scheduler deadline registered (default)
[    0.254706] bam-dma-engine 8e04000.dma: num-channels unspecified in dt
[    0.254724] bam-dma-engine 8e04000.dma: num-ees unspecified in dt
[    0.255972] tcsr 1949000.tcsr: setting wifi_glb_cfg = 41000000
[    0.256054] tcsr 194b000.tcsr: setting usb hs phy mode select = e700e7
[    0.256129] tcsr 1953000.ess_tcsr: setting ess interface select = 0
[    0.256202] tcsr 1957000.tcsr: setting wifi_noc_memtype_m0_m2 = 2222222
[    0.256869] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
[    0.257451] msm_serial 78af000.serial: msm_serial: detected port #0
[    0.257491] msm_serial 78af000.serial: uartclk = 1843200
[    0.257541] 78af000.serial: ttyMSM0 at MMIO 0x78af000 (irq = 27, base_baud = 115200) is a MSM
[    0.257565] msm_serial: console setup on port #0
[    0.772603] console [ttyMSM0] enabled
[    0.777505] msm_serial: driver initialized
[    0.785389] loop: module loaded
[    0.787027] nand: device found, Manufacturer ID: 0x01, Chip ID: 0xdc
[    0.787854] nand: AMD/Spansion S34ML04G2
[    0.794509] nand: 512 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 128
[    0.798404] 2 fixed-partitions partitions found on MTD device qcom_nand.0
[    0.805760] Creating 2 MTD partitions on "qcom_nand.0":
[    0.812698] 0x000000000000-0x000001000000 : "kernel"
[    0.842754] random: fast init done
[    0.843936] 0x000001000000-0x000020000000 : "ubi"
[    1.633732] spi_qup 78b5000.spi: IN:block:16, fifo:64, OUT:block:16, fifo:64
[    1.643771] m25p80 spi0.0: w25q16jv (2048 Kbytes)
[    1.643835] 6 fixed-partitions partitions found on MTD device spi0.0
[    1.647453] Creating 6 MTD partitions on "spi0.0":
[    1.653908] 0x000000000000-0x000000023000 : "Qualcomm-boot1"
[    1.659204] 0x000000023000-0x000000080000 : "Qualcomm-boot2"
[    1.664974] 0x000000080000-0x00000008e000 : "RouterBoot"
[    1.670549] 0x00000008e000-0x00000008f000 : "hard_config"
[    1.675880] 0x000000090000-0x0000000a0000 : "dts_config"
[    1.681155] 0x0000000bd000-0x0000000be000 : "soft_config"
[    1.687220] libphy: ipq40xx_mdio: probed
[    1.766447] ESS reset ok!
[    1.796762] ESS reset ok!
[    2.214676] libphy: Fixed MDIO Bus: probed
[    2.215550] EDMA using MAC@ - using
[    2.215567] ae:e7:91:86:b1:dd
[    2.221962] EDMA using MAC@ - using
[    2.221976] da:54:c9:68:66:61
[    2.322222] i2c /dev entries driver
[    2.324228] sdhci: Secure Digital Host Controller Interface driver
[    2.324516] sdhci: Copyright(c) Pierre Ossman
[    2.330764] sdhci-pltfm: SDHCI platform and OF driver helper
[    2.335677] sdhci_msm 7824900.sdhci: Got CD GPIO
[    2.341447] sdhci_msm 7824900.sdhci: Linked as a consumer to regulator.1
[    2.380140] mmc0: SDHCI controller on 7824900.sdhci [7824900.sdhci] using ADMA 64-bit
[    2.400406] NET: Registered protocol family 10
[    2.401968] Segment Routing with IPv6
[    2.403837] NET: Registered protocol family 17
[    2.407704] 8021q: 802.1Q VLAN Support v1.8
[    2.411881] Registering SWP/SWPB emulation handler
[    2.422359] UBI: auto-attach mtd1
[    2.422395] ubi0: attaching mtd1
[    3.200783] random: crng init done
[    8.859338] ubi0: scanning is finished
[    8.883259] ubi0: attached mtd1 (name "ubi", size 496 MiB)
[    8.883299] ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
[    8.887649] ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 2048
[    8.894591] ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096
[    8.901398] ubi0: good PEBs: 3968, bad PEBs: 0, corrupted PEBs: 0
[    8.908132] ubi0: user volume: 2, internal volumes: 1, max. volumes count: 128
[    8.914417] ubi0: max/mean erase counter: 5/3, WL threshold: 4096, image sequence number: 1825908201
[    8.921537] ubi0: available PEBs: 0, total reserved PEBs: 3968, PEBs reserved for bad PEB handling: 80
[    8.930828] ubi0: background thread "ubi_bgt0d" started, PID 93
[    8.932680] block ubiblock0_0: created from ubi0:0(rootfs)
[    8.945754] ubiblock: device ubiblock0_0 (rootfs) set to be root filesyste�[    8.983446] Freeing unused kernel memory: 17408K
[    9.004383] Run /init as init process
[    9.032864] init: Console is alive
[    9.033091] init: - watchdog -
[    9.045128] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[    9.082945] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    9.086566] init: - preinit -
[    9.750847] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[    9.751005] 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
[   12.965127] procd: - early -
[   12.965265] procd: - watchdog -
[   13.604191] procd: - watchdog -
[   13.604475] procd: - ubus -
[   13.657752] procd: - init -
Please press Enter to activate this console.
[   13.898646] urngd: v1.0.0 started.
[   13.918853] kmodloader: loading kernel modules from /etc/modules.d/*
[   13.926583] ntfs: driver 2.1.32 [Flags: R/O MODULE].
[   13.943227] input: beeper as /devices/platform/beeper/input/input0
[   13.946854] fuse init (API version 7.27)
[   13.964406] xt_time: kernel timezone is -0000
[   13.977547] PPP generic driver version 2.4.2
[   13.978510] NET: Registered protocol family 24
[   13.987661] kmodloader: done loading kernel modules from /etc/modules.d/*
[   33.567580] br-lan: port 1(eth0) entered blocking state
[   33.567619] br-lan: port 1(eth0) entered disabled state
[   33.572171] device eth0 entered promiscuous mode
[   33.579698] IPv6: ADDRCONF(NETDEV_UP): br-lan: link is not ready
[   33.595950] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
[   33.597101] ess_edma c080000.edma: eth1: GMAC Link is up with phy_speed=1000
[   33.600737] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready
[   34.631695] br-lan: port 1(eth0) entered blocking state
[   34.631740] br-lan: port 1(eth0) entered forwarding state
[   34.637004] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready

root@OpenWrt:/tmp# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 01000000 00020000 "kernel"
mtd1: 1f000000 00020000 "ubi"
mtd2: 00023000 00001000 "Qualcomm-boot1"
mtd3: 0005d000 00001000 "Qualcomm-boot2"
mtd4: 0000e000 00001000 "RouterBoot"
mtd5: 00001000 00001000 "hard_config"
mtd6: 00010000 00001000 "dts_config"
mtd7: 00001000 00001000 "soft_config"

root@OpenWrt:/tmp# ubidetach -p /dev/mtd1
[  111.642702] block ubiblock0_0: released
[  111.643214] ubi0: detaching mtd1
[  111.656188] ubi0: mtd1 is detached

root@OpenWrt:/tmp# ubiformat /dev/mtd1 -y
ubiformat: mtd1 (nand), size 520093696 bytes (496.0 MiB), 3968 eraseblocks of 131072 bytes (128.0 KiB), min. I/O size 2048 bytes
libscan: scanning eraseblock 3967 -- 100 % complete  
ubiformat: 3968 eraseblocks have valid erase counter, mean value is 3
ubiformat: formatting eraseblock 3967 -- 100 % complete 

root@OpenWrt:/tmp# wget http://10.29.231.3/o.bin
--2024-07-12 09:41:49--  http://10.29.231.3/o.bin
Connecting to 10.29.231.3:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 12299011 (12M) [application/octet-stream]
Saving to: 'o.bin'

o.bin               100%[===================>]  11.73M  1.45MB/s    in 8.5s    

2024-07-12 09:41:58 (1.38 MB/s) - 'o.bin' saved [12299011/12299011]

root@OpenWrt:/tmp# md5sum o.bin 
5bf5e105e6c5af05fc6cce40b4031cd9  o.bin

root@OpenWrt:/tmp# sysupgrade -v o.bin
Cannot save config while running from ramdisk.
Commencing upgrade. Closing all shell sessions.
Watchdog handover: fd=3
- watchdog -
killall: telnetd: no process killed
Sending TERM to remaining processes ... blockd dnsmasq ntpd ubusd urngd uwsgi sh: 1: unknown operand
logd rpcd nginx nginx nginx /lib/upgrade/stage2: line 101: can't open /proc/743/cmdline: no such file
nginx /lib/upgrade/stage2: line 101: can't open /proc/744/cmdline: no such file
nginx netifd odhcpd 
Sending KILL to remaining processes ... 
Performing system upgrade...
Unlocking kernel ...

Writing from <stdin> to kernel ...     
[  261.285839] ubi0: attaching mtd1
[  267.909783] ubi0: scanning is finished
[  267.938807] ubi0: attached mtd1 (name "ubi", size 496 MiB)
[  267.938847] ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
[  267.943261] ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 2048
[  267.950054] ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096
[  267.956958] ubi0: good PEBs: 3968, bad PEBs: 0, corrupted PEBs: 0
[  267.963706] ubi0: user volume: 0, internal volumes: 1, max. volumes count: 128
[  267.969935] ubi0: max/mean erase counter: 6/4, WL threshold: 4096, image sequence number: 895283741
[  267.977083] ubi0: available PEBs: 3884, total reserved PEBs: 84, PEBs reserved for bad PEB handling: 80
[  267.986052] ubi0: background thread "ubi_bgt0d" started, PID 1579
UBI device number 0, total 3968 LEBs (503840768 bytes, 480.5 MiB), available 3884 LEBs (493174784 bytes, 470.3 MiB), LEB size 126976 bytes (124.0 KiB)
Volume ID 0, size 46 LEBs (5840896 bytes, 5.5 MiB), LEB size 126976 bytes (124.0 KiB), dynamic, name "rootfs", alignment 1
Set volume size to 487333888
Volume ID 1, size 3838 LEBs (487333888 bytes, 464.7 MiB), LEB size 126976 bytes (124.0 KiB), dynamic, name "rootfs_data", alignment 1
sysupgrade successful
umount: can't unmount /dev: Resource busy
umount: can't unmount /tmp: Resource busy
umount: can't unmount /: Invalid argument
[
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.1.1-00096
S - IMAGE_VARIANT_STRING=DAABANAZA
S - OEM_IMAGE_VERSION_STRING=CRM
S - Boot Config, 0x00000021
S - Core 0 Frequency, 0 MHz
B -       262 - PBL, Start
B -      1343 - bootable_media_detect_entry, Start
B -      1687 - bootable_media_detect_success, Start
B -      1701 - elf_loader_entry, Start
B -      5142 - auth_hash_seg_entry, Start
B -      7324 - auth_hash_seg_exit, Start
B -    583961 - elf_segs_hash_verify_entry, Start
B -    701021 - PBL, End
B -    701045 - SBL1, Start
B -    789657 - pm_device_init, Start
D -         6 - pm_device_init, Delta
B -    791188 - boot_flash_init, Start
D -     46218 - boot_flash_init, Delta
B -    841611 - boot_config_data_table_init, Start
D -      3886 - boot_config_data_table_init, Delta - (419 Bytes)
B -    848824 - clock_init, Start
D -      7561 - clock_init, Delta
B -    860915 - CDT version:2,Platform ID:8,Major ID:1,Minor ID:0,Subtype:0
B -    864403 - sbl1_ddr_set_params, Start
B -    869390 - cpr_init, Start
D -         2 - cpr_init, Delta
B -    873882 - Pre_DDR_clock_init, Start
D -         4 - Pre_DDR_clock_init, Delta
D -     13146 - sbl1_ddr_set_params, Delta
B -    888954 - pm_driver_init, Start
D -         2 - pm_driver_init, Delta
B -    956934 - sbl1_wait_for_ddr_training, Start
D -        29 - sbl1_wait_for_ddr_training, Delta
B -    977804 - Image Load, Start
D -    140447 - QSEE Image Loaded, Delta - (262104 Bytes)
B -   1118747 - Image Load, Start
D -      1440 - SEC Image Loaded, Delta - (2048 Bytes)
B -   1128990 - Image Load, Start
D -     17980 - APPSBL Image Loaded, Delta - (32072 Bytes)
B -   1147386 - QSEE Execution, Start
D -        58 - QSEE Execution, Delta
B -   1153491 - SBL1, End
D -    454555 - SBL1, Delta
S - Flash Throughput, 1856 KB/s  (296643 Bytes,  159798 us)
S - DDR Frequency, 672 MHz


RouterBOOT booter 6.49.11

RB450Gx4

CPU frequency: 716 MHz
  Memory size: 1024 MiB
    NAND size: 512 MiB

Press any key within 2 seconds to enter setup..

loading kernel... OK
setting up elf image... OK
jumping to kernel code
Jumping to kernel

OpenWrt kernel loader for Qualcomm IPQ-4XXX/IPQ-806X
Copyright (C) 2019  Sergey Sergeev <adron@mstnt.com>


Op ret = -97
Auto reboot in 5 sec