Hi everyone,
I’m working on my BPI-R2 using Frank’s legacy Debian 10 image, but I’ve upgraded the kernel to 6.12. I have an MT7615E PCIe WiFi card installed, and while I’ve made some progress, I’m struggling with very low signal strength.
The Setup:
- Hardware: BPI-R2 + MT7615E PCIe card.
- Kernel: 6.12.0
- OS: Debian 13
- Status: DBDC mode is working, both 2.4GHz and 5GHz bands are up.
The Problem:
The TX power is hard-capped at 6.0 dBm across all channels. Looking at dmesg, it seems to me that the driver is failing to load the calibration/EEPROM data, resulting in a random MAC address and “fail-safe” power limits.
Relevant dmesg output:
[15508.860587] mt7615e 0000:01:00.0: Invalid MAC address, using random address de:ce:28:d0:23:b6
[15509.039272] mt7615e 0000:01:00.0: N9 Firmware Version: _reserved_, Build Time: 20200814163649
[15509.064168] mt7615e 0000:01:00.0: CR4 Firmware Version: _reserved_, Build Time: 20190415154149
iw phy output snippet:
Frequencies:
* 2412.0 MHz [1] (6.0 dBm)
* 2417.0 MHz [2] (6.0 dBm)
* 2422.0 MHz [3] (6.0 dBm)
* 2427.0 MHz [4] (6.0 dBm)
* 2432.0 MHz [5] (6.0 dBm)
* 2437.0 MHz [6] (6.0 dBm)
* 2442.0 MHz [7] (6.0 dBm)
* 2447.0 MHz [8] (6.0 dBm)
* 2452.0 MHz [9] (6.0 dBm)
* 2457.0 MHz [10] (6.0 dBm)
* 2462.0 MHz [11] (6.0 dBm)
* 2467.0 MHz [12] (6.0 dBm)
* 2472.0 MHz [13] (6.0 dBm)
* 2484.0 MHz [14] (disabled)
Band 2:
Capabilities: 0x1ff
RX LDPC
HT20/HT40
SM Power Save disabled
RX Greenfield
--
Frequencies:
* 5180.0 MHz [36] (6.0 dBm)
* 5200.0 MHz [40] (6.0 dBm)
* 5220.0 MHz [44] (6.0 dBm)
* 5240.0 MHz [48] (6.0 dBm)
* 5260.0 MHz [52] (6.0 dBm) (radar detection)
* 5280.0 MHz [56] (6.0 dBm) (radar detection)
* 5300.0 MHz [60] (6.0 dBm) (radar detection)
* 5320.0 MHz [64] (6.0 dBm) (radar detection)
* 5500.0 MHz [100] (6.0 dBm) (radar detection)
* 5520.0 MHz [104] (6.0 dBm) (radar detection)
* 5540.0 MHz [108] (6.0 dBm) (radar detection)
* 5560.0 MHz [112] (6.0 dBm) (radar detection)
* 5580.0 MHz [116] (6.0 dBm) (radar detection)
* 5600.0 MHz [120] (6.0 dBm) (radar detection)
* 5620.0 MHz [124] (6.0 dBm) (radar detection)
* 5640.0 MHz [128] (6.0 dBm) (radar detection)
* 5660.0 MHz [132] (6.0 dBm) (radar detection)
* 5680.0 MHz [136] (6.0 dBm) (radar detection)
* 5700.0 MHz [140] (6.0 dBm) (radar detection)
* 5720.0 MHz [144] (6.0 dBm) (radar detection)
What I’ve Tried:
- EEPROM Binary: I managed to find a valid EEPROM binary (
MT7615E1_EEPROM.binfrom openwrt-mt7615/mtk/drivers/mt_wifi/src/bin/mt7615 at master · digizer0/openwrt-mt7615 · GitHub).hexdumpconfirms the15 76header and a valid MAC address (00:0c:43:...). - Firmware paths: I’ve placed the file in
/lib/firmware/mediatek/mt7615e_eeprom.bin(and tried various symlinks), but the driver doesn’t seem to pick it up automatically. ethtool: Runningethtool -e wlan0returnsOperation not supported, so I can’t dump the internal EEPROM.- Driver info:
modinfo mt7615elists firmware for N9 and CR4, but unlike other drivers, it doesn’t list a default EEPROM/bin path.
Questions:
- Is there a specific DTB property needed in Kernel 6.12 to point the
mt7615edriver to an external EEPROM file? - Does the driver expect a specific filename for the fallback EEPROM in the
/lib/firmwaredirectory? - I’ve seen
mediatek,eeprom-datamentioned ineeprom.c, but I’m unsure about the correct syntax for the PCIe node in the DTS for this specific kernel version.
Any help or insights from @frank-w or the community would be greatly appreciated!