Roaming Issues Xiaomi AX3600

Whether this specific firmware behaviour was seen on the stock firmware I can't confirm, I can confirm the behaviour in terms of symptoms weren't there. I ran stock firmware for a couple of weeks before flashing OpenWRT and this issue started with OpenWRT.

On a more humorous note:
I just ran into the issue where DAWN was kicking clients of AP1 (R2100), and AP2 (AX3600) had issues with this behaviour. Client connects to AP1 again, DAWN kicks him off, rince and repeat. My poor kid was trying to watch Netflix, never seen her so frustrated. Turned off the DAWN-kicking, but it does seem to do its job well :stuck_out_tongue:

I think the esp32 would not send a dhcp request if it would not see the offer. So traffic reaches it.

I agree, these are broadcasts and problems start with direct 1:1 communication.

I can confirm that the esp can not ping and cannot be pinged until some (timeout) magic happens. Length of the timeout looks random to me. Also true for tcp in both directions: esp webserver cannot be reached and esp cannot reach an echo server

Sorry, dont know how to monitor in or out packets on an esp.
Could be a job for my (linux) notebook instead if you think it can shed more light on the situation.

Some new bits of info: I was running this on both routers to monitor the bridge:

while brctl showmacs br-lan | grep 24:a1:60:54:37:d4; do sleep 10; done

Router 1 (roaming away from)

  3     24:a1:60:54:37:d4       no                 0.02
  3     24:a1:60:54:37:d4       no                 1.03
# roaming (port changes immediately from 3 to 7, as it should)
  7     24:a1:60:54:37:d4       no                 0.21
  7     24:a1:60:54:37:d4       no                 0.19
  7     24:a1:60:54:37:d4       no                 0.18
  7     24:a1:60:54:37:d4       no                 0.16
  7     24:a1:60:54:37:d4       no                 0.14
  7     24:a1:60:54:37:d4       no                 0.11
  7     24:a1:60:54:37:d4       no                 0.10
  7     24:a1:60:54:37:d4       no                 0.07
  7     24:a1:60:54:37:d4       no                 0.06
  7     24:a1:60:54:37:d4       no                 0.04
  7     24:a1:60:54:37:d4       no                 0.02
  7     24:a1:60:54:37:d4       no                 0.00
  7     24:a1:60:54:37:d4       no                 0.98
  7     24:a1:60:54:37:d4       no                 0.06
  7     24:a1:60:54:37:d4       no                 0.94
  7     24:a1:60:54:37:d4       no                 0.92
  7     24:a1:60:54:37:d4       no                 0.59
  7     24:a1:60:54:37:d4       no                 0.89
  7     24:a1:60:54:37:d4       no                 0.87
  7     24:a1:60:54:37:d4       no                 0.46
# reconnect happens here 
  7     24:a1:60:54:37:d4       no                 0.21
  7     24:a1:60:54:37:d4       no                 0.02

Router 2 (roaming to)

  7     24:a1:60:54:37:d4       no                 0.20
  7     24:a1:60:54:37:d4       no                 0.06
  7     24:a1:60:54:37:d4       no                 1.07
# roaming (port changes from 7 -> 2 as it should)
  2     24:a1:60:54:37:d4       no                 0.26
  2     24:a1:60:54:37:d4       no                 0.24
  2     24:a1:60:54:37:d4       no                 0.22
  2     24:a1:60:54:37:d4       no                 0.21
  2     24:a1:60:54:37:d4       no                 0.18
  2     24:a1:60:54:37:d4       no                 0.16
  2     24:a1:60:54:37:d4       no                 0.14
  2     24:a1:60:54:37:d4       no                 0.12
  2     24:a1:60:54:37:d4       no                 0.11
  2     24:a1:60:54:37:d4       no                 0.09
  2     24:a1:60:54:37:d4       no                 0.07
  2     24:a1:60:54:37:d4       no                 0.05
  2     24:a1:60:54:37:d4       no                 0.03
  2     24:a1:60:54:37:d4       no                 0.01
  2     24:a1:60:54:37:d4       no                 0.99
  2     24:a1:60:54:37:d4       no                 0.98
  2     24:a1:60:54:37:d4       no                 0.95
  2     24:a1:60:54:37:d4       no                 0.94
  2     24:a1:60:54:37:d4       no                 0.92
  2     24:a1:60:54:37:d4       no                 3.88
# reconnect (nothing happening on the bridge)
  2     24:a1:60:54:37:d4       no                 3.33
  2     24:a1:60:54:37:d4       no                 4.34

Is that the port learning you suspected broken? Looks good to me :frowning:

Could that be a "normal" linux wlan bridge arp problem? I read linux might do arp spoof protection here. But why does it eventually work then?

brctl showmacs only shows the Linux software FDB. What really happens is the switch's hardware FDB desyncs from the software one.
Try bridge fdb instead. (bridge command is in package ip-bridge)

1 Like

I dont think it is the hardware bridge port config, but maybe I am misinterpreting this:

My ESP roams from AX1 to AX2 (no MAC change). One line every 10s -> roam takes ~150s.

ax1 brctl

ssh ax1 'while sleep 10; do brctl showmacs br-lan | grep 24:a1:60:54:37:d4; done'
  7     24:a1:60:54:37:d4       no                 0.42
  7     24:a1:60:54:37:d4       no                 0.18
# roam starts
  3     24:a1:60:54:37:d4       no                 1.19
  3     24:a1:60:54:37:d4       no                 1.16
# 11 same lines skipped
  3     24:a1:60:54:37:d4       no                 3.81
  3     24:a1:60:54:37:d4       no                 0.18
# reconnect complete (ping ok, tcp server connected)
  3     24:a1:60:54:37:d4       no                 2.03
  3     24:a1:60:54:37:d4       no                 1.84

ax2 brctl

ssh ax2 'while sleep 10; do brctl showmacs br-lan | grep 24:a1:60:54:37:d4; done'
  2     24:a1:60:54:37:d4       no                 1.01
  2     24:a1:60:54:37:d4       no                11.02
# roam starts
  7     24:a1:60:54:37:d4       no                 0.78
  7     24:a1:60:54:37:d4       no                 0.89
# 11 same lines skipped
  7     24:a1:60:54:37:d4       no                 1.52
  7     24:a1:60:54:37:d4       no                 0.27
# reconnect complete (ping ok, tcp server connected)
  7     24:a1:60:54:37:d4       no                 0.00
  7     24:a1:60:54:37:d4       no                 0.05

ax1 bridge

ssh ax1 'while sleep 10; do bridge -color fdb show | grep 24:a1:60:54:37:d4; done'
24:a1:60:54:37:d4 dev wlan2 master br-lan  
24:a1:60:54:37:d4 dev wlan2 master br-lan  
# roam starts
24:a1:60:54:37:d4 dev eth2 master br-lan  
24:a1:60:54:37:d4 dev eth2 master br-lan  
# 11 same lines skipped
24:a1:60:54:37:d4 dev eth2 master br-lan  
24:a1:60:54:37:d4 dev eth2 master br-lan  
# reconnect complete (ping ok, tcp server connected)
24:a1:60:54:37:d4 dev eth2 master br-lan  
24:a1:60:54:37:d4 dev eth2 master br-lan

ax2 bridge

ssh ax2 'while sleep 10; do bridge -color fdb show | grep 24:a1:60:54:37:d4; done'
24:a1:60:54:37:d4 dev eth1 master br-lan  
24:a1:60:54:37:d4 dev eth1 master br-lan  
# roam starts
24:a1:60:54:37:d4 dev wlan2 master br-lan  
24:a1:60:54:37:d4 dev wlan2 master br-lan  
# 11 same lines skipped
24:a1:60:54:37:d4 dev wlan2 master br-lan  
24:a1:60:54:37:d4 dev wlan2 master br-lan  
# reconnect complete (ping ok, tcp server connected)
24:a1:60:54:37:d4 dev wlan2 master br-lan  
24:a1:60:54:37:d4 dev wlan2 master br-lan

Syslog during that timeframe

