BPI-R2 2.4Ghz and 5.6Ghz Wifi Working fine

do you bridge ap0 to lanX? I guess not…

Only wifi bridge.

bpi-r2-gentoo ~ # brctl show br0
bridge name     bridge id               STP enabled     interfaces
br0             8000.0208223eeefb       no              ap0
                                                        wlp1s0

Imho problems start if using bridge with dsa ports

I’ve tried to add wan to br0

bpi-r2-gentoo ~ # brctl show br0
bridge name     bridge id               STP enabled     interfaces
br0             8000.0208223eeefb       no              ap0
                                                        wan
                                                        wlp1s0

For now everything looks good, but wan has no any cord.

Yep, i got dmesg errors when add any active lan/wan port, or on activating the port after it’s alredy added. bridge.log (8.8 КБ)

But openvswitcht bridge looks fine with wan/lan ports:

bpi-r2-gentoo ~ # ovs-vsctl show
251c8858-4cde-4b26-83a8-6012e44cd420
    Bridge "br1"
        Port wan
            Interface wan
        Port "lan1"
            Interface "lan1"
        Port "lan2"
            Interface "lan2"
        Port "lan3"
            Interface "lan3"
        Port "br1"
            Interface "br1"
                type: internal
        Port "lan0"
            Interface "lan0"

It works, and no errors in dmesg:

[61685.501577] device eth0 entered promiscuous mode
[61685.504230] mt7530 mdio-bus:00 wan: configuring for phy/gmii link mode
[61685.504682] 8021q: adding VLAN 0 to HW filter on device wan
[61689.690506] mt7530 mdio-bus:00 wan: Link is Up - 1Gbps/Full - flow control rx/tx
[61689.690596] IPv6: ADDRCONF(NETDEV_CHANGE): wan: link becomes ready
[61978.018146] device lan0 entered promiscuous mode
[61979.768981] device lan1 entered promiscuous mode
[61981.567568] device lan2 entered promiscuous mode
[61983.951665] device lan3 entered promiscuous mode
[61993.384593] mt7530 mdio-bus:00 lan0: configuring for phy/gmii link mode
[61993.385169] 8021q: adding VLAN 0 to HW filter on device lan0
[61995.580923] mt7530 mdio-bus:00 lan1: configuring for phy/gmii link mode
[61995.581375] 8021q: adding VLAN 0 to HW filter on device lan1
[61997.675238] mt7530 mdio-bus:00 lan2: configuring for phy/gmii link mode
[61997.675673] 8021q: adding VLAN 0 to HW filter on device lan2
[62000.076117] mt7530 mdio-bus:00 lan3: configuring for phy/gmii link mode
[62000.076700] 8021q: adding VLAN 0 to HW filter on device lan3
[62067.210756] mt7530 mdio-bus:00 lan0: Link is Up - 1Gbps/Full - flow control rx/tx
[62067.210844] IPv6: ADDRCONF(NETDEV_CHANGE): lan0: link becomes ready
[62411.454469] mt7530 mdio-bus:00 lan0: Link is Down
[62414.570440] mt7530 mdio-bus:00 lan0: Link is Up - 1Gbps/Full - flow control rx/tx
[62430.176316] mt7530 mdio-bus:00 wan: Link is Down
[62433.299239] mt7530 mdio-bus:00 lan0: Link is Down
[62439.529862] mt7530 mdio-bus:00 wan: Link is Up - 1Gbps/Full - flow control rx/tx
[62439.531778] mt7530 mdio-bus:00 lan0: Link is Up - 1Gbps/Full - flow control rx/tx

uplink/downlink test:

iperf3 -c 10.0.0.1
Connecting to host 10.0.0.1, port 5201
[  5] local 10.0.0.2 port 59724 connected to 10.0.0.1 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  85.5 MBytes   717 Mbits/sec   18    338 KBytes       
[  5]   1.00-2.00   sec  86.7 MBytes   728 Mbits/sec    3    378 KBytes       
[  5]   2.00-3.00   sec  88.0 MBytes   738 Mbits/sec    2    421 KBytes       
[  5]   3.00-4.00   sec  87.4 MBytes   733 Mbits/sec   23    332 KBytes       
[  5]   4.00-5.00   sec  88.4 MBytes   742 Mbits/sec   13    385 KBytes       
[  5]   5.00-6.00   sec  87.7 MBytes   736 Mbits/sec    2    423 KBytes       
[  5]   6.00-7.00   sec  88.0 MBytes   738 Mbits/sec   17    335 KBytes       
[  5]   7.00-8.00   sec  88.1 MBytes   739 Mbits/sec   10    385 KBytes       
[  5]   8.00-9.00   sec  88.1 MBytes   739 Mbits/sec    1    427 KBytes       
[  5]   9.00-10.00  sec  88.2 MBytes   740 Mbits/sec    9    337 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   876 MBytes   735 Mbits/sec   98             sender
[  5]   0.00-10.00  sec   874 MBytes   733 Mbits/sec                  receiver

