|
| 1 | +# Acer Connect Vero W6m |
| 2 | + |
| 3 | +<img src="connect_vero_w6m_case.jpg" alt="Acer Connect Vero W6m" width=400 padding=10> |
| 4 | + |
| 5 | +## Overview |
| 6 | + |
| 7 | +The Acer Connect Vero W6m is a compact WiFi 6/6E router platform based |
| 8 | +on the MediaTek MT7986A SoC. In Infix it is supported as an eMMC-based |
| 9 | +target that reuses the factory secure boot chain while replacing the |
| 10 | +system partitions with an Infix installation. |
| 11 | + |
| 12 | +The Acer Connect Vero W6m is based on the same MT7986a SoC as the |
| 13 | +BPI-R3, with tri-band WiFi (2.4 GHz + 5 GHz + 6 GHz) using a PCIe |
| 14 | +MT7916 module and the SoC's built-in MT7976 DBDC radio. |
| 15 | + |
| 16 | +## Default WiFi Layout |
| 17 | + |
| 18 | +The factory configuration on this branch enables all three radios in AP |
| 19 | +mode and bridges them into the default LAN bridge `br0`: |
| 20 | + |
| 21 | +- `radio0` / `wifi0-ap`: 2.4 GHz, SSID `Infix` |
| 22 | +- `radio1` / `wifi1-ap`: 6 GHz, SSID `Infix6G` |
| 23 | +- `radio2` / `wifi2-ap`: 5 GHz, SSID `Infix5G` |
| 24 | + |
| 25 | +6 GHz operation is enabled in the MT7915e driver configuration, and all |
| 26 | +three APs use the same default passphrase `infixinfix` from the factory |
| 27 | +configuration. |
| 28 | + |
| 29 | +Secure boot is enabled on this device, so the factory bootloader |
| 30 | +(partitions 1-4: bl2, u-boot-env, factory, fip) must not be modified. |
| 31 | +Infix is installed by replacing partitions 5+ while keeping the |
| 32 | +factory bootloader intact. The stock U-Boot chainloads the Infix |
| 33 | +U-Boot from the first partition after fip. |
| 34 | + |
| 35 | +## Prerequisites |
| 36 | + |
| 37 | +- Serial console access (115200 8N1) — required to interrupt U-Boot. |
| 38 | + Disassembly is needed to reach the UART header. See the [OpenWrt |
| 39 | + Vero W6m page][vero-openwrt] for details. |
| 40 | +- TFTP server on the local network with `u-boot.bin` for the initial |
| 41 | + RAM boot. |
| 42 | +- SSH access from the running Infix system to a host that stores |
| 43 | + `infix-vero-w-emmc.img`. |
| 44 | +- Ethernet cable connected between the PC and the Vero Internet/WAN |
| 45 | + port. |
| 46 | +- DHCP server running on the PC, serving addresses on that link during |
| 47 | + installation. |
| 48 | +- **Save the MAC addresses** from the stock U-Boot environment before |
| 49 | + installing. Interrupt autoboot and run `printenv` to note down: |
| 50 | + `2gMAC`, `5gMAC`, `6gMAC`, `LANMAC`, and `WANMAC`. |
| 51 | + |
| 52 | +## Required Files |
| 53 | + |
| 54 | +Prepare these files on a host reachable from the Vero: |
| 55 | + |
| 56 | +1. **Infix Vero image:** |
| 57 | + - [infix-vero-w-emmc.img][1] (Complete system image) |
| 58 | +2. **eMMC bootloader** (extracted from): |
| 59 | + - [bpi-r3-emmc-boot-2025.01-latest.tar.gz][2] |
| 60 | + - Extract `u-boot.bin` from the tarball to your TFTP server |
| 61 | + |
| 62 | +## Installing Infix |
| 63 | + |
| 64 | +Connect the PC directly to the Vero Internet/WAN port before starting |
| 65 | +the installation. The PC should provide DHCP service on that link so |
| 66 | +the stock U-Boot and the temporary Infix system can reach the TFTP/SSH |
| 67 | +host. |
| 68 | + |
| 69 | +1. **RAM-load Infix U-Boot** from the stock U-Boot serial console |
| 70 | + (hit any key to stop autoboot): |
| 71 | + |
| 72 | + ``` |
| 73 | + setenv serverip <TFTP_SERVER_IP> |
| 74 | + setenv ipaddr <VERO_IP> |
| 75 | + setenv bootmenu_default 7 |
| 76 | + tftpboot 0x46000000 u-boot.bin |
| 77 | + go 0x46000000 |
| 78 | + ``` |
| 79 | + |
| 80 | + `serverip` must point to your TFTP server and `ipaddr` must be a free |
| 81 | + address for the Vero on the same subnet. `bootmenu_default 7` |
| 82 | + bypasses secure boot verification. The Infix U-Boot will |
| 83 | + automatically netboot the Infix system. |
| 84 | + |
| 85 | +2. **From running Infix**, stream the image directly to eMMC: |
| 86 | + |
| 87 | + ```bash |
| 88 | + ssh <USER>@<HOST> "dd if=/path/to/infix-vero-w-emmc.img bs=512 skip=17408 status=none" | \ |
| 89 | + dd of=/dev/mmcblk0 bs=512 seek=17408 conv=fsync |
| 90 | + sync |
| 91 | + ``` |
| 92 | + |
| 93 | + This writes only the Infix partitions (starting after fip at sector |
| 94 | + 17408), leaving the factory bootloader and calibration data intact. |
| 95 | + Do not interrupt the transfer; if it fails, rerun the command from |
| 96 | + the beginning. |
| 97 | + |
| 98 | +3. **Update the GPT** to replace stock partitions 5+ with the Infix |
| 99 | + layout: |
| 100 | + |
| 101 | + ```bash |
| 102 | + sudo sgdisk --zap-all /dev/mmcblk0 |
| 103 | + sudo sgdisk -a 1 \ |
| 104 | + -n2:8192:9215 -c2:u-boot-env \ |
| 105 | + -n3:9216:13311 -c3:factory \ |
| 106 | + -n4:13312:17407 -c4:fip \ |
| 107 | + -n5:17408:+32M -c5:infix-uboot \ |
| 108 | + -n6:0:+8M -c6:aux \ |
| 109 | + -n7:0:+250M -c7:primary \ |
| 110 | + -n8:0:+250M -c8:secondary \ |
| 111 | + -n9:0:+128M -c9:cfg \ |
| 112 | + -n10:0:+128M -c10:var \ |
| 113 | + -p /dev/mmcblk0 |
| 114 | + ``` |
| 115 | + |
| 116 | +4. **Configure U-Boot to chainload Infix permanently** — reboot and |
| 117 | + interrupt stock U-Boot again: |
| 118 | + |
| 119 | + ``` |
| 120 | + setenv bootmenu_default 7 |
| 121 | + setenv bootcmd 'mmc read 0x46000000 0x4400 0x10000; go 0x46000000' |
| 122 | + saveenv |
| 123 | + reset |
| 124 | + ``` |
| 125 | + |
| 126 | + The `bootcmd` reads the Infix U-Boot (at sector 0x4400/17408) |
| 127 | + into RAM and jumps to it. After `reset`, Infix boots from eMMC. |
| 128 | + |
| 129 | +[vero-openwrt]: https://openwrt.org/toh/acer/predator_vero_w6m |
| 130 | +[1]: https://github.com/kernelkit/infix/releases/download/latest-boot/infix-vero-w-emmc.img |
| 131 | +[2]: https://github.com/kernelkit/infix/releases/download/latest-boot/bpi-r3-emmc-boot-2025.01-latest.tar.gz |
0 commit comments