[solved][BPI-R64] Mesh (802.11s) on internal WiFi card (MT7622AV)

root@bpi-r2:~# iw wlp1s0 set type ibss
root@bpi-r2:~# ip link set wlp1s0 up                                                                                                                                                            
RTNETLINK answers: Input/output error
root@bpi-r2:~# dmesg | grep wlp1s0
[   15.208512] mt7615e 0000:01:00.0 wlp1s0: renamed from wlan0
root@bpi-r2:~# uname -a
Linux bpi-r2 5.15.0-rc4-bpi-r2 #1 SMP Sat Oct 16 20:43:57 CEST 2021 armv7l GNU/Linux

with patch

I think you probably have already an instance of wpa_supplicant running (usually this happens when people forget that NetworkManager takes care of all their interfaces and they will either have to stop NetworkManager or use NetworkManager for all configuration…)

Do you try to do this with banana pi r2? I thought it has a different wifi card?

It is my r2,using mt7615 card.but not interal wifi (ap0)

and no wpa_supplicant/ hostapd running…but network-config done with systemd

tried stopping it, but error comes again

root@bpi-r2:~# service systemd-networkd stop
Warning: Stopping systemd-networkd.service, but it can still be activated by:
  systemd-networkd.socket
root@bpi-r2:~# iw wlp1s0 set type ibss
root@bpi-r2:~# ip link set wlp1s0 up
RTNETLINK answers: Input/output error
root@bpi-r2:~#

maybe i need to set ip address first?

edit: wpa_supplicant is not installed in my (nearly fresh) bullseye image, hostapd is installed, but not running. i got the same error without the patch…so at least not related to the patch…

Weird, if I do the exact same thing on OpenWrt it just works.

No, layer 3 settings don’t matter at this point.

The most important thing is to test it on internal mt7622 wifi, since it fixes adhoc and mesh point there. :wink: However, thanks for testing, you can just also try to use wpa_supplicant with

ap_scan=2

network={
    ssid="OpenWrt-Bla"
    mode=1
    frequency=2412
    key_mgmt=NONE
}

Afterwards you should be able to call that with

wpa_supplicant -i wlan0 -c [THE CONFIG]

However maybe your card is still in 5 ghz somehow? Maybe try some 5 ghz channel?

Thank you very much for testing! I hope the PR will soon be accepted and then backported to OpenWrt. :wink:

i missed firmware-files…after installing them, i don’t get the error :slight_smile:

apt install firmware-misc-nonfree

looks like i can now start the mesh

iw wlp1s0 set type ibss
ip link set wlp1s0 up
iw wlp1s0 ibss join bpi-mesh 2412

[  129.828378] wlp1s0: Trigger new scan to find an IBSS to join
[  135.274604] wlp1s0: Creating new IBSS network, BSSID 3e:4d:88:d8:1d:45
[  135.282649] IPv6: ADDRCONF(NETDEV_CHANGE): wlp1s0: link becomes ready
[  165.361006] wlp1s0: No active IBSS STAs - trying to scan for other IBSS networks with same SSID (merge)

now compiling kernel for r64…

root@bpi-r64:~# apt install iw
root@bpi-r64:~# iw wlan0 set type ibss
root@bpi-r64:~# ip link set wlan0 up
root@bpi-r64:~# iw wlan0 ibss join bpi-mesh 2412                                                                                      
root@bpi-r64:~# [  188.468176] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready

and it looks like there is no scanning anymore, seems like they are connected…

root@bpi-r64:~# iw dev wlan0 station dump
Station 00:0a:52:05:c9:e2 (on wlan0)
        inactive time:  80 ms
        rx bytes:       68796
        rx packets:     1764
        tx bytes:       0
        tx packets:     0
        tx retries:     0
        tx failed:      0
        rx drop misc:   0
        signal:         -38 [-38, -64, -76, -69] dBm
        signal avg:     -37 [-37, -64, -75, -69] dBm
        tx bitrate:     1.0 MBit/s
        rx duration:    0 us
        authorized:     yes
        authenticated:  yes
        associated:     yes
        preamble:       long
        WMM/WME:        yes
        MFP:            no
        TDLS peer:      no
        DTIM period:    0
        beacon interval:100
        connected time: 177 seconds

and it seems to work…after adding layer3 (ip address), i can ping each other

ap-mode on r2 (mt7615) and r64 (mt7622_wmac) still works

got wpa_supplicant-method also working…

/etc/wpa_supplicant/meshpoint.conf

#wpa_supplicant -i wlan0 -c config
ap_scan=2

network={
    ssid="bpi-mesh"
    mode=1
    frequency=2412
    key_mgmt=NONE
}

how to create mesh_point (with ap)?

1 Like

I could also just rewrite the patch to only check for mt7622 wifi and do there the different initialization.

@frank-w Here is a good tutorial. :slight_smile: https://wireless.wiki.kernel.org/en/users/drivers/ath10k/mesh Just go to meshpoint.

1 Like

@frank-w I already backported the patch to OpenWrt:

In the OpenWrt Directory do:

curl https://patch-diff.githubusercontent.com/raw/openwrt/openwrt/pull/4652.patch | git am 

then

./scripts/feeds update -a

and

./scripts/feeds install -a

Afterwards select under make menuconfig the BPI R64. Then, select under Network -> WirelessAPD -> wpad (and deselect this wpad-basic).

Now you can just do:

config wifi-iface 'radio0_mesh'
	option device 'radio0'
	option mode 'mesh'
	option mesh_id 'Mesh-OpenWrt'
	option mesh_fwding '0'
	option network 'lan'
	option encryption 'none'

and do

wifi

now you should see a mesh point.

1 Like

As i do not use openwrt,i need a generic way to test it in debian

Ah okay. I think try this wpa_supplicant config:

Okay maybe try this with wpa_supplicant?

user_mpm=1
network={
	ssid="bpi-mesh"
	mode=5
	frequency=2412
	key_mgmt=NONE 
}

I think mode 5 is mesh point. Thanks a lot for testing!!!

root@bpi-r2:~# wpa_supplicant -i wlp1s0 -c /etc/wpa_supplicant/meshpoint.conf & 
[1] 500                                                                         
Successfully initialized wpa_supplicant                                         
Line 3: unknown global field 'user_mpm=1'.                                      
Line 3: Invalid configuration line 'user_mpm=1'.                                
Line 8: too large mode (value=5 max_value=4)                                    
Line 8: failed to parse mode '5'.                                               
Line 11: failed to parse network block.                                         
Failed to read or parse configuration '/etc/wpa_supplicant/meshpoint.conf'.