Summary
2021-07-20T17:20:38.106539+02:00 Roamer-5437D4 Roamer RSSI -> -85 at 2021-07-20 17:20:38
2021-07-20T17:20:38.212387+02:00 Roamer-5437D4 Roamer RSSI -> -90 at 2021-07-20 17:20:38
2021-07-20T17:20:39.722332+02:00 Roamer-5437D4 Roamer Reconnect low RSSI at 2021-07-20 17:20:39
2021-07-20T17:20:40+02:00 ax1 hostapd: wlan2: AP-STA-DISCONNECTED 24:a1:60:54:37:d4
2021-07-20T17:20:40+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 WPA: event 2 notification
2021-07-20T17:20:40+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 IEEE 802.1X: unauthorizing port
2021-07-20T17:20:40+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 IEEE 802.11: disassociated
2021-07-20T17:20:40+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 MLME: MLME-DISASSOCIATE.indication(24:a1:60:54:37:d4, 8)
2021-07-20T17:20:40+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 MLME: MLME-DELETEKEYS.request(24:a1:60:54:37:d4)
2021-07-20T17:20:40+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 WPA: event 2 notification
2021-07-20T17:20:40+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 IEEE 802.1X: unauthorizing port
2021-07-20T17:20:40+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 IEEE 802.11: disassociated
2021-07-20T17:20:40+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 MLME: MLME-DISASSOCIATE.indication(24:a1:60:54:37:d4, 8)
2021-07-20T17:20:40+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 MLME: MLME-DELETEKEYS.request(24:a1:60:54:37:d4)
2021-07-20T17:20:40+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 WPA: event 2 notification
2021-07-20T17:20:40+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 IEEE 802.1X: unauthorizing port
2021-07-20T17:20:40+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 IEEE 802.11: disassociated
2021-07-20T17:20:40+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 MLME: MLME-DISASSOCIATE.indication(24:a1:60:54:37:d4, 8)
2021-07-20T17:20:40+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 MLME: MLME-DELETEKEYS.request(24:a1:60:54:37:d4)
2021-07-20T17:20:40+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 WPA: event 2 notification
2021-07-20T17:20:40+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 IEEE 802.1X: unauthorizing port
2021-07-20T17:20:40+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 IEEE 802.11: disassociated
2021-07-20T17:20:40+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 MLME: MLME-DISASSOCIATE.indication(24:a1:60:54:37:d4, 8)
2021-07-20T17:20:40+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 MLME: MLME-DELETEKEYS.request(24:a1:60:54:37:d4)
2021-07-20T17:20:40+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 WPA: event 2 notification
2021-07-20T17:20:40+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 IEEE 802.1X: unauthorizing port
2021-07-20T17:20:40+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 IEEE 802.11: disassociated
2021-07-20T17:20:40+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 MLME: MLME-DISASSOCIATE.indication(24:a1:60:54:37:d4, 8)
2021-07-20T17:20:40+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 MLME: MLME-DELETEKEYS.request(24:a1:60:54:37:d4)
2021-07-20T17:20:40+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 WPA: event 2 notification
2021-07-20T17:20:40+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 IEEE 802.1X: unauthorizing port
2021-07-20T17:20:40+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 IEEE 802.11: disassociated
2021-07-20T17:20:40+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 MLME: MLME-DISASSOCIATE.indication(24:a1:60:54:37:d4, 8)
2021-07-20T17:20:40+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 MLME: MLME-DELETEKEYS.request(24:a1:60:54:37:d4)
2021-07-20T17:20:40+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 WPA: event 2 notification
2021-07-20T17:20:40+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 IEEE 802.1X: unauthorizing port
2021-07-20T17:20:40+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 IEEE 802.11: disassociated
2021-07-20T17:20:40+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 MLME: MLME-DISASSOCIATE.indication(24:a1:60:54:37:d4, 8)
2021-07-20T17:20:40+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 MLME: MLME-DELETEKEYS.request(24:a1:60:54:37:d4)
2021-07-20T17:20:40+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 WPA: event 2 notification
2021-07-20T17:20:40+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 IEEE 802.1X: unauthorizing port
2021-07-20T17:20:40+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 IEEE 802.11: disassociated
2021-07-20T17:20:40+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 MLME: MLME-DISASSOCIATE.indication(24:a1:60:54:37:d4, 8)
2021-07-20T17:20:40+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 MLME: MLME-DELETEKEYS.request(24:a1:60:54:37:d4)
2021-07-20T17:20:40+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 WPA: event 2 notification
2021-07-20T17:20:40+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 IEEE 802.1X: unauthorizing port
2021-07-20T17:20:40+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 IEEE 802.11: disassociated
2021-07-20T17:20:40+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 MLME: MLME-DISASSOCIATE.indication(24:a1:60:54:37:d4, 8)
2021-07-20T17:20:40+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 MLME: MLME-DELETEKEYS.request(24:a1:60:54:37:d4)
2021-07-20T17:20:40+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 WPA: event 2 notification
2021-07-20T17:20:40+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 IEEE 802.1X: unauthorizing port
2021-07-20T17:20:40+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 IEEE 802.11: disassociated
2021-07-20T17:20:40+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 MLME: MLME-DISASSOCIATE.indication(24:a1:60:54:37:d4, 8)
2021-07-20T17:20:40+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 MLME: MLME-DELETEKEYS.request(24:a1:60:54:37:d4)
2021-07-20T17:20:40+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 WPA: event 2 notification
2021-07-20T17:20:40+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 IEEE 802.1X: unauthorizing port
2021-07-20T17:20:40+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 IEEE 802.11: disassociated
2021-07-20T17:20:40+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 MLME: MLME-DISASSOCIATE.indication(24:a1:60:54:37:d4, 8)
2021-07-20T17:20:40+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 MLME: MLME-DELETEKEYS.request(24:a1:60:54:37:d4)
2021-07-20T17:20:40+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 WPA: event 2 notification
2021-07-20T17:20:40+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 IEEE 802.1X: unauthorizing port
2021-07-20T17:20:40+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 IEEE 802.11: disassociated
2021-07-20T17:20:40+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 MLME: MLME-DISASSOCIATE.indication(24:a1:60:54:37:d4, 8)
2021-07-20T17:20:40+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 MLME: MLME-DELETEKEYS.request(24:a1:60:54:37:d4)
2021-07-20T17:20:41+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 IEEE 802.11: deauthenticated due to inactivity (timer DEAUTH/REMOVE)
2021-07-20T17:20:41+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 MLME: MLME-DEAUTHENTICATE.indication(24:a1:60:54:37:d4, 2)
2021-07-20T17:20:41+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 MLME: MLME-DELETEKEYS.request(24:a1:60:54:37:d4)
2021-07-20T17:20:42+02:00 ax2 hostapd: wlan2: STA 24:a1:60:54:37:d4 IEEE 802.11: authenticated
2021-07-20T17:20:42+02:00 ax2 hostapd: wlan2: STA 24:a1:60:54:37:d4 IEEE 802.11: associated (aid 2)
2021-07-20T17:20:42+02:00 ax2 hostapd: wlan2: AP-STA-CONNECTED 24:a1:60:54:37:d4
2021-07-20T17:20:42+02:00 ax2 hostapd: wlan2: STA 24:a1:60:54:37:d4 RADIUS: starting accounting session 54F6D09D3EDB64B2
2021-07-20T17:20:42+02:00 ax2 hostapd: wlan2: STA 24:a1:60:54:37:d4 WPA: pairwise key handshake completed (RSN)
2021-07-20T17:20:42+02:00 ax2 hostapd: wlan2: EAPOL-4WAY-HS-COMPLETED 24:a1:60:54:37:d4
2021-07-20T17:20:42+02:00 ax1 dnsmasq-dhcp[3492]: DHCPREQUEST(br-lan) 192.168.1.179 24:a1:60:54:37:d4
2021-07-20T17:20:42+02:00 ax1 dnsmasq-dhcp[3492]: DHCPACK(br-lan) 192.168.1.179 24:a1:60:54:37:d4 Roamer-5437D4
2021-07-20T17:20:42+02:00 ax1 dnsmasq-dhcp[3492]: DHCPREQUEST(br-lan) 192.168.1.179 24:a1:60:54:37:d4
2021-07-20T17:20:42+02:00 ax1 dnsmasq-dhcp[3492]: DHCPACK(br-lan) 192.168.1.179 24:a1:60:54:37:d4 Roamer-5437D4
2021-07-20T17:20:43+02:00 ax1 dnsmasq-dhcp[3492]: DHCPREQUEST(br-lan) 192.168.1.179 24:a1:60:54:37:d4
2021-07-20T17:20:43+02:00 ax1 dnsmasq-dhcp[3492]: DHCPACK(br-lan) 192.168.1.179 24:a1:60:54:37:d4 Roamer-5437D4
2021-07-20T17:20:43+02:00 ax1 dnsmasq-dhcp[3492]: DHCPREQUEST(br-lan) 192.168.1.179 24:a1:60:54:37:d4
2021-07-20T17:20:43+02:00 ax1 dnsmasq-dhcp[3492]: DHCPACK(br-lan) 192.168.1.179 24:a1:60:54:37:d4 Roamer-5437D4
2021-07-20T17:20:43+02:00 ax2 hostapd: wlan2: AP-STA-DISCONNECTED 24:a1:60:54:37:d4
2021-07-20T17:20:43+02:00 ax2 hostapd: wlan2: STA 24:a1:60:54:37:d4 IEEE 802.11: disassociated
2021-07-20T17:20:44+02:00 ax2 hostapd: wlan2: STA 24:a1:60:54:37:d4 IEEE 802.11: deauthenticated due to inactivity (timer DEAUTH/REMOVE)

# skipped some repeating blocks...

