Acer Predator W6 with OpenWrt

Make bootmenu_0 in U-boot say

bootmenu_0=Startup system (Default)=bootcmd ?

Four screws to remove to open the top cover?

1 Like

Does that mean potentially we can just press reset for 20 seconds then serve openwrt.img as YX6-sb-bl2.img on 192.168.1.66 via TFTP to flash it?

Anyone figure out how to make the boot persistent?
Setting bootmenu_0 does not
bootmenu_0=Startup system (Default)=bootcmd

what's bootcmd then ?

bootmenu_0 goes back to original value (mtkboardboot) after reboot, with saveenv between, whether it is set to 'bootcmd' or explicit boot commands

MT7986> printenv
2gMAC=C0:98:79:11:11:11
...
baudrate=115200
bootcmd=mmc read 0x40000000 0x00004400 0x0010000;fdt addr $(fdtcontroladdr); fdt rm /signature; bootm 0x40000000
bootdelay=5
bootmenu_0=Startup system (Default)=bootcmd
bootmenu_1=Upgrade firmware=mtkupgrade fw
bootmenu_2=Upgrade ATF BL2=mtkupgrade bl2
bootmenu_3=Upgrade ATF FIP=mtkupgrade fip
bootmenu_4=Upgrade eMMC partition table=mtkupgrade gpt
bootmenu_5=Upgrade single image=mtkupgrade simg
bootmenu_6=Load image=mtkload
dn=Predator Connect W6
dual_boot.current_slot=1
dual_boot.slot_0_invalid=0
dual_boot.slot_1_invalid=0
efuse=1
ethaddr=...
fdtaddr=7f7fced0
fdtcontroladdr=7f7fced0
hw_id=0100
mbsn=...
pj_id=00
pw=...=
qsn=...
sn=...
stderr=serial@11002000
stdin=serial@11002000
stdout=serial@11002000

Environment size: 1003/524284 bytes
MT7986> saveenv
Saving Environment to MMC... Writing to MMC(0)... OK

bootmenu

reboot...

...
bootcmd=mmc read 0x40000000 0x00004400 0x0010000;fdt addr $(fdtcontroladdr); fdt rm /signature; bootm 0x40000000
bootdelay=5
**bootmenu_0=Startup system (Default)=mtkboardboot**
bootmenu_1=Upgrade firmware=mtkupgrade fw
...
1 Like

Now we're only playing around, what about unsetting bootmenu_0 ?

setenv bootmenu_0=
saveenv

Or is there an unset? I don't recall.

Same effect - setting bootmenu_0 to blank and then boot goes into openwrt, bootmenu_0 goes back to default after a reboot.

MT7986> setenv bootmenu_0
MT7986> printenv
...
bootcmd=mmc read 0x40000000 0x00004400 0x0010000;fdt addr $(fdtcontroladdr); fdt rm /signature; bootm 0x40000000
bootdelay=5
bootfile=predator.bin
bootmenu_1=Upgrade firmware=mtkupgrade fw
bootmenu_2=Upgrade ATF BL2=mtkupgrade bl2
...
Environment size: 1123/524284 bytes
MT7986> saveenv
Saving Environment to MMC... Writing to MMC(0)... OK
MT7986> boot

MMC read: dev # 0, block # 17408, count 65536 ... 65536 blocks read: OK
## Loading kernel from FIT Image at 40000000 ...
   Using 'config-1' configuration
   Verifying Hash Integrity ... OK
   Trying 'kernel-1' kernel subimage
     Description:  ARM64 OpenWrt Linux-5.15.134
     Type:         Kernel Image
     Compression:  lzma compressed
     Data Start:   0x400000ec
     Data Size:    3772273 Bytes = 3.6 MiB
     Architecture: AArch64
     OS:           Linux
     Load Address: 0x48000000
     Entry Point:  0x48000000
     Hash algo:    crc32
     Hash value:   3199ce13
     Hash algo:    sha1
     Hash value:   1056a282232c676324a60cac854892e0e9e0ed33
   Verifying Hash Integrity ... crc32+ sha1+ OK