iw list does not show mesh-point…maybe i need a kernel-option (MAC80211_MESH [=n],…)

Supported interface modes:                                              
         * IBSS                                                         
         * managed                                                      
         * AP                                                           
         * AP/VLAN                                                      
         * monitor                                                      
         * P2P-client                                                   
         * P2P-GO 

iw phy phy0 interface add mesh0 type mp                          
command failed: Operation not supported (-95)

edit: after adding MAC80211_MESH i see mesh point and can execute the iw line…wpa_supplicant still show error

iw list | grep -i 'phy\|mesh'                                    
Wiphy phy0                                                                      
        wiphy index: 0                                                          
                 * mesh point                                                   
                 * set_mesh_config                                              
                 * join_mesh                                                    
                 * set_wiphy_netns                                              
                 * #{ IBSS } <= 1, #{ managed, AP, mesh point, P2P-client, P2P-G
O } <= 16,                                                                      
                 * mesh point: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90
 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0                                                  
                 * mesh point: 0xb0 0xc0 0xd0           
iw phy phy0 interface add mesh0 type mp
iw mesh0 info                                                    
Interface mesh0                                                                 
        ifindex 16                                                              
        wdev 0x2                                                                
        addr 00:0a:52:05:c9:e2                                                  
        type mesh point                                                         
        wiphy 0                                                                 
        txpower 6.00 dBm                                                        
        multicast TXQ:                                                          
                qsz-byt qsz-pkt flows   drops   marks   overlmt hashcol tx-bytet
x-packets                                                                       
                0       0       0       0       0       0       0       0      0

ip addr add 192.168.80.1/24 dev mesh0
ip link set mesh0 up                                             
wpa_supplicant -i mesh0 -c /etc/wpa_supplicant/meshpoint.conf &
[1] 504                                                                         
Successfully initialized wpa_supplicant                                         
Line 3: unknown global field 'user_mpm=1'.                                      
Line 3: Invalid configuration line 'user_mpm=1'.                                
Line 8: too large mode (value=5 max_value=4)                                    
Line 8: failed to parse mode '5'.                                               
Line 11: failed to parse network block.                                         
Failed to read or parse configuration '/etc/wpa_supplicant/meshpoint.conf'.

It looks like debians wpa_supplicant is compiled without mesh (like defaultconfig from gitrepo)…but i did not found yet why user_mpm is not recognized (but in source it looks like it’s part from mash)

https://w1.fi/cgit/hostap/tree/wpa_supplicant/config.c#n2527

compiled wpa_supplicant with CONFIG_MESH again and it starts, do some further tests later

[1] 503i-r2:~# ./wpa_supplicant -i mesh0 -c /etc/wpa_supplicant/meshpoint.conf  
root@bpi-r2:~# Successfully initialized wpa_supplicant                          
mesh0: CTRL-EVENT-REGDOM-CHANGE init=BEACON_HINT type=UNKNOWN                   
mesh0: CTRL-EVENT-REGDOM-CHANGE init=BEACON_HINT type=UNKNOWN                   
mesh0: interface state UNINITIAL[  103.530708] IPv6: ADDRCONF(NETDEV_CHANGE): my
IZED->ENABLED                                                                   
mesh0: AP-ENABLED                                                               
mesh0: joining mesh bpi-mesh                                                    
mesh0: CTRL-EVENT-CONNECTED - Connection to 00:00:00:00:00:00 completed [id=0 i]
mesh0: MESH-GROUP-STARTED ssid="bpi-mesh" id=0

uploaded wpa_supplicant binaries here: https://drive.google.com/file/d/1_IH6RsjCSlvBiuNUDXSLmvjkuyginoGn/view?usp=sharing

tried now mesh-point between r2+mt7615 and r64/mt7622 wifi

on R2 i got a Kernelwarning, in the moment r64 connects to the mesh-point

mesh0: mesh plink with 00:0c:43:26:60:00 established                       
mesh0: MESH-PEER-CONNECTED 00:0c:43:26:60:00                                    
[ 1009.473796] ------------[ cut here ]------------                             
[ 1009.478485] WARNING: CPU: 1 PID: 288 at net/core/flow_dissector.c:984 __skb_4
[ 1009.487735] Modules linked in: xt_CHECKSUM nft_chain_nat xt_MASQUERADE nf_nas
[ 1009.517477] CPU: 1 PID: 288 Comm: napi/phy0-19 Not tainted 5.15.0-rc4-bpi-r21
[ 1009.524803] Hardware name: Mediatek Cortex-A7 (Device Tree)                  
[ 1009.530384] Backtrace:                                                       
[ 1009.532838] [<c0cb3878>] (dump_backtrace) from [<c0cb3ac0>] (show_stack+0x20)
[ 1009.540431]  r7:000003d8 r6:c0a22cf8 r5:60010013 r4:c1012ecc                 
[ 1009.546090] [<c0cb3aa0>] (show_stack) from [<c0cb7870>] (dump_stack_lvl+0x48)
[ 1009.553673] [<c0cb7828>] (dump_stack_lvl) from [<c0cb7894>] (dump_stack+0x18)
[ 1009.561258]  r5:00000009 r4:c10db094                                         
[ 1009.564839] [<c0cb787c>] (dump_stack) from [<c0127350>] (__warn+0xfc/0x114)  
[ 1009.571822] [<c0127254>] (__warn) from [<c0cb4118>] (warn_slowpath_fmt+0x74/)
[ 1009.579328]  r7:c0a22cf8 r6:000003d8 r5:c10db094 r4:00000000                 
[ 1009.584988] [<c0cb40a8>] (warn_slowpath_fmt) from [<c0a22cf8>] (__skb_flow_d)
[ 1009.593799]  r8:00000000 r7:c5c40418 r6:c5d8dd00 r5:c1306360 r4:c5adcc00     
[ 1009.600502] [<c0a22afc>] (__skb_flow_dissect) from [<c0a24258>] (__skb_get_h)
[ 1009.608878]  r10:c5a6c520 r9:c7329264 r8:00000074 r7:00000001 r6:c7328600 r50
[ 1009.616713]  r4:c1439b78                                                     
[ 1009.619246] [<c0a241d4>] (__skb_get_hash) from [<bf1adf24>] (ieee80211_queue)
[ 1009.629519]  r6:c7328600 r5:c5adcc00 r4:c5a6c520                             
[ 1009.634140] [<bf1ada20>] (ieee80211_queue_skb [mac80211]) from [<bf1ae18c>] )
[ 1009.645154]  r10:c5a6c520 r9:c5a6c520 r8:00000074 r7:00000001 r6:c7328600 r50
[ 1009.652995]  r4:c5adcc00                                                     
[ 1009.655530] [<bf1ae094>] (ieee80211_tx [mac80211]) from [<bf1af9e8>] (ieee80)
[ 1009.666705]  r9:00000000 r8:00000000 r7:c5a6ca3c r6:c7328600 r5:c5a6cb84 r4:0
[ 1009.674454] [<bf1af910>] (ieee80211_tx_pending [mac80211]) from [<c012f384>])
[ 1009.685943]  r10:c5d8c000 r9:00000040 r8:00000006 r7:00000000 r6:dedaa2ec r54
[ 1009.693780]  r4:c5a6cc84                                                     
[ 1009.696313] [<c012f2c4>] (tasklet_action_common.constprop.0) from [<c012f3c0)
[ 1009.705908]  r9:00000040 r8:00000101 r7:c14583e0 r6:00000006 r5:00000007 r4:8
[ 1009.713655] [<c012f398>] (tasklet_action) from [<c0101460>] (__do_softirq+0x)
[ 1009.721591] [<c0101318>] (__do_softirq) from [<c012ee00>] (do_softirq+0x7c/0)
[ 1009.729014]  r10:c5f95820 r9:c5d8c000 r8:c10db338 r7:00000001 r6:c0a35f60 r50
[ 1009.736850]  r4:60010013                                                     
[ 1009.739383] [<c012ed84>] (do_softirq) from [<c012eedc>] (__local_bh_enable_i)
[ 1009.747495]  r5:ffffe000 r4:00000001                                         
[ 1009.751070] [<c012ee04>] (__local_bh_enable_ip) from [<c0a35f8c>] (napi_thre)
[ 1009.759966]  r5:c5a6e768 r4:c5d8c000                                         
[ 1009.763541] [<c0a35ed0>] (napi_threaded_poll) from [<c014f010>] (kthread+0x1)
[ 1009.771394]  r8:c5a6e768 r7:c0a35ed0 r6:c253ba6c r5:c5f95800 r4:c5fd6d40     
[ 1009.778096] [<c014eeb8>] (kthread) from [<c0100130>] (ret_from_fork+0x14/0x2)
[ 1009.785333] Exception stack(0xc5d8dfb0 to 0xc5d8dff8)                        
[ 1009.790390] dfa0:                                     ???????? ???????? ?????
[ 1009.798575] dfc0: ???????? ???????? ???????? ???????? ???????? ???????? ?????
[ 1009.806760] dfe0: ???????? ???????? ???????? ???????? ???????? ????????      
[ 1009.813383]  r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r58
[ 1009.821220]  r4:c5fd6d40 r3:00000017                                         
[ 1009.824871] ---[ end trace 86a4ea831c8189bf ]---                             

on r64 i got same warning/trace a bit later…but i can ping over the mesh-connection

root@bpi-r64:~# ./wpa_supplicant_arm64 -i mesh0 -c /etc/wpa_supplicant/meshpoint
.conf                                                                           
Successfully initialized wpa_supplicant                                         
mesh0: interface[  388.865305] IPv6: ADDRCONF(NETDEV_CHANGE): mesh0: link become
s ready                                                                         
 state UNINITIALIZED->ENABLED                                                   
mesh0: AP-ENABLED                                                               
mesh0: joining mesh bpi-mesh                                                    
mesh0: CTRL-EVENT-CONNECTED - Connection to 00:00:00:00:00:00 completed [id=0 id
_str=]                                                                          
mesh0: MESH-GROUP-STARTED ssid="bpi-mesh" id=0                                  
mesh0: new peer notification for 00:0a:52:05:c9:e2                              
mesh0: mesh plink with 00:0a:52:05:c9:e2 established                            
mesh0: MESH-PEER-CONNECTED 00:0a:52:05:c9:e2

location is here:

as far as i debugged it, all 3 possible source of net are NULL

[  104.656046] DEBUG: Passed __skb_flow_dissect 975 skb:0xc5ad9540 net:0x0
[  104.662738] DEBUG: Passed __skb_flow_dissect 977 skb-dev:0x0,skb-sk:0x0

any idea? where should they be set??

seems to be introduced some time ago by this commit (maybe it helps to fix):

Seems user here have similar issue…with mesh too: https://forum.openwrt.org/t/openwrt-21-02-0-third-release-candidate/99363/248

And found this: https://bugs.openwrt.org/index.php?do=details&task_id=3459&pagenum=2

Looks like driver issue (there it is ath10k) where dev_alloc_skb needs to be replaced by netdev_alloc_skb including net device…but i did not found both in drivers/net/wireless/mediatek/mt76

tried changing this, without success

