openwrt / openwrt/mt76

broadcasts delivery problem

Open
#598 21 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C
Stars
888
Forks
436
PR merge metrics
No merged PRs in 30d

Description

I experience the following glitch on my TP-Link Archer c6u (MT7621)
I still haven't figured out a condition to reproduce the probelm.
It just happens. In the evening it works, in the morning it doesn't. It stops working without any specific action from my side. Just leave it for enough long time and it will eventually happen.

wifi clients with power saving enabled (iw dev wlan0 set power_save on) connected to 2.4 GHz wifi (5 GHz not checked, dont have any compatible devices) stop receiving broadcast frames until they send something
broadcasts include arp and ndp frames

so, if you have a PC connected via LAN and android via wifi and they are bridged

arp -d
ping ip_of_android
..nothing..
..nothing..
..nothing..

android does not receive arps on wlan0 - checked with tcpdump in android root console
router sees outgoing arp on wlan interface without replies

but if you send something from android it starts receiving broadcasts for the short time
PC caches mac address and then ping goes normally until cache is cleaned or expired

restarting wifi interfaces does not help (openwrt command 'wifi')
only module reload helps or reboot

#!/bin/sh

wifi down
/etc/init.d/wpad stop
rmmod mt7603e
rmmod mt7615e
rmmod mt7615_common
rmmod mt76_connac_lib
rmmod mt76
rmmod mac80211
rmmod cfg80211
rmmod compat

kmodloader
/etc/init.d/wpad start
wifi

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the mt76, mt7603e, mt7615e, mac80211, and cfg80211 modules named in the report, then reproduce the issue using a power-saving 2.4 GHz client, tcpdump, and the ARP/ping sequence. Verify whether broadcast frames continue reaching the sleeping client after the failure and whether recovery still requires module reload or reboot.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, linux
Domain
networking, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.