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

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