riv
(Vasily)
February 17, 2025, 4:52pm
1
I have 4 of BPI-R4-NIC-BE14 cards in my possession… and lost on their output capacity. One of them report 20dBm or even 27dBm output, which is excellent, the second 2 report only 6dBm/7dBm max and 4th reports only 3dBm.
All are set to the AP mode on 2.4GHz/5GHz. The same Banana Pi BPI-R4 is used, just moving cards within it. The same config, the same OpenWrt.
How come? Any idea who to get all to 20dBm/27dBm output?
It will be horrible to have only 3 or 6 dBm in AP mode, more like useless piece of hardware.
Here is sample of my 23/27dBm output from iwinfo. I did not include 3dbm or 7dbm as it is useless:
root@OpenWrt:~# iwinfo
phy0.0-ap0 ESSID: "OpenWrt-2g"
Access Point: 1A:F9:CF:ED:BE:8D
Mode: Master Channel: 1 (2.412 GHz) HT Mode: EHT20
Center Channel 1: 1 2: unknown
Tx-Power: 27 dBm Link Quality: unknown/70
Signal: unknown Noise: -65 dBm
Bit Rate: unknown
Encryption: WPA3 SAE (CCMP)
Type: nl80211 HW Mode(s): 802.11ac/ax/b/be/g/n
Hardware: 14C3:7990 14C3:6639 [MediaTek MT7996E]
TX power offset: none
Frequency offset: none
Supports VAPs: yes PHY name: phy0
phy0.1-ap0 ESSID: "OpenWrt-5g"
Access Point: 1A:F9:CF:ED:BE:9D
Mode: Master Channel: 44 (5.220 GHz) HT Mode: HE160
Center Channel 1: 50 2: unknown
Tx-Power: 23 dBm Link Quality: unknown/70
Signal: unknown Noise: -66 dBm
Bit Rate: unknown
Encryption: WPA3 SAE (CCMP)
Type: nl80211 HW Mode(s): 802.11ac/ax/b/be/g/n
Hardware: 14C3:7990 14C3:6639 [MediaTek MT7996E]
TX power offset: none
Frequency offset: none
Supports VAPs: yes PHY name: phy0
root@OpenWrt:~# iw phy0 info | grep -i dbm
* 2412.0 MHz [1] (27.0 dBm)
* 2417.0 MHz [2] (27.0 dBm)
* 2422.0 MHz [3] (27.0 dBm)
* 2427.0 MHz [4] (27.0 dBm)
* 2432.0 MHz [5] (27.0 dBm)
* 2437.0 MHz [6] (27.0 dBm)
* 2442.0 MHz [7] (27.0 dBm)
* 2447.0 MHz [8] (27.0 dBm)
* 2452.0 MHz [9] (27.0 dBm)
* 2457.0 MHz [10] (27.0 dBm)
* 2462.0 MHz [11] (27.0 dBm)
* 5180.0 MHz [36] (23.0 dBm)
* 5200.0 MHz [40] (23.0 dBm)
* 5220.0 MHz [44] (23.0 dBm)
* 5240.0 MHz [48] (23.0 dBm)
* 5260.0 MHz [52] (24.0 dBm) (radar detection)
* 5280.0 MHz [56] (24.0 dBm) (radar detection)
* 5300.0 MHz [60] (24.0 dBm) (radar detection)
* 5320.0 MHz [64] (24.0 dBm) (radar detection)
* 5500.0 MHz [100] (24.0 dBm) (radar detection)
* 5520.0 MHz [104] (24.0 dBm) (radar detection)
* 5540.0 MHz [108] (24.0 dBm) (radar detection)
* 5560.0 MHz [112] (24.0 dBm) (radar detection)
* 5580.0 MHz [116] (24.0 dBm) (radar detection)
* 5600.0 MHz [120] (24.0 dBm) (radar detection)
* 5620.0 MHz [124] (24.0 dBm) (radar detection)
* 5640.0 MHz [128] (24.0 dBm) (radar detection)
* 5660.0 MHz [132] (24.0 dBm) (radar detection)
* 5680.0 MHz [136] (24.0 dBm) (radar detection)
* 5700.0 MHz [140] (24.0 dBm) (radar detection)
* 5720.0 MHz [144] (24.0 dBm) (radar detection)
* 5745.0 MHz [149] (26.0 dBm)
* 5765.0 MHz [153] (26.0 dBm)
* 5785.0 MHz [157] (26.0 dBm)
* 5805.0 MHz [161] (26.0 dBm)
* 5825.0 MHz [165] (26.0 dBm)
* 5845.0 MHz [169] (26.0 dBm) (no IR)
* 5865.0 MHz [173] (26.0 dBm) (no IR)
* 5885.0 MHz [177] (26.0 dBm) (no IR)
* 5955.0 MHz [1] (12.0 dBm) (no IR)
* 5975.0 MHz [5] (12.0 dBm) (no IR)
* 5995.0 MHz [9] (12.0 dBm) (no IR)
* 6015.0 MHz [13] (12.0 dBm) (no IR)
* 6035.0 MHz [17] (12.0 dBm) (no IR)
* 6055.0 MHz [21] (12.0 dBm) (no IR)
* 6075.0 MHz [25] (12.0 dBm) (no IR)
* 6095.0 MHz [29] (12.0 dBm) (no IR)
* 6115.0 MHz [33] (12.0 dBm) (no IR)
* 6135.0 MHz [37] (12.0 dBm) (no IR)
* 6155.0 MHz [41] (12.0 dBm) (no IR)
* 6175.0 MHz [45] (12.0 dBm) (no IR)
* 6195.0 MHz [49] (12.0 dBm) (no IR)
* 6215.0 MHz [53] (12.0 dBm) (no IR)
* 6235.0 MHz [57] (12.0 dBm) (no IR)
* 6255.0 MHz [61] (12.0 dBm) (no IR)
* 6275.0 MHz [65] (12.0 dBm) (no IR)
* 6295.0 MHz [69] (12.0 dBm) (no IR)
* 6315.0 MHz [73] (12.0 dBm) (no IR)
* 6335.0 MHz [77] (12.0 dBm) (no IR)
* 6355.0 MHz [81] (12.0 dBm) (no IR)
* 6375.0 MHz [85] (12.0 dBm) (no IR)
* 6395.0 MHz [89] (12.0 dBm) (no IR)
* 6415.0 MHz [93] (12.0 dBm) (no IR)
* 6435.0 MHz [97] (12.0 dBm) (no IR)
* 6455.0 MHz [101] (12.0 dBm) (no IR)
* 6475.0 MHz [105] (12.0 dBm) (no IR)
* 6495.0 MHz [109] (12.0 dBm) (no IR)
* 6515.0 MHz [113] (12.0 dBm) (no IR)
* 6535.0 MHz [117] (12.0 dBm) (no IR)
* 6555.0 MHz [121] (12.0 dBm) (no IR)
* 6575.0 MHz [125] (12.0 dBm) (no IR)
* 6595.0 MHz [129] (12.0 dBm) (no IR)
* 6615.0 MHz [133] (12.0 dBm) (no IR)
* 6635.0 MHz [137] (12.0 dBm) (no IR)
* 6655.0 MHz [141] (12.0 dBm) (no IR)
* 6675.0 MHz [145] (12.0 dBm) (no IR)
* 6695.0 MHz [149] (12.0 dBm) (no IR)
* 6715.0 MHz [153] (12.0 dBm) (no IR)
* 6735.0 MHz [157] (12.0 dBm) (no IR)
* 6755.0 MHz [161] (12.0 dBm) (no IR)
* 6775.0 MHz [165] (12.0 dBm) (no IR)
* 6795.0 MHz [169] (12.0 dBm) (no IR)
* 6815.0 MHz [173] (12.0 dBm) (no IR)
* 6835.0 MHz [177] (12.0 dBm) (no IR)
* 6855.0 MHz [181] (12.0 dBm) (no IR)
* 6875.0 MHz [185] (12.0 dBm) (no IR)
* 6895.0 MHz [189] (12.0 dBm) (no IR)
* 6915.0 MHz [193] (12.0 dBm) (no IR)
* 6935.0 MHz [197] (12.0 dBm) (no IR)
* 6955.0 MHz [201] (12.0 dBm) (no IR)
* 6975.0 MHz [205] (12.0 dBm) (no IR)
* 6995.0 MHz [209] (12.0 dBm) (no IR)
* 7015.0 MHz [213] (12.0 dBm) (no IR)
* 7035.0 MHz [217] (12.0 dBm) (no IR)
* 7055.0 MHz [221] (12.0 dBm) (no IR)
* 7075.0 MHz [225] (12.0 dBm) (no IR)
* 7095.0 MHz [229] (12.0 dBm) (no IR)
* 7115.0 MHz [233] (12.0 dBm) (no IR)
kusmi
(Michael Kussmaul)
February 17, 2025, 5:44pm
2
On some cards the eeprom/internal storage specifies a max of 7 dBm - I guess this is a programming fault on some cards @ Bpi… this has been discussed here: wifi txpower value is very low · Issue #17489 · openwrt/openwrt · GitHub
There exists some workarounds with a new patch in OpenWrt firmware (so if reading eeprom for max dBm value fails and returns 0 - a default value is used). But this patch has not yet been accepted into mainline OpenWrt.
There is also a possible second problem : The noise level for receiving side is quite high, so performance will hurt if you are far away from access point (in your attached output you can see: noise: -65/-66 dBm - most access points have noise levels beyond -90 dBm)
riv
(Vasily)
February 19, 2025, 12:15pm
3
I noticed a difference in behavior between the open-source driver in OpenWrt (including the 24.10 release) and the proprietary driver from the Banana PI image (BPI-R4-BE1350-WIFI_MP4_0-SDK-20240620).
The Banana PI version performs exceptionally well, while the OpenWrt version does not achieve the same level of performance.
Has anyone attempted to port the proprietary driver into the 24.x source tree? I would prefer to use version 24, as it offers some advantages over version 21.
Thank you!
kusmi
(Michael Kussmaul)
February 19, 2025, 1:12pm
4
The GitHub thread is quite large and we figured out there as well: there is a difference between official&old Sinovoip OpenWrt (21…) and mainstream OpenWrt 24. I guess the official&old OpenWrt does not read out the tx-limits from the board.
Unfortunately the drivers are completely different and I don’t remember anymore, but I think the official&old drivers are not opensource and can’t be “ported” to mainline OpenWrt: wifi txpower value is very low · Issue #17489 · openwrt/openwrt · GitHub
riv
(Vasily)
February 19, 2025, 3:18pm
5
That exactly what I came already across. I wish BananaPI folks can comment this out. Silly to produce good-on-paper and expensive piece of hardware and have zero support.
They at least can release binary driver and keep supporting it so it can be easily integrated into main stream sources.
I can compare them with GL.iNET hardware and they support, so some folks want to sell their stuff, some want to keep it as a toy
riv
(Vasily)
February 19, 2025, 5:57pm
6
Amazing how proprietary drive works:
-----------------------------------------------------------
Server listening on 5201 (test #1)
-----------------------------------------------------------
Accepted connection from 192.168.1.100, port 57670
[ 5] local 192.168.1.1 port 5201 connected to 192.168.1.100 port 57686
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 95.8 MBytes 803 Mbits/sec 0 3.13 MBytes
[ 5] 1.00-2.01 sec 129 MBytes 1.07 Gbits/sec 0 3.13 MBytes
[ 5] 2.01-3.01 sec 136 MBytes 1.14 Gbits/sec 0 3.13 MBytes
[ 5] 3.01-4.00 sec 149 MBytes 1.25 Gbits/sec 0 3.89 MBytes
[ 5] 4.00-5.00 sec 152 MBytes 1.28 Gbits/sec 0 3.89 MBytes
[ 5] 5.00-6.00 sec 151 MBytes 1.27 Gbits/sec 0 3.89 MBytes
[ 5] 6.00-7.00 sec 159 MBytes 1.33 Gbits/sec 0 3.89 MBytes
[ 5] 7.00-8.00 sec 162 MBytes 1.37 Gbits/sec 0 3.89 MBytes
[ 5] 8.00-9.01 sec 160 MBytes 1.33 Gbits/sec 0 3.89 MBytes
[ 5] 9.01-10.01 sec 161 MBytes 1.35 Gbits/sec 0 3.89 MBytes
[ 5] 10.01-11.01 sec 162 MBytes 1.36 Gbits/sec 0 3.89 MBytes
[ 5] 11.01-12.00 sec 160 MBytes 1.35 Gbits/sec 0 3.89 MBytes
[ 5] 12.00-13.00 sec 161 MBytes 1.35 Gbits/sec 0 3.89 MBytes
[ 5] 13.00-14.00 sec 156 MBytes 1.31 Gbits/sec 0 3.89 MBytes
[ 5] 14.00-15.01 sec 158 MBytes 1.32 Gbits/sec 0 3.89 MBytes
[ 5] 15.01-16.00 sec 159 MBytes 1.34 Gbits/sec 0 3.89 MBytes
[ 5] 16.00-17.00 sec 165 MBytes 1.38 Gbits/sec 0 3.89 MBytes
[ 5] 17.00-18.00 sec 166 MBytes 1.39 Gbits/sec 0 3.89 MBytes
[ 5] 18.00-19.00 sec 160 MBytes 1.34 Gbits/sec 0 3.89 MBytes
[ 5] 19.00-20.00 sec 168 MBytes 1.41 Gbits/sec 0 3.89 MBytes
[ 5] 20.00-21.00 sec 164 MBytes 1.37 Gbits/sec 0 3.89 MBytes
[ 5] 21.00-22.00 sec 165 MBytes 1.39 Gbits/sec 0 3.89 MBytes
[ 5] 22.00-23.01 sec 166 MBytes 1.39 Gbits/sec 0 3.89 MBytes
[ 5] 23.01-24.01 sec 161 MBytes 1.35 Gbits/sec 0 3.89 MBytes
[ 5] 24.01-25.00 sec 162 MBytes 1.37 Gbits/sec 0 3.89 MBytes
[ 5] 25.00-26.01 sec 166 MBytes 1.38 Gbits/sec 0 3.89 MBytes
[ 5] 26.01-27.00 sec 165 MBytes 1.40 Gbits/sec 0 3.89 MBytes
[ 5] 27.00-28.00 sec 161 MBytes 1.35 Gbits/sec 0 3.89 MBytes
[ 5] 28.00-29.00 sec 165 MBytes 1.39 Gbits/sec 0 3.89 MBytes
[ 5] 29.00-30.00 sec 160 MBytes 1.34 Gbits/sec 0 3.89 MBytes
[ 5] 30.00-30.01 sec 1.25 MBytes 922 Mbits/sec 0 3.89 MBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-30.01 sec 4.60 GBytes 1.32 Gbits/sec 0 sender
-----------------------------------------------------------
Server listening on 5201 (test #2)
-----------------------------------------------------------
Accepted connection from 192.168.1.100, port 34432
[ 5] local 192.168.1.1 port 5201 connected to 192.168.1.100 port 34434
[ ID] Interval Transfer Bitrate
[ 5] 0.00-1.00 sec 15.9 MBytes 133 Mbits/sec
[ 5] 1.00-2.00 sec 18.2 MBytes 153 Mbits/sec
[ 5] 2.00-3.00 sec 18.6 MBytes 156 Mbits/sec
[ 5] 3.00-4.00 sec 18.8 MBytes 157 Mbits/sec
[ 5] 4.00-5.00 sec 17.5 MBytes 147 Mbits/sec
[ 5] 5.00-6.00 sec 18.6 MBytes 156 Mbits/sec
[ 5] 6.00-7.00 sec 17.3 MBytes 145 Mbits/sec
[ 5] 7.00-8.00 sec 17.8 MBytes 150 Mbits/sec
[ 5] 8.00-9.00 sec 17.4 MBytes 146 Mbits/sec
[ 5] 9.00-10.00 sec 16.1 MBytes 135 Mbits/sec
[ 5] 10.00-11.00 sec 17.7 MBytes 148 Mbits/sec
[ 5] 11.00-12.00 sec 15.2 MBytes 127 Mbits/sec
[ 5] 12.00-13.00 sec 16.5 MBytes 138 Mbits/sec
[ 5] 13.00-14.00 sec 17.8 MBytes 149 Mbits/sec
[ 5] 14.00-15.00 sec 15.0 MBytes 126 Mbits/sec
[ 5] 15.00-16.00 sec 16.9 MBytes 141 Mbits/sec
[ 5] 16.00-17.00 sec 17.3 MBytes 145 Mbits/sec
[ 5] 17.00-18.00 sec 15.7 MBytes 131 Mbits/sec
[ 5] 18.00-19.00 sec 18.2 MBytes 152 Mbits/sec
[ 5] 19.00-20.00 sec 15.3 MBytes 128 Mbits/sec
[ 5] 20.00-21.00 sec 17.9 MBytes 150 Mbits/sec
[ 5] 21.00-22.00 sec 17.1 MBytes 144 Mbits/sec
[ 5] 22.00-23.00 sec 14.8 MBytes 124 Mbits/sec
[ 5] 23.00-24.00 sec 18.1 MBytes 152 Mbits/sec
[ 5] 24.00-25.00 sec 15.8 MBytes 132 Mbits/sec
[ 5] 25.00-26.00 sec 17.9 MBytes 150 Mbits/sec
[ 5] 26.00-27.00 sec 17.3 MBytes 145 Mbits/sec
[ 5] 27.00-28.00 sec 16.0 MBytes 134 Mbits/sec
[ 5] 28.00-29.00 sec 17.9 MBytes 150 Mbits/sec
[ 5] 29.00-30.00 sec 17.0 MBytes 143 Mbits/sec
[ 5] 30.00-30.19 sec 2.73 MBytes 120 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate
[ 5] 0.00-30.19 sec 514 MBytes 143 Mbits/sec receiver
-----------------------------------------------------------
Server listening on 5201 (test #3)
-----------------------------------------------------------
zuowei8
(zuowei8)
February 20, 2025, 4:35am
7
MT7990_EEPROM_iFEM233.bin (7.5 KB)
The above BE14000 wifi 7 module’s driver eeprom file. it will improve the wireless power performance. please add it into your BSP. MT76 will load it.
riv
(Vasily)
February 20, 2025, 8:10am
8
Do I need to copy this file into /lib/firmware/mediatek
?
Should I remove any other files in the /lib/firmware/mediatek
or /lib/firmware
directories?
Will this work with the mainstream OpenWrt 24.10?
I have copied the file to /lib/firmware/mediatek
, but I haven’t noticed any improvements in signal quality or strength.
root@OpenWrt:~# iwinfo
phy0.0-ap0 ESSID: "OpenWrt-2g"
Access Point: BA:4F:F9:01:AF:22
Mode: Master Channel: 7 (2.442 GHz) HT Mode: EHT20
Center Channel 1: 7 2: unknown
Tx-Power: 6 dBm Link Quality: unknown/70
Signal: unknown Noise: -80 dBm
Bit Rate: unknown
Encryption: WPA3 SAE (CCMP)
Type: nl80211 HW Mode(s): 802.11ac/ax/b/be/g/n
Hardware: 14C3:7990 14C3:6639 [MediaTek MT7996E]
TX power offset: none
Frequency offset: none
Supports VAPs: yes PHY name: phy0
phy0.1-ap0 ESSID: "OpenWrt-5g"
Access Point: BA:4F:F9:01:AF:32
Mode: Master Channel: 149 (5.745 GHz) HT Mode: HE80
Center Channel 1: 155 2: unknown
Tx-Power: 7 dBm Link Quality: unknown/70
Signal: unknown Noise: -80 dBm
Bit Rate: unknown
Encryption: WPA3 SAE (CCMP)
Type: nl80211 HW Mode(s): 802.11ac/ax/b/be/g/n
Hardware: 14C3:7990 14C3:6639 [MediaTek MT7996E]
TX power offset: none
Frequency offset: none
Supports VAPs: yes PHY name: phy0
root@OpenWrt:/lib/firmware/mediatek# iwinfo phy0.0-ap0 txpowerlist
0 dBm ( 1 mW)
1 dBm ( 1 mW)
2 dBm ( 1 mW)
3 dBm ( 1 mW)
4 dBm ( 2 mW)
5 dBm ( 3 mW)
* 6 dBm ( 3 mW)
1 Like
BtbN
February 22, 2025, 9:07pm
9
That should be the firmware file called mt7996_eeprom_233.bin
There’s only a few bytes of a difference. Where did you get that file from?
It’s even more recent than what’s on MTKs git repo.