This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

WL1835MOD: Low throughput in mesh with SAE

Part Number: WL1835MOD

Hi,

Using BeagleBone Green Wireless devices I was able to setup a 802.11 mesh network with SAE authentication (using Linux kernel 4.19 and firmware 8.9.0.0.79).

When accessing the network performance with iperf I get a low throughput of 8 Mbit/s between two nearby BeagleBones.

If I disable SAE in wpa_supplicant and repeat the same test I get around 30 Mbit/s.

Is there any tunning that can be done to increase the throughput in a encrypted mesh?

Best regards,

José Gonçalves

  • Some extra details on my test setup.

    I have a mesh network with only two devices, spaced half a meter.

    On the first one:

    debian@beaglebone01:~$ iw mesh0 station dump
    Station f0:45:da:eb:a9:94 (on mesh0)
    	inactive time:	728 ms
    	rx bytes:	156503
    	rx packets:	1757
    	tx bytes:	79197
    	tx packets:	730
    	tx retries:	0
    	tx failed:	0
    	rx drop misc:	3
    	signal:  	0 dBm
    	signal avg:	-34 dBm
    	Toffset:	1297408311 us
    	tx bitrate:	72.2 MBit/s MCS 7 short GI
    	rx bitrate:	65.0 MBit/s MCS 7
    	last ack signal:-1 dBm
    	expected throughput:	140.625Mbps
    	mesh llid:	0
    	mesh plid:	0
    	mesh plink:	ESTAB
    	mesh local PS mode:	ACTIVE
    	mesh peer PS mode:	ACTIVE
    	mesh non-peer PS mode:	ACTIVE
    	authorized:	yes
    	authenticated:	yes
    	associated:	yes
    	preamble:	long
    	WMM/WME:	yes
    	MFP:		yes
    	TDLS peer:	no
    	DTIM period:	2
    	beacon interval:1000
    	connected time:	499 seconds
    
    debian@beaglebone01:~$ ifconfig mesh0
    mesh0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 192.168.200.1  netmask 255.255.255.0  broadcast 192.168.200.255
            ether 84:eb:18:54:f5:1d  txqueuelen 1000  (Ethernet)
            RX packets 984  bytes 76848 (75.0 KiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 988  bytes 109340 (106.7 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    debian@beaglebone01:~$ iperf3 -4 -s 
    -----------------------------------------------------------
    Server listening on 5201
    -----------------------------------------------------------
    
    

    and on the second one:

    debian@beaglebone02:~$ iw mesh0 station dump
    Station 84:eb:18:54:f5:1d (on mesh0)
    	inactive time:	596 ms
    	rx bytes:	155267
    	rx packets:	1744
    	tx bytes:	78174
    	tx packets:	713
    	tx retries:	0
    	tx failed:	0
    	rx drop misc:	3
    	signal:  	0 dBm
    	signal avg:	-31 dBm
    	Toffset:	18446744072412139860 us
    	tx bitrate:	72.2 MBit/s MCS 7 short GI
    	rx bitrate:	65.0 MBit/s MCS 7
    	last ack signal:-1 dBm
    	expected throughput:	140.625Mbps
    	mesh llid:	0
    	mesh plid:	0
    	mesh plink:	ESTAB
    	mesh local PS mode:	ACTIVE
    	mesh peer PS mode:	ACTIVE
    	mesh non-peer PS mode:	ACTIVE
    	authorized:	yes
    	authenticated:	yes
    	associated:	yes
    	preamble:	long
    	WMM/WME:	yes
    	MFP:		yes
    	TDLS peer:	no
    	DTIM period:	2
    	beacon interval:1000
    	connected time:	496 seconds
    
    debian@beaglebone02:~$ ifconfig mesh0
    mesh0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 192.168.200.2  netmask 255.255.255.0  broadcast 192.168.200.255
            ether f0:45:da:eb:a9:94  txqueuelen 1000  (Ethernet)
            RX packets 2012  bytes 157423 (153.7 KiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 2352  bytes 245299 (239.5 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    debian@beaglebone02:~$ iperf3 -c 192.168.200.1
    Connecting to host 192.168.200.1, port 5201
    [  5] local 192.168.200.2 port 53246 connected to 192.168.200.1 port 5201
    [ ID] Interval           Transfer     Bitrate         Retr  Cwnd
    [  5]   0.00-1.00   sec   882 KBytes  7.23 Mbits/sec    0   31.1 KBytes       
    [  5]   1.00-2.00   sec   881 KBytes  7.22 Mbits/sec    0   31.1 KBytes       
    [  5]   2.00-3.00   sec   901 KBytes  7.38 Mbits/sec    0   31.1 KBytes       
    [  5]   3.00-4.00   sec   872 KBytes  7.15 Mbits/sec    0   31.1 KBytes       
    [  5]   4.00-5.00   sec  1008 KBytes  8.26 Mbits/sec    0   32.5 KBytes       
    [  5]   5.00-6.00   sec   899 KBytes  7.37 Mbits/sec    0   33.9 KBytes       
    [  5]   6.00-7.00   sec  1.01 MBytes  8.51 Mbits/sec    0   33.9 KBytes       
    [  5]   7.00-8.00   sec   932 KBytes  7.63 Mbits/sec    0   43.8 KBytes       
    [  5]   8.00-9.00   sec   839 KBytes  6.87 Mbits/sec    0   43.8 KBytes       
    [  5]   9.00-10.00  sec   960 KBytes  7.87 Mbits/sec    0   43.8 KBytes       
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [ ID] Interval           Transfer     Bitrate         Retr
    [  5]   0.00-10.00  sec  9.00 MBytes  7.55 Mbits/sec    0             sender
    [  5]   0.00-10.04  sec  8.90 MBytes  7.44 Mbits/sec                  receiver
    
    iperf Done.
    

    This test was made with a wpa_supplicant config setup like this:

    ctrl_interface=/run/wpa_supplicant
    ctrl_interface_group=netdev
    max_peer_links=10
    mesh_max_inactivity=30
    country=PT
    p2p_disabled=1
    
    network={
    	ssid="BoneMesh"
    	mode=5
    	frequency=2447
    	key_mgmt=SAE
    	psk="my_mesh_pass"
    }
    
    

    Best regards,

    José Gonçalves

  • Hi,

    We are not aware of such issue.  Throughput b/w the 2 scenarios should be comparable. We don't do our testing on debian . As per station dump , tx rates look  ok - MCS rates are enabled. May be you can run similar tests on TI EVM with linux OS and use it as reference.

    Thanks

    Saurabh

  • Hi,

    Unfortunately I do not own a TI EVM, so I'm unable to compare with that.

    I have found that disabling the RTS threshold I could increase the throughput to 11 Mbit/s. In SWAA166 it is suggested to enable RTS for any packet length in a mesh setup ("iw phy phy0 set rts 0"). May I know the rationale behind that sugestion?

    Nevertheless, as I have indicated previously, if I disable authentication/encryption (with "key_mgmt=NONE"), I achieve a 30 Mbit/s throughput. So it seems that something related with SAE in the wireless driver and/or wpa_supplicant is limiting the performance.

    Best regards,

    José Gonçalves