I can try if i find some time to disassemble my test-r2 case
root@bpi-r2:~# lspci
00:00.0 PCI bridge: MEDIATEK Corp. Device 0801 (rev 01)
00:01.0 PCI bridge: MEDIATEK Corp. Device 0801 (rev 01)
01:00.0 Network controller: Qualcomm Atheros QCA986x/988x 802.11ac Wireless Netr
02:00.0 IDE interface: ASMedia Technology Inc. ASM1061 SATA IDE Controller (rev)
root@bpi-r2:~# iw list
Wiphy phy0
max # scan SSIDs: 16
max scan IEs length: 195 bytes
max # sched scan SSIDs: 0
max # match sets: 0
max # scan plans: 1
max scan plan interval: -1
max scan plan iterations: 0
Retry short limit: 7
Retry long limit: 4
Coverage class: 0 (up to 0m)
Device supports RSN-IBSS.
Device supports AP-side u-APSD.
Supported Ciphers:
* WEP40 (00-0f-ac:1)
* WEP104 (00-0f-ac:5)
* TKIP (00-0f-ac:2)
* CCMP-128 (00-0f-ac:4)
* CMAC (00-0f-ac:6)
* CMAC-256 (00-0f-ac:13)
* GMAC-128 (00-0f-ac:11)
* GMAC-256 (00-0f-ac:12)
Available Antennas: TX 0x7 RX 0x7
Configured Antennas: TX 0x7 RX 0x7
Supported interface modes:
* managed
* AP
* monitor
Band 1:
Capabilities: 0x19ef
RX LDPC
HT20/HT40
SM Power Save disabled
RX HT20 SGI
RX HT40 SGI
TX STBC
RX STBC 1-stream
Max AMSDU length: 7935 bytes
DSSS/CCK HT40
Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
Minimum RX AMPDU time spacing: 8 usec (0x06)
HT TX/RX MCS rate indexes supported: 0-23
Bitrates (non-HT):
* 1.0 Mbps
* 2.0 Mbps (short preamble supported)
* 5.5 Mbps (short preamble supported)
* 11.0 Mbps (short preamble supported)
* 6.0 Mbps
* 9.0 Mbps
* 12.0 Mbps
* 18.0 Mbps
* 24.0 Mbps
* 36.0 Mbps
* 48.0 Mbps
* 54.0 Mbps
Frequencies:
* 2412 MHz [1] (20.0 dBm)
* 2417 MHz [2] (20.0 dBm)
* 2422 MHz [3] (20.0 dBm)
* 2427 MHz [4] (20.0 dBm)
* 2432 MHz [5] (20.0 dBm)
* 2437 MHz [6] (20.0 dBm)
* 2442 MHz [7] (20.0 dBm)
* 2447 MHz [8] (20.0 dBm)
* 2452 MHz [9] (20.0 dBm)
* 2457 MHz [10] (20.0 dBm)
* 2462 MHz [11] (20.0 dBm)
* 2467 MHz [12] (20.0 dBm)
* 2472 MHz [13] (disabled)
* 2484 MHz [14] (disabled)
Band 2:
Capabilities: 0x19ef
RX LDPC
HT20/HT40
SM Power Save disabled
RX HT20 SGI
RX HT40 SGI
TX STBC
RX STBC 1-stream
Max AMSDU length: 7935 bytes
DSSS/CCK HT40
Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
Minimum RX AMPDU time spacing: 8 usec (0x06)
HT TX/RX MCS rate indexes supported: 0-23
VHT Capabilities (0x338001b2):
Max MPDU length: 11454
Supported Channel Width: neither 160 nor 80+80
RX LDPC
short GI (80 MHz)
TX STBC
RX antenna pattern consistency
TX antenna pattern consistency
VHT RX MCS set:
1 streams: MCS 0-9
2 streams: MCS 0-9
3 streams: MCS 0-9
4 streams: not supported
5 streams: not supported
6 streams: not supported
7 streams: not supported
8 streams: not supported
VHT RX highest supported: 0 Mbps
VHT TX MCS set:
1 streams: MCS 0-9
2 streams: MCS 0-9
3 streams: MCS 0-9
4 streams: not supported
5 streams: not supported
6 streams: not supported
7 streams: not supported
8 streams: not supported
VHT TX highest supported: 0 Mbps
Bitrates (non-HT):
* 6.0 Mbps
* 9.0 Mbps
* 12.0 Mbps
* 18.0 Mbps
* 24.0 Mbps
* 36.0 Mbps
* 48.0 Mbps
* 54.0 Mbps
Frequencies:
* 5180 MHz [36] (30.0 dBm) (no IR)
* 5200 MHz [40] (30.0 dBm) (no IR)
* 5220 MHz [44] (30.0 dBm) (no IR)
* 5240 MHz [48] (30.0 dBm) (no IR)
* 5260 MHz [52] (30.0 dBm) (no IR, radar detection)
* 5280 MHz [56] (30.0 dBm) (no IR, radar detection)
* 5300 MHz [60] (30.0 dBm) (no IR, radar detection)
* 5320 MHz [64] (30.0 dBm) (no IR, radar detection)
* 5500 MHz [100] (disabled)
* 5520 MHz [104] (disabled)
* 5540 MHz [108] (disabled)
* 5560 MHz [112] (disabled)
* 5580 MHz [116] (disabled)
* 5600 MHz [120] (disabled)
* 5620 MHz [124] (disabled)
* 5640 MHz [128] (disabled)
* 5660 MHz [132] (disabled)
* 5680 MHz [136] (disabled)
* 5700 MHz [140] (disabled)
* 5720 MHz [144] (30.0 dBm) (no IR)
* 5745 MHz [149] (30.0 dBm) (no IR)
* 5765 MHz [153] (30.0 dBm) (no IR)
* 5785 MHz [157] (30.0 dBm) (no IR)
* 5805 MHz [161] (30.0 dBm) (no IR)
* 5825 MHz [165] (30.0 dBm) (no IR)
* 5845 MHz [169] (30.0 dBm) (no IR)
* 5865 MHz [173] (disabled)
Supported commands:
* new_interface
* set_interface
* new_key
* start_ap
* new_station
* set_bss
* authenticate
* associate
* deauthenticate
* disassociate
* join_ibss
* remain_on_channel
* set_tx_bitrate_mask
* frame
* frame_wait_cancel
* set_wiphy_netns
* set_channel
* set_wds_peer
* probe_client
* set_noack_map
* register_beacons
* start_p2p_device
* set_mcast_rate
* testmode
* connect
* disconnect
* channel_switch
* set_qos_map
* set_multicast_to_unicast
Supported TX frame types:
* IBSS: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa00
* managed: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 00
* AP: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 00
* AP/VLAN: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 00
* mesh point: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90
* P2P-client: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90
* P2P-GO: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0x0
* P2P-device: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90
Supported RX frame types:
* IBSS: 0x40 0xb0 0xc0 0xd0
* managed: 0x40 0xd0
* AP: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0
* AP/VLAN: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0
* mesh point: 0xb0 0xc0 0xd0
* P2P-client: 0x40 0xd0
* P2P-GO: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0
* P2P-device: 0x40 0xd0
software interface modes (can always be added):
* monitor
valid interface combinations:
* #{ AP } <= 8, #{ managed } <= 1,
total <= 8, #channels <= 1, STA/AP BI must match
HT Capability overrides:
* MCS: ff ff ff ff ff ff ff ff ff ff
* maximum A-MSDU length
* supported channel width
* short GI for 40 MHz
* max A-MPDU length exponent
* min MPDU start spacing
Device supports TX status socket option.
Device supports HT-IBSS.
Device supports SAE with AUTHENTICATE command
Device supports scan flush.
Device supports AP scan.
Device supports per-vif TX power setting
Driver supports full state transitions for AP/GO clients
Driver supports a userspace MPM
Driver/device bandwidth changes during BSS lifetime (AP/GO mode)
Device supports static SMPS
Device supports configuring vdev MAC-addr on create.
Supported extended features:
* [ VHT_IBSS ]: VHT-IBSS
* [ RRM ]: RRM
* [ SET_SCAN_DWELL ]: scan dwell setting
* [ FILS_STA ]: STA FILS (Fast Initial Link Setup)
* [ CQM_RSSI_LIST ]: multiple CQM_RSSI_THOLD records
* [ CONTROL_PORT_OVER_NL80211 ]: control port over nl80211
* [ TXQS ]: FQ-CoDel-enabled intermediate TXQs
root@bpi-r2:~# dmesg | grep ath10k
[ 11.773886] ath10k_pci 0000:01:00.0: enabling device (0140 -> 0142)
[ 11.780500] ath10k_pci 0000:01:00.0: pci irq legacy oper_irq_mode 1 irq_mode0
[ 12.060066] ath10k_pci 0000:01:00.0: qca988x hw2.0 target 0x4100016c chip_id0
[ 12.069322] ath10k_pci 0000:01:00.0: kconfig debug 1 debugfs 1 tracing 0 dfs1
[ 12.078796] ath10k_pci 0000:01:00.0: firmware ver 10.2.4-1.0-00041 api 5 fea2
[ 12.125158] ath10k_pci 0000:01:00.0: board_file api 1 bmi_id N/A crc32 bebc78
[ 13.242268] ath10k_pci 0000:01:00.0: unsupported HTC service id: 1536
[ 13.269623] ath10k_pci 0000:01:00.0: htt-ver 2.1 wmi-op 5 htt-op 2 cal otp m1
[ 13.455080] ath10k_pci 0000:01:00.0 wlp1s0: renamed from wlan0
root@bpi-r2:~#
root@bpi-r2:~# ip addr show wlp1s0
9: wlp1s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default q0
link/ether b4:82:c5:60:6a:30 brd ff:ff:ff:ff:ff:ff
root@bpi-r2:~#
@cioby23 at least it is detected on r2 and 2.4G AP-mode works (have connected to it and run ssh-connection over it), have not tested 5G mode yet
Thanks for testing Frank. I also received confirmation from @igorpec on armbian forum that it works on BananaPi R2.
I have ordered one piece of it to replace my existing MT7612e card which does does not work at the moment and it does not support 2.4G & 5G at the same time
After installing 5.4 kernel from your repository I cannot use the MT7612e card anymore. When I try to load the module it fails with an error when about the firmware. This is the output from dmesg
dmesg | grep mt76
[ 6.793162] mt76x2e 0000:01:00.0: enabling device (0140 -> 0142)
[ 6.799319] mt76x2e 0000:01:00.0: ASIC revision: 76120044
[ 7.452685] mt76x2e 0000:01:00.0: Direct firmware load for mt7662_rom_patch.bin failed with error -2
[ 7.462076] mt76x2e: probe of 0000:01:00.0 failed with error -2
I donāt think you can make ap on both bands at same time with this card.
Thanks for hint about mt7612 firmware on 5.4. I will check it if i have time forā¦
You have mt7662_rom_patch.bin
in /lib/firmware? -2 is maybe āno such fileā
Yes the file is there. I have installed the firmware-misc-nonfree package from Debian repositories to load the firmware.
ls -ltrh /lib/firmware/ | grep mt76
-rw-r--r-- 1 root root 26K Sep 1 16:48 mt7662_rom_patch.bin
-rw-r--r-- 1 root root 80K Sep 1 16:48 mt7662.bin
-rw-r--r-- 1 root root 360K Sep 1 16:48 mt7650.bin
-rw-r--r-- 1 root root 45K Sep 1 16:48 mt7601u.bin
Is it directly in /lib/firmware or in subfolder mediatek? Youāve searched with recursive flag (-r)
The previous output is only from the /lib/firmware folder. (-r) is for reverse sort (-R) is for recursive.
Indeed there is also a mediatek folder in under /lib/firmware folder. Below is its content.
/lib/firmware/mediatek# ls -ltrh
total 900K
-rw-r--r-- 1 root root 167K Sep 1 16:48 mt7668pr2h.bin
-rw-r--r-- 1 root root 21K Sep 1 16:48 mt7662u_rom_patch.bin
-rw-r--r-- 1 root root 90K Sep 1 16:48 mt7662u.bin
-rw-r--r-- 1 root root 374K Sep 1 16:48 mt7650e.bin
-rw-r--r-- 1 root root 77K Sep 1 16:48 mt7622pr2h.bin
-rw-r--r-- 1 root root 79K Sep 1 16:48 mt7610u.bin
-rw-r--r-- 1 root root 79K Sep 1 16:48 mt7610e.bin
Ok,then itās strange that file is not foundā¦You have driver as module? log says bootup time is 7 seconds which looks like builtin and before filesystems are mounted
I have atached the full boot log dmesg.log (38.1 KB)
Strange just found the driver does not exist under the /lib/modules/5.4.2-bpi-r2-main/kernel/drivers/net/wireless folder. When I ran build.sh it created the tar.gz file and two folders BPI-BOOT and BPI-ROOT under SD folder and I unpacked the tar.gz bpi-r2_5.4.2-main.tar.gz into the rootfs which it seems does not have the mt76x2e.ko driver in it
I checked the config and itās enabled in the kernel but file is missing.
zgrep MT76x /proc/config.gz
CONFIG_MT76x02_LIB=y
# CONFIG_MT76x0U is not set
# CONFIG_MT76x0E is not set
CONFIG_MT76x2_COMMON=y
CONFIG_MT76x2E=y
# CONFIG_MT76x2U is not set
Itās not enabled as a loadable module but directly to the kernel. It says (y) instead of (m). I will try tomorrow and recompile the kernel with this driver as a module.
Hi,
[ 7.452685] mt76x2e 0000:01:00.0: Direct firmware load for mt7662_rom_patch.bin failed with error -2
And
[ 8.223316] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
The kernel tries to init mt76 driver and to load firmware before rootfs is mounted. Compiling it as a module should help, as all modules can be loaded only afrer rootfs is mounted. Or you can probably to try built-in a firmware to kernel
now with full bootlog it is clear
Imho firmware inside kernel is only possible with initrd which is much more complex setupā¦or is there any easier way?
with my kernel you have no modulesā¦also none from default. I guess it maybe a firewall issue. Maybe nftables have problems with later init of ap0 interface or similar.thats why recommend to test your kernel without modules
https://www.kernel.org/doc/html/v4.14/driver-api/firmware/built-in-fw.html
As I understood it can be built-in to Linux kernel image. Initramfs is near the same as regular modules/firmware, it can be extremely useful for various sata/sas/raid drivers or for network drivers in case of net-boot, at least itās most widely used cases in my practice.
I have changed in the kernel config the driver to be compiled as a module instead of being directly loaded and now I see the module in the tar.gz kernel image so I think it would work fine.
Iāll test later today and upload the new kernel into the BananaPi R2. I guess that was the issue that it tries to load firmware before rootfs is mounted. Thanks for pointing this out.
UPDATE: Uploaded the new kernel with the mt76x2e module on the BPI-R2 box and it works properly now. Module and firmware are loaded properly and wifi interface is visible
dmesg |grep mt76
[ 11.787135] mt76x2e 0000:01:00.0: enabling device (0140 -> 0142)
[ 11.793413] mt76x2e 0000:01:00.0: ASIC revision: 76120044
[ 12.456280] mt76x2e 0000:01:00.0: ROM patch build: 20141115060606a
[ 12.468727] mt76x2e 0000:01:00.0: Firmware Version: 0.0.00
[ 12.474314] mt76x2e 0000:01:00.0: Build: 1
[ 12.478429] mt76x2e 0000:01:00.0: Build Time: 201507311614____
[ 12.507768] mt76x2e 0000:01:00.0: Firmware running!
[ 12.543525] mt76x2e 0000:01:00.0 wlp1s0: renamed from wlan0
ip addr show wlp1s0
9: wlp1s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether f8:62:aa:50:16:10 brd ff:ff:ff:ff:ff:ff
Hi folks,
just a silly question, how can you apply a half sized card in a full sized place?
Thanks!
Iāve just read this topic, and couldnāt figure out! Is this card working with BPI-r2 or any BPI router board : Mini PCIe Modul QCA9880 WPEA-352ACN Itās sparklan, but actually chipset comes from Q/A.
I donāt think soā¦i have tested similar card and reported it works
I also would like to get some recommendation for an ac card with 802.11s.
Can I put the BPI-MT7615 in a BPI-R2 (it seems so big)?
The large mt7615 (like bpi,but also other vendors too) do not fit into bpi-r2 (or you need to cut off gpio pins and need newer r2 with smaller coils).
The asiarf mt7615 card fits and works in bpi-r2.but shipping is expensiveā¦