Mt76 wireless driver debugging

For anybody building their own snapshot firmware who wishes to look at the debug info for Bridger, I have enabled debug output on my fork. You can pull the debug enabled code by using this patch:

Updated patch process here:

On a debug enabled build, you can stop the Bridger service, then execute the /usr/sbin/bridger binary explicitly. The debug info is placed into stderr, so you will see it scrolling on your terminal as long as Bridger is running.

FWIW, I am running it like so:
/usr/sbin/bridger 2>/tmp/bridger_log

In this way, I can tail -f /tmp/bridger_log and potentially filter (via grep) the log without having to keep starting and stopping the Bridger binary.

I am providing this just to help those who are troubleshooting Bridger/WED, or just gaining a better understanding of how it works. I am not taking over support for Bridger by any means.


If you wish to enable the log as part of the service (while troubleshooting), you can modify the start_service() function in /etc/init.d/bridger as such:

start_service() {
        procd_open_instance
        procd_set_param command /bin/sh -c "$PROG 2>/tmp/bridger_log"
        procd_set_param respawn
        procd_close_instance
}


Opened an issue for a discrepancy I see in VLAN handling. Not calling it a legit problem at this point, but raising it for awareness and confirmation:

1 Like

FYI, I updated the patch I linked in Pastebin. Instead of having to switch over to my Bridger fork, you can stick with Felix's source and run the following in your OpenWrt build system to apply the updated patch to turn on debug output:

mkdir package/network/services/bridger/patches && curl -o package/network/services/bridger/patches/001-enable-debug-output.patch https://pastebin.com/raw/5TY3hema

Otherwise, refer to my prior post for ways you can output the debug info once you build from this patch.

1 Like

@Brain2000 FYI, I am also running with these patches included in my build and no negative side-effects noticed as of yet.

$ ls -l package/kernel/mt76/patches/
-rw-r--r-- 1 user user  769 May  3 14:19 0001-wifi-mt76-mt7915-fix-background-radar-event-being-bl.patch
-rw-r--r-- 1 user user 7705 May  3 14:19 0002-wifi-mt76-mt7915-Update-beacon-size-limitation-for-1.patch
-rw-r--r-- 1 user user 8526 Apr 29 13:05 0003-wifi-mt76-mt7915-disable-wfdma-tx-rx-during-SER-reco.patch
-rw-r--r-- 1 user user 1019 May  3 14:52 0004-wifi-mt76-mt7915-fix-the-beamformer-issue.patch

I picked them up from here:
https://git01.mediatek.com/plugins/gitiles/openwrt/feeds/mtk-openwrt-feeds/+log/add8de6b4a5ad54db72c31fc05a1e38600438b7f/autobuild_mac80211_release/package/kernel/mt76/patches


Have not yet updated to it, but a new version of bridger was released:

Will update this post with any feedback after updating and testing.

4 Likes

There are some interesting attempts at simplifying the (mac80211 and cfg80211 related) locking code, which might drastically reduce the need for locks in wireless drivers like mt76.

See here:

5 Likes

Would more of the fixes discussed in this thread be part of this commit to snapshot?

commit f7665a0f1a2da63e2046119c0c3de578f16651ce
Author: David Bauer <mail@david-bauer.net>
Date:   Wed May 17 20:37:21 2023 +0200

    mt76: update to latest HEAD

Edit... snapshot seems not to be great yet:

I am running with snapshot 4e5aac472935ce3ba3abc9bd72b880951843092b (the one with the bridger update) and did not have to reboot my rt3200 since more than a week.
Before this bridger update I had to reboot more frequently (sometimes daily), in particular with more wifi STAs.
The RT3200 are APs with bridger installed and enabled (even though WED is off right now) and they do have vlans.

Edit: had to reboot again, but still seems to be needed less frequently.

1 Like