I know this is a Banana Pi forum, but maybe someone can help anyway.
I am using a BPI-MT7615 mini pcie card in a Futro 940 (Intel Celeron J5005) and trying to get it working with OpenWRT. The card is detected but does not load the existing firmware from /lib/firmware/mediatek/.
Same problem with OpenWRT (23.05.5) as well as with Xubuntu 24.04.
Available firmware files:
/lib/firmware/mediatek# ls -al
drwxr-xr-x 2 root root 4096 Dec 9 15:59 .
drwxr-xr-x 6 root root 4096 Sep 23 12:34 ..
-rw-r--r-- 1 root root 122644 Sep 23 12:34 mt7615_cr4.bin
-rw-r--r-- 1 root root 457992 Sep 23 12:34 mt7615_n9.bin
-rw-r--r-- 1 root root 11102 Sep 23 12:34 mt7615_rom_patch.bin
dmesg and lspci:
# dmesg | grep mt76
[ 8.821026] mt7615e 0000:02:00.0: enabling device (0000 -> 0002)
[ 8.831067] mt7615e 0000:02:00.0: Invalid MAC address, using random address 0a:3b:0e:ae:53:43
[ 8.843397] mt7615e 0000:02:00.0: registering led 'mt76-phy0'
[ 8.961338] mt7615e 0000:02:00.0: Firmware is not ready for download
# lspci
02:00.0 Unclassified device [0002]: MEDIATEK Corp. MT7615E 802.11ac PCI Express Wireless Network Adapter
Thanks,
Klaus
frank-w
(Frank W.)
December 9, 2024, 4:53pm
2
have you built driver as module to be loaded AFTER root filesystem is mounted?
Good point. The driver module are installed via the openwrt package kmod-mt7615e . I tried to manually remove the kernel module and load it again:
rmmod mt7615e
modprobe mt7615e
For a moment, it looked much better:
[ 9.119677] mt7615e 0000:02:00.0: enabling device (0000 -> 0002)
[ 9.129696] mt7615e 0000:02:00.0: Invalid MAC address, using random address 22:2f:c2:76:60:4e
[ 9.142153] mt7615e 0000:02:00.0: registering led 'mt76-phy0'
[ 9.249645] mt7615e 0000:02:00.0: HW/SW Version: 0x8a108a10, Build Time: 20180518100604a
[ 9.297083] mt7615e 0000:02:00.0: N9 Firmware Version: _reserved_, Build Time: 20200814163649
[ 9.319475] mt7615e 0000:02:00.0: CR4 Firmware Version: _reserved_, Build Time: 20190415154149
But after I rebooted and tried the process again, same problem:
[ 66.655275] mt7615e 0000:02:00.0: Invalid MAC address, using random address 42:dd:32:40:5a:9a
[ 66.668466] mt7615e 0000:02:00.0: registering led 'mt76-phy1'
[ 66.749027] ieee80211 phy1: Selected rate control algorithm 'minstrel_ht'
[ 66.749046] ieee80211 phy1: copying sband (band 1) due to VHT EXT NSS BW flag
[ 66.750016] mt7615e 0000:02:00.0: Firmware is not ready for download
Don’t know why it worked just one time.
frank-w
(Frank W.)
December 9, 2024, 10:07pm
4
maybe the card needs a bit more time to get stable? can you after reboot again unload module and reload it?
losmundos
(Klaus)
December 9, 2024, 10:14pm
5
I have tried it manually several times after a reboot. No chance.
Maybe a power consumption issue? I use the card in a ngff m.2 slot with an adapter.
losmundos
(Klaus)
December 10, 2024, 8:56pm
6
Okay apparently the kernel module must be removed before a reboot. Now it seems that the firmware is loaded properly on boot. Interesting behavior.
opened 05:48PM - 30 Sep 19 UTC
@nbd @chunkeey @LorenzoBianconi
SoC is IPQ4019.
After a soft reboot, MT7615… no longer works
```
mt7615e 0000:01:00.0: enabling device (0140 -> 0142)
mt7615e 0000:01:00.0: Firmware is not ready for download
mt7615e: probe of 0000:01:00.0 failed with error -5
```
I checked the `val` in `mt7615_load_firmware`
https://github.com/openwrt/mt76/blob/6f7d0f503d1013f0909fe52075da5d5d500ddca4/mt7615/mcu.c#L519 and it is already 7 (`FW_STATE_CR4_RDY`)
It seems that either the PCIe driver does not power cycle the PCIe interface after reboot, or the mt76 driver does not warm reset the mt7615 chip.
Update: If I unload the driver manually by `rmmod mt7615e`, it will work after the reboot
@frank-w
I have read in another thread that if I want to increase the TX power to 20dBm I have to load a custom eeprom and patch the kernel module first so that the custom eeprom file can be loaded?
frank-w
(Frank W.)
December 11, 2024, 3:20pm
7
Afair yes…i updated a patch loading eeprom from a file,but where to get this file what you have to change there idk