2021-07-20T17:22:42+02:00 ax2 hostapd: wlan2: STA 24:a1:60:54:37:d4 IEEE 802.11: deauthenticated due to inactivity (timer DEAUTH/REMOVE)
2021-07-20T17:22:44+02:00 ax2 hostapd: wlan2: STA 24:a1:60:54:37:d4 IEEE 802.11: authenticated
2021-07-20T17:22:44+02:00 ax2 hostapd: wlan2: STA 24:a1:60:54:37:d4 IEEE 802.11: associated (aid 1)
2021-07-20T17:22:44+02:00 ax2 hostapd: wlan2: AP-STA-CONNECTED 24:a1:60:54:37:d4
2021-07-20T17:22:44+02:00 ax2 hostapd: wlan2: STA 24:a1:60:54:37:d4 RADIUS: starting accounting session A4645D299EDB2186
2021-07-20T17:22:44+02:00 ax2 hostapd: wlan2: STA 24:a1:60:54:37:d4 WPA: pairwise key handshake completed (RSN)
2021-07-20T17:22:44+02:00 ax2 hostapd: wlan2: EAPOL-4WAY-HS-COMPLETED 24:a1:60:54:37:d4
2021-07-20T17:22:44+02:00 ax1 dnsmasq-dhcp[3492]: DHCPREQUEST(br-lan) 192.168.1.179 24:a1:60:54:37:d4
2021-07-20T17:22:44+02:00 ax1 dnsmasq-dhcp[3492]: DHCPACK(br-lan) 192.168.1.179 24:a1:60:54:37:d4 Roamer-5437D4
2021-07-20T17:22:44+02:00 ax1 dnsmasq-dhcp[3492]: DHCPREQUEST(br-lan) 192.168.1.179 24:a1:60:54:37:d4
2021-07-20T17:22:44+02:00 ax1 dnsmasq-dhcp[3492]: DHCPACK(br-lan) 192.168.1.179 24:a1:60:54:37:d4 Roamer-5437D4
2021-07-20T17:22:45+02:00 ax1 dnsmasq-dhcp[3492]: DHCPREQUEST(br-lan) 192.168.1.179 24:a1:60:54:37:d4
2021-07-20T17:22:45+02:00 ax1 dnsmasq-dhcp[3492]: DHCPACK(br-lan) 192.168.1.179 24:a1:60:54:37:d4 Roamer-5437D4
2021-07-20T17:22:45+02:00 ax1 dnsmasq-dhcp[3492]: DHCPREQUEST(br-lan) 192.168.1.179 24:a1:60:54:37:d4
2021-07-20T17:22:45+02:00 ax1 dnsmasq-dhcp[3492]: DHCPACK(br-lan) 192.168.1.179 24:a1:60:54:37:d4 Roamer-5437D4
2021-07-20T17:22:47+02:00 ax1 dnsmasq-dhcp[3492]: DHCPDISCOVER(br-lan) 24:a1:60:54:37:d4
2021-07-20T17:22:47+02:00 ax1 dnsmasq-dhcp[3492]: DHCPOFFER(br-lan) 192.168.1.179 24:a1:60:54:37:d4
2021-07-20T17:22:47+02:00 ax1 dnsmasq-dhcp[3492]: DHCPDISCOVER(br-lan) 24:a1:60:54:37:d4
2021-07-20T17:22:47+02:00 ax1 dnsmasq-dhcp[3492]: DHCPOFFER(br-lan) 192.168.1.179 24:a1:60:54:37:d4
2021-07-20T17:22:47+02:00 ax1 dnsmasq-dhcp[3492]: DHCPDISCOVER(br-lan) 24:a1:60:54:37:d4
2021-07-20T17:22:47+02:00 ax1 dnsmasq-dhcp[3492]: DHCPOFFER(br-lan) 192.168.1.179 24:a1:60:54:37:d4
2021-07-20T17:22:47+02:00 ax1 dnsmasq-dhcp[3492]: DHCPDISCOVER(br-lan) 24:a1:60:54:37:d4
2021-07-20T17:22:47+02:00 ax1 dnsmasq-dhcp[3492]: DHCPOFFER(br-lan) 192.168.1.179 24:a1:60:54:37:d4
2021-07-20T17:22:48+02:00 ax1 dnsmasq-dhcp[3492]: DHCPDISCOVER(br-lan) 24:a1:60:54:37:d4
2021-07-20T17:22:48+02:00 ax1 dnsmasq-dhcp[3492]: DHCPOFFER(br-lan) 192.168.1.179 24:a1:60:54:37:d4
2021-07-20T17:22:48+02:00 ax1 dnsmasq-dhcp[3492]: DHCPDISCOVER(br-lan) 24:a1:60:54:37:d4
2021-07-20T17:22:48+02:00 ax1 dnsmasq-dhcp[3492]: DHCPOFFER(br-lan) 192.168.1.179 24:a1:60:54:37:d4
2021-07-20T17:22:50+02:00 ax1 dnsmasq-dhcp[3492]: DHCPDISCOVER(br-lan) 24:a1:60:54:37:d4
2021-07-20T17:22:50+02:00 ax1 dnsmasq-dhcp[3492]: DHCPOFFER(br-lan) 192.168.1.179 24:a1:60:54:37:d4
2021-07-20T17:22:50+02:00 ax1 dnsmasq-dhcp[3492]: DHCPDISCOVER(br-lan) 24:a1:60:54:37:d4
2021-07-20T17:22:50+02:00 ax1 dnsmasq-dhcp[3492]: DHCPOFFER(br-lan) 192.168.1.179 24:a1:60:54:37:d4
2021-07-20T17:22:52+02:00 ax2 hostapd: wlan2: AP-STA-DISCONNECTED 24:a1:60:54:37:d4
2021-07-20T17:22:52+02:00 ax2 hostapd: wlan2: STA 24:a1:60:54:37:d4 IEEE 802.11: disassociated
2021-07-20T17:22:53+02:00 ax2 hostapd: wlan2: STA 24:a1:60:54:37:d4 IEEE 802.11: deauthenticated due to inactivity (timer DEAUTH/REMOVE)
2021-07-20T17:22:54+02:00 ax2 hostapd: wlan2: STA 24:a1:60:54:37:d4 IEEE 802.11: authenticated
2021-07-20T17:22:54+02:00 ax2 hostapd: wlan2: STA 24:a1:60:54:37:d4 IEEE 802.11: associated (aid 1)
2021-07-20T17:22:54+02:00 ax2 hostapd: wlan2: AP-STA-CONNECTED 24:a1:60:54:37:d4
2021-07-20T17:22:54+02:00 ax2 hostapd: wlan2: STA 24:a1:60:54:37:d4 RADIUS: starting accounting session 5E3D1193A679CD3B
2021-07-20T17:22:54+02:00 ax2 hostapd: wlan2: STA 24:a1:60:54:37:d4 WPA: pairwise key handshake completed (RSN)
2021-07-20T17:22:54+02:00 ax2 hostapd: wlan2: EAPOL-4WAY-HS-COMPLETED 24:a1:60:54:37:d4
2021-07-20T17:22:54+02:00 ax1 dnsmasq-dhcp[3492]: DHCPREQUEST(br-lan) 192.168.1.179 24:a1:60:54:37:d4
2021-07-20T17:22:54+02:00 ax1 dnsmasq-dhcp[3492]: DHCPACK(br-lan) 192.168.1.179 24:a1:60:54:37:d4 Roamer-5437D4
2021-07-20T17:22:54+02:00 ax1 dnsmasq-dhcp[3492]: DHCPREQUEST(br-lan) 192.168.1.179 24:a1:60:54:37:d4
2021-07-20T17:22:54+02:00 ax1 dnsmasq-dhcp[3492]: DHCPACK(br-lan) 192.168.1.179 24:a1:60:54:37:d4 Roamer-5437D4
2021-07-20T17:22:55+02:00 ax1 dnsmasq-dhcp[3492]: DHCPREQUEST(br-lan) 192.168.1.179 24:a1:60:54:37:d4
2021-07-20T17:22:55+02:00 ax1 dnsmasq-dhcp[3492]: DHCPACK(br-lan) 192.168.1.179 24:a1:60:54:37:d4 Roamer-5437D4
2021-07-20T17:22:55+02:00 ax1 dnsmasq-dhcp[3492]: DHCPREQUEST(br-lan) 192.168.1.179 24:a1:60:54:37:d4
2021-07-20T17:22:55+02:00 ax1 dnsmasq-dhcp[3492]: DHCPACK(br-lan) 192.168.1.179 24:a1:60:54:37:d4 Roamer-5437D4
2021-07-20T17:22:57+02:00 ax1 dnsmasq-dhcp[3492]: DHCPDISCOVER(br-lan) 24:a1:60:54:37:d4
2021-07-20T17:22:57+02:00 ax1 dnsmasq-dhcp[3492]: DHCPOFFER(br-lan) 192.168.1.179 24:a1:60:54:37:d4
2021-07-20T17:22:57+02:00 ax1 dnsmasq-dhcp[3492]: DHCPDISCOVER(br-lan) 24:a1:60:54:37:d4
2021-07-20T17:22:57+02:00 ax1 dnsmasq-dhcp[3492]: DHCPOFFER(br-lan) 192.168.1.179 24:a1:60:54:37:d4
2021-07-20T17:22:57+02:00 ax1 dnsmasq-dhcp[3492]: DHCPREQUEST(br-lan) 192.168.1.179 24:a1:60:54:37:d4
2021-07-20T17:22:57+02:00 ax1 dnsmasq-dhcp[3492]: DHCPACK(br-lan) 192.168.1.179 24:a1:60:54:37:d4 Roamer-5437D4
2021-07-20T17:22:57+02:00 ax1 dnsmasq-dhcp[3492]: DHCPREQUEST(br-lan) 192.168.1.179 24:a1:60:54:37:d4
2021-07-20T17:22:57+02:00 ax1 dnsmasq-dhcp[3492]: DHCPACK(br-lan) 192.168.1.179 24:a1:60:54:37:d4 Roamer-5437D4
2021-07-20T17:22:57.275432+02:00 Roamer-5437D4 Roamer Host Roamer-5437D4 3.1 started with IP 192.168.1.179
2021-07-20T17:22:57.279184+02:00 Roamer-5437D4 Roamer Connect with MAC 24:A1:60:54:37:D4 at 2021-07-20 17:22:57
2021-07-20T17:22:57.291092+02:00 Roamer-5437D4 Roamer RSSI -> -20 at 2021-07-20 17:22:57
2021-07-20T17:22:58.190220+02:00 Roamer-5437D4 Roamer Echo disconnect at 1900-01-00 00:00:00
2021-07-20T17:22:58.197402+02:00 Roamer-5437D4 Roamer Echo ok at 2021-07-20 17:22:58
2021-07-20T17:22:59.209292+02:00 Roamer-5437D4 Roamer No ping at 1900-01-00 00:00:00
2021-07-20T17:22:59.216769+02:00 Roamer-5437D4 Roamer Ping ok at 2021-07-20 17:22:59
2021-07-20T17:26:06.382339+02:00 Roamer-5437D4 Roamer RSSI -> -36 at 2021-07-20 17:26:06
2021-07-20T17:26:06.481211+02:00 Roamer-5437D4 Roamer RSSI -> -20 at 2021-07-20 17:26:06

