Issue utilizing MT7916 on BPI-R3

I am using the latest snapshot for bpi-r3 trying to utilize Wifi 6E on my device, I can get 6 working from the MT7916 device and everything is working fine with the onboard MT7986. In wireless config I see the default two radios, MediaTek MT7986 802.11ax/b/g/n and MediaTek MT7986 802.11ac/ax/n. If I do not install kmod-mt7916-firmware then I will not see the other two radios for the MT7916 device. So after installing, I can see the MT7916 listed as Generic MAC80211 802.11ax/b/g/n and Generic MAC80211 802.11ax/b/g/n. Generic MAC80211 802.11ac/ax/n turns up as "device is not active" and "wireless is disabled" when I attempt to enable the network I configure. Some strange things I have noticed are

  • Upon adding a new network access point for the first time (in wireless config) band is hidden and I only see Mode, Channel and Width
  • Then after enabling this network access point, I can edit the Band but channel disappears.

I can see both devices running lspci:

00:00.0 PCI bridge: MEDIATEK Corp. Device 1f32 (rev 01)
01:00.0 Network controller: MEDIATEK Corp. Device 7906

Any pro tips to get this running?


Adding some notes, it appears 6e is not working on MT7916 firmware based on this discussion over on github. Note that the firmware shared there is the firmware on the opkg repos kmod-mt7916-firmware.

I encountered a similar issue with the MT7916 in the ZyXEL EX5700 (Telenor) router, and was able to get it working by manually adding option band '6g' to the device entry in /etc/config/wireless.

Additionally, you need to configure a second wireless network on the 2.4GHz radio with the same ESSID and key, using WPA3.

Be sure to set the country code on each radio correctly. Tested on 23.05.3.

I'm not sure if it's required but I also configured WLAN Roaming / 802.11r on each of the ESSID's to potentially help the clients move between the bands as needed.