Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AX9000 - After Firmware Installation Reboot nothing happens #12

Open
NecronomiconCoding opened this issue Nov 2, 2023 · 5 comments
Open

Comments

@NecronomiconCoding
Copy link

NecronomiconCoding commented Nov 2, 2023

Hi,
I have a RA70 with 3.0.48 release.

When installing firmware nothing happens.

==========================================================

Xiaomi MiR Patcher

1 - Set IP-address (current value: 192.168.31.1)
2 - Connect to device (install exploit)
3 - Read full device info
4 - Create full backup
5 - Install EN/RU languages
6 - Install Breed bootloader
7 - Install firmware (from directory "firmware")
8 - {{{ Other functions }}}
9 - [[ Reboot device ]]
0 - Exit

Select: 2

device_name = RA70
rom_version = 3.0.48 release
mac address = a8:5e:45:xx:xx:xx
Telnet server already running, but FTP server not respond
Enter device WEB password: XXXXXXX
Enable smartcontroller scene executor ...
Wait smartcontroller activation ...
[504]
[504]
Unlock dropbear service ...
Unlock SSH server ...
Set password "root" for root user ...
Enabling dropbear service ...
Run SSH server on port 22 ...
Test SSH connection to port 22 ...

SSH server are activated!

==========================================================

Xiaomi MiR Patcher

1 - Set IP-address (current value: 192.168.31.1)
2 - Connect to device (install exploit)
3 - Read full device info
4 - Create full backup
5 - Install EN/RU languages
6 - Install Breed bootloader
7 - Install firmware (from directory "firmware")
8 - {{{ Other functions }}}
9 - [[ Reboot device ]]
0 - Exit

Select: 7

device: "RA70"
img_write = True
Image files in directory "firmware/":
"firmware/openwrt-qualcommax-ipq807x-xiaomi_ax9000-initramfs-factory.ubi"
Download file: "/tmp/dmesg.log" ....
Download file: "/tmp/mtd_list.txt" ....
Download file: "/tmp/mtd_addr.txt" ....
Download file: "/tmp/kcmdline.log" ....
Parse all images...
UBI: filetype: b'UBI#'
UBI: Decoding UBIFS...
UBI: volume: "kernel" size: 12697600
parse_ubifs = 1
FIT size = 0xC117D4 (12357 KiB)
FIT: name = "ARM64 OpenWrt FIT (Flattened Image Tree)"
FIT: def_cfg: "config@hk14"
FIT: def_fdt: "fdt-1"
FDT: desc = "ARM64 OpenWrt xiaomi_ax9000 device tree blob"
FDT: type = "flat_dt"
FDT: arch = "arm64"
KRN: desc = "ARM64 OpenWrt Linux-6.1.60"
KRN: type = "kernel"
KRN: arch = "arm64"
KRN: compression = "gzip"
KRN: data = 12606614 bytes
FDT: compatible = ['xiaomi,ax9000', 'qcom,ipq8074']
FDT: model = "Xiaomi AX9000"
FDT: dt_part: ['/soc/nand-controller@79b0000/nand@0/partitions']
FIT: detect initrd into kernel image
fw_img: 13056 KiB | kernel: 12357 KiB | rootfs: 1 KiB
Download file: "/tmp/bl_0SBL1.bin" ....
Download file: "/tmp/bl_0APPSBL.bin" ....
Download file: "/tmp/env_0APPSBLENV.bin" ....
Download file: "/tmp/env_bdata.bin" ....
Download file: "/tmp/env_0SBL1.bin" ....
current flag_boot_rootfs = 0
install_method = 200
--------- prepare command lines -----------
fw_img: 13056 KiB | kernel: 12357 KiB | rootfs: 1 KiB
------------- flash images -------------
Upload file: "tmp/fw/fw_img.bin" ....
Run scripts for change NVRAM params...
Boot from firmware [1] activated.
Writing firmware image to addr 0x04980000 ...
mtd -e "rootfs_1" write "/tmp/fw_img.bin" "rootfs_1"
The firmware has been successfully flashed!
Send command "reboot" via SSH/Telnet ...

ERROR: SSH execute command timed out! CMD: "reboot -f"

==========================================================

Device now reboots and its still the same firmware as before.

@NecronomiconCoding NecronomiconCoding changed the title Partition list is empty! AX9000 - After Firmware Installation Reboot nothing happens Nov 2, 2023
@dimfishr
Copy link

dimfishr commented Nov 3, 2023

You should check via SSH

nvram get flag_try_sys1_failed
nvram get flag_try_sys2_failed

If values are not 0 - reset them:

nvram set flag_try_sys1_failed=0
nvram set flag_try_sys2_failed=0
nvram commit

@NecronomiconCoding
Copy link
Author

NecronomiconCoding commented Nov 3, 2023

You should check via SSH

nvram get flag_try_sys1_failed
nvram get flag_try_sys2_failed

If values are not 0 - reset them:

nvram set flag_try_sys1_failed=0
nvram set flag_try_sys2_failed=0
nvram commit

Both are 0

root@XiaoQiang:~# nvram get flag_try_sys1_failed
0
root@XiaoQiang:~# nvram get flag_try_sys2_failed
0

@NecronomiconCoding
Copy link
Author

@remittor any idea?

@remittor
Copy link
Contributor

Device now reboots and its still the same firmware as before.

I suspect that the bootloader doesn't like something. It's worth looking in the UART logs for the reason. And to get these logs you need to solder UART USB-TTL.

@sophipl
Copy link

sophipl commented Feb 21, 2024

I tried flashing OpenWRT this way, and device rebooted with original firmware

Here is the log
AX9000.log

If I'm seeing it right, it rebooted with OpenWRT kernel but the squash is Xiaomi (or xiaomi hardware uses openWRT build)?
Linux version 4.4.60 (jenkins@16fc5f97df12) (gcc version 5.5.0 (OpenWrt GCC 5.5.0 unknown) ) #0 SMP PREEMPT Tue Mar 22 03:16:43 2022

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants