Can you use WLE900VX-7AA with BPI-R64 minipcie? I have test WLE900VX-7AA with BPI-R64 minipcie, it seems that wifi module need usb interface in the minipcie, but the CN25 minipcie slot not have usb interface.
I used WLE900VX-7AA on Bpi-R2. But I do not have BPI-R64, so I don’t know what have happening.
In addition, my boards (espressobin, clearfog, and ventana gw5510) worked fine.
Could you please tell me which openwrt version do you use on BPI-R2, and with driver do you use? kmod-ath10k or kmod-ath10k-ct? The minipcie port is the same for BPI-R2 and BPI-R64, if it works on BPI-R2, it should work on BPI-R64.
Does anyone know or tested if this WiFi card Compex WLE600VX Mini PCIe Module QCA9882 802.11AC 867Mbps https://www.aliexpress.com/item/32894440569.html?spm=a2g0o.placeorder.0.0.5395321e1m9xFs&mp=1 can be used on the Banana Pi R2 device ?
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?