Acer Predator W6 with OpenWrt

I had the same problem with my Acer W6d, you have to press both Reset and WPS while powering on the device. Alternatively you can boot into the Acer firmware and remove the u-boot environment variables silence and bootmenu_delay. So something like fw_setenv silence and fw_setenv bootmenu_delay.

3 Likes

Btw. I made a pull request to support the Acer Predator W6d and it is not necessary to dd the kernel partitions. You could just invalidate both boot slots with setenv dual_boot.slot_0_invalid 1 and setenv dual_boot.slot_1_invalid 1. But in my u-boot version a failsafe web ui is then started, so it is better to change the bootmenu_default to one bigger as you have entries. For example

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 U-boot only=mtkupgrade bl33
bootmenu_5=Upgrade partition table=mtkupgrade gpt
bootmenu_6=Upgrade single image=mtkupgrade simg
bootmenu_7=Load image=mtkload
bootmenu_8=Start Web failsafe=httpd

So setenv bootmenu_default 9 worked.

3 Likes

Can Yo please describe this procedure more delailed?
My router now always booting to Acer firmware, but I can not get acces to it.

UPD:
in my case holding 2 buttons together WPS and reset working.

Oh I forgot, I think when u-boot is silenced you can still get into the linux shell, but you have to set the baud rate to 9600. But great if it works with both buttons pressed, I know that's kinda annoying :wink:

1 Like

Many thanks for tip!

Need to update wiki page that BOTH reset and WPS have to be pressed before powering router ON on new versions to get uboot access.

1 Like

Curious, glad you got it working! I guess there is a chance I ended up booting with both pressed at some point... I did go through a lot of various attempts before I figured out WPS was needed. It's not needed with the older bl2/fip firmware. Note that AFAIK with the new firmware (you have) there is not yet a (known) way to boot OpenWrt without hitting Ctrl+C to abort out of the failsafe web server.

My predator doesn't boot after following instruction here https://openwrt.org/toh/acer/predator_w6. Uboot is far as it goes. What did I miss?

You'll want to paste full serial boot logs... otherwise it's hard to say.

Welcome to minicom 2.9

OPTIONS: I18n 
Compiled on May  3 2024, 16:19:02.
Port /dev/ttyUSB0, 01:56:03

Press CTRL-A Z for help on special keys


F0: 102B 0000
FA: 1040 0000
FA: 1040 0000 [0200]
F9: 103F 0000
F3: 1006 0033 [0200]
F3: 4001 00E0 [0200]
F3: 0000 0000
V0: 0000 0000 [0001]
00: 0000 0000
BP: 2400 0041 [0000]
G0: 1190 0000
EC: 0000 0000 [2000]
T0: 0000 027B [010F]
Jump to BL

NOTICE:  BL2: v2.6(release):de65b3e9d-dirty
NOTICE:  BL2: Built : 15:22:40, Oct 28 2022
NOTICE:  WDT: disabled

F0: 102B 0000
FA: 1040 0000
FA: 1040 0000 [0200]
F9: 103F 0000
F3: 1006 0033 [0200]
F3: 4001 00E0 [0200]
F3: 0000 0000
V0: 0000 0000 [0001]
00: 0000 0000
BP: 2400 0041 [0000]
G0: 1190 0000
EC: 0000 0000 [2000]
T0: 0000 027B [010F]
Jump to BL

NOTICE:  BL2: v2.6(release):de65b3e9d-dirty
NOTICE:  BL2: Built : 15:22:40, Oct 28 2022
NOTICE:  WDT: disabled
NOTICE:  CPU: MT7986 (2000MHz)
NOTICE:  EMI: Using DDR4 settings
NOTICE:  EMI: Detected DRAM size: 1024MB
NOTICE:  EMI: complex R/W mem test passed
NOTICE:  Verifying BL Anti-Rollback Version ... bl_ar_ver:0=0+ OK
Trying to boot from image slot 0
Reading from 0x880000 to 0x40000000, size 0x200 ... OK
Reading from 0x880000 to 0x40000000, size 0x3a0d24 ... OK
## Checking hash(es) for FIT Image at 40000000 ...
   Hash(es) for Image 0 (kernel-1): crc32+ sha1+ 
   Hash(es) for Image 1 (fdt-1): crc32+ sha1+ 
Reading from 0x2880000 to 0x403a0d24, size 0x200 ... OK
Reading from 0x2880000 to 0x403a0d24, size 0x5e4dbe ... OK
No rootfs node found in FIT image!
Error: rootfs verification failed
Firmware integrity verification failed
Failed to boot from current image slot, error -74
Saving Environment to MMC... Writing to MMC(0)... OK
Trying to boot from image slot 1
Reading from 0x22880000 to 0x40000000, size 0x200 ... OK
Error: Invalid image format
Error: kernel verification failed
Firmware integrity verification failed
Failed to boot from next image slot, error -74
Hit any key to stop autoboot:  0 

