Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
f106b96
linux: mt7531: break the 1000BASE-T master/slave tie after a resume
mattiaswal Oct 15, 2026
9229dca
linux: mt7530: backport VLAN-aware bridge PVID untagging and ATC/VTCR…
mattiaswal Oct 15, 2026
29cca3b
.github: build-image: follow the Vero W6m board rename
mattiaswal Oct 16, 2026
21fc3ce
board/vero-w6m: boot menu default index varies with stock U-Boot
mattiaswal Oct 16, 2026
ec1e0e7
board/vero-w6m: private base MAC in VPD, Acer addresses per interface
mattiaswal Oct 16, 2026
2ddf8f2
test: infamy: retry NETCONF session setup while the server settles
mattiaswal Oct 16, 2026
9bdd92b
test: wifi_band_steering: Nudge a client that got in on 2.4GHz to scan
mattiaswal Oct 16, 2026
a40b51e
confd: wifi: Regenerate every AP radio when an access point changes
mattiaswal Oct 16, 2026
8f27099
board/vero-w6m: README: give the MAC address steps after the installa…
mattiaswal Oct 16, 2026
a265da1
confd: wifi: Add a scan action on the radio
mattiaswal Oct 16, 2026
4003acf
confd: wifi: Drop the scan-only interface mode
mattiaswal Oct 16, 2026
62920b7
test: wifi_band_steering: Nudge the client with the scan action
mattiaswal Oct 16, 2026
9f3d196
cli: show interface: build the overview with SimpleTable
mattiaswal Oct 16, 2026
259fd5c
test: meta: prune stale DHCP server leases along with stray containers
mattiaswal Oct 17, 2026
2b164c3
doc: wifi: catch up with the station, keystore and scan changes
mattiaswal Oct 17, 2026
cecb697
yang: wifi: reject an open access point on 6 GHz
mattiaswal Oct 17, 2026
ff2e576
doc: replace the last uses of the removed change command with edit
mattiaswal Oct 17, 2026
db8f0d0
doc: wifi: set the radio in the station examples
mattiaswal Oct 17, 2026
c7341e1
test: infamy: Load the libyang context on first use
mattiaswal Oct 5, 2026
fc023aa
confd: wifi: Take the nas-identifier hostname from the configuration
mattiaswal Oct 17, 2026
3668760
wifi-neighbors: Push the 802.11r keys to this node's other access points
mattiaswal Oct 17, 2026
bce85f8
test: wifi_band_steering: Check the move to 5 GHz is a fast transition
mattiaswal Oct 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/build-image.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ on:
- bananapi-bpi-r64
- friendlyarm-nanopi-r2s
- microchip-sama7g54-ek
- acer-connect-vero-w
- acer-connect-vero-w6m
default: 'raspberrypi-rpi64'

jobs:
Expand Down Expand Up @@ -93,7 +93,7 @@ jobs:
bootloader_sdcard=bpi-r64-sd-boot
bootloader_emmc=bpi-r64-emmc-boot
;;
acer-connect-vero-w)
acer-connect-vero-w6m)
arch=aarch64
targets="emmc"
bootloader_emmc=bpi-r3-emmc-boot
Expand Down
109 changes: 86 additions & 23 deletions board/aarch64/acer-connect-vero-w6m/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,23 +49,6 @@ U-Boot from the first partition after fip.
installing. Interrupt autoboot and run `printenv` to note down:
`2gMAC`, `5gMAC`, `6gMAC`, `LANMAC`, and `WANMAC`.

## Giving the Unit a Permanent MAC Address

Infix does not read the stock U-Boot environment, so the unit boots
with random Ethernet addresses until it is given a product record.
Store one as `/mnt/aux/vpd.bin`, from the Infix shell, using the
`WANMAC` noted down above as the base address:

```
echo '{"mac-address":"<WANMAC>","serial-number":"<serial>","vendor":"Acer","product-name":"Connect Vero W6m"}' \
| onieprom -e > /mnt/aux/vpd.bin
```

