Support for Asus ZenWiFi BT8 Tri-band Wifi7 (Mediatek MT7988)

Please try new image: asus_zenwifi-bt8-ubi-cleaner__arm.trx

By the way, this is what the ubi-cleaner should look like:

UART Log
UBI volume [linux] id 4 mismatch! (expect 3)
UBI volume [linux] size 3ff000 smaller than 45fe000!
Creating dynamic volume linux2 of size 0x45fe000
ubi0 error: ubi_create_volume: not enough PEBs, only 2 available
ubi0 error: ubi_create_volume: cannot create volume 7, error -28
Create volume linux2 fail. rcode 0xffffffe4
UBI volume [jffs2] id 3 mismatch! (expect 5)
Latest UBI volumes layout.
UBI:   vol_id  reserved_pebs  alignment  data_pad  vol_type  usable_leb_size  used_ebs  used_bytes  last_eb_bytes  corrupted  upd_marker  name_len  name
UBI:        0              1          1         0   dynamic            1f000         1       1f000         1f000          0           0         5  nvram
UBI:        1              8          1         0   dynamic            1f000         8       f8000         1f000          0           0         7  Factory
UBI:        2              8          1         0   dynamic            1f000         8       f8000         1f000          0           0         8  Factory2
UBI:        3              2          1         0   dynamic            1f000         2       3e000         1f000          0           0         5  jffs2
UBI:        4             21          1         0   dynamic            1f000        21      3ff000         1f000          0           0         5  linux
UBI:        5            105          1         0   dynamic            1f000       105     1f9b000         1f000          0           0         6  rootfs
UBI:        6            679          1         0   dynamic            1f000       679     c8a7000         1f000          0           0         b  rootfs_data
UBI: 7fffefff              2          1         0   dynamic            1f000         2       3e000             2          0           0         d  layout volume
Read 1015808 bytes from volume Factory to 000000005f707ac0
EEPROM set 0: OK (version 106)
Read 1015808 bytes from volume Factory2 to 000000005f707ac0
EEPROM set 1: OK (version 106)
Read 1015808 bytes from volume Factory to 000000005fb455d0
Select EEPROM set 0 at offset 0x0.

Please choose the operation:
   1: Load System code to SDRAM via TFTP.
   2: Load System code then write to Flash via TFTP.
   3: Boot System code via Flash (default).
   4: Entr boot command line interface.
   7: Load Boot Loader code then write to Flash via Serial.
   9: Load Boot Loader code then write to Flash via TFTP.                                                                                 0
   3: Boot System code via Flash (default).

TUF-AX4200 bootloader version: 1.0.0.3
MAC Address: C8:7F:54:78:BB:3E
HwID A
Read 40 bytes from volume linux to 0000000046000000
   FIT/FDT format image found at 0x46000000,size 0x51608
Read 333360 bytes from volume linux to 0000000046000000
## Loading kernel from FIT Image at 46000000 ...
   Using 'config-1' configuration
   Trying 'kernel-1' kernel subimage
     Description:  ARM64 OpenWrt Linux-u-boot
     Type:         Kernel Image
     Compression:  lzma compressed
     Data Start:   0x460000e8
     Data Size:    309449 Bytes = 302.2 KiB
     Architecture: AArch64
     OS:           Linux
     Load Address: 0x41e00000
     Entry Point:  0x41e00000
     Hash algo:    crc32
     Hash value:   c4cfb488
     Hash algo:    sha1
     Hash value:   c86d83a59d9ed0315dcc9d0fa5a1716d8036e1c1
   Verifying Hash Integrity ... crc32+ sha1+ OK
## Loading fdt from FIT Image at 46000000 ...
   Using 'config-1' configuration
   Trying 'fdt-1' fdt subimage
     Description:  ARM64 OpenWrt asus_tuf-ax4200 device tree blob
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x4604baf4
     Data Size:    22008 Bytes = 21.5 KiB
     Architecture: AArch64
     Hash algo:    crc32
     Hash value:   1724de63
     Hash algo:    sha1
     Hash value:   4f573bff5708d8fb444732bdd23c49022c3b8ce5
   Verifying Hash Integrity ... crc32+ sha1+ OK
   Booting using the fdt blob at 0x4604baf4