## Loading fdt from FIT Image at 40000000 ...
   Using 'config-1' configuration
   Verifying Hash Integrity ... OK
   Trying 'fdt-1' fdt subimage
     Description:  ARM64 OpenWrt acer_predator-w6 device tree blob
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x403991a0
     Data Size:    22920 Bytes = 22.4 KiB
     Architecture: AArch64
     Load Address: 0x47000000
     Hash algo:    crc32
     Hash value:   4dec4304
     Hash algo:    sha1
     Hash value:   0458b4aa79b9dfdaff65c63b1eba835c120de535
   Verifying Hash Integrity ... crc32+ sha1+ OK
   Loading fdt from 0x403991a0 to 0x47000000
   Booting using the fdt blob at 0x47000000
   Uncompressing Kernel Image
   Loading Device Tree to 000000007f7ef000, end 000000007f7f7987 ... OK

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 5.15.134 (builder@buildhost) (aarch64-openwrt-linux-musl-gcc (OpenWrt GCC 12.3.0 r23497-6637af95aa) 12.3.0,3
[    0.000000] Machine model: Acer Predator W6

I cleared env via env default -a and the following came back after reboot:

baudrate=115200
bootdelay=2
bootmenu_0=Startup system (Default)=mtkboardboot
bootmenu_1=Upgrade firmware=mtkupgrade fw
bootmenu_2=Upgrade ATF BL2=mtkupgrade bl2
bootmenu_3=Upgrade ATF FIP=mtkupgrade fip
bootmenu_4=Upgrade eMMC partition table=mtkupgrade gpt
bootmenu_5=Upgrade single image=mtkupgrade simg
bootmenu_6=Load image=mtkload
dual_boot.current_slot=1
ethaddr=aa:78:97:12:34:56
fdtcontroladdr=7f7fced0
ipaddr=192.168.1.1
loadaddr=0x46000000
netmask=255.255.255.0
serverip=192.168.1.2
stderr=serial@11002000
stdin=serial@11002000
stdout=serial@11002000

the boot loader might be locked, would be interesting to compare yours with one from a booting device.

what would happen if you'd set the non existing variable mtkboardboot=bootcmd ?

clever, but no cigar :slight_smile: seems like mtk uboot or atf is resetting these to default?

so it would seem, that's why it would be interesting to know the difference between a working and a non-working u-boot, but that would probably require someone whose bootloader's working as expected.

I recently purchased this router because I incorrectly assumed that installing OpenWRT would be as simple as uploading the install bin via the web UI of the router. I was following the news via the openwrt announce mailing list and got excited over 6GHz and 2.5Gbps support, but probably should have done more research before picking up this router if I knew it wouldn't be a super quick install.

In any case, I'm now willing to get my hands dirty. I'd like to get OpenWRT installed on this as a daily driver. Has anyone figured out a clear method for installation yet?

I opened a thread on the Acer forum to see if anyone over there could help out, but they just referred me back to here.
https://community.acer.com/en/discussion/694966/can-we-install-openwrt-on-acer-predator-w6-router

I'm assuming the three pins next to the USB plug are the serial interface. Is that correct? Can anyone comment on the pinout?
On one side of the three holes it has a round dot, on the other side it has a line. Is 115200 the correct baud for the original firmware?

1 Like

I have OpenWRT 23.05.2 installed on the W6. The only thing holding it back from going into production is that I can't seem to bypass the mtkboardboot command as the default. I tried to change the u-boot boot menu option 0 with a saveenv and it gets reset when the device is reset. I also deleted all of the boot menu options in u-boot and did a saveenv, after it resets the boot menu options get reset and it again defaults to mtkboardboot.

Interesting that OpenWRT 23.05.2 uses about 128M where the default firmware is using ~512M. All of that GUI goodness and fancy features eat a lot of memory.

It looks as if there are two options here. One: create an image that is compatible with the original firmware and overwrite the stock firmware. Two: compile a modified u-boot and change menu option 0 to boot the existing OpenWRT image. For now I'll try option two.

Is there any update on the flashing process? I am looking at this router as a possible upgrade. Having an img to upload would be a nice plus for that choice.

If it's not in this thread, or the wiki page, then no.