After a reboot the ports get fixed offsets from the base address and
the WiFi interfaces derive theirs from it. See
[Vital Product Data](../../../doc/vpd.md#vpd-file-on-the-aux-partition)
for the record format.

## Required Files

Prepare these files on a host reachable from the Vero:
Expand All @@ -89,15 +72,39 @@ host.
```
setenv serverip <TFTP_SERVER_IP>
setenv ipaddr <VERO_IP>
setenv bootmenu_default 7
setenv bootmenu_default <N>
tftpboot 0x46000000 u-boot.bin
go 0x46000000
```

`serverip` must point to your TFTP server and `ipaddr` must be a free
address for the Vero on the same subnet. `bootmenu_default 7`
bypasses secure boot verification. The Infix U-Boot will
automatically netboot the Infix system.
address for the Vero on the same subnet. `bootmenu_default <N>`
makes *U-Boot console* the default boot menu entry, which bypasses
secure boot verification. The Infix U-Boot will automatically
netboot the Infix system.

The right value for `<N>` depends on the stock U-Boot version, it is
usually 7 or 9. Type `bootmenu` at the prompt to list the entries,
then count down from the top, starting at 0, until you reach
*U-Boot console*. Do not use the number shown in the menu. In
this example the console is the tenth entry, so `<N>` is 9:

```
*** U-Boot Boot Menu ***

1. Startup system (Default)
2. Upgrade firmware
3. Upgrade ATF BL2
4. Upgrade ATF FIP
5. Upgrade U-boot only
6. Upgrade partition table
7. Upgrade single image
8. Load image
9. Start Web failsafe
0. U-Boot console
```

Press Esc or Ctrl-C to leave the menu and get back to the prompt.

2. **From running Infix**, stream the image directly to eMMC:

Expand Down Expand Up @@ -134,14 +141,70 @@ host.
interrupt stock U-Boot again:

```
setenv bootmenu_default 7
setenv bootmenu_default <N>
setenv bootcmd 'mmc read 0x46000000 0x4400 0x10000; go 0x46000000'
saveenv
reset
```

The `bootcmd` reads the Infix U-Boot (at sector 0x4400/17408)
into RAM and jumps to it. After `reset`, Infix boots from eMMC.
into RAM and jumps to it. Use the same `<N>` as in step 1. After
`reset`, Infix boots from eMMC.

## Giving the Unit a Permanent MAC Address

Infix does not read the stock U-Boot environment, so the unit boots
with random Ethernet addresses until it is given a product record.

Acer allocates one address per interface (`LANMAC`, `WANMAC`, `2gMAC`,
`5gMAC` and `6gMAC`), and they are not a consecutive range. Infix
derives every address from a single base, so using one of the Acer
addresses as the base would hand out addresses Acer never assigned to
this unit. Instead, give the product record a private (locally
administered) base address, then set the real Acer addresses on the
interfaces themselves.

1. **Create the product record** from the Infix shell, with a random
private base address:

```
set -- $(od -An -N4 -tx1 /dev/urandom)
echo "{\"mac-address\":\"02:$1:$2:$3:$4:00\",\"serial-number\":\"<serial>\",\"vendor\":\"Acer\",\"product-name\":\"Connect Vero W6m\"}" \
| onieprom -e > /mnt/aux/vpd.bin
```

The leading `02` marks the address as locally administered, so it
can never clash with a vendor-assigned one. See [Vital Product
Data](../../../doc/vpd.md#vpd-file-on-the-aux-partition) for the
record format.

2. **Set the Acer addresses** with `custom-phys-address`, using the
values noted down from the stock U-Boot environment:

| Interface | Address |
|------------|----------|
| `br0` | `LANMAC` |
| `internet` | `WANMAC` |
| `wifi0-ap` | `2gMAC` |
| `wifi1-ap` | `6gMAC` |
| `wifi2-ap` | `5gMAC` |

```
admin@vero:/> configure
admin@vero:/config/> set interface br0 custom-phys-address static <LANMAC>
admin@vero:/config/> set interface internet custom-phys-address static <WANMAC>
admin@vero:/config/> set interface wifi0-ap custom-phys-address static <2gMAC>
admin@vero:/config/> set interface wifi1-ap custom-phys-address static <6gMAC>
admin@vero:/config/> set interface wifi2-ap custom-phys-address static <5gMAC>
admin@vero:/config/> leave
admin@vero:/> copy running-config startup-config
```

Interfaces without a `custom-phys-address`, such as `lan1`-`lan3`,
keep addresses derived from the private base. See [Custom MAC
Address](../../../doc/iface.md#custom-mac-address) for details.

Reboot after step 1 so the new base address takes effect.

[vero-openwrt]: https://openwrt.org/toh/acer/predator_vero_w6m
[1]: https://github.com/kernelkit/infix/releases/download/latest-boot/infix-vero-w-emmc.img
Expand Down
3 changes: 2 additions & 1 deletion board/aarch64/raspberrypi-rpi64/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ To configure WiFi as a client, first store your WiFi password in the keystore:
admin@infix:/> configure
admin@infix:/config/> edit keystore symmetric-key mywifi
admin@infix:/config/keystore/…/mywifi/> set key-format passphrase-key-format
admin@infix:/config/keystore/…/mywifi/> change cleartext-symmetric-key
admin@infix:/config/keystore/…/mywifi/> edit cleartext-symmetric-key
Passphrase: ************
Retype passphrase: ************
admin@infix:/config/keystore/…/mywifi/> leave
Expand All @@ -120,6 +120,7 @@ Then configure the WiFi interface using the keystore reference:
admin@infix:/> configure
admin@infix:/config/> set hardware wifi country-code US
admin@infix:/config/> edit interface wifi0
admin@infix:/config/interface/wifi0/> set wifi radio radio0
admin@infix:/config/interface/wifi0/> set ipv4 dhcp-client
admin@infix:/config/interface/wifi0/> set wifi station ssid YourNetworkName
admin@infix:/config/interface/wifi0/> set wifi station security secret mywifi
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,13 +75,6 @@
]
}
}
},
{
"name": "wifi0",
"type": "infix-if-type:wifi",
"infix-interfaces:wifi": {
"radio": "radio0"
}
}
]
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,13 +89,6 @@
]
}
}
},
{
"name": "wifi0",
"type": "infix-if-type:wifi",
"infix-interfaces:wifi": {
"radio": "radio0"
}
}
]
},
Expand Down
Loading
Loading