Edit: add roaming back from ax2 to ax1

Roaming back looks different. It also takes more than 2 minutes, it also switches ports in sync. But syslog is different: no wlan deauth/auth retries, just silence after second DHCP ACK:

Syslog while roaming back ax2 -> ax1

Summary
2021-07-20T18:09:41.687808+02:00 Roamer-5437D4 Roamer RSSI -> -90 at 2021-07-20 18:09:41
2021-07-20T18:09:42.625611+02:00 Roamer-5437D4 Roamer RSSI -> -84 at 2021-07-20 18:09:42
2021-07-20T18:09:44.326151+02:00 Roamer-5437D4 Roamer Reconnect low RSSI at 2021-07-20 18:09:43
2021-07-20T18:09:44+02:00 ax2 hostapd: wlan2: AP-STA-DISCONNECTED 24:a1:60:54:37:d4
2021-07-20T18:09:44+02:00 ax2 hostapd: wlan2: STA 24:a1:60:54:37:d4 IEEE 802.11: disassociated
2021-07-20T18:09:45+02:00 ax2 hostapd: wlan2: STA 24:a1:60:54:37:d4 IEEE 802.11: deauthenticated due to inactivity (timer DEAUTH/REMOVE)
2021-07-20T18:09:46+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 IEEE 802.11: authentication OK (open system)
2021-07-20T18:09:46+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 MLME: MLME-AUTHENTICATE.indication(24:a1:60:54:37:d4, OPEN_SYSTEM)
2021-07-20T18:09:46+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 MLME: MLME-DELETEKEYS.request(24:a1:60:54:37:d4)
2021-07-20T18:09:46+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 IEEE 802.11: authenticated
2021-07-20T18:09:46+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 IEEE 802.11: association OK (aid 8)
2021-07-20T18:09:46+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 IEEE 802.11: associated (aid 8)
2021-07-20T18:09:46+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 MLME: MLME-ASSOCIATE.indication(24:a1:60:54:37:d4)
2021-07-20T18:09:46+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 MLME: MLME-DELETEKEYS.request(24:a1:60:54:37:d4)
2021-07-20T18:09:46+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 IEEE 802.11: binding station to interface 'wlan2'
2021-07-20T18:09:46+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 WPA: event 1 notification
2021-07-20T18:09:46+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 WPA: start authentication
2021-07-20T18:09:46+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 IEEE 802.1X: unauthorizing port
2021-07-20T18:09:46+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 WPA: sending 1/4 msg of 4-Way Handshake
2021-07-20T18:09:46+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 WPA: received EAPOL-Key frame (2/4 Pairwise)
2021-07-20T18:09:46+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 WPA: sending 3/4 msg of 4-Way Handshake
2021-07-20T18:09:46+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 WPA: received EAPOL-Key frame (4/4 Pairwise)
2021-07-20T18:09:46+02:00 ax1 hostapd: wlan2: AP-STA-CONNECTED 24:a1:60:54:37:d4
2021-07-20T18:09:46+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 IEEE 802.1X: authorizing port
2021-07-20T18:09:46+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 RADIUS: starting accounting session 2773538A87A2DB85
2021-07-20T18:09:46+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 WPA: pairwise key handshake completed (RSN)
2021-07-20T18:09:46+02:00 ax1 hostapd: wlan2: EAPOL-4WAY-HS-COMPLETED 24:a1:60:54:37:d4
2021-07-20T18:09:46+02:00 ax1 dnsmasq-dhcp[3492]: DHCPREQUEST(br-lan) 192.168.1.179 24:a1:60:54:37:d4
2021-07-20T18:09:46+02:00 ax1 dnsmasq-dhcp[3492]: DHCPACK(br-lan) 192.168.1.179 24:a1:60:54:37:d4 Roamer-5437D4
2021-07-20T18:09:48+02:00 ax1 hostapd: wlan2: AP-STA-DISCONNECTED 24:a1:60:54:37:d4
2021-07-20T18:09:48+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 WPA: event 2 notification
2021-07-20T18:09:48+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 IEEE 802.1X: unauthorizing port
2021-07-20T18:09:48+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 IEEE 802.11: disassociated
2021-07-20T18:09:48+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 MLME: MLME-DISASSOCIATE.indication(24:a1:60:54:37:d4, 8)
2021-07-20T18:09:48+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 MLME: MLME-DELETEKEYS.request(24:a1:60:54:37:d4)
2021-07-20T18:09:49+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 IEEE 802.11: deauthenticated due to inactivity (timer DEAUTH/REMOVE)
2021-07-20T18:09:49+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 MLME: MLME-DEAUTHENTICATE.indication(24:a1:60:54:37:d4, 2)
2021-07-20T18:09:49+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 MLME: MLME-DELETEKEYS.request(24:a1:60:54:37:d4)
2021-07-20T18:09:50+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 IEEE 802.11: authentication OK (open system)
2021-07-20T18:09:50+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 MLME: MLME-AUTHENTICATE.indication(24:a1:60:54:37:d4, OPEN_SYSTEM)
2021-07-20T18:09:50+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 MLME: MLME-DELETEKEYS.request(24:a1:60:54:37:d4)
2021-07-20T18:09:50+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 IEEE 802.11: authenticated
2021-07-20T18:09:50+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 IEEE 802.11: association OK (aid 8)
2021-07-20T18:09:50+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 IEEE 802.11: associated (aid 8)
2021-07-20T18:09:50+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 MLME: MLME-ASSOCIATE.indication(24:a1:60:54:37:d4)
2021-07-20T18:09:50+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 MLME: MLME-DELETEKEYS.request(24:a1:60:54:37:d4)
2021-07-20T18:09:50+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 IEEE 802.11: binding station to interface 'wlan2'
2021-07-20T18:09:50+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 WPA: event 1 notification
2021-07-20T18:09:50+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 WPA: start authentication
2021-07-20T18:09:50+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 IEEE 802.1X: unauthorizing port
2021-07-20T18:09:50+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 WPA: sending 1/4 msg of 4-Way Handshake
2021-07-20T18:09:50+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 WPA: received EAPOL-Key frame (2/4 Pairwise)
2021-07-20T18:09:50+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 WPA: sending 3/4 msg of 4-Way Handshake
2021-07-20T18:09:50+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 WPA: received EAPOL-Key frame (4/4 Pairwise)
2021-07-20T18:09:50+02:00 ax1 hostapd: wlan2: AP-STA-CONNECTED 24:a1:60:54:37:d4
2021-07-20T18:09:50+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 IEEE 802.1X: authorizing port
2021-07-20T18:09:50+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 RADIUS: starting accounting session A10D27A9A43FABD1
2021-07-20T18:09:50+02:00 ax1 hostapd: wlan2: STA 24:a1:60:54:37:d4 WPA: pairwise key handshake completed (RSN)
2021-07-20T18:09:50+02:00 ax1 hostapd: wlan2: EAPOL-4WAY-HS-COMPLETED 24:a1:60:54:37:d4
2021-07-20T18:09:50+02:00 ax1 dnsmasq-dhcp[3492]: DHCPREQUEST(br-lan) 192.168.1.179 24:a1:60:54:37:d4
2021-07-20T18:09:50+02:00 ax1 dnsmasq-dhcp[3492]: DHCPACK(br-lan) 192.168.1.179 24:a1:60:54:37:d4 Roamer-5437D4