Volume linux2 not found!
ubi0: detaching mtd4
ubi0: mtd4 is detached
Copy firmware from linux1(c060f000) to linux2(c4c0d000), length 51630
   Uncompressing Kernel Image
   Loading Device Tree to 000000005f7f3000, end 000000005f7fb5f7 ... OK
volume linux seq: 4

Starting kernel ...



U-Boot 2024.01-OpenWrt-r25402-012be0468c (Mar 02 2024 - 14:26:04 +0000)

CPU:   MediaTek MT7986
Model: ASUS TUF-AX4200
DRAM:  512 MiB
Core:  38 devices, 18 uclasses, devicetree: separate
MMC:
Loading Environment from nowhere... OK
In:    serial@11002000
Out:   serial@11002000
Err:   serial@11002000
Loading Environment from nowhere... OK
Net:
Warning: ethernet@15100000 (eth0) using random MAC address - 12:20:f4:c8:b0:a0
eth0: ethernet@15100000
Autoboot in 0 seconds
run ubi_CLEAN
LED 'white:system' not found (err=-19)
LED 'red:wan' not found (err=-19)
spi-nand: spi_nand spi_nand@1: Winbond SPI NAND was found.
spi-nand: spi_nand spi_nand@1: 256 MiB, block size: 128 KiB, page size: 2048, OOB size: 128
run ubi_clean
Remove UBI volume linux (id 4)
Volume linux2 not found!
Remove UBI volume rootfs (id 5)
Remove UBI volume rootfs_data (id 6)
Remove UBI volume jffs2 (id 3)

Unfortunately, now I get this:

reset button pressed!
 
## Enter Rescue Mode ##
switch prereq:0
tftpd start

Our IP address is:(192.168.1.1)
Wait for TFTP request...
tftpd open
URL: http://192.168.1.1/
D D D D Got ARP REQUEST, return our IP
GET /
GET /style.css
GET /style.css
D D D D POST /upload
    Content-Length: 418287
failsafe_validate_image: ptr(0000000046000000) copysize(0) data(00000000460000c4) size(418028) image_load_addr(1174405120)
magic_offset(27fff9)
failsafe_validate_image fail

I added a lot of zeros to the image. Try it.

I saw that there were two files now - the asus_zenwifi-bt8-ubi-cleaner__arm.trx did not work:

Uncompressing Kernel Image to 48080000
Bad Linux ARM64 Image magic!
Failed to prep arm64 kernel (err=1)
Resetting the board...

The asus_zenwifi-bt8-ubi-cleaner__uboot.trx seems to work - but it is still bootlooping:

ASUS Web UI started

Press Ctrl+C to exit
URL: http://192.168.1.1/
switch prereq:0
Got ARP REQUEST, return our IP
GET /
GET /style.css
GET /style.css
POST /upload
    Content-Length: 2625797
failsafe_validate_image: ptr(0000000000000000) copysize(0) data(00000000460000c8) size(2625536) image_load_addr(1174405120)
## Booting kernel from Legacy Image at 460000c8 ...
   Image Name:   
   Image Type:   AArch64 Linux Kernel Image (uncompressed)
   Data Size:    417964 Bytes = 408.2 KiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
failsafe_validate_image() fw_size(418028) copysize(2625536)
GET /style.css
GET /style.css
POST /flashing
    Content-Length: 59
GET /style.css
GET /style.css
GET /result
RAMtoFLASH
Chk trx magic
Download of 0x281000 bytes completed
Check TRX and write it to FLASH 
Solve TRX, ptr=0x00000000460000c8

 Erase kernel block !!
 From c06c9000 To c094a000 (2625536/h:281000)
0x280fc0 bytes written to volume linux
done. 2625536 bytes written
resetting ...

F0: 102B 0000
FA: 1042 0000
FA: 1042 0000 [0200]
F9: 0000 0000
V0: 0000 0000 [0001]
00: 0000 0000
BP: 0600 0041 [0000]
G0: 1190 0000
EC: 0000 0000 [1000]
MK: 0000 0000 [0000]
T0: 0000 019E [0101]
Jump to BL

NOTICE:  BL2: v2.10.0(release):
NOTICE:  BL2: Built : 14:59:39, May 28 2024
NOTICE:  WDT: [40000000] Software reset (reboot)
NOTICE:  CPU: MT7988
NOTICE:  EMI: Using DDR4 settings
NOTICE:  EMI: Detected DRAM size: 1024 MB
NOTICE:  EMI: complex R/W mem test passed
NOTICE:  SPI_NAND parses attributes from parameter page.
NOTICE:  SPI_NAND Detected ID 0xef
NOTICE:  Page size 2048, Block size 131072, size 134217728
NOTICE:  BL2: Booting BL31
NOTICE:  BL31: v2.10.0(release):
NOTICE:  BL31: Built : 14:59:48, May 28 2024


