Banana PI-R64/Openwrt MediaTek MT7615E 802.11ac/b/g/n only 3 mW


i have a issue with my BananaPI-R64. I installed the newest Snapshot of openwrt on my device. Everting is working fine. Nice device. But: On the external MediaTek MT7615E 802.11ac/b/g/n i coud ony chose max 3 mW 6 dbm . This is very weak…

the loaded moduls are:

root@OpenWrt:~# lsmod  | grep 7615
cfg80211              290816  7 mt76x2_common,mt76x02_lib,mt7615_common,mt7603e,mt76_connac_lib,mt76,mac80211
hwmon                  20480  1 mt7615_common
mac80211              565248  7 mt76x2e,mt76x02_lib,mt7615e,mt7615_common,mt7603e,mt76_connac_lib,mt76
mt76                   65536  7 mt76x2e,mt76x2_common,mt76x02_lib,mt7615e,mt7615_common,mt7603mt76_connac_lib
mt76_connac_lib        45056  2 mt7615e,mt7615_common
mt7615_common          81920  1 mt7615e
mt7615e                24576  0 

iwinfo confirms that the device is only running with 6dm…

wl1-ap1   ESSID: "OpenWrt_24"
          Access Point: 42:3D:52:7D:63:5C
          Mode: Master  Channel: 5 (2.432 GHz)  HT Mode: HT20
          Center Channel 1: 5 2: unknown
          Tx-Power: 6 dBm  Link Quality: unknown/70
          Signal: unknown  Noise: -92 dBm
          Bit Rate: unknown
          Encryption: none
          Type: nl80211  HW Mode(s): 802.11ac/b/g/n
          Hardware: 14C3:7615 7615:14C3 [MediaTek MT7615E]
          TX power offset: none
          Frequency offset: none
          Supports VAPs: yes  PHY name: wl1

cat /etc/config/wirless
config wifi-device 'radio1'
        option type 'mac80211'
        option phy 'wl1'
        option channel '5'
        option band '2g'
        option htmode 'HT20'
        option cell_density '0'
        option txpower '6'

i was free to put some firemware images to /lib/firmeware/mediatek without success..
-rw-r--r--    1 root     root          1024 Apr  1 18:54 MT7615E1_EEPROM.bin<br>
-rw-r--r--    1 root     root        134132 Apr  1 18:54 MT7615_cr4.bin<br>
-rw-r--r--    1 root     root        119012 Apr  1 18:54 MT7615_cr4_noReOrdering.bin<br>
-rw-r--r--    1 root     root         59220 Apr  1 18:54 MT7615_cr4_plain.bin<br>
-rw-r--r--    1 root     root         74884 Apr  1 18:54 MT7615_cr4_plain_20141024_1.bin<br>
-rw-r--r--    1 root     root         98740 Apr  1 18:54 MT7615_cr4_plain_20150206_1_asic.bin<br>
-rw-r--r--    1 root     root          1024 Apr  1 15:31 MT7622_EEPROM.bin<br>
-rw-r--r--    1 root     root        460744 Apr  1 18:54 WIFI_RAM_CODE_MT7615.bin<br>
-rw-r--r--    1 root     root        401160 Apr  1 18:54 WIFI_RAM_CODE_MT7615_E1.bin<br>
-rw-r--r--    1 root     root        384728 Apr  1 18:54 WIFI_RAM_CODE_MT7615_plain.bin<br>
-rw-r--r--    1 root     root        296040 Apr  1 15:31 WIFI_RAM_CODE_MT7622_E2.bin<br>
-rw-r--r--    1 root     root        122644 Mar 30 09:40 mt7615_cr4.bin<br>
-rw-r--r--    1 root     root        457992 Mar 30 09:40 mt7615_n9.bin<br>
-rw-r--r--    1 root     root          3150 Apr  1 18:54 mt7615_patch_e3_hdr.bin<br>
-rw-r--r--    1 root     root         11102 Mar 30 09:40 mt7615_rom_patch.bin<br>
-rw-r--r--    1 root     root          1200 Apr  1 18:54 mt7615e_rf.bin<br>
-rw-r--r--    1 root     root        300376 Mar 30 09:40 mt7622_n9.bin<br>
-rw-r--r--    1 root     root         77838 Apr  1 15:31 mt7622_patch_e2_hdr.bin<br>
-rw-r--r--    1 root     root         82110 Mar 30 09:40 mt7622_rom_patch.bin<br>
-rw-r--r--    1 root     root         78158 Mar 31 17:39 mt7622pr2h.bin

what shout i do ?

Probably the MT7615E mPCIe module comes without a physical EEPROM. Hence you have to store the board-specific calibration data somewhere the driver can find it. While typically a flash partition is used for that, due to the multiple boot devices supported on the BPi-R64 the best is probably you put it in device tree just like the existing calibration data for the 2.4 GHz radio integrated in the MT7622 SoC. To make things more convenient and also survive updates, you can use a device tree overlay and tell the bootloader to always load that before starting Linux. If you are anyway running a custom build you can just edit the device tree source file in the OpenWrt source tree and add your calibration data there using the /incbin/ directive, see

If you do not have calibration data for this exact module, please ask the vendor or seller to provide it for you. If the calibration data doesn’t match the actual module you can easily break the hardware or violate the law…

Hi, thanks for the answer.

im not a developer and i don’t like to play with the kreml, so i will wait, until it is offical fixed.

So i think the easierst way is, to replace the wifi-module with a working one, until this issue is office fixed

is there are a recomenadion, with wifi-module is a good choise ? (may be with ax 6 ghz support )?

Use AsiaRF modules, they all come with a proper physical EEPROM on the module itself to store the calibration data. They are meant to be used by normal consumers. Modules from UniElec are half-ready products meant for integrators and product developers.