# silence

2021-07-20T18:12:07.904016+02:00 Roamer-5437D4 Roamer Echo disconnect at 2021-07-20 18:09:52
2021-07-20T18:12:07.910991+02:00 Roamer-5437D4 Roamer Echo ok at 2021-07-20 18:12:07
2021-07-20T18:12:10.559455+02:00 Roamer-5437D4 Roamer No ping at 2021-07-20 18:09:55
2021-07-20T18:12:10.566365+02:00 Roamer-5437D4 Roamer Ping ok at 2021-07-20 18:12:10

There is no self or offload entries so I don't think the switch driver supports FDB dumping.

Another symptom of broken address learning on the CPU port is the switch may flood traffic which should only be sent to CPU, because the switch does not know where it is (This may not happen, depending on how the switch handles unknown destination frames).
To test this, connect 2 LAN clients to the switch. Ping the router on one client and capture ICMP packets on the other.

sorry, lots of questions:

  1. Not sure what fdb dumping is good for. Do I need it for roaming?
  2. If I need it, couldn't I see in the source code if it is supported or not?
  3. What do you mean by broken address learning of the CPU port?
  4. Doesn't my logs show port<->adresses mappings of a roaming client work?
  5. What could be the outcome of the proposed lan-lan ping test?
  6. What could be a fix from that outcome(s) to prevent roaming delays?

Thanks

To read the hardware FDB entries. Looks like even bridge fdb cannot read them.

Then you need to ask @robimarko and @Ansuel.

See my first reply in this thread.

Same as 1.

The packet capturing client may see ALL your LAN clients' requests, which is a serious security threat.

Fix the address learning on the CPU port of the switch, either enable it on the hardware, or workaround on the software (Have CPU install static FDB entries to the switch, assisted_learning_on_cpu_port).

1 Like

Thanks for the infos. Still a bit puzzled how bridge command can see the port switch immediately if this is not communicated, But anyways, in prep for the ping test I looked into tcpdump and monitored a roam with it on both APs.

roaming esp32 from ax1 to ax2:

  • discover and request broadcasts of esp32 are seen by ax1 (the dhcp server) and ax2
  • resulting offer is seen on br-lan of ax1 but not on br-lan of ax2
  • sometimes a request / ack is followed by the offer on ax1 but not seen on ax2 and no effect on esp32

ax1

root@ax1:~# tcpdump -i br-lan -nn ether host 24:a1:60:54:37:d4 -vvv

16:27:20.422265 IP (tos 0x0, ttl 255, id 2515, offset 0, flags [none], proto UDP (17), length 336)
    0.0.0.0.68 > 255.255.255.255.67: [udp sum ok] BOOTP/DHCP, Request from 24:a1:60:54:37:d4, length 308, xid 0x3961a776, Flags [none] (0x0000)
          Client-Ethernet-Address 24:a1:60:54:37:d4
          Vendor-rfc1048 Extensions
            Magic Cookie 0x63825363
            DHCP-Message Option 53, length 1: Discover
            MSZ Option 57, length 2: 1500
            Hostname Option 12, length 13: "Roamer-5437D4"
            Parameter-Request Option 55, length 12: 
              Subnet-Mask, Default-Gateway, BR, Domain-Name-Server
              Domain-Name, Netbios-Name-Server, Netbios-Node, Netbios-Scope
              Router-Discovery, Static-Route, Classless-Static-Route, Vendor-Option
            END Option 255, length 0
            PAD Option 0, length 0, occurs 31
16:27:20.422681 IP (tos 0x0, ttl 255, id 2515, offset 0, flags [none], proto UDP (17), length 336)
    0.0.0.0.68 > 255.255.255.255.67: [udp sum ok] BOOTP/DHCP, Request from 24:a1:60:54:37:d4, length 308, xid 0x3961a776, Flags [none] (0x0000)
          Client-Ethernet-Address 24:a1:60:54:37:d4
          Vendor-rfc1048 Extensions
            Magic Cookie 0x63825363
            DHCP-Message Option 53, length 1: Discover
            MSZ Option 57, length 2: 1500
            Hostname Option 12, length 13: "Roamer-5437D4"
            Parameter-Request Option 55, length 12: 
              Subnet-Mask, Default-Gateway, BR, Domain-Name-Server
              Domain-Name, Netbios-Name-Server, Netbios-Node, Netbios-Scope
              Router-Discovery, Static-Route, Classless-Static-Route, Vendor-Option
            END Option 255, length 0
            PAD Option 0, length 0, occurs 31
16:27:20.423648 IP (tos 0xc0, ttl 64, id 5817, offset 0, flags [none], proto UDP (17), length 328)
    192.168.1.236.67 > 192.168.1.179.68: [bad udp cksum 0x8635 -> 0x6f56!] BOOTP/DHCP, Reply, length 300, xid 0x3961a776, Flags [none] (0x0000)
          Your-IP 192.168.1.179
          Server-IP 192.168.1.236
          Client-Ethernet-Address 24:a1:60:54:37:d4
          Vendor-rfc1048 Extensions
            Magic Cookie 0x63825363
            DHCP-Message Option 53, length 1: Offer
            Server-ID Option 54, length 4: 192.168.1.236
            Lease-Time Option 51, length 4: 43200
            RN Option 58, length 4: 21600
            RB Option 59, length 4: 37800
            Subnet-Mask Option 1, length 4: 255.255.255.0
            BR Option 28, length 4: 192.168.1.255
            Domain-Name-Server Option 6, length 4: 192.168.1.236
            Domain-Name Option 15, length 3: "job"
            Default-Gateway Option 3, length 4: 192.168.1.221
            END Option 255, length 0
            PAD Option 0, length 0, occurs 3
16:27:20.424553 IP (tos 0xc0, ttl 64, id 5818, offset 0, flags [none], proto UDP (17), length 328)
    192.168.1.236.67 > 192.168.1.179.68: [bad udp cksum 0x8635 -> 0x6f56!] BOOTP/DHCP, Reply, length 300, xid 0x3961a776, Flags [none] (0x0000)
          Your-IP 192.168.1.179
          Server-IP 192.168.1.236
          Client-Ethernet-Address 24:a1:60:54:37:d4
          Vendor-rfc1048 Extensions
            Magic Cookie 0x63825363
            DHCP-Message Option 53, length 1: Offer
            Server-ID Option 54, length 4: 192.168.1.236
            Lease-Time Option 51, length 4: 43200
            RN Option 58, length 4: 21600
            RB Option 59, length 4: 37800
            Subnet-Mask Option 1, length 4: 255.255.255.0
            BR Option 28, length 4: 192.168.1.255
            Domain-Name-Server Option 6, length 4: 192.168.1.236
            Domain-Name Option 15, length 3: "job"
            Default-Gateway Option 3, length 4: 192.168.1.221
            END Option 255, length 0
            PAD Option 0, length 0, occurs 3
16:27:20.925205 IP (tos 0x0, ttl 255, id 2516, offset 0, flags [none], proto UDP (17), length 336)
    0.0.0.0.68 > 255.255.255.255.67: [udp sum ok] BOOTP/DHCP, Request from 24:a1:60:54:37:d4, length 308, xid 0x3961a776, Flags [none] (0x0000)
          Client-Ethernet-Address 24:a1:60:54:37:d4
          Vendor-rfc1048 Extensions
            Magic Cookie 0x63825363
            DHCP-Message Option 53, length 1: Discover
            MSZ Option 57, length 2: 1500
            Hostname Option 12, length 13: "Roamer-5437D4"
            Parameter-Request Option 55, length 12: 
              Subnet-Mask, Default-Gateway, BR, Domain-Name-Server
              Domain-Name, Netbios-Name-Server, Netbios-Node, Netbios-Scope
              Router-Discovery, Static-Route, Classless-Static-Route, Vendor-Option
            END Option 255, length 0
            PAD Option 0, length 0, occurs 31