U-Boot 2024.04 (May 30 2024 - 18:58:13 +0800)
BT8 bootloader version: 1.0.0.2

CPU:   MediaTek MT7988
Model: mt7988-rfb
DRAM:  1 GiB
Core:  44 devices, 12 uclasses, devicetree: separate
Loading Environment from MTD... 
SPINAND raw ID: EF AE 21 
spi-nand: spi_nand spi_nand@0: Winbond W25N01KV SPI NAND was found.
spi-nand: spi_nand spi_nand@0: 128 MiB, block size: 128 KiB, page size: 2048, OOB size: 94, ECC strength 4/512, custom ECC status.
OK
In:    serial@11000000
Out:   serial@11000000
Err:   serial@11000000
ASUS BT8 gpio/led init
Net:   eth0: ethernet@15100000
ubi0: attaching mtd4
ubi0: scanning is finished
ubi0: attached mtd4 (name "UBI_DEV", size 124 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: 992, bad PEBs: 0, corrupted PEBs: 0
ubi0: user volume: 7, internal volumes: 1, max. volumes count: 128
ubi0: max/mean erase counter: 12/8, WL threshold: 4096, image sequence number: 1694403399
ubi0: available PEBs: 2, total reserved PEBs: 990, PEBs reserved for bad PEB handling: 20
UBI:   vol_id  reserved_pebs  alignment  data_pad  vol_type  usable_leb_size  used_ebs  used_bytes  last_eb_bytes  corrupted  upd_marker  name_len  name
UBI:        0              1          1         0   dynamic            1f000         1       1f000         1f000          0           0         5  nvram
UBI:        1              b          1         0   dynamic            1f000         b      155000         1f000          0           0         7  Factory
UBI:        2              b          1         0   dynamic            1f000         b      155000         1f000          0           0         8  Factory2
UBI:        3             2f          1         0   dynamic            1f000        2f      5b1000         1f000          0           0         5  linux
UBI:        4              2          1         0   dynamic            1f000         2       3e000         1f000          0           0         5  jffs2
UBI:        5             5a          1         0   dynamic            1f000        5a      ae6000         1f000          0           0         6  rootfs
UBI:        6            324          1         0   dynamic            1f000       324     615c000         1f000          0           0         b  rootfs_data
UBI: 7fffefff              2          1         0   dynamic            1f000         2       3e000             2          0           0         d  layout volume
UBI volume [linux] size 5b1000 smaller than 40e8000!
Read 1396736 bytes from volume Factory to 000000007f6a7ff0
EEPROM set 0: OK (version 108)
Read 1396736 bytes from volume Factory2 to 000000007f6a7ff0
EEPROM set 1: OK (version 108)
Read 1396736 bytes from volume Factory to 000000007fb3fbf0
Select EEPROM set 0 at offset 0x0.

BT8 bootloader version: 1.0.0.2
MAC Address: BC:FC:E7:24:A1:20

Please choose the operation: 
   1: Load System code to SDRAM via TFTP.
   2: Load System code then write to Flash via TFTP.
   3: Boot System code via Flash (default).
   4: Entr boot command line interface.
   7: Load Boot Loader code then write to Flash via Serial.
   9: Load Boot Loader code then write to Flash via TFTP.
 0 
   3: Boot System code via Flash (default).
HwID B
Read 40 bytes from volume linux to 0000000046000000
   FIT/FDT format image found at 0x46000000,size 0x6606c
Read 417940 bytes from volume linux to 0000000046000000
## Loading kernel from FIT Image at 46000000 ...
   Using 'config-1' configuration
   Trying 'kernel-1' kernel subimage
     Description:  ARM64 OpenWrt Linux-u-boot
     Type:         Kernel Image
     Compression:  lzma compressed
     Data Start:   0x460000e8
     Data Size:    371810 Bytes = 363.1 KiB
     Architecture: AArch64
     OS:           U-Boot
     Load Address: 0x48080000
     Entry Point:  0x48080000
     Hash algo:    crc32
     Hash value:   22a3f451
     Hash algo:    sha1
     Hash value:   0a91a39196e87aafc0f81586068a68a9ba9ef445
   Verifying Hash Integrity ... crc32+ sha1+ OK
   Uncompressing Kernel Image to 48080000
Resetting the board...

Im thinking it might be something wrong with my setup ? But I have just installed OpenWRT from original asus using the standard method.

No.
It's the Uboot maintainers who messed up the code so much that Uboot itself can't launch itself.

1 Like

Im just adding as a sidenote that im also testing the Asus Zenwifi BT8 (Uboot mod)

I have not tested the entire install process since this is my recovered BT8 which has OpenWRT Uboot.

I was a little worried since my ubi-layout not seems to be standard that updates might fail, but this is after a sysupgrade to the latest compiled version and everything went OK :slight_smile:

And Im starting to see some advantage having a OpenWRT controlled uboot too :wink:

Thanks to the openwrt community for working on and testing the BT8.

@Pulver, I see you're still trying to get the router working reliably. Would you mind running iperf3 -s -D && iperf3 -c 127.0.0.1 ? It would be nice to see some numbers. Thanks.

Im actually not working - im merely testing other peoples work :slight_smile:

At this point we have several versions that work and they are all easy to install, what is lacking is an easy way to go back to asus original firmware.

I ran your command on one of the BT8:s that is running OpenWRT:

root@OpenWrt:~# iperf3 -s -D && iperf3 -c 127.0.0.1
Connecting to host 127.0.0.1, port 5201
[  5] local 127.0.0.1 port 50984 connected to 127.0.0.1 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  2.26 GBytes  19.4 Gbits/sec    0    959 KBytes       
[  5]   1.00-2.00   sec  2.26 GBytes  19.4 Gbits/sec    0   1.87 MBytes       
[  5]   2.00-3.00   sec  1.44 GBytes  12.4 Gbits/sec    0   1.94 MBytes       
[  5]   3.00-4.00   sec  1.43 GBytes  12.3 Gbits/sec    0   1.94 MBytes       
[  5]   4.00-5.00   sec  1.95 GBytes  16.7 Gbits/sec    0   1.94 MBytes       
[  5]   5.00-6.00   sec  2.27 GBytes  19.5 Gbits/sec    0   1.94 MBytes       
[  5]   6.00-7.00   sec  2.29 GBytes  19.7 Gbits/sec    0   1.94 MBytes       
[  5]   7.00-8.00   sec  2.31 GBytes  19.9 Gbits/sec    0   1.94 MBytes       
[  5]   8.00-9.00   sec  2.32 GBytes  20.0 Gbits/sec    0   1.94 MBytes       
[  5]   9.00-10.00  sec  2.34 GBytes  20.1 Gbits/sec    0   1.94 MBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  20.9 GBytes  17.9 Gbits/sec    0            sender
[  5]   0.00-10.00  sec  20.9 GBytes  17.9 Gbits/sec                  receiver

3 Likes

I updated ubi-cleaner.trx image (added AMDd header).
Please try its.

2 Likes

This is from manually starting the Asus Uboot web recovery:

ASUS Web UI started

Press Ctrl+C to exit
URL: http://192.168.1.1/
switch prereq:0
Got ARP REQUEST, return our IP
GET /
GET /style.css
GET /style.css
Got ARP REQUEST, return our IP
POST /upload
    Content-Length: 2625790
failsafe_validate_image: ptr(0000000000000000) copysize(0) data(00000000460000c0) size(2625536) image_load_addr(1174405120)
## Booting kernel from Legacy Image at 460000c0 ...
   Image Name:   
   Image Type:   AArch64 Linux Kernel Image (uncompressed)
   Data Size:    1049416 Bytes = 1 MiB
   Load Address: 48080000
   Entry Point:  48080000
   Verifying Checksum ... OK
failsafe_validate_image() fw_size(1049480) copysize(2625536)
GET /style.css
GET /style.css
POST /flashing
    Content-Length: 58
GET /style.css
GET /style.css
GET /result
RAMtoFLASH
Chk trx magic
Download of 0x281000 bytes completed
Check TRX and write it to FLASH 
Solve TRX, ptr=0x00000000460000c0

 Erase kernel block !!
 From c06c9000 To c094a000 (2625536/h:281000)
0x280fc0 bytes written to volume linux
done. 2625536 bytes written
resetting ...

F0: 102B 0000
FA: 1042 0000
FA: 1042 0000 [0200]
F9: 0000 0000
V0: 0000 0000 [0001]
00: 0000 0000
BP: 0600 0041 [0000]
G0: 1190 0000
EC: 0000 0000 [1000]
MK: 0000 0000 [0000]
T0: 0000 019E [0101]
Jump to BL

NOTICE:  BL2: v2.10.0(release):
NOTICE:  BL2: Built : 14:59:39, May 28 2024
NOTICE:  WDT: [40000000] Software reset (reboot)
NOTICE:  CPU: MT7988
NOTICE:  EMI: Using DDR4 settings
NOTICE:  EMI: Detected DRAM size: 1024 MB
NOTICE:  EMI: complex R/W mem test passed
NOTICE:  SPI_NAND parses attributes from parameter page.
NOTICE:  SPI_NAND Detected ID 0xef
NOTICE:  Page size 2048, Block size 131072, size 134217728
NOTICE:  BL2: Booting BL31
NOTICE:  BL31: v2.10.0(release):
NOTICE:  BL31: Built : 14:59:48, May 28 2024


U-Boot 2024.04 (May 30 2024 - 18:58:13 +0800)
BT8 bootloader version: 1.0.0.2

CPU:   MediaTek MT7988
Model: mt7988-rfb
DRAM:  1 GiB
Core:  44 devices, 12 uclasses, devicetree: separate
Loading Environment from MTD... 
SPINAND raw ID: EF AE 21 
spi-nand: spi_nand spi_nand@0: Winbond W25N01KV SPI NAND was found.
spi-nand: spi_nand spi_nand@0: 128 MiB, block size: 128 KiB, page size: 2048, OOB size: 94, ECC strength 4/512, custom ECC status.
OK
In:    serial@11000000
Out:   serial@11000000
Err:   serial@11000000
ASUS BT8 gpio/led init
Net:   eth0: ethernet@15100000
ubi0: attaching mtd4
ubi0: scanning is finished
ubi0: attached mtd4 (name "UBI_DEV", size 124 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: 992, bad PEBs: 0, corrupted PEBs: 0
ubi0: user volume: 7, internal volumes: 1, max. volumes count: 128
ubi0: max/mean erase counter: 12/8, WL threshold: 4096, image sequence number: 1694403399
ubi0: available PEBs: 2, total reserved PEBs: 990, PEBs reserved for bad PEB handling: 20
UBI:   vol_id  reserved_pebs  alignment  data_pad  vol_type  usable_leb_size  used_ebs  used_bytes  last_eb_bytes  corrupted  upd_marker  name_len  name
UBI:        0              1          1         0   dynamic            1f000         1       1f000         1f000          0           0         5  nvram
UBI:        1              b          1         0   dynamic            1f000         b      155000         1f000          0           0         7  Factory
UBI:        2              b          1         0   dynamic            1f000         b      155000         1f000          0           0         8  Factory2
UBI:        3             2f          1         0   dynamic            1f000        2f      5b1000         1f000          0           0         5  linux
UBI:        4              2          1         0   dynamic            1f000         2       3e000         1f000          0           0         5  jffs2
UBI:        5             5a          1         0   dynamic            1f000        5a      ae6000         1f000          0           0         6  rootfs
UBI:        6            324          1         0   dynamic            1f000       324     615c000         1f000          0           0         b  rootfs_data
UBI: 7fffefff              2          1         0   dynamic            1f000         2       3e000             2          0           0         d  layout volume
UBI volume [linux] size 5b1000 smaller than 40e8000!
Read 1396736 bytes from volume Factory to 000000007f6a7ff0
EEPROM set 0: OK (version 108)
Read 1396736 bytes from volume Factory2 to 000000007f6a7ff0
EEPROM set 1: OK (version 108)
Read 1396736 bytes from volume Factory to 000000007fb3fbf0
Select EEPROM set 0 at offset 0x0.

BT8 bootloader version: 1.0.0.2
MAC Address: BC:FC:E7:24:A1:20

Please choose the operation: 
   1: Load System code to SDRAM via TFTP.
   2: Load System code then write to Flash via TFTP.
   3: Boot System code via Flash (default).
   4: Entr boot command line interface.
   7: Load Boot Loader code then write to Flash via Serial.
   9: Load Boot Loader code then write to Flash via TFTP.
 0 
   3: Boot System code via Flash (default).
HwID B
Read 40 bytes from volume linux to 0000000046000000
   FIT/FDT format image found at 0x46000000,size 0x100308
Read 1049392 bytes from volume linux to 0000000046000000
## Loading kernel from FIT Image at 46000000 ...
   Using 'config-1' configuration
   Trying 'kernel-1' kernel subimage
     Description:  ARM64 OpenWrt Linux-u-boot
     Type:         Kernel Image
     Compression:  uncompressed
     Data Start:   0x460000e8
     Data Size:    1034472 Bytes = 1010.2 KiB
     Architecture: AArch64
     OS:           Linux
     Load Address: 0x48080000
     Entry Point:  0x48080000
     Hash algo:    crc32
     Hash value:   175b93d5
     Hash algo:    sha1
     Hash value:   6481f8440e39391d31a420925a334686cdc31bb9
   Verifying Hash Integrity ... crc32+ sha1+ OK
## Loading fdt from FIT Image at 46000000 ...
   Using 'config-1' configuration
   Trying 'fdt-1' fdt subimage
     Description:  ARM64 OpenWrt asus_zenwifi-bt8 device tree blob
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x460fcb10
     Data Size:    13016 Bytes = 12.7 KiB
     Architecture: AArch64
     Hash algo:    crc32
     Hash value:   c14ff478
     Hash algo:    sha1
     Hash value:   bcf9627127ecb07ddc4c6443b631a0029b3d2e82
   Verifying Hash Integrity ... crc32+ sha1+ OK
   Booting using the fdt blob at 0x460fcb10
Working FDT set to 460fcb10
   Loading Kernel Image to 48080000
Moving Image from 0x48080000 to 0x48200000, end=482fc8e8
   Loading Device Tree to 000000007f7f2000, end 000000007f7f82d7 ... OK
Working FDT set to 7f7f2000

Starting kernel ...

But after this - nothing happens, the cursor is still blinking so its not frozen.

Should I try the other options ? Windows restore tool etc ?

No. The problem is not on your side.

I'll try to change the address for loading the image...

1 Like

I updated ubi-cleaner.trx image (change load addr to 0x48200000).
Please try its.

1 Like

Unfortunately, its still the same:

U-Boot 2024.04 (May 30 2024 - 18:58:13 +0800)
MT7988> asus_httpd

ASUS Web UI started

Press Ctrl+C to exit
URL: http://192.168.1.1/
switch prereq:0
Got ARP REQUEST, return our IP
POST /ubus/
    Content-Length: 45
GET /luci-static/resources/validation.js
GET /luci-static/resources/uci.js
GET /luci-static/resources/fs.js
GET /
GET /style.css
GET /style.css
POST /upload
    Content-Length: 2625790
failsafe_validate_image: ptr(0000000000000000) copysize(0) data(00000000460000c0) size(2625536) image_load_addr(1174405120)
## Booting kernel from Legacy Image at 460000c0 ...
   Image Name:   
   Image Type:   AArch64 Linux Kernel Image (uncompressed)
   Data Size:    1049432 Bytes = 1 MiB
   Load Address: 48200000
   Entry Point:  48200000
   Verifying Checksum ... OK
failsafe_validate_image() fw_size(1049496) copysize(2625536)
GET /style.css
GET /style.css
POST /flashing
    Content-Length: 59
GET /style.css
GET /style.css
GET /result
RAMtoFLASH
Chk trx magic
Download of 0x281000 bytes completed
Check TRX and write it to FLASH 
Solve TRX, ptr=0x00000000460000c0

 Erase kernel block !!
 From c06c9000 To c094a000 (2625536/h:281000)
0x280fc0 bytes written to volume linux
done. 2625536 bytes written
resetting ...

F0: 102B 0000
FA: 1042 0000
FA: 1042 0000 [0200]
F9: 0000 0000
V0: 0000 0000 [0001]
00: 0000 0000
BP: 0600 0041 [0000]
G0: 1190 0000
EC: 0000 0000 [1000]
MK: 0000 0000 [0000]
T0: 0000 019E [0101]
Jump to BL

NOTICE:  BL2: v2.10.0(release):
NOTICE:  BL2: Built : 14:59:39, May 28 2024
NOTICE:  WDT: [40000000] Software reset (reboot)
NOTICE:  CPU: MT7988
NOTICE:  EMI: Using DDR4 settings
NOTICE:  EMI: Detected DRAM size: 1024 MB
NOTICE:  EMI: complex R/W mem test passed
NOTICE:  SPI_NAND parses attributes from parameter page.
NOTICE:  SPI_NAND Detected ID 0xef
NOTICE:  Page size 2048, Block size 131072, size 134217728
NOTICE:  BL2: Booting BL31
NOTICE:  BL31: v2.10.0(release):
NOTICE:  BL31: Built : 14:59:48, May 28 2024


U-Boot 2024.04 (May 30 2024 - 18:58:13 +0800)
BT8 bootloader version: 1.0.0.2

CPU:   MediaTek MT7988
Model: mt7988-rfb
DRAM:  1 GiB
Core:  44 devices, 12 uclasses, devicetree: separate
Loading Environment from MTD... 
SPINAND raw ID: EF AE 21 
spi-nand: spi_nand spi_nand@0: Winbond W25N01KV SPI NAND was found.
spi-nand: spi_nand spi_nand@0: 128 MiB, block size: 128 KiB, page size: 2048, OOB size: 94, ECC strength 4/512, custom ECC status.
OK
In:    serial@11000000
Out:   serial@11000000
Err:   serial@11000000
ASUS BT8 gpio/led init
Net:   eth0: ethernet@15100000
ubi0: attaching mtd4
ubi0: scanning is finished
ubi0: attached mtd4 (name "UBI_DEV", size 124 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: 992, bad PEBs: 0, corrupted PEBs: 0
ubi0: user volume: 7, internal volumes: 1, max. volumes count: 128
ubi0: max/mean erase counter: 15/10, WL threshold: 4096, image sequence number: 1694403399
ubi0: available PEBs: 2, total reserved PEBs: 990, PEBs reserved for bad PEB handling: 20
UBI:   vol_id  reserved_pebs  alignment  data_pad  vol_type  usable_leb_size  used_ebs  used_bytes  last_eb_bytes  corrupted  upd_marker  name_len  name
UBI:        0              1          1         0   dynamic            1f000         1       1f000         1f000          0           0         5  nvram
UBI:        1              b          1         0   dynamic            1f000         b      155000         1f000          0           0         7  Factory
UBI:        2              b          1         0   dynamic            1f000         b      155000         1f000          0           0         8  Factory2
UBI:        3             2f          1         0   dynamic            1f000        2f      5b1000         1f000          0           0         5  linux
UBI:        4              2          1         0   dynamic            1f000         2       3e000         1f000          0           0         5  jffs2
UBI:        5             5a          1         0   dynamic            1f000        5a      ae6000         1f000          0           0         6  rootfs
UBI:        6            324          1         0   dynamic            1f000       324     615c000         1f000          0           0         b  rootfs_data
UBI: 7fffefff              2          1         0   dynamic            1f000         2       3e000             2          0           0         d  layout volume
UBI volume [linux] size 5b1000 smaller than 40e8000!
Read 1396736 bytes from volume Factory to 000000007f6a7ff0
EEPROM set 0: OK (version 108)
Read 1396736 bytes from volume Factory2 to 000000007f6a7ff0
EEPROM set 1: OK (version 108)
Read 1396736 bytes from volume Factory to 000000007fb3fbf0
Select EEPROM set 0 at offset 0x0.

BT8 bootloader version: 1.0.0.2
MAC Address: BC:FC:E7:24:A1:20

Please choose the operation: 
   1: Load System code to SDRAM via TFTP.
   2: Load System code then write to Flash via TFTP.
   3: Boot System code via Flash (default).
   4: Entr boot command line interface.
   7: Load Boot Loader code then write to Flash via Serial.
   9: Load Boot Loader code then write to Flash via TFTP.
 0 
   3: Boot System code via Flash (default).
HwID B
Read 40 bytes from volume linux to 0000000046000000
   FIT/FDT format image found at 0x46000000,size 0x100318
Read 1049408 bytes from volume linux to 0000000046000000
## Loading kernel from FIT Image at 46000000 ...
   Using 'config-1' configuration
   Trying 'kernel-1' kernel subimage
     Description:  ARM64 OpenWrt Linux-u-boot
     Type:         Kernel Image
     Compression:  uncompressed
     Data Start:   0x460000e8
     Data Size:    1034488 Bytes = 1010.2 KiB
     Architecture: AArch64
     OS:           Linux
     Load Address: 0x48200000
     Entry Point:  0x48200000
     Hash algo:    crc32
     Hash value:   d69ec63c
     Hash algo:    sha1
     Hash value:   6f87435fb43bbe781af5803dee69484f59f0c7f8
   Verifying Hash Integrity ... crc32+ sha1+ OK
## Loading fdt from FIT Image at 46000000 ...
   Using 'config-1' configuration
   Trying 'fdt-1' fdt subimage
     Description:  ARM64 OpenWrt asus_zenwifi-bt8 device tree blob
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x460fcb20
     Data Size:    13016 Bytes = 12.7 KiB
     Architecture: AArch64
     Hash algo:    crc32
     Hash value:   c14ff478
     Hash algo:    sha1
     Hash value:   bcf9627127ecb07ddc4c6443b631a0029b3d2e82
   Verifying Hash Integrity ... crc32+ sha1+ OK
   Booting using the fdt blob at 0x460fcb20
Working FDT set to 460fcb20
   Loading Kernel Image to 48200000
   Loading Device Tree to 000000007f7f2000, end 000000007f7f82d7 ... OK
Working FDT set to 7f7f2000

Starting kernel ...

I made a similar image for my router and got the same result:

Please choose the operation:
   1: Load System code to SDRAM via TFTP.
   2: Load System code then write to Flash via TFTP.
   3: Boot System code via Flash (default).
   4: Entr boot command line interface.
   7: Load Boot Loader code then write to Flash via Serial.
   9: Load Boot Loader code then write to Flash via TFTP.                                                                                 0
   3: Boot System code via Flash (default).

TUF-AX4200 bootloader version: 1.0.0.3
MAC Address: C8:7F:54:78:BB:3E
HwID A
Read 40 bytes from volume linux to 0000000046000000
   FIT/FDT format image found at 0x46000000,size 0x4e930
Read 321880 bytes from volume linux to 0000000046000000
## Loading kernel from FIT Image at 46000000 ...
   Using 'config-1' configuration
   Trying 'kernel-1' kernel subimage
     Description:  ARM64 OpenWrt Linux-u-boot
     Type:         Kernel Image
     Compression:  lzma compressed
     Data Start:   0x460000e8
     Data Size:    311193 Bytes = 303.9 KiB
     Architecture: AArch64
     OS:           Linux
     Load Address: 0x41e00000
     Entry Point:  0x41e00000
     Hash algo:    crc32
     Hash value:   5a6d5381
     Hash algo:    sha1
     Hash value:   a519985dcab3cf9b267f59793da1f0f6c2304d3d
   Verifying Hash Integrity ... crc32+ sha1+ OK
## Loading fdt from FIT Image at 46000000 ...
   Using 'config-1' configuration
   Trying 'fdt-1' fdt subimage
     Description:  ARM64 OpenWrt asus_tuf-ax4200 device tree blob
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x4604c1c4
     Data Size:    8784 Bytes = 8.6 KiB
     Architecture: AArch64
     Hash algo:    crc32
     Hash value:   76e4b7f8
     Hash algo:    sha1
     Hash value:   b72e744c4ba65ec5e7d6b20ac40beadfe79b764f
   Verifying Hash Integrity ... crc32+ sha1+ OK
   Booting using the fdt blob at 0x4604c1c4
Read 40 bytes from volume linux2 to 000000005f7ffb90
   Uncompressing Kernel Image
   Loading Device Tree to 000000005f7f6000, end 000000005f7fb24f ... OK
volume linux seq: 4

Starting kernel ...

I will try to fix this....

1 Like

I'll try to change the address for loading the image and text_offset ...

I updated ubi-cleaner.trx image. Please try its.

Sending a PM @remittor

Great news! Additional bootloader starts. All that's left is to fix the boot config execution.

4 Likes

Will post a log when its working for everyone to see :slight_smile:

And for those that might have missed it:

Commit for Asus Zenwifi BT8 and Asus Zenwifi BT8 Uboot mod

Snapshots are already available at OpenWRT firmware selector

1 Like

The last test went OK and hopefully we can see an updated version of facinstall soon that has support for the BT8 :slight_smile:

And remind me what doesn't work there.

Let me remind you that facinstall only supports the stock bootloader and stock NAND layout.