iperf3 -c 10.0.0.1 -R
Connecting to host 10.0.0.1, port 5201
Reverse mode, remote host 10.0.0.1 is sending
[  5] local 10.0.0.2 port 59728 connected to 10.0.0.1 port 5201
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec   110 MBytes   926 Mbits/sec                  
[  5]   1.00-2.00   sec   111 MBytes   935 Mbits/sec                  
[  5]   2.00-3.00   sec   112 MBytes   939 Mbits/sec                  
[  5]   3.00-4.00   sec   112 MBytes   939 Mbits/sec                  
[  5]   4.00-5.00   sec   112 MBytes   939 Mbits/sec                  
[  5]   5.00-6.00   sec   112 MBytes   939 Mbits/sec                  
[  5]   6.00-7.00   sec   112 MBytes   939 Mbits/sec                  
[  5]   7.00-8.00   sec   112 MBytes   939 Mbits/sec                  
[  5]   8.00-9.00   sec   112 MBytes   939 Mbits/sec                  
[  5]   9.00-10.00  sec   112 MBytes   939 Mbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  1.10 GBytes   947 Mbits/sec    0             sender
[  5]   0.00-10.00  sec  1.09 GBytes   937 Mbits/sec                  receiver

I’ll update this thread on any errors.

1 Like

UPD: In 5.5-merged regular bridge looks stable too. My previous bridge errors appeard in 5.3-wifi branch kernel. But upload speed seems slower - only ~500Mbps, download is the same: ~930Mbps

In 5.4 there are only some cleanups (removing android wakelocks) from lexa2 merged…i don’t think they affect speed of wifi-device

Hi frank-w where i can get test image? I tryied to compile but i failed. With kernel 5.5.

You can use my debian image and install newer kernel there. 5.4 is on github releases or on my gdrive. 5.5 not yet

Hi Frank,

Is the embedded wireless chip M6625L working fine in your 5.4 kernel ?

I also have installed and MT7612E mPCIE card on the board. Can they work in paralel ?

I have some old devices which cannot use AC standard and I want to configure M6625L to run on 2.4 GHz band and the MT7612E card to run on the 5GHz band.

imho Internal wifi works same as in older kernels. I have same setup with kernel 4.14 on my main router,so yes. You need one instance of hostapd configured for each card/band.

OK thanks.

I see your build.sh script looks for WMT-Tools in some folder utils/wmt/ which is not found in the git tree. Where do I put the firmware files so that the script copy them to the proper location when creating the package ?

Just checkout the folder from 4.14-main

I copied the utils folder from the 4.14-main branch into 5.4-main and then ran ./build.sh but in the end when I select deb to create a debian package for the kernel I do not see any wmt files copied inside the deb package.

prepare_sd function should copy also wmt-tools (if they are there… 4.14 contains also binaries) and is called by deb-function

Ah ok,i have not used wmt files (and other) in deb package pnly kernel and modules

So this means after I upload and install the deb kernel package I need to manually copy those wmt files in the specified folders on the BPI-R2 device ?

right, or simply use the pack-option, there is all included

I got following pci-e wlan card today, and placed into BPI-R2 :

“01:00.0 Ethernet controller [0200]: Qualcomm Atheros AR242x / AR542x Wireless Network Adapter (PCI-Express) [168c:001c] (rev 01)”

The sticker on it describes : Atheros AR5BXB63

Would you mind giving me some hints, how could I turn it on, and configure 2,4ghz wifi ap?

try booting kernel with all ath wireless modules installed and see which one is loaded and if wifi-device is created (ip a / iw list). then it should be same as my examples for mt7612e

Command lsmod tells me that ath9k is available. After typing modprobe ath9k, nothing happens, lspci - nn doesnt write to the wlan card it’s loaded as module! But on the other hand, how can I apply what you’ve mentioned? (booting kernel with all ath modules?)