16:27:20.925730 IP (tos 0x0, ttl 255, id 2516, offset 0, flags [none], proto UDP (17), length 336)
    0.0.0.0.68 > 255.255.255.255.67: [udp sum ok] BOOTP/DHCP, Request from 24:a1:60:54:37:d4, length 308, xid 0x3961a776, Flags [none] (0x0000)
          Client-Ethernet-Address 24:a1:60:54:37:d4
          Vendor-rfc1048 Extensions
            Magic Cookie 0x63825363
            DHCP-Message Option 53, length 1: Discover
            MSZ Option 57, length 2: 1500
            Hostname Option 12, length 13: "Roamer-5437D4"
            Parameter-Request Option 55, length 12: 
              Subnet-Mask, Default-Gateway, BR, Domain-Name-Server
              Domain-Name, Netbios-Name-Server, Netbios-Node, Netbios-Scope
              Router-Discovery, Static-Route, Classless-Static-Route, Vendor-Option
            END Option 255, length 0
            PAD Option 0, length 0, occurs 31
16:27:20.926751 IP (tos 0xc0, ttl 64, id 5824, offset 0, flags [none], proto UDP (17), length 328)
    192.168.1.236.67 > 192.168.1.179.68: [bad udp cksum 0x8635 -> 0x6f56!] BOOTP/DHCP, Reply, length 300, xid 0x3961a776, Flags [none] (0x0000)
          Your-IP 192.168.1.179
          Server-IP 192.168.1.236
          Client-Ethernet-Address 24:a1:60:54:37:d4
          Vendor-rfc1048 Extensions
            Magic Cookie 0x63825363
            DHCP-Message Option 53, length 1: Offer
            Server-ID Option 54, length 4: 192.168.1.236
            Lease-Time Option 51, length 4: 43200
            RN Option 58, length 4: 21600
            RB Option 59, length 4: 37800
            Subnet-Mask Option 1, length 4: 255.255.255.0
            BR Option 28, length 4: 192.168.1.255
            Domain-Name-Server Option 6, length 4: 192.168.1.236
            Domain-Name Option 15, length 3: "job"
            Default-Gateway Option 3, length 4: 192.168.1.221
            END Option 255, length 0
            PAD Option 0, length 0, occurs 3
16:27:20.927656 IP (tos 0xc0, ttl 64, id 5825, offset 0, flags [none], proto UDP (17), length 328)
    192.168.1.236.67 > 192.168.1.179.68: [bad udp cksum 0x8635 -> 0x6f56!] BOOTP/DHCP, Reply, length 300, xid 0x3961a776, Flags [none] (0x0000)
          Your-IP 192.168.1.179
          Server-IP 192.168.1.236
          Client-Ethernet-Address 24:a1:60:54:37:d4
          Vendor-rfc1048 Extensions
            Magic Cookie 0x63825363
            DHCP-Message Option 53, length 1: Offer
            Server-ID Option 54, length 4: 192.168.1.236
            Lease-Time Option 51, length 4: 43200
            RN Option 58, length 4: 21600
            RB Option 59, length 4: 37800
            Subnet-Mask Option 1, length 4: 255.255.255.0
            BR Option 28, length 4: 192.168.1.255
            Domain-Name-Server Option 6, length 4: 192.168.1.236
            Domain-Name Option 15, length 3: "job"
            Default-Gateway Option 3, length 4: 192.168.1.221
            END Option 255, length 0
            PAD Option 0, length 0, occurs 3

ax2

root@ax2:~# tcpdump -i br-lan -nn ether host 24:a1:60:54:37:d4 -vvv

16:27:20.421610 IP (tos 0x0, ttl 255, id 2515, offset 0, flags [none], proto UDP (17), length 336)
    0.0.0.0.68 > 255.255.255.255.67: [udp sum ok] BOOTP/DHCP, Request from 24:a1:60:54:37:d4, length 308, xid 0x3961a776, Flags [none] (0x0000)
          Client-Ethernet-Address 24:a1:60:54:37:d4
          Vendor-rfc1048 Extensions
            Magic Cookie 0x63825363
            DHCP-Message Option 53, length 1: Discover
            MSZ Option 57, length 2: 1500
            Hostname Option 12, length 13: "Roamer-5437D4"
            Parameter-Request Option 55, length 12: 
              Subnet-Mask, Default-Gateway, BR, Domain-Name-Server
              Domain-Name, Netbios-Name-Server, Netbios-Node, Netbios-Scope
              Router-Discovery, Static-Route, Classless-Static-Route, Vendor-Option
            END Option 255, length 0
            PAD Option 0, length 0, occurs 31
16:27:20.924554 IP (tos 0x0, ttl 255, id 2516, offset 0, flags [none], proto UDP (17), length 336)
    0.0.0.0.68 > 255.255.255.255.67: [udp sum ok] BOOTP/DHCP, Request from 24:a1:60:54:37:d4, length 308, xid 0x3961a776, Flags [none] (0x0000)
          Client-Ethernet-Address 24:a1:60:54:37:d4
          Vendor-rfc1048 Extensions
            Magic Cookie 0x63825363
            DHCP-Message Option 53, length 1: Discover
            MSZ Option 57, length 2: 1500
            Hostname Option 12, length 13: "Roamer-5437D4"
            Parameter-Request Option 55, length 12: 
              Subnet-Mask, Default-Gateway, BR, Domain-Name-Server
              Domain-Name, Netbios-Name-Server, Netbios-Node, Netbios-Scope
              Router-Discovery, Static-Route, Classless-Static-Route, Vendor-Option
            END Option 255, length 0
            PAD Option 0, length 0, occurs 31

Then something changes

ax1

16:29:50.244880 IP (tos 0x0, ttl 255, id 2608, offset 0, flags [none], proto UDP (17), length 336)
    0.0.0.0.68 > 255.255.255.255.67: [udp sum ok] BOOTP/DHCP, Request from 24:a1:60:54:37:d4, length 308, xid 0x47409cd6, Flags [none] (0x0000)
          Client-Ethernet-Address 24:a1:60:54:37:d4
          Vendor-rfc1048 Extensions
            Magic Cookie 0x63825363
            DHCP-Message Option 53, length 1: Discover
            MSZ Option 57, length 2: 1500
            Hostname Option 12, length 13: "Roamer-5437D4"
            Parameter-Request Option 55, length 12: 
              Subnet-Mask, Default-Gateway, BR, Domain-Name-Server
              Domain-Name, Netbios-Name-Server, Netbios-Node, Netbios-Scope
              Router-Discovery, Static-Route, Classless-Static-Route, Vendor-Option
            END Option 255, length 0
            PAD Option 0, length 0, occurs 31
16:29:50.245368 IP (tos 0x0, ttl 255, id 2608, offset 0, flags [none], proto UDP (17), length 336)
    0.0.0.0.68 > 255.255.255.255.67: [udp sum ok] BOOTP/DHCP, Request from 24:a1:60:54:37:d4, length 308, xid 0x47409cd6, Flags [none] (0x0000)
          Client-Ethernet-Address 24:a1:60:54:37:d4
          Vendor-rfc1048 Extensions
            Magic Cookie 0x63825363
            DHCP-Message Option 53, length 1: Discover
            MSZ Option 57, length 2: 1500
            Hostname Option 12, length 13: "Roamer-5437D4"
            Parameter-Request Option 55, length 12: 
              Subnet-Mask, Default-Gateway, BR, Domain-Name-Server
              Domain-Name, Netbios-Name-Server, Netbios-Node, Netbios-Scope
              Router-Discovery, Static-Route, Classless-Static-Route, Vendor-Option
            END Option 255, length 0
            PAD Option 0, length 0, occurs 31
16:29:50.245727 IP (tos 0xc0, ttl 64, id 24954, offset 0, flags [none], proto UDP (17), length 328)
    192.168.1.236.67 > 192.168.1.179.68: [bad udp cksum 0x8635 -> 0x6c17!] BOOTP/DHCP, Reply, length 300, xid 0x47409cd6, Flags [none] (0x0000)
          Your-IP 192.168.1.179
          Server-IP 192.168.1.236
          Client-Ethernet-Address 24:a1:60:54:37:d4
          Vendor-rfc1048 Extensions
            Magic Cookie 0x63825363
            DHCP-Message Option 53, length 1: Offer
            Server-ID Option 54, length 4: 192.168.1.236
            Lease-Time Option 51, length 4: 43200
            RN Option 58, length 4: 21600
            RB Option 59, length 4: 37800
            Subnet-Mask Option 1, length 4: 255.255.255.0
            BR Option 28, length 4: 192.168.1.255
            Domain-Name-Server Option 6, length 4: 192.168.1.236
            Domain-Name Option 15, length 3: "job"
            Default-Gateway Option 3, length 4: 192.168.1.221
            END Option 255, length 0
            PAD Option 0, length 0, occurs 3