MMC read: dev # 0, block # 17408, count 65536 ... 65536 blocks read: OK
MT7986>

Sure you got the uboot settings right?

Post the output from the printenv command too.

Did you (a) boot into OpenWrt via tftp, and then (b) run sysupgrade to actually install it in flash, and (c) update the boot command in the uboot environment?

(a) Yes, booted to OpenWrt initialramfs via tftp.
(b) Yes run sysupgrade
(c) ??? After sysupgrade OpenWrt boot up by itself.

it looks likely that you didn't setup the u-boot env variables correctly.

setenv bootcmd 'mmc read 0x40000000 0x00004400 0x0010000; fdt addr $(fdtcontroladdr); fdt rm /signature; bootm 0x40000000'
setenv dual_boot.slot_0_invalid 1
setenv dual_boot.slot_1_invalid 1
setenv bootmenu_default 7
saveenv

Is what's currently working on my Vero (near identical hardware).
Note that that first line is long.
You can check via 'print' from u-boot.

(the 7 is one higher then any existing boot menu option - might need to be 9)

Setting the bootmenu_default to one entry higher than you have entries works for me and gets around the failsafe web server and you don't have to press Ctrl+C.

Ok. I got it working. I followed instructions above, except bootmenu_default.
I did use setenv bootmenu_default 9

1 Like

Can anyone point me to an explanation of how to connect my USB-TTL cable to the board? I haven't managed to get a reliable connection without soldering and my soldering skills are bad. I'll take a link to a video about how to solder this sort of connection, specific search terms I can get started with, whatever you got. Thanks.

Get a friend to hold the connector while you operate the console...
ideally you want to have a single row 3 pin 2.54mm pogo pin connector.

https://www.amazon.com/2-54mm-Fixture-Gold-Plated-Program-Download/dp/B0BR7YHRCK/?th=1

You'd want to unscrew the connector from the clip if you want to use it without pulling the motherboard out. Or pull the board out and easy to one man at that point with the clip.

1 Like

I didn't know that kind of device existed. Good suggestion. Thank you!

Hi! The snapshot from yesterday (r27783?) has killed my MT7916 radios (2.5 and 6 GHz).

The errors I get are these ones:

Wed Oct 16 20:06:17 2024 daemon.notice netifd: radio1 (2551): WARNING: Variable 'data' does not exist or is not an array/object
Wed Oct 16 20:06:17 2024 daemon.notice netifd: radio1 (2551): Phy not found
Wed Oct 16 20:06:17 2024 daemon.notice netifd: radio1 (2551): Could not find PHY for device 'radio1'
Wed Oct 16 20:06:17 2024 daemon.notice netifd: radio0 (2550): WARNING: Variable 'data' does not exist or is not an array/object
Wed Oct 16 20:06:17 2024 daemon.notice netifd: Wireless device 'radio1' set retry=0
Wed Oct 16 20:06:17 2024 daemon.crit netifd: Wireless device 'radio1' setup failed, retry=0
Wed Oct 16 20:06:17 2024 daemon.notice netifd: radio0 (2550): Phy not found
Wed Oct 16 20:06:17 2024 daemon.notice netifd: radio0 (2550): Could not find PHY for device 'radio0'
Wed Oct 16 20:06:17 2024 daemon.notice netifd: Wireless device 'radio0' set retry=0
Wed Oct 16 20:06:17 2024 daemon.crit netifd: Wireless device 'radio0' setup failed, retry=0
Wed Oct 16 20:06:17 2024 daemon.notice netifd: radio1 (2622): WARNING: Variable 'data' does not exist or is not an array/object
Wed Oct 16 20:06:17 2024 daemon.notice netifd: radio1 (2622): Bug: PHY is undefined for device 'radio1'
Wed Oct 16 20:06:17 2024 daemon.notice netifd: Wireless device 'radio1' is now down
Wed Oct 16 20:06:17 2024 daemon.notice netifd: radio0 (2633): WARNING: Variable 'data' does not exist or is not an array/object
Wed Oct 16 20:06:17 2024 daemon.notice netifd: radio0 (2633): Bug: PHY is undefined for device 'radio0'
Wed Oct 16 20:06:17 2024 daemon.notice netifd: Wireless device 'radio0' is now down

I didn't have this issue with the snapshot of Oct 10 - I am sorry, I cannot identify the exact snapshot where things stopped working.

With the stable release (23.05.5) the radios work, but with that version I have the issue that when a station disconnects from radio2 (the 5GHz one) I get a kernel panic and the whole stuff reboots (it's this bug). That's why I am "on snapshots"...

Can anyone (@maze ?) help identifying the commit with the regression?

Please... :pray:

Broken snapshot data:
Date of generation: Wed Oct 16 18:24:54 2024
sha256sum:8e0141e532e2de3a9c6979b4a3d94131a8c16d13aecf7ecda5d7a508ac50ff9f

@homesick Sorry, I'm not currently on the same side of the planet as my W6, and won't be for another couple weeks...