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.

Linux/WL1835MOD: Poor WiFi performance on BBB with WL1835MOD cape and recent Processor SDK kernel

Part Number: WL1835MOD
Other Parts Discussed in Thread: WL1835

Tool/software: Linux

Hello!

I'm investigating poor WiFi performance on BBB with WL1835MOD cape. The worst case is transmission in AP mode. I have two systems, one based on "WL1835_Cape_on_BeagleBone_with_MainLine_Kernel_Debian_Filesystem" guide and other based on custom Buildroot distro with processor-sdk-linux.git kernel (rev e669d52447df61f9d7b8ef72c9f22f4feed04d38).

I use iperf as benchmarking tool.

On Debian system (kernel 4.1.2-bone12, WiLink fw 8.9.0.0.31) everything is ok: TCP shows 50 Mbit/s, UDP shows 65 Mbit/s, CPU usage is relatively low (45-50%).

On Buildroot system (kernel 4.14.79+, omap2plus defconfig, WiLink fw 8.9.0.0.76) performance is poor: TCP shows 35 Mbit/s, UDP shows 20 Mbit/s, CPU usage is high (90% for TCP and 100% for UDP).

Please help me to resolve performance issues.

P.S.

iperf TCP command line: iperf -c 192.168.15.100 -i 2 -t 20 -Z reno

iperf UDP command line: iperf -c 192.168.15.100 -i 2 -t 20 -u -b 100M

hostapd.conf contents:

interface=wlan0
hw_mode=g
channel=12
ieee80211d=1
country_code=RU
ieee80211n=1
wmm_enabled=1
ht_capab=[SHORT-GI-20][GF]
ssid=TestAP
auth_algs=1
wpa=2
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP
wpa_passphrase=11111111

  • Ivan ,
    Can you try following and see if it helps ?

    - Apply this patch : git.ti.com/.../a232820
    - Enable ‘reno’ algorithm in kernel config
    CONFIG_TCP_CONG_ADVANCED=y
    CONFIG_DEFAULT_RENO=y
    CONFIG_DEFAULT_TCP_CONG="reno"

    Thanks
    Saurabh
  • Saurabh,

    I already use reno algorithm, iperf without -Z reno works slower. Concerning patch: I tried longer tests (more than 60 s) and didn't notice any significant changes. BTW, all your proposals affect TCP stack, but my UDP tests also show really poor performance.

    And in the same time I have good performance on same board in same conditions but with older kernel and firmware.

    P.S.

    I'm almost sure that this issue is caused by kernel misconfgiguration, but not on TCP stack level.

  • Ivan ,
    Not sure what the issue is here - i am assuming you have same RF test setup b/w the 2 cases . can you confirm the following
    - you ran configure-device.sh to ensure wl8 configuration file was set ok ?
    - may be you want to post the question in sitara forum as well to check if it is related to kernel configuration or CPU throttling

    Saurabh
  • > - i am assuming you have same RF test setup b/w the 2 cases
    Yes
    > - you ran configure-device.sh to ensure wl8 configuration file was set ok ?
    Yes
    > - may be you want to post the question in sitara forum as well to check if it is related to kernel configuration or CPU throttling
    No, I do not want. Or at least I don't have time for that. I resolved the issue (got same results as on 4.1.2-bone12 kernel) by simply switching from omap2plus defconfig to ti_sdk_am3x_release defconfig created using ti_config_fragments (see "SDK Kernel Configuration" in software-dl.ti.com/.../Foundational_Components_Kernel_Users_Guide.html).
    I think that the warning (... user will notice a significant amount of features not working...) should be painted red on first page of Processor SDK documentation (and probably included in list of your "default answers").
    Also, it would be pretty nice to get info about those TI/Sitara-specific parameters that affect WiFi performance. For example DMA pool size (CONFIG_CMA_SIZE_MBYTES) could be critical, but it is just my guessing.

  • Ivan ,
    All scripts that come with Sitara sdk use ti_sdk* defconfig file. May be you were compiling the kernel manually . Anyhow, switching to correct defconfig seems to fix your issue. Thanks for keeping us posted.

    Saurabh