--- a/drivers/net/wireless/mediatek/mt76/mcu.c
+++ b/drivers/net/wireless/mediatek/mt76/mcu.c
@@ -13,7 +13,8 @@ mt76_mcu_msg_alloc(struct mt76_dev *dev, const void *data,
        int length = ops->headroom + data_len + ops->tailroom;
        struct sk_buff *skb;
 
-       skb = alloc_skb(length, GFP_KERNEL);
+       skb = netdev_alloc_skb(&dev->napi_dev,length);
        if (!skb)
                return NULL;

mhm, looks like it’s related to ip assignment…after i added an ip-adress i see skb-sk is temporarily set, but the reset to zero again. looks like at this time the trace pops up on r64

so i tried this order:

#r64
modprobe mt7615e
iw phy phy0 interface add mesh0 type mp
ip addr add 192.168.80.2/24 dev mesh0
./wpa_supplicant_arm64 -i mesh0 -c /etc/wpa_supplicant/meshpoint.conf &

#r2
iw phy phy0 interface add mesh0 type mp
ip addr add 192.168.80.1/24 dev mesh0
./wpa_supplicant -i mesh0 -c /etc/wpa_supplicant/meshpoint.conf &

while i have not started wpa_supplicant on r64, i see at least skb.dev is set…but after connection this is NULL

./wpa_supplicant -i mesh0 -c /etc/wpa_supplicant/meshpoint.conf & 
root@bpi-r2:~# Successfully initialized wpa_supplicant
mesh0: CTRL-EVENT-REGDOM-CHANGE init=BEACON_HINT type=UNKNOWN
mesh0: CTRL-EVENT-REGDOM-CHANGE init=BEACON_HINT type=UNKNOWN
mesh0: interface state UNINITIAL[  187.042877] IPv6: ADDRCONF(NETDEV_CHANGE): mesh0: link becomes ready
IZED->ENABLED
mesh0: AP-ENABLED 
mesh0: joining mesh bpi-mesh
mesh0: CTRL-EVENT-CONNECTED - Connection to 00:00:00:00:00:00 completed [id=0 id_str=]
mesh0: MESH-GROUP-STARTED ssid="bpi-mesh" id=0
[  187.080740] DEBUG: Passed __skb_flow_dissect 975 skb:0xc56fe480 net:0x0
[  187.087396] DEBUG: Passed __skb_flow_dissect 977 skb-dev:0xc71e8000,skb-sk:0xc25c5180
[  187.100683] DEBUG: Passed __skb_flow_dissect 975 skb:0xc5b9fc00 net:0x0
[  187.107335] DEBUG: Passed __skb_flow_dissect 977 skb-dev:0xc71e8000,skb-sk:0x0
[  187.196770] DEBUG: Passed __skb_flow_dissect 975 skb:0xc5b9f600 net:0x0
[  187.203468] DEBUG: Passed __skb_flow_dissect 977 skb-dev:0xc71e8000,skb-sk:0xc5cf0e00
[  187.250686] DEBUG: Passed __skb_flow_dissect 975 skb:0xc56fef00 net:0x0
[  187.257366] DEBUG: Passed __skb_flow_dissect 977 skb-dev:0xc71e8000,skb-sk:0xc25c5180
[  187.280666] DEBUG: Passed __skb_flow_dissect 975 skb:0xc5b9f180 net:0x0
[  187.287335] DEBUG: Passed __skb_flow_dissect 977 skb-dev:0xc71e8000,skb-sk:0x0
[  187.340723] DEBUG: Passed __skb_flow_dissect 975 skb:0xc56feb40 net:0x0
[  187.347408] DEBUG: Passed __skb_flow_dissect 977 skb-dev:0xc71e8000,skb-sk:0xc25c4e00
[  187.453632] DEBUG: Passed __skb_flow_dissect 975 skb:0xc5b9f000 net:0x0
[  187.460288] DEBUG: Passed __skb_flow_dissect 977 skb-dev:0xc71e8000,skb-sk:0xc5cf0e00
[  187.703625] DEBUG: Passed __skb_flow_dissect 975 skb:0xc5b9f180 net:0x0
[  187.710287] DEBUG: Passed __skb_flow_dissect 977 skb-dev:0xc71e8000,skb-sk:0xc5cf0e00
[  188.360879] DEBUG: Passed __skb_flow_dissect 975 skb:0xc56fe180 net:0x0
[  188.367609] DEBUG: Passed __skb_flow_dissect 977 skb-dev:0xc71e8000,skb-sk:0xc25c5180
[  188.410682] DEBUG: Passed __skb_flow_dissect 975 skb:0xc5b9f000 net:0x0
[  188.417343] DEBUG: Passed __skb_flow_dissect 977 skb-dev:0xc71e8000,skb-sk:0xc25c5180
[  188.880678] DEBUG: Passed __skb_flow_dissect 975 skb:0xc5b9f180 net:0x0
[  188.887339] DEBUG: Passed __skb_flow_dissect 977 skb-dev:0xc71e8000,skb-sk:0xc25c5180
[  189.240719] DEBUG: Passed __skb_flow_dissect 975 skb:0xc56fe6c0 net:0x0
[  189.247380] DEBUG: Passed __skb_flow_dissect 977 skb-dev:0xc71e8000,skb-sk:0xc25c5180
mesh0: new peer notification for 00:0c:43:26:60:00
mesh0: mesh plink with 00:0c:43:26:60:00 established
mesh0: MESH-PEER-CONNECTED 00:0c:43:26:60:00
[  245.525100] DEBUG: Passed __skb_flow_dissect 975 skb:0xc5b51d80 net:0x0
[  245.531796] DEBUG: Passed __skb_flow_dissect 977 skb-dev:0x0,skb-sk:0x0
[  245.538421] ------------[ cut here ]------------
[  245.543089] WARNING: CPU: 3 PID: 297 at net/core/flow_dissector.c:986 __skb_flow_dissect+0x1cc/0x152c

strange that it takes some time to appear on r64, i can trigger the trace on r64 with a ping, if i do not ping, the trace is not shown

i tried to set skb->dev to &dev->napi_dev in drivers/net/wireless/mediatek/mt76/mcu.c:mt76_mcu_msg_alloc but still got the trace :frowning: at one point the dev is not set (maybe skb created differently)

I don’t have any issues on OpenWrt trunk? :open_mouth:

root@Mesh1:~# dmesg
[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 5.10.72 (avarange@avarange) (aarch64-openwrt-linux-musl-gcc (OpenWrt GCC 11.2.0 r17692-e4e410733f) 11.2.0, GNU ld (GNU Binutils) 2.37) #0 SMP Wed Oct 20 12:04:40 2021
[    0.000000] Machine model: Bananapi BPI-R64
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000040000000-0x000000007fffffff]
[    0.000000]   DMA32    empty
[    0.000000]   Normal   empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000040000000-0x0000000042ffffff]
[    0.000000]   node   0: [mem 0x0000000043000000-0x000000004302ffff]
[    0.000000]   node   0: [mem 0x0000000043030000-0x000000007fffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x000000007fffffff]
[    0.000000] On node 0 totalpages: 262144
[    0.000000]   DMA zone: 4096 pages used for memmap
[    0.000000]   DMA zone: 0 pages reserved
[    0.000000]   DMA zone: 262144 pages, LIFO batch:63
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.1 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: MIGRATE_INFO_TYPE not supported.
[    0.000000] psci: SMC Calling Convention v1.2
[    0.000000] percpu: Embedded 20 pages/cpu s43800 r8192 d29928 u81920
[    0.000000] pcpu-alloc: s43800 r8192 d29928 u81920 alloc=20*4096
[    0.000000] pcpu-alloc: [0] 0 [0] 1 
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: detected: ARM erratum 845719
[    0.000000] CPU features: kernel page table isolation disabled by kernel configuration
[    0.000000] CPU features: detected: ARM erratum 843419
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 258048
[    0.000000] Kernel command line: root=/dev/mmcblk0p65
[    0.000000] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
[    0.000000] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 1016280K/1048576K available (7870K kernel code, 856K rwdata, 2148K rodata, 448K init, 289K bss, 32296K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000] 	Tracing variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] GIC: GICv2 detected, but range too small and irqchip.gicv2_force_probe not set
[    0.000000] random: get_random_bytes called from start_kernel+0x340/0x484 with crng_init=0
[    0.000000] arch_timer: cp15 timer(s) running at 12.50MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x2e2049cda, max_idle_ns: 440795202628 ns
[    0.000003] sched_clock: 56 bits at 12MHz, resolution 80ns, wraps every 4398046511080ns
[    0.000192] Calibrating delay loop (skipped), value calculated using timer frequency.. 25.00 BogoMIPS (lpj=125000)
[    0.000202] pid_max: default: 32768 minimum: 301
[    0.000294] Mount-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.000305] Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.001288] rcu: Hierarchical SRCU implementation.
[    0.001385] dyndbg: Ignore empty _ddebug table in a CONFIG_DYNAMIC_DEBUG_CORE build
[    0.001727] smp: Bringing up secondary CPUs ...
[    0.002021] Detected VIPT I-cache on CPU1
[    0.002028] CPU features: SANITY CHECK: Unexpected variation in SYS_CNTFRQ_EL0. Boot CPU: 0x00000000bebc20, CPU1: 0x00000000000000
[    0.002043] CPU features: Unsupported CPU feature variation detected.
[    0.002074] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[    0.002143] smp: Brought up 1 node, 2 CPUs
[    0.002156] SMP: Total of 2 processors activated.
[    0.002161] CPU features: detected: 32-bit EL0 Support
[    0.002165] CPU features: detected: CRC32 instructions
[    0.002270] CPU: All CPU(s) started at EL2
[    0.002281] alternatives: patching kernel code
[    0.005899] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.005918] futex hash table entries: 512 (order: 3, 32768 bytes, linear)
[    0.006015] pinctrl core: initialized pinctrl subsystem
[    0.006476] NET: Registered protocol family 16
[    0.007149] DMA: preallocated 128 KiB GFP_KERNEL pool for atomic allocations
[    0.007183] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[    0.007209] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[    0.007591] thermal_sys: Registered thermal governor 'fair_share'
[    0.007599] thermal_sys: Registered thermal governor 'bang_bang'
[    0.007606] thermal_sys: Registered thermal governor 'step_wise'
[    0.007610] thermal_sys: Registered thermal governor 'user_space'
[    0.007862] ASID allocator initialised with 65536 entries
[    0.008390] pstore: Registered ramoops as persistent store backend
[    0.008404] ramoops: using 0x10000@0x42ff0000, ecc: 0
[    0.027672] gpio-499 (asm_sel): hogged as output/high
[    0.040820] SCSI subsystem initialized
[    0.041457] libata version 3.00 loaded.
[    0.041655] usbcore: registered new interface driver usbfs
[    0.041689] usbcore: registered new interface driver hub
[    0.041732] usbcore: registered new device driver usb
[    0.043414] clocksource: Switched to clocksource arch_sys_counter
[    0.044094] NET: Registered protocol family 2
[    0.044270] IP idents hash table entries: 16384 (order: 5, 131072 bytes, linear)
[    0.044857] tcp_listen_portaddr_hash hash table entries: 512 (order: 1, 8192 bytes, linear)
[    0.044882] TCP established hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.044940] TCP bind hash table entries: 8192 (order: 5, 131072 bytes, linear)
[    0.045071] TCP: Hash tables configured (established 8192 bind 8192)
[    0.045222] UDP hash table entries: 512 (order: 2, 16384 bytes, linear)
[    0.045252] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes, linear)
[    0.045416] NET: Registered protocol family 1
[    0.045447] PCI: CLS 0 bytes, default 64
[    0.046338] workingset: timestamp_bits=46 max_order=18 bucket_order=0
[    0.048986] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.048999] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.082060] mtk-tphy 1a0c4000.usb-phy: failed to get ref_clk(id-1)
[    0.086773] mt-pmic-pwrap 10001000.pwrap: unexpected interrupt int=0x1
[    0.101577] Serial: 8250/16550 driver, 3 ports, IRQ sharing disabled
[    0.102418] printk: console [ttyS0] disabled
[    0.102503] 11002000.serial: ttyS0 at MMIO 0x11002000 (irq = 22, base_baud = 1562500) is a 16550A
[    0.720147] printk: console [ttyS0] enabled
[    0.725194] 1100c000.serial: ttyS1 at MMIO 0x1100c000 (irq = 27, base_baud = 17499995) is a MediaTek BTIF
[    0.734933] serial serial0: tty port ttyS1 registered
[    0.740656] mtk_rng 1020f000.rng: registered RNG driver
[    0.740667] hwrng: no data available
[    0.746179] cacheinfo: Unable to detect cache hierarchy for CPU 0
[    0.758761] loop: module loaded
[    0.762768] mtk-snand 1100d000.snfi: chip is W25N01GV, size 128MB, page size 2048, oob size 64
[    0.771614] 3 fixed-partitions partitions found on MTD device 1100d000.snfi
[    0.778593] Creating 3 MTD partitions on "1100d000.snfi":
[    0.783995] 0x000000000000-0x000000080000 : "bl2"
[    0.789578] 0x000000080000-0x000000280000 : "fip"
[    0.796643] 0x000000280000-0x000008000000 : "ubi"
[    0.830225] random: fast init done
[    0.936092] libphy: Fixed MDIO Bus: probed
[    0.963923] libphy: mdio: probed
[    0.968060] mtk_soc_eth 1b100000.ethernet eth0: mediatek frame engine at 0xffffffc011980000, irq 37
[    0.977187] mtk_soc_eth 1b100000.ethernet: generated random MAC address 72:02:9e:85:ad:76
[    0.985670] mtk_soc_eth 1b100000.ethernet eth1: mediatek frame engine at 0xffffffc011980000, irq 37
[    0.996316] i2c /dev entries driver
[    1.002168] mtk-wdt 10212000.watchdog: Watchdog enabled (timeout=31 sec, nowayout=0)
[    1.012640] mtk-msdc 11240000.mmc: Got CD GPIO
[    1.013513] NET: Registered protocol family 10
[    1.022424] Segment Routing with IPv6
[    1.026166] NET: Registered protocol family 17
[    1.030834] 8021q: 802.1Q VLAN Support v1.8
[    1.036395] pstore: Using crash dump compression: deflate
[    1.052936] mtk-pcie 1a143000.pcie: host bridge /pcie@1a143000 ranges:
[    1.059641] mtk-pcie 1a143000.pcie: Parsing ranges property...
[    1.065617] mtk-pcie 1a143000.pcie:      MEM 0x0020000000..0x0027ffffff -> 0x0020000000
[    1.147985] mtk-msdc 11230000.mmc: phase: [map:1fffffff] [maxlen:29] [final:9]
[    1.156374] mmc0: new HS200 MMC card at address 0001
[    1.162642] mmcblk0: mmc0:0001 008G30 7.28 GiB 
[    1.168146] mmcblk0boot0: mmc0:0001 008G30 partition 1 4.00 MiB
[    1.174049] mtk-pcie 1a143000.pcie: Port0 link down
[    1.174997] mmcblk0boot1: mmc0:0001 008G30 partition 2 4.00 MiB
[    1.179120] mtk-pcie 1a143000.pcie: PCI host bridge to bus 0000:00
[    1.184911] mmcblk0rpmb: mmc0:0001 008G30 partition 3 4.00 MiB, chardev (250:0)
[    1.191024] pci_bus 0000:00: root bus resource [bus 00-ff]
[    1.203862] pci_bus 0000:00: root bus resource [mem 0x20000000-0x27ffffff]
[    1.210748] pci_bus 0000:00: scanning bus
[    1.216077] pci_bus 0000:00: fixups for bus
[    1.220254] pci_bus 0000:00: bus scan returning with max=00
[    1.226388] mtk-pcie 1a145000.pcie: host bridge /pcie@1a145000 ranges:
[    1.232963] mtk-pcie 1a145000.pcie: Parsing ranges property...
[    1.238817] mtk-pcie 1a145000.pcie:      MEM 0x0028000000..0x002fffffff -> 0x0028000000
[    1.248605] Alternate GPT is invalid, using primary GPT.
[    1.254765] FIT: Default configuration: "config-1" (OpenWrt bananapi_bpi-r64)
[    1.261907] FIT:           kernel sub-image 0x00001000..0x004e420b "kernel-1" (ARM64 OpenWrt Linux-5.10.72) 
[    1.271774] FIT:          flat_dt sub-image 0x004e5000..0x004ecc73 "fdt-1" (ARM64 OpenWrt bananapi_bpi-r64 device tree blob) 
[    1.283094] FIT:          flat_dt sub-image 0x004ed000..0x004ed11a "fdt-mt7622-bananapi-bpi-r64-pcie1" (ARM64 OpenWrt bananapi_bpi-r64 device tree overlay mt7622-bananapi-bpi-r64-pcie1) 
[    1.299704] FIT:          flat_dt sub-image 0x004ee000..0x004ee20f "fdt-mt7622-bananapi-bpi-r64-sata" (ARM64 OpenWrt bananapi_bpi-r64 device tree overlay mt7622-bananapi-bpi-r64-sata) 
[    1.316135] FIT:       filesystem sub-image 0x004ef000..0x028f4fff "rootfs-1" (ARM64 OpenWrt bananapi_bpi-r64 rootfs) 
[    1.326826] FIT: selecting configured loadable "rootfs-1" to be root filesystem
[    1.334147]  mmcblk0: p1 p2 p3 p4 p65(rootfs-1) p66(rootfs_data) p128
[    1.347033] mtk-pcie 1a145000.pcie: Port1 link down
[    1.352081] mtk-pcie 1a145000.pcie: PCI host bridge to bus 0001:00
[    1.358282] pci_bus 0001:00: root bus resource [bus 00-ff]
[    1.363771] pci_bus 0001:00: root bus resource [mem 0x28000000-0x2fffffff]
[    1.370638] pci_bus 0001:00: scanning bus
[    1.375967] pci_bus 0001:00: fixups for bus
[    1.380142] pci_bus 0001:00: bus scan returning with max=00
[    1.386064] mtk_hsdma 1b007000.dma-controller: Using 3 as missing dma-requests property
[    1.394332] mtk_hsdma 1b007000.dma-controller: MediaTek HSDMA driver registered
[    1.438555] libphy: dsa slave smi: probed
[    1.443479] mt7530 mdio-bus:00 wan (uninitialized): PHY [dsa-0.0:00] driver [Generic PHY] (irq=POLL)
[    1.454058] mt7530 mdio-bus:00 lan1 (uninitialized): PHY [dsa-0.0:01] driver [Generic PHY] (irq=POLL)
[    1.464695] mt7530 mdio-bus:00 lan2 (uninitialized): PHY [dsa-0.0:02] driver [Generic PHY] (irq=POLL)
[    1.475330] mt7530 mdio-bus:00 lan3 (uninitialized): PHY [dsa-0.0:03] driver [Generic PHY] (irq=POLL)
[    1.486004] mt7530 mdio-bus:00 lan4 (uninitialized): PHY [dsa-0.0:04] driver [Generic PHY] (irq=POLL)
[    1.496286] mt7530 mdio-bus:00: configuring for fixed/2500base-x link mode
[    1.503865] mt7530 mdio-bus:00: Link is Up - 2.5Gbps/Full - flow control rx/tx
[    1.504515] DSA: tree 0 setup
[    1.515005] xhci-mtk 1a0c0000.usb: xHCI Host Controller
[    1.520247] xhci-mtk 1a0c0000.usb: new USB bus registered, assigned bus number 1
[    1.529317] xhci-mtk 1a0c0000.usb: hcc params 0x01403198 hci version 0x96 quirks 0x0000000000210010
[    1.538408] xhci-mtk 1a0c0000.usb: irq 33, io mem 0x1a0c0000
[    1.544169] xhci-mtk 1a0c0000.usb: xHCI Host Controller
[    1.549395] xhci-mtk 1a0c0000.usb: new USB bus registered, assigned bus number 2
[    1.556797] xhci-mtk 1a0c0000.usb: Host supports USB 3.0 SuperSpeed
[    1.563429] hub 1-0:1.0: USB hub found
[    1.567206] hub 1-0:1.0: 2 ports detected
[    1.571514] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
[    1.579933] hub 2-0:1.0: USB hub found
[    1.583732] hub 2-0:1.0: 1 port detected
[    1.588764] UBI error: no valid UBI magic found inside mtd2
[    1.598435] VFS: Mounted root (squashfs filesystem) readonly on device 259:0.
[    1.605779] Freeing unused kernel memory: 448K
[    1.633512] Run /sbin/init as init process
[    1.637603]   with arguments:
[    1.640560]     /sbin/init
[    1.643256]   with environment:
[    1.646395]     HOME=/
[    1.648745]     TERM=linux
[    1.810790] init: Console is alive
[    1.814393] init: - watchdog -
[    2.023446] usb 1-2: new full-speed USB device number 2 using xhci-mtk
[    2.187575] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[    2.208017] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    2.221865] init: - preinit -
[    2.488585] mtk_soc_eth 1b100000.ethernet eth0: configuring for fixed/2500base-x link mode
[    2.497129] mtk_soc_eth 1b100000.ethernet eth0: Link is Up - 2.5Gbps/Full - flow control rx/tx
[    2.506082] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[    2.513017] mt7530 mdio-bus:00 lan1: configuring for phy/gmii link mode
[    2.520201] 8021q: adding VLAN 0 to HW filter on device lan1
[    4.566807] mt7530 mdio-bus:00 lan1: Link is Up - 1Gbps/Full - flow control rx/tx
[    4.574341] IPv6: ADDRCONF(NETDEV_CHANGE): lan1: link becomes ready
[    6.774721] F2FS-fs (mmcblk0p66): Mounted with checkpoint version = 8f5dc90
[    6.783671] mount_root: switching to f2fs overlay
[    6.790228] overlayfs: "xino" feature enabled using 32 upper inode bits.
[    6.799523] urandom-seed: Seeding with /etc/urandom.seed
[    6.870496] mt7530 mdio-bus:00 lan1: Link is Down
[    6.880829] procd: - early -
[    6.883862] procd: - watchdog -
[    7.422517] procd: - watchdog -
[    7.426944] procd: - ubus -
[    7.454852] random: ubusd: uninitialized urandom read (4 bytes read)
[    7.481114] random: ubusd: uninitialized urandom read (4 bytes read)
[    7.487667] random: ubusd: uninitialized urandom read (4 bytes read)
[    7.496976] procd: - init -
[    7.730698] urngd: v1.0.2 started.
[    7.756062] kmodloader: loading kernel modules from /etc/modules.d/*
[    7.756841] random: crng init done
[    7.765872] random: 7 urandom warning(s) missed due to ratelimiting
[    7.793292] hid: raw HID events driver (C) Jiri Kosina
[    7.805825] Bluetooth: Core ver 2.22
[    7.809485] NET: Registered protocol family 31
[    7.813954] Bluetooth: HCI device and connection manager initialized
[    7.820310] Bluetooth: HCI socket layer initialized
[    7.825212] Bluetooth: L2CAP socket layer initialized
[    7.830271] Bluetooth: SCO socket layer initialized
[    7.836582] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    7.841897] Bluetooth: BNEP filters: protocol multicast
[    7.847159] Bluetooth: BNEP socket layer initialized
[    7.867650] usbcore: registered new interface driver btusb
[    7.874516] cdc_acm 1-2:1.0: ttyACM0: USB ACM device
[    7.879933] usbcore: registered new interface driver cdc_acm
[    7.885651] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
[    7.894815] Loading modules backported from Linux version v5.10.68-0-g4d8524048a35
[    7.902416] Backport generated by backports.git v5.10.68-1-0-ga4f9ba32
[    7.918815] Bluetooth: HCI UART driver ver 2.3
[    7.923377] Bluetooth: HCI UART protocol H4 registered
[    7.928568] Bluetooth: HCI UART protocol BCSP registered
[    7.935364] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[    7.941309] Bluetooth: HIDP socket layer initialized
[    7.960111] Bluetooth: RFCOMM TTY layer initialized
[    7.965041] Bluetooth: RFCOMM socket layer initialized
[    7.970277] Bluetooth: RFCOMM ver 1.11
[    7.979745] usbcore: registered new interface driver usbserial_generic
[    7.986496] usbserial: USB Serial support registered for generic
[    8.000958] xt_time: kernel timezone is -0000
[    8.006431] usbcore: registered new interface driver ark3116
[    8.012166] usbserial: USB Serial support registered for ark3116
[    8.019353] usbcore: registered new interface driver belkin_sa
[    8.025373] usbserial: USB Serial support registered for Belkin / Peracom / GoHubs USB Serial Adapter
[    8.043938] usbcore: registered new interface driver ch341
[    8.049526] usbserial: USB Serial support registered for ch341-uart
[    8.085648] usbcore: registered new interface driver cp210x
[    8.091248] usbserial: USB Serial support registered for cp210x
[    8.098514] usbcore: registered new interface driver ftdi_sio
[    8.104353] usbserial: USB Serial support registered for FTDI USB Serial Device
[    8.124037] usbcore: registered new interface driver mct_u232
[    8.129847] usbserial: USB Serial support registered for MCT U232
[    8.137592] usbcore: registered new interface driver mos7720
[    8.143313] usbserial: USB Serial support registered for Moschip 2 port adapter
[    8.165085] mt7622-wmac 18000000.wmac: Invalid MAC address, using random address 5e:27:ed:3c:2b:a2
[    8.175587] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'
[    8.206455] usbcore: registered new interface driver mt7663u
[    8.220826] usbcore: registered new interface driver mt76x2u
[    8.235898] usbcore: registered new interface driver oti6858
[    8.241599] usbserial: USB Serial support registered for oti6858
[    8.249866] usbcore: registered new interface driver pl2303
[    8.255534] usbserial: USB Serial support registered for pl2303
[    8.263974] PPP generic driver version 2.4.2
[    8.269906] NET: Registered protocol family 24
[    8.276140] usbcore: registered new interface driver ti_usb_3410_5052
[    8.282654] usbserial: USB Serial support registered for TI USB 3410 1 port adapter
[    8.285800] mt7622-wmac 18000000.wmac: N9 Firmware Version: 2.0, Build Time: 20200131180931
[    8.290417] usbserial: USB Serial support registered for TI USB 5052 2 port adapter
[    8.300897] Bluetooth: hci0: Device setup in 411320 usecs
[    8.312015] usbcore: registered new interface driver usb_serial_simple
[    8.318659] usbserial: USB Serial support registered for carelink
[    8.324831] usbserial: USB Serial support registered for zio
[    8.330532] usbserial: USB Serial support registered for funsoft
[    8.336619] usbserial: USB Serial support registered for flashloader
[    8.343048] usbserial: USB Serial support registered for google
[    8.349058] usbserial: USB Serial support registered for libtransistor
[    8.355655] usbserial: USB Serial support registered for vivopay
[    8.361705] usbserial: USB Serial support registered for moto_modem
[    8.368042] usbserial: USB Serial support registered for motorola_tetra
[    8.374757] usbserial: USB Serial support registered for novatel_gps
[    8.381185] usbserial: USB Serial support registered for hp4x
[    8.387042] usbserial: USB Serial support registered for suunto
[    8.393022] usbserial: USB Serial support registered for siemens_mpi
[    8.402660] wireguard: WireGuard 1.0.0 loaded. See www.wireguard.com for information.
[    8.410555] wireguard: Copyright (C) 2015-2019 Jason A. Donenfeld <[email protected]>. All Rights Reserved.
[    8.429878] kmodloader: done loading kernel modules from /etc/modules.d/*
[   10.944756] mtk_soc_eth 1b100000.ethernet eth0: Link is Down
[   10.954965] mtk_soc_eth 1b100000.ethernet eth0: configuring for fixed/2500base-x link mode
[   10.963297] mtk_soc_eth 1b100000.ethernet eth0: Link is Up - 2.5Gbps/Full - flow control rx/tx
[   10.965479] mt7530 mdio-bus:00 lan1: configuring for phy/gmii link mode
[   10.979264] 8021q: adding VLAN 0 to HW filter on device lan1
[   10.990044] br-lan: port 1(lan1) entered blocking state
[   10.995366] br-lan: port 1(lan1) entered disabled state
[   11.001855] device lan1 entered promiscuous mode
[   11.006551] device eth0 entered promiscuous mode
[   11.029438] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   11.039407] mt7530 mdio-bus:00 lan2: configuring for phy/gmii link mode
[   11.047130] 8021q: adding VLAN 0 to HW filter on device lan2
[   11.055214] br-lan: port 2(lan2) entered blocking state
[   11.060445] br-lan: port 2(lan2) entered disabled state
[   11.066296] device lan2 entered promiscuous mode
[   11.076501] mt7530 mdio-bus:00 lan3: configuring for phy/gmii link mode
[   11.083902] 8021q: adding VLAN 0 to HW filter on device lan3
[   11.091952] br-lan: port 3(lan3) entered blocking state
[   11.097231] br-lan: port 3(lan3) entered disabled state
[   11.103276] device lan3 entered promiscuous mode
[   11.113111] mt7530 mdio-bus:00 lan4: configuring for phy/gmii link mode
[   11.120385] 8021q: adding VLAN 0 to HW filter on device lan4
[   11.128471] br-lan: port 4(lan4) entered blocking state
[   11.133731] br-lan: port 4(lan4) entered disabled state
[   11.140240] device lan4 entered promiscuous mode
[   11.152749] mt7530 mdio-bus:00 wan: configuring for phy/gmii link mode
[   11.159855] 8021q: adding VLAN 0 to HW filter on device wan
[   11.531296] netlink: 'iw': attribute type 302 has an invalid length.
[   12.228559] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[   14.086818] mt7530 mdio-bus:00 lan1: Link is Up - 1Gbps/Full - flow control rx/tx
[   14.094482] br-lan: port 1(lan1) entered blocking state
[   14.099730] br-lan: port 1(lan1) entered forwarding state
[   14.106249] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready

I tried on 5.15 till rc6,maybe it works in 5.10.x (not tested yet)

5.10 looks in mainline similar to patched 5.15…

https://elixir.bootlin.com/linux/v5.10.75/source/drivers/net/wireless/mediatek/mt76/mt7615/main.c#L125

  • NL80211_IFTYPE_STATION uses BSSID != 0
  • NL80211_IFTYPE_MONITOR, NL80211_IFTYPE_AP, NL80211_IFTYPE_MESH_POINT, NL80211_IFTYPE_ADHOC using 0 (but a bit differently implemented)

Does openwrt also use iw to create mesh0 interface and wpa_supplicant to start mesh-point?

i’ve wrote this bug to mtk on Oct 21th, but got no response yet…so i decided to make an official Bug Report to the Maintainers/Mailinglists:

https://lore.kernel.org/netdev/trinity-9f00fd01-211f-41ba-9905-c3cbf9587b5b-1635591623134@3c-app-gmx-bs28/

1 Like

I realized that there is another issue when using more than 2 stations in 802.11s. 2 work fine, but if a third joins everything freezes. Adhoc stills works perfectly.

Also there was another commit:

Dangowrt said is is not that important, but at least it should fix warnings bringing up a mesh interface. (at least how I understood it).

I did not get any response to bug report yet. Only information that mt76 team is busy with other bugs and this:

for mesh-issue, we used openwrt UI to establish 11s mesh (iw+hostapd) and it’s ok. we guess it was caused by you tried to use wpa_supplicant to setup mesh directly?

Patch above is only a script fix for openwrt so not related to my warning

Mtk pointed me to this:

https://elixir.bootlin.com/linux/latest/source/net/mac80211/mesh_hwmp.c#L115

So it is driver independed and all drivers should be affected when using the wpa_supplicant way for mesh point

Maybe i’ve found a way to get the dev using sdata param passed to the function:

static int mesh_path_sel_frame_tx(enum mpath_frame_type action, u8 flags,
				  const u8 *orig_addr, u32 orig_sn,
				  u8 target_flags, const u8 *target,
				  u32 target_sn, const u8 *da,
				  u8 hop_count, u8 ttl,
				  u32 lifetime, u32 metric, u32 preq_id,
				  struct ieee80211_sub_if_data *sdata)
{

struct ieee80211_sub_if_data {
	struct wireless_dev wdev;

wireless_dev {
	struct net_device *netdev;

So i should be able to set it with something like this

skb->dev=sdata->wdev.netdev;

edit: seems this function is not called…so the fix does not help ;(

This looks related: https://patchwork.kernel.org/project/linux-mediatek/patch/[email protected]/ and indeed it fixes it :slight_smile:

1 Like