openwrt / openwrt/mt76

DFS support on MT7925E

Open
#926 1 comment 3 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've got one of the new Mediatek MT7925E PCIe-Cards i wanted to integrate into my home network, but i can't get DFS to work correctly and therefore the full potential of the card (160MHz) is restricted.

When selecting a DFS channel in the lastest OpenWRT STABLE and SNAPSHOT builds the interface is not able to start correctly.
This happens both with 80MHz and 160MHz channel width. I also tried checking if there is a radar in range, but there probably isn't as my home router (AVM FRITZ!Box 7590) flawlessly works on DFS channels (it even logs that there was no radar detected on startup)

From system log you can see that start_dfs_cac() fails with code -1
The relevant extract from my system log:

Sun Oct 27 14:30:46 2024 daemon.notice hostapd: Configuration file: data: driver=nl80211 logger_syslog=127 logger_syslog_level=2 logger_stdout=127 logger_stdout_level=2 country_code=DE ieee80211d=1 ieee80211h=1 hw_mode=a beacon_int=100 stationary_ap=1 chanlist=100 tx_queue_data2_burst=2.0 #num_global_macaddr=1 ieee80211n=1 ht_coex=0 ht_capab=[HT40+][LDPC][SHORT-GI-20][SHORT-GI-40][TX-STBC][RX-STBC1][MAX-AMSDU-7935] ieee80211ac=1 vht_oper_chwidth=2 vht_oper_centr_freq_seg0_idx=114 vht_capab=[RXLDPC][SHORT-GI-80][SHORT-GI-160][TX-STBC-2BY1][SU-BEAMFORMEE][MU-BEAMFORMEE][RX-ANTENNA-PATTERN][TX-ANTENNA-PATTERN][RX-STBC-1][BF-ANTENNA-4][VHT160][MAX-MPDU-11454][MAX-A-MPDU-LEN-EXP7] ieee80211ax=1 he_oper_chwidth=2 he_oper_centr_freq_seg0_idx=114 he_bss_color=128 he_spr_sr_control=3 he_default_pe_duration=4 he_rts_threshold=1023 he_mu_edca_qos_info_param_count=0 he_mu_edca_qos_info_q_ack=0 he_mu_edca_qos_info_queue_request=0 he_mu_edca_qos_info_txop_request=0 he_mu_edca_ac_be_aifsn=8 he_mu_edca_ac_be_aci=0 he_mu_edca_ac_be_ecwmin=9 he
Sun Oct 27 14:30:46 2024 kern.info kernel: [ 4385.572896] br-lan: port 3(phy0-ap0) entered blocking state
Sun Oct 27 14:30:46 2024 kern.info kernel: [ 4385.579417] br-lan: port 3(phy0-ap0) entered disabled state
Sun Oct 27 14:30:46 2024 kern.info kernel: [ 4385.585864] mt7925e 0000:01:00.0 phy0-ap0: entered allmulticast mode
Sun Oct 27 14:30:46 2024 kern.info kernel: [ 4385.593303] mt7925e 0000:01:00.0 phy0-ap0: entered promiscuous mode
Sun Oct 27 14:30:46 2024 daemon.notice hostapd: phy0-ap0: interface state UNINITIALIZED->COUNTRY_UPDATE
Sun Oct 27 14:30:46 2024 daemon.notice hostapd: phy0-ap0: interface state COUNTRY_UPDATE->HT_SCAN
Sun Oct 27 14:30:46 2024 daemon.notice netifd: lan (2779): udhcpc: sending renew to server 192.168.178.1
Sun Oct 27 14:30:46 2024 daemon.notice netifd: lan (2779): udhcpc: lease of 192.168.178.88 obtained from 192.168.178.1, lease time 2592000
Sun Oct 27 14:30:46 2024 daemon.notice netifd: Wireless device 'radio0' is now up
Sun Oct 27 14:30:47 2024 daemon.notice hostapd: phy0-ap0: interface state HT_SCAN->DFS
Sun Oct 27 14:30:47 2024 daemon.notice hostapd: phy0-ap0: DFS-CAC-START freq=5500 chan=100 sec_chan=1, width=2, seg0=114, seg1=0, cac_time=60s
Sun Oct 27 14:30:47 2024 daemon.err hostapd: DFS start_dfs_cac() failed, -1
Sun Oct 27 14:30:47 2024 daemon.err hostapd: Interface initialization failed
Sun Oct 27 14:30:47 2024 daemon.notice hostapd: phy0-ap0: interface state DFS->DISABLED
Sun Oct 27 14:30:47 2024 daemon.notice hostapd: phy0-ap0: AP-DISABLED

HW/SW information from kernel log:

[   14.675216] mt7925e 0000:01:00.0: ASIC revision: 79250000
[   14.812304] mt7925e 0000:01:00.0: HW/SW Version: 0x8a108a10, Build Time: 20231227093012a
[   15.172335] mt7925e 0000:01:00.0: WM Firmware Version: ____000000, Build Time: 20231227093232

As there is limited information about this card online, i was wondering if DFS is even supported on this card?
As i read here, there are some cards which do not support DFS.

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

Reproduce the failure on OpenWrt stable or snapshot with the MT7925E using 80 MHz and 160 MHz DFS channels. Start from the mt7925e kernel logs and hostapd's start_dfs_cac() failure, then determine whether DFS is supported and why interface initialization stops. Done means identifying the cause and either restoring DFS startup or documenting the hardware limitation.

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.