Migrating from AVM Mesh (back) to OpenWRT

Motivation

About 10 years ago, I was a heavy Freifunk user and had an installation of 7 OpenWRT access points in my house. I used VLANs on my switches to distribute home wifi, guest wifi and freifunk wifi. It “worked” but I had roaming issues and speed issues in my home lan, because I was mainly using cheap tp-link access points (841). 5GHz access points could help with the speed issues, but roaming was still apain. So in XXX I decided to go “all in” with AVM and startet with 2 AVM 1750e devices. They are labeled as repeaters but can act as ethernet atached access points. Shortly after that, AVM enabled their mesh functionality and roaming turned out to be very smooth. Since Freifunk was used less and less, I ditched my whole OpenWRT infrastructure and bought more AVM repeaters. Finally I had one FRITZ!Repeater 2400, one FRITZ!Repeater 1200 (discontinued), one FRITZ!Repeater 1200AX and three FRITZ!Repeater 1750E (discontinued) connected to my AVM Fritz!Box 7590 (discontinued).

Initial tests

Power consumption

I try to keep my carbon footprint as minimal as possible, so I compared the power consumption of the new setup to the old installation. The most important point is the idle power consupmtion, because my large number of access points does not transfer large amounts of data. For the record, I also mentioned the maximum consumption.

  AVM 1750e DAP-X1860 AVM 1200AX TP 842
Gigabit without EEE, Wifi Idle 2.7W 4.0W 4.1W
Gigabit EEE, Wifi Idle 2.4W 4.0W 3.9W
100 Mbit, Wifi Idle 2.4W 3.8W 3.6W 1.5W
Gigabit EEE, 5GHz active 3.0W 4.0W 4.5W
Maximum load 6.0W 6.0W 6.8W

842

Notes:

For all tests, there were no measurable differences between high wifi tx power and low wifi tx power. That is expected; the device has to do the same “logic/digital” work, only the wifi analog part changes the tx power by less than 100mW.

Forcing the devices to 100MBit does not yield a large saving, especially if EEE is active.

All values were measured with a Homematic HM-ES-PMSw1-Pl.

Channel assignments and TX power

Fairly standard settings: lowest possible (but working) tx power for all channels for all indoor access points. Medium tx power for the outdoor access points, making sure that indoor reception of the outdoor access points is weaker than reception of indoor routers.

Currently, indoor tx power 7dbm for 2.4GHz and 13dbm for 5GHz seems to be a good start.

Outdoor: 12dbm for 2.4GHz and 16dbm for 5GHz.

Standard channel assignments 1, 6 and 11 for 2.4GHz with lowest possible overlap (20MHz channel width).

For 5GHz and 80MHz channel width I used channels 36, 52, 100 and 149.

SSID assignments

This seemd to be a straight forward thing, but turned out to have so much potential! Initial thoughts:

Home lan and guest lan on all frequencies and all access points, plus “local” ssids for all access points.

But since I found out that all my roaming devices were 5GHz capable, I decided to disable 2.4GHz home lan on some access points, making 5GHz roaming much more stable (without falling back to 2.4Ghz in some areas). Since I needed the 2.4GHz radio running for the local ssids (for my IoT devices), I enabled guest wifi for all access points on 5GHz and 2.4GHz.

Ansible

No administrative tasks on the OpenWRT access points are done using the web interface - I started learning ansible and swiched to uci command line administration and my first ansible playbook. Works like a charm!

Problems

I thought, connecting to hidden SSIDs should works for all devices - but it turned out that at least Tasmota does not support connecting to hidden ssids at all.

Workaround 1: try to connect them to the roaming ssids and see how it works (Tasmota roams to stronger access points after a while!).

Workaround 2 (if 1 fails): leave local ssid visible.

Workaround 3: eventually migrate to ESPhome (note to self: needs fast_connect: true option!)