Setup:
- Main Router: Raspberry Pi 4 (OpenWrt) with AdGuard Home (AGH) as primary DNS.
- WiFi: 5GHz only.
- Switch: TP-Link Unmanaged Switch.
- Access Point: TP-Link Archer C80 (AP Mode).
- WiFi: 2.4GHz and 5GHz.
- Extender: Mi Router in Wireless Extender mode (extending the Archer C80's 2.4GHz band).
-
- WiFi: 2.4GHz.
- SSID: All nodes share the same SSID and password.
Topology:
ISP-> RPi4 (eth1: WAN) | RPi4 (eth0: LAN) → Switch → Archer C80 (LAN port) → (Wireless 2.4G) → Mi Extender
Description:
I am experiencing a roaming failure when a Samsung phone moves from the Archer C80 WiFi to the RPi4 WiFi. Instead of a seamless connection, the phone loses internet and disconnects. This only affects the roaming phone; LAN devices remain stable.
I cannot use 802.11r (Fast Transition) bcz the TP-Link stock firmware does not support it. I tried enabling 802.11r on the RPi4 alone, but the phone then refuses to connect to the RPi4 entirely when roaming from the TP-Link. Hence, this workaround has been discarded.
During the failed roam, I get this error:
br-lan: received packet on phy0-ap0 with own address as source address (addr:dc:xx:xx:xx:xx:66, vlan:0)
Relevant RPi4 logs:
[8:36:06 PM] daemon.info: dnsmasq-dhcp[1]: DHCPREQUEST(br-lan) 192.168.1.101 d4:xx:xx:xx:xx:4b
[8:36:06 PM] daemon.info: dnsmasq-dhcp[1]: DHCPACK(br-lan) 192.168.1.101 d4:xx:xx:xx:xx:4b SamsungPhone
[8:36:08 PM] user.notice: AdGuardHome[1]: 2026/01/14 15:06:08.906375 [error] dnsproxy: unpacking udp packet err="dns: buffer size too small"
[8:36:11 PM] user.notice: AdGuardHome[1]: 2026/01/14 15:06:11.917259 [error] dnsproxy: unpacking udp packet err="dns: buffer size too small"
[8:36:29 PM] daemon.info: hostapd: phy0-ap0: STA d4:xx:xx:xx:xx:4b IEEE 802.11: associated
[8:36:29 PM] daemon.notice: hostapd: phy0-ap0: AP-STA-CONNECTED d4:xx:xx:xx:xx:4b auth_alg=open
[8:36:29 PM] daemon.info: hostapd: phy0-ap0: STA d4:xx:xx:xx:xx:4b WPA: pairwise key handshake completed (RSN)
[8:36:29 PM] daemon.notice: hostapd: phy0-ap0: EAPOL-4WAY-HS-COMPLETED d4:xx:xx:xx:xx:4b
=>[8:36:29 PM] kern.warn: [46629.473489] br-lan: received packet on phy0-ap0 with own address as source address (addr:dc:xx:xx:xx:xx:66, vlan:0)
[8:36:31 PM] user.notice: AdGuardHome[1]: 2026/01/14 15:06:31.921659 [error] dnsproxy: unpacking udp packet err="dns: buffer size too small"
[8:36:34 PM] user.notice: AdGuardHome[1]: 2026/01/14 15:06:34.945616 [error] dnsproxy: unpacking udp packet err="dns: buffer size too small"
Things I’ve tried so far:
- Matched Security: Forced WPA2-PSK (AES/CCMP) on all nodes.
- Frequency Plan: Archer C80 (Ch 36), RPi4 (Ch 149), Mi Extender (Ch 1).
- Verified Archer C80 is in AP Mode with DHCP disabled.
- Checked MTU: LAN 1500, WAN 1492 (PPPoE) with MSS Clamping.