16:29:50.246293 IP (tos 0xc0, ttl 64, id 24955, offset 0, flags [none], proto UDP (17), length 328)
    192.168.1.236.67 > 192.168.1.179.68: [bad udp cksum 0x8635 -> 0x6c17!] BOOTP/DHCP, Reply, length 300, xid 0x47409cd6, Flags [none] (0x0000)
          Your-IP 192.168.1.179
          Server-IP 192.168.1.236
          Client-Ethernet-Address 24:a1:60:54:37:d4
          Vendor-rfc1048 Extensions
            Magic Cookie 0x63825363
            DHCP-Message Option 53, length 1: Offer
            Server-ID Option 54, length 4: 192.168.1.236
            Lease-Time Option 51, length 4: 43200
            RN Option 58, length 4: 21600
            RB Option 59, length 4: 37800
            Subnet-Mask Option 1, length 4: 255.255.255.0
            BR Option 28, length 4: 192.168.1.255
            Domain-Name-Server Option 6, length 4: 192.168.1.236
            Domain-Name Option 15, length 3: "job"
            Default-Gateway Option 3, length 4: 192.168.1.221
            END Option 255, length 0
            PAD Option 0, length 0, occurs 3
16:29:54.151948 24:a1:60:54:37:d4 > ff:ff:ff:ff:ff:ff Null Unnumbered, xid, Flags [Response], length 46: 01 00
16:29:54.152266 24:a1:60:54:37:d4 > ff:ff:ff:ff:ff:ff Null Unnumbered, xid, Flags [Response], length 46: 01 00
16:29:54.163513 IP (tos 0x0, ttl 255, id 2609, offset 0, flags [none], proto UDP (17), length 336)
    0.0.0.0.68 > 255.255.255.255.67: [udp sum ok] BOOTP/DHCP, Request from 24:a1:60:54:37:d4, length 308, xid 0x98fdd13a, Flags [none] (0x0000)
          Client-Ethernet-Address 24:a1:60:54:37:d4
          Vendor-rfc1048 Extensions
            Magic Cookie 0x63825363
            DHCP-Message Option 53, length 1: Request
            MSZ Option 57, length 2: 576
            Requested-IP Option 50, length 4: 192.168.1.179
            Parameter-Request Option 55, length 12: 
              Subnet-Mask, Default-Gateway, BR, Domain-Name-Server
              Domain-Name, Netbios-Name-Server, Netbios-Node, Netbios-Scope
              Router-Discovery, Static-Route, Classless-Static-Route, Vendor-Option
            Hostname Option 12, length 13: "Roamer-5437D4"
            END Option 255, length 0
            PAD Option 0, length 0, occurs 25
16:29:54.163940 IP (tos 0x0, ttl 255, id 2609, offset 0, flags [none], proto UDP (17), length 336)
    0.0.0.0.68 > 255.255.255.255.67: [udp sum ok] BOOTP/DHCP, Request from 24:a1:60:54:37:d4, length 308, xid 0x98fdd13a, Flags [none] (0x0000)
          Client-Ethernet-Address 24:a1:60:54:37:d4
          Vendor-rfc1048 Extensions
            Magic Cookie 0x63825363
            DHCP-Message Option 53, length 1: Request
            MSZ Option 57, length 2: 576
            Requested-IP Option 50, length 4: 192.168.1.179
            Parameter-Request Option 55, length 12: 
              Subnet-Mask, Default-Gateway, BR, Domain-Name-Server
              Domain-Name, Netbios-Name-Server, Netbios-Node, Netbios-Scope
              Router-Discovery, Static-Route, Classless-Static-Route, Vendor-Option
            Hostname Option 12, length 13: "Roamer-5437D4"
            END Option 255, length 0
            PAD Option 0, length 0, occurs 25
16:29:54.165546 IP (tos 0xc0, ttl 64, id 25217, offset 0, flags [none], proto UDP (17), length 328)
    192.168.1.236.67 > 192.168.1.179.68: [bad udp cksum 0x8635 -> 0xe2f5!] BOOTP/DHCP, Reply, length 300, xid 0x98fdd13a, Flags [none] (0x0000)
          Your-IP 192.168.1.179
          Server-IP 192.168.1.236
          Client-Ethernet-Address 24:a1:60:54:37:d4
          Vendor-rfc1048 Extensions
            Magic Cookie 0x63825363
            DHCP-Message Option 53, length 1: ACK
            Server-ID Option 54, length 4: 192.168.1.236
            Lease-Time Option 51, length 4: 43200
            RN Option 58, length 4: 21600
            RB Option 59, length 4: 37800
            Subnet-Mask Option 1, length 4: 255.255.255.0
            BR Option 28, length 4: 192.168.1.255
            Domain-Name-Server Option 6, length 4: 192.168.1.236
            Domain-Name Option 15, length 3: "job"
            Default-Gateway Option 3, length 4: 192.168.1.221
            END Option 255, length 0
            PAD Option 0, length 0, occurs 3
16:29:54.166220 IP (tos 0xc0, ttl 64, id 25218, offset 0, flags [none], proto UDP (17), length 328)
    192.168.1.236.67 > 192.168.1.179.68: [bad udp cksum 0x8635 -> 0xe2f5!] BOOTP/DHCP, Reply, length 300, xid 0x98fdd13a, Flags [none] (0x0000)
          Your-IP 192.168.1.179
          Server-IP 192.168.1.236
          Client-Ethernet-Address 24:a1:60:54:37:d4
          Vendor-rfc1048 Extensions
            Magic Cookie 0x63825363
            DHCP-Message Option 53, length 1: ACK
            Server-ID Option 54, length 4: 192.168.1.236
            Lease-Time Option 51, length 4: 43200
            RN Option 58, length 4: 21600
            RB Option 59, length 4: 37800
            Subnet-Mask Option 1, length 4: 255.255.255.0
            BR Option 28, length 4: 192.168.1.255
            Domain-Name-Server Option 6, length 4: 192.168.1.236
            Domain-Name Option 15, length 3: "job"
            Default-Gateway Option 3, length 4: 192.168.1.221
            END Option 255, length 0
            PAD Option 0, length 0, occurs 3
16:29:54.177760 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 192.168.1.179 tell 192.168.1.179, length 46

ax2

16:29:50.244242 IP (tos 0x0, ttl 255, id 2608, offset 0, flags [none], proto UDP (17), length 336)
    0.0.0.0.68 > 255.255.255.255.67: [udp sum ok] BOOTP/DHCP, Request from 24:a1:60:54:37:d4, length 308, xid 0x47409cd6, Flags [none] (0x0000)
          Client-Ethernet-Address 24:a1:60:54:37:d4
          Vendor-rfc1048 Extensions
            Magic Cookie 0x63825363
            DHCP-Message Option 53, length 1: Discover
            MSZ Option 57, length 2: 1500
            Hostname Option 12, length 13: "Roamer-5437D4"
            Parameter-Request Option 55, length 12: 
              Subnet-Mask, Default-Gateway, BR, Domain-Name-Server
              Domain-Name, Netbios-Name-Server, Netbios-Node, Netbios-Scope
              Router-Discovery, Static-Route, Classless-Static-Route, Vendor-Option
            END Option 255, length 0
            PAD Option 0, length 0, occurs 31
16:29:54.151359 24:a1:60:54:37:d4 > ff:ff:ff:ff:ff:ff Null Unnumbered, xid, Flags [Response], length 6: 01 00
16:29:54.162876 IP (tos 0x0, ttl 255, id 2609, offset 0, flags [none], proto UDP (17), length 336)
    0.0.0.0.68 > 255.255.255.255.67: [udp sum ok] BOOTP/DHCP, Request from 24:a1:60:54:37:d4, length 308, xid 0x98fdd13a, Flags [none] (0x0000)
          Client-Ethernet-Address 24:a1:60:54:37:d4
          Vendor-rfc1048 Extensions
            Magic Cookie 0x63825363
            DHCP-Message Option 53, length 1: Request
            MSZ Option 57, length 2: 576
            Requested-IP Option 50, length 4: 192.168.1.179
            Parameter-Request Option 55, length 12: 
              Subnet-Mask, Default-Gateway, BR, Domain-Name-Server
              Domain-Name, Netbios-Name-Server, Netbios-Node, Netbios-Scope
              Router-Discovery, Static-Route, Classless-Static-Route, Vendor-Option
            Hostname Option 12, length 13: "Roamer-5437D4"
            END Option 255, length 0
            PAD Option 0, length 0, occurs 25
16:29:54.165197 IP (tos 0xc0, ttl 64, id 25217, offset 0, flags [none], proto UDP (17), length 328)
    192.168.1.236.67 > 192.168.1.179.68: [udp sum ok] BOOTP/DHCP, Reply, length 300, xid 0x98fdd13a, Flags [none] (0x0000)
          Your-IP 192.168.1.179
          Server-IP 192.168.1.236
          Client-Ethernet-Address 24:a1:60:54:37:d4
          Vendor-rfc1048 Extensions
            Magic Cookie 0x63825363
            DHCP-Message Option 53, length 1: ACK
            Server-ID Option 54, length 4: 192.168.1.236
            Lease-Time Option 51, length 4: 43200
            RN Option 58, length 4: 21600
            RB Option 59, length 4: 37800
            Subnet-Mask Option 1, length 4: 255.255.255.0
            BR Option 28, length 4: 192.168.1.255
            Domain-Name-Server Option 6, length 4: 192.168.1.236
            Domain-Name Option 15, length 3: "job"
            Default-Gateway Option 3, length 4: 192.168.1.221
            END Option 255, length 0
            PAD Option 0, length 0, occurs 3
16:29:54.165857 IP (tos 0xc0, ttl 64, id 25218, offset 0, flags [none], proto UDP (17), length 328)
    192.168.1.236.67 > 192.168.1.179.68: [udp sum ok] BOOTP/DHCP, Reply, length 300, xid 0x98fdd13a, Flags [none] (0x0000)
          Your-IP 192.168.1.179
          Server-IP 192.168.1.236
          Client-Ethernet-Address 24:a1:60:54:37:d4
          Vendor-rfc1048 Extensions
            Magic Cookie 0x63825363
            DHCP-Message Option 53, length 1: ACK
            Server-ID Option 54, length 4: 192.168.1.236
            Lease-Time Option 51, length 4: 43200
            RN Option 58, length 4: 21600
            RB Option 59, length 4: 37800
            Subnet-Mask Option 1, length 4: 255.255.255.0
            BR Option 28, length 4: 192.168.1.255
            Domain-Name-Server Option 6, length 4: 192.168.1.236
            Domain-Name Option 15, length 3: "job"
            Default-Gateway Option 3, length 4: 192.168.1.221
            END Option 255, length 0
            PAD Option 0, length 0, occurs 3
16:29:54.177167 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 192.168.1.179 tell 192.168.1.179, length 28

now connect succeeded...

There's a set of patches given here

which seem to fix this roaming issue.

1 Like

will try asap :slight_smile:

just to confirm the procedure I made up myself because patch instructiuons in openwrt wiki didn't work for me:

  1. clone robimarkos repo
  2. checkout restart branch
  3. add the patch files to package/kernel/mac80211/patches/ath11k/
  4. build openwrt as usual
  5. flash firmware
  6. reboot twice (first time doesnt have the changes for some reason)

patches did not apply cleanly.
Tried anyways because source files looked ok.
No change: still roaming delays.
Probably my openwrt build skills still suck too much. I think I’ll wait for a PR…

This is what I built: https://github.com/joba-1/openwrt

Just tested the proposed patches and unfortunately it did not resolve the roaming delay problem. Like before, changing the client's MAC after roaming instantly resolves the issue.

Which patch did you have trouble with?

Currently I do a complete rebuild with make j1 V=s to have a decent log.

but IIRC it was

  • 378-mac80211-remove-iwlwifi-specific-workaround-that-bro.patch
  • [2/2]ath11k-fix-4addr-multicast-packet-tx.patch

I removed them and continued the build since sample checks showed that the changes somehow made it into the compiled source anyways. I'll post once I have the log

These are all the files I changed/added in my fork

  1. package/firmware/ath11k-firmware/Makefile
  2. package/kernel/mac80211/patches/ath11k/378-mac80211-remove-iwlwifi-specific-workaround-that-bro.patch
  3. package/kernel/mac80211/patches/ath11k/801-ath11k-fix-4-addr-tx-failure-for-AP-and-STA-modes.patch
  4. package/kernel/mac80211/patches/ath11k/802-ath11k-small-tx-queue.patch
  5. package/kernel/mac80211/patches/ath11k/803-ath11k-fix-zero-address-in-probe-request.patch
  6. package/kernel/mac80211/patches/ath11k/804-2-2-ath11k-fix-4addr-multicast-packet-tx.patch

1 is just the change of the firmware hash
4 is my own (to avoid oom and have some verification in the kernel.log, that I run the intended firmware

job4:~/git/jobawrt2 > cat package/kernel/mac80211/patches/ath11k/802-ath11k-small-tx-queue.patch
--- a/drivers/net/wireless/ath/ath11k/hw.h
+++ b/drivers/net/wireless/ath/ath11k/hw.h
@@ -64,7 +64,7 @@
 #define TARGET_RX_BATCHMODE            1
 
 #define ATH11K_HW_MAX_QUEUES           4
-#define ATH11K_QUEUE_LEN               4096
+#define ATH11K_QUEUE_LEN               2048
 
 #define ATH11k_HW_RATECODE_CCK_SHORT_PREAM_MASK  0x4
 
--- a/drivers/net/wireless/ath/ath11k/qmi.c
+++ b/drivers/net/wireless/ath/ath11k/qmi.c
@@ -1885,6 +1885,8 @@ static int ath11k_qmi_request_target_cap
                    ab->qmi.target.fw_version,
                    ab->qmi.target.fw_build_timestamp,
                    ab->qmi.target.fw_build_id);
+
+       ath11k_info(ab, "joba-1 patch V2: ATH11K_QUEUE_LEN=%d", ATH11K_QUEUE_LEN);
 
        r = ath11k_core_check_dt(ab);
        if (r)

This one is already backported in upstream OpenWrt

Thanks, I removed it from the build. I'll see... make -j1 takes ages :smiley:

1 Like
Applying ./patches/ath11k/804-2-2-ath11k-fix-4addr-multicast-packet-tx.patch using plaintext: 
patching file drivers/net/wireless/ath/ath11k/core.h
Hunk #1 FAILED at 377.
1 out of 1 hunk FAILED -- saving rejects to file drivers/net/wireless/ath/ath11k/core.h.rej
patching file drivers/net/wireless/ath/ath11k/dp_tx.c
Hunk #1 FAILED at 78.
Hunk #2 FAILED at 145.
2 out of 2 hunks FAILED -- saving rejects to file drivers/net/wireless/ath/ath11k/dp_tx.c.rej
patching file drivers/net/wireless/ath/ath11k/dp_tx.h
Hunk #1 FAILED at 17.
1 out of 1 hunk FAILED -- saving rejects to file drivers/net/wireless/ath/ath11k/dp_tx.h.rej
patching file drivers/net/wireless/ath/ath11k/mac.c
Hunk #1 FAILED at 4356.
Hunk #2 FAILED at 4381.
2 out of 2 hunks FAILED -- saving rejects to file drivers/net/wireless/ath/ath11k/mac.c.rej
patching file drivers/net/wireless/ath/ath11k/peer.c
Hunk #1 FAILED at 251.
Hunk #2 succeeded at 330 with fuzz 2 (offset 11 lines).
1 out of 2 hunks FAILED -- saving rejects to file drivers/net/wireless/ath/ath11k/peer.c.rej
Patch failed!  Please fix ./patches/ath11k/804-2-2-ath11k-fix-4addr-multicast-packet-tx.patch!
make[3]: *** [Makefile:576: /home/joachim/git/jobawrt2/build_dir/target-aarch64_cortex-a53_musl/linux-ipq807x_generic/backports-5.10.42-1/.prepared_b96bd316ba90c6647f9a840d83cc9521_6664517399ebbbc92a37c5bb081b5c53] Error 1
make[3]: Leaving directory '/home/joachim/git/jobawrt2/package/kernel/mac80211'
time: package/kernel/mac80211/compile#1.28#0.41#14.37
    ERROR: package/kernel/mac80211 failed to build.
make[2]: *** [package/Makefile:116: package/kernel/mac80211/compile] Error 1
make[2]: Leaving directory '/home/joachim/git/jobawrt2'
make[1]: *** [package/Makefile:110: /home/joachim/git/jobawrt2/staging_dir/target-aarch64_cortex-a53_musl/stamp/.package_compile] Error 2
make[1]: Leaving directory '/home/joachim/git/jobawrt2'
make: *** [/home/joachim/git/jobawrt2/include/toplevel.mk:230: world] Fehler 2

One reject example

job4:~/git/jobawrt2 > cat ./build_dir/target-aarch64_cortex-a53_musl/linux-ipq807x_generic/backports-5.10.42-1/drivers/net/wireless/ath/ath11k/core.h.rej
--- drivers/net/wireless/ath/ath11k/core.h
+++ drivers/net/wireless/ath/ath11k/core.h
@@ -377,6 +377,7 @@ struct ath11k_sta {
 #endif
 
        bool use_4addr_set;
+       u16 tcl_metadata;
 };
 
 #define ATH11K_MIN_5G_FREQ 4150

seems to be applied already

job4:~/git/jobawrt2 > head -n 372 ./build_dir/target-aarch64_cortex-a53_musl/linux-ipq807x_generic/backports-5.10.42-1/drivers/net/wireless/ath/ath11k/core.h | tail -7
#endif

        bool use_4addr_set;
        u16 tcl_metadata;
};

#define ATH11K_MIN_5G_FREQ 4150

Can you grep for "u16 tcl_metadata;" in your patch directory and see if something else is providing it?

sure. but first, here are all the reject files