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.

Wl18xx kernel 3.13.7 performance problem

Hi,

I tried to test with performance of wl18xx and i got that result ( I think its really bad)

1) I connected to an access point.

root@OpenWrt:/# wpa_supplicant -Dnl80211 -iwlan0 -c wpa.conf &
root@OpenWrt:/# Successfully initialized wpa_supplicant
[   68.162776] wlcore: PHY firmware version: Rev 8.2.0.0.163
[   68.260049] wlcore: firmware booted (Rev 8.5.0.0.55)
[   68.275122] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
wlan0: CTRL-EVENT-SCAN-STARTED 
wlan0: SME: Trying to authenticate with b4:75:0e[   72.098464] wlan0: authenticate with b4:75:0e:55:d6:eb
:55:d6:eb (SSID='VEriK' freq=2462 MHz)
[   72.111860] wlan0: send auth to b4:75:0e:55:d6:eb (try 1/3)
[   72.161386] wlan0: authenticated
wlan0: Trying to associate with b4:75:0e:55:d6:eb (SSID='VEriK' [   72.167032] wlan0: associate with b4:75:0e:55:d6:eb (try 1/3)
freq=2462 MHz)
[   72.290322] wlan0: RX AssocResp from b4:75:0e:55:d6:eb (capab=0x411 status=0 aid=27)
[   72.305016] wlan0: associated
wlan0: Associated with b4:75:0e:55:d6:eb[   72.308930] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready

wlan0: WPA: Key negotiation completed with b4:75[   72.358732] wlcore: Association completed.
:0e:55:d6:eb [PTK=CCMP GTK=TKIP]
wlan0: CTRL-EVENT-CONNECTED - Connection to b4:75:0e:55:d6:eb completed [id=0 id_str=]

root@OpenWrt:/# iudhcop
root@OpenWrt:/# udhcpc -i wlan0
udhcpc (v1.22.1) started
Sending discover...
Sending select for 10.0.0.168...
Lease of 10.0.0.168 obtained, lease time 86400
udhcpc: ifconfig wlan0 10.0.0.168 netmask 255.255.255.0 broadcast 10.0.0.255
udhcpc: setting default routers: 10.0.0.1
root@OpenWrt:/# 
root@OpenWrt:/# oipwererl
root@OpenWrt:/# iperf -s -i1
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[  4] local 10.0.0.168 port 5001 connected with 10.0.0.165 port 48513
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0- 1.0 sec   163 KBytes  1.34 Mbits/sec
[  4]  1.0- 2.0 sec   161 KBytes  1.32 Mbits/sec
[  4]  2.0- 3.0 sec   198 KBytes  1.62 Mbits/sec
[  4]  3.0- 4.0 sec   142 KBytes  1.16 Mbits/sec
[  4]  4.0- 5.0 sec   183 KBytes  1.50 Mbits/sec
[  4]  5.0- 6.0 sec  73.5 KBytes   602 Kbits/sec
[  4]  6.0- 7.0 sec  60.8 KBytes   498 Kbits/sec
[  4]  7.0- 8.0 sec  56.6 KBytes   463 Kbits/sec
[  4]  8.0- 9.0 sec  70.7 KBytes   579 Kbits/sec
[  4]  9.0-10.0 sec   106 KBytes   869 Kbits/sec
[  4] 10.0-11.0 sec   170 KBytes  1.39 Mbits/sec
[  4] 11.0-12.0 sec   171 KBytes  1.40 Mbits/sec
[  4] 12.0-13.0 sec   198 KBytes  1.62 Mbits/sec
[  4] 13.0-14.0 sec   180 KBytes  1.47 Mbits/sec
[  4] 14.0-15.0 sec   201 KBytes  1.65 Mbits/sec
[  4] 15.0-16.0 sec   137 KBytes  1.12 Mbits/sec
[  4] 16.0-17.0 sec   166 KBytes  1.36 Mbits/sec
[  4] 17.0-18.0 sec   148 KBytes  1.21 Mbits/sec
[  4] 18.0-19.0 sec   175 KBytes  1.44 Mbits/sec
[  4] 19.0-20.0 sec   119 KBytes   973 Kbits/sec
[  4] 20.0-21.0 sec   136 KBytes  1.11 Mbits/sec
[  4] 21.0-22.0 sec   188 KBytes  1.54 Mbits/sec
[  4] 22.0-23.0 sec   191 KBytes  1.56 Mbits/sec
[  4] 23.0-24.0 sec   154 KBytes  1.26 Mbits/sec
[  4] 24.0-25.0 sec   143 KBytes  1.17 Mbits/sec
[  4] 25.0-26.0 sec  55.2 KBytes   452 Kbits/sec
[  4] 26.0-27.0 sec  43.8 KBytes   359 Kbits/sec
[  4] 27.0-28.0 sec  73.5 KBytes   602 Kbits/sec
[  4] 28.0-29.0 sec  53.7 KBytes   440 Kbits/sec
[  4] 29.0-30.0 sec   102 KBytes   834 Kbits/sec
[  4] 30.0-31.0 sec   129 KBytes  1.05 Mbits/sec
[  4]  0.0-31.7 sec  4.13 MBytes  1.09 Mbits/sec


2) I created a SoftAP with hostapd.conf got in this link : http://processors.wiki.ti.com/index.php/WiLink8_WLAN_Demo:_Linux#AP_.28create_AP_with_no_security.29

root@OpenWrt:/# iw phy0 interface add wlan1 type managed
root@OpenWrt:/# [   30.232188] wlcore: PHY firmware version: Rev 8.2.0.0.163
[   30.329720] wlcore: firmware booted (Rev 8.5.0.0.55)
[   30.344841] IPv6: ADDRCONF(NETDEV_UP): wlan1: link is not ready

root@OpenWrt:/# ifconfig
eth0      Link encap:Ethernet  HWaddr 78:A5:04:DD:0B:E8  
          inet addr:192.168.1.187  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fd43:5ef4:899a::1/60 Scope:Global
          inet6 addr: fe80::7aa5:4ff:fedd:be8/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:53 errors:0 dropped:0 overruns:0 frame:0
          TX packets:52 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:7622 (7.4 KiB)  TX bytes:6160 (6.0 KiB)
          Interrupt:56 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:64 errors:0 dropped:0 overruns:0 frame:0
          TX packets:64 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:6878 (6.7 KiB)  TX bytes:6878 (6.7 KiB)

wlan1     Link encap:Ethernet  HWaddr 84:DD:20:66:9F:3E  
          inet addr:10.22.22.1  Bcast:10.22.22.255  Mask:255.255.255.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
root@OpenWrt:/# hostapd hostapd.conf &
root@OpenWrt:/# Configuration file: hostapd.conf
[   38.962784] wlcore: down
wlan1: interface state UNINITIALIZED->COUNTRY_UPDATE
Using interface wlan1 with hwaddr 84:dd:20:66:9f:3e and ssid "Mu[   44.019781] IPv6: ADDRCONF(NETDEV_CHANGE): wlan1: link becomes ready
ltirole_Demo"
wlan1: interface state COUNTRY_UPDATE->ENABLED
wlan1: AP-ENABLED 
wlan1: STA 54:35:30:bd:6a:c7 IEEE 802.11: authenticated
wlan1: STA 54:35:30:bd:6a:c7 IEEE 802.11: associated (aid 1)
wlan1: AP-STA-CONNECTED 54:35:30:bd:6a:c7
wlan1: STA 54:35:30:bd:6a:c7 RADIUS: starting accounting session 5476C3A7-00000000

root@OpenWrt:/# ipe
root@OpenWrt:/# iperf -s -i1
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[  4] local 10.22.22.1 port 5001 connected with 10.22.22.17 port 57534
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0- 1.0 sec  2.80 MBytes  23.5 Mbits/sec
[  4]  1.0- 2.0 sec  3.23 MBytes  27.1 Mbits/sec
[  4]  2.0- 3.0 sec  3.87 MBytes  32.4 Mbits/sec
[  4]  3.0- 4.0 sec  4.38 MBytes  36.8 Mbits/sec
[  4]  4.0- 5.0 sec  4.82 MBytes  40.4 Mbits/sec
[  4]  5.0- 6.0 sec  4.53 MBytes  38.0 Mbits/sec
[  4]  6.0- 7.0 sec  3.66 MBytes  30.7 Mbits/sec
[  4]  7.0- 8.0 sec  4.40 MBytes  36.9 Mbits/sec

In my PC

iperf -c 10.22.22.1 -i 1 -t 30
------------------------------------------------------------
Client connecting to 10.22.22.1, TCP port 5001
TCP window size: 22.9 KByte (default)
------------------------------------------------------------
[  3] local 10.22.22.17 port 57534 connected with 10.22.22.1 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0- 1.0 sec  2.88 MBytes  24.1 Mbits/sec
[  3]  1.0- 2.0 sec  3.25 MBytes  27.3 Mbits/sec
[  3]  2.0- 3.0 sec  4.00 MBytes  33.6 Mbits/sec
[  3]  3.0- 4.0 sec  4.25 MBytes  35.7 Mbits/sec
[  3]  4.0- 5.0 sec  5.00 MBytes  41.9 Mbits/sec
[  3]  5.0- 6.0 sec  4.38 MBytes  36.7 Mbits/sec
[  3]  6.0- 7.0 sec  3.75 MBytes  31.5 Mbits/sec
[  3]  7.0- 8.0 sec  4.25 MBytes  35.7 Mbits/sec

I dont know why it just run 8 times, and i couldn't ping host

ping 10.22.22.1
PING 10.22.22.1 (10.22.22.1) 56(84) bytes of data.
From 10.22.22.17 icmp_seq=1 Destination Host Unreachable
From 10.22.22.17 icmp_seq=2 Destination Host Unreachable
From 10.22.22.17 icmp_seq=3 Destination Host Unreachable
From 10.22.22.17 icmp_seq=4 Destination Host Unreachable

But in device I did not see packet lost

wlan1     Link encap:Ethernet  HWaddr 84:DD:20:66:9F:3E  
          inet addr:10.22.22.1  Bcast:10.22.22.255  Mask:255.255.255.0
          inet6 addr: fe80::86dd:20ff:fe66:9f3e/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:24910 errors:0 dropped:0 overruns:0 frame:0
          TX packets:12621 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:37574021 (35.8 MiB)  TX bytes:1086199 (1.0 MiB)

and when i tried to kill hostapd and run it again i got that dump:

^CWaiting for server threads to complete. Interrupt again to force quit.
^Croot@OpenWrt:/# 
root@OpenWrt:/# 
root@OpenWrt:/# hostapd hostapd.conf &
root@OpenWrt:/# Configuration file: hostapd.conf
nl80211: Could not configure driver mode
[  129.306532] wlcore: WARNING Unable to flush all TX buffers, timed out (timeout 500 ms
[  129.816531] wlcore: WARNING Unable to flush all TX buffers, timed out (timeout 500 ms
[  130.326544] wlcore: WARNING Unable to flush all TX buffers, timed out (timeout 500 ms
nl80211 driver initialization failed.
hostapd_free_hapd_data: Interface wlan1 wasn't started
[  133.776527] wlcore: ERROR Tx stuck (in FW) for 5000 ms. Starting recovery
[  133.783677] ------------[ cut here ]------------
[  133.788633] WARNING: CPU: 0 PID: 6 at drivers/net/wireless/ti/wlcore/main.c:813 wl12xx_queue_recovery_work+0x2c/0x6c [wlcore]()

[  133.800751] Modules linked in: btwilink bluetooth pppoe ppp_async iptable_nat wl18xx pppox ppp_generic nf_nat_ipv4 nf_conntrack_ipv6 nf_conntrack_ipv4 krng ipt_MASQUERADE chainiv xt_time xt_tcpudp xt_state xt_nat xt_multiport xt_mark xt_mac xt_limit xt_id xt_conntrack xt_comment xt_TCPMSS xt_REDIRECT xt_LOG xt_CT wlcore_sdio wlcore slhc rng nf_nat_irc nf_nat_ftp nf_nat nf_defrag_ipv6 nf_defrag_ipv4 nf_conntrack_irc nf_conntrack_ftp nf_conntrack mac80211 iptable_raw iptable_mangle iptable_filter ipt_REJECT ip_tables ctr crypto_wq crc_itu_t crc_ccitt cfg80211 ccm aead ip6t_REJECT ip6table_raw ip6table_mangle ip6table_filter ip6_tables x_tables ipv6 arc4 crypto_blkcipher usbcore usb_common
[  133.865164] CPU: 0 PID: 6 Comm: kworker/u2:0 Not tainted 3.13.7 #2
[  133.871677] Workqueue: phy0 wl12xx_tx_watchdog_work [wlcore]
[  133.877628] Backtrace: 
[  133.880218] [<c001bd88>] (dump_backtrace+0x0/0x118) from [<c001c06c>] (show_stack+0x18/0x1c)
[  133.889086]  r6:bf18f108 r5:00000000 r4:c05275a8 r3:60000013
[  133.895049] [<c001c054>] (show_stack+0x0/0x1c) from [<c01a564c>] (dump_stack+0x88/0x98)
[  133.903467] [<c01a55c4>] (dump_stack+0x0/0x98) from [<c0040154>] (warn_slowpath_common+0x78/0x94)
[  133.912787]  r5:00000009 r4:00000000
[  133.916562] [<c00400dc>] (warn_slowpath_common+0x0/0x94) from [<c0040214>] (warn_slowpath_null+0x24/0x2c)
[  133.926614]  r8:00000000 r7:df444ce0 r6:df444ce8 r5:df444d18 r4:df444ce0
[  133.933683] [<c00401f0>] (warn_slowpath_null+0x0/0x2c) from [<bf18f108>] (wl12xx_queue_recovery_work+0x2c/0x6c [wlcore])
[  133.945122] [<bf18f0dc>] (wl12xx_queue_recovery_work+0x0/0x6c [wlcore]) from [<bf18f254>] (wl12xx_tx_watchdog_work+0x10c/0x118 [wlcore])
[  133.957997]  r4:df445948 r3:60000013
[  133.961770] [<bf18f148>] (wl12xx_tx_watchdog_work+0x0/0x118 [wlcore]) from [<c00555c8>] (process_one_work+0x234/0x37c)
[  133.973005]  r7:df04e300 r6:df014000 r5:df445948 r4:df041400
[  133.978976] [<c0055394>] (process_one_work+0x0/0x37c) from [<c0056334>] (worker_thread+0x27c/0x41c)
[  133.988490] [<c00560b8>] (worker_thread+0x0/0x41c) from [<c005bbac>] (kthread+0xf0/0xf4)
[  133.997000] [<c005babc>] (kthread+0x0/0xf4) from [<c0008dd8>] (ret_from_fork+0x14/0x3c)
[  134.005394]  r7:00000000 r6:00000000 r5:c005babc r4:df01a6c0
[  134.011363] ---[ end trace c95d69b8cc34e61c ]---
[  134.016511] wlcore: Hardware recovery in progress. FW ver: Rev 8.5.0.0.55
[  134.024078] wlcore: pc: 0x0, hint_sts: 0x00000044 count: 1
[  134.030886] wlcore: down
[  134.034723] ieee80211 phy0: Hardware restart was requested
[  134.457832] wlcore: PHY firmware version: Rev 8.2.0.0.163
[  134.549721] wlcore: firmware booted (Rev 8.5.0.0.55)

How to debug that?

Thanks

Tuan Nguyen

  • Hi Tuan,

    First of all, I am worried about the version that you are using:

    [ 68.162776] wlcore: PHY firmware version: Rev 8.2.0.0.163
    [ 68.260049] wlcore: firmware booted (Rev 8.5.0.0.55)

    This indicates that the build was not correct. Possibly you are using the wrong driver/firmware versions.

    Are you following the build script from http://processors.wiki.ti.com/index.php/WL18xx_System_Build_Scripts ?
    This should build the R8.4 driver/firmware versions (Fw version: 8.9.0.0.17)


    Regards,
    Gigi Joseph.

  • Hi Joseph,

    I downloaded it from https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git with version "7f388b4885cf64d6b7833612052d20d4197af96f"

    I also try it form here https://github.com/TI-OpenLink/firmwares/blob/master/ti-connectivity/wl18xx-fw-2.bin

    Thanks

    Tuan Nguyen

  • Hi Tuan,

    That is not the correct version...
    Please take it from: git://git.ti.com/wilink8-wlan/wl18xx_fw.git (git tag: ol_r8.a9.14 )

    You would also need to update the driver (compat-wireless build).
    The latest release notes is available at: http://processors.wiki.ti.com/index.php/WiLink8_Release_Notes/R8.4

    Build Steps: http://processors.wiki.ti.com/index.php/WL18xx_System_Build_Scripts

    Regards,
    Gigi Joseph.

  • Hi Joseph,

    I use internal ti-driver, it mean I use ti-driver in kernel 3.13.7, not compat-wireless, because the compat-wireless does not support for kennel 3.13, only work with 3.15 above.

    and when I put your firmware (git://git.ti.com/wilink8-wlan/wl18xx_fw.git ), my device show:

    [  479.243236] wlcore: ERROR Your WiFi FW version (8.6.0.0.20) is invalid.
    [  479.243236] Please use at least FW 8.5.*.*.39.
    [  479.243236] You can get the latest firmwares at:
    [  479.243236] git://github.com/TI-OpenLink/firmwares.git
    [  479.265107] wlcore: ERROR error getting static data

    I think I need to update TI-driver in my kernel, but I wonder what is kernel version support for this firmware

    Thanks

    Tuan Nguyen

  • Hi Tuan,

    Yes, you must use the compat-wireless build. The latest release (R8.4) was verified on Linux Kernel : 3.12.10+. So I don't know why it cannot work with 3.13.7 kernel. Please upgrade your driver as well.

    You should not get any issue as you mentioned in the post.


    Regards,
    Gigi Joseph.

  • Hi Joseph,

    What is "compat-wireless version" that you mention, could you give a link for download it.

    I did try the compat-wireless that openwrt support (compat-wireless-2014-10-08.tar.bz2) but it required the linux kernel over 3.15 if kernel lower that the wlcore_sdio.ko isn't built. 

    in /drivers/net/wireless/ti/wlcore/Kconfig

    config WLCORE_SDIO
    	depends on !BACKPORT_KERNEL_3_15
    	tristate "TI wlcore SDIO support"
    	depends on m

    Thanks

    Tuan Nguyen

  • Hi Tuan,

    I already gave you the build script: http://processors.wiki.ti.com/index.php/WL18xx_System_Build_Scripts
    This script will ensure that you get the wl18xx drivers as modules (ko). You need to insmod them in your platform.

    The script would need the CROSS COMPILER location and the path to your kernel/filesystem.

    Steps to build:

    git clone git://git.ti.com/wilink8-wlan/build-utilites.git
    cd build-utilites/
    Update setup-env with the parameters specific to your build
    ./build_wl18xx.sh init
    ./build_wl18xx.sh update ol_r8.a9.14

    Regards,
    Gigi Joseph.

  • Hi Joseph,

    One more question, this branch https://git.ti.com/ti-linux-kernel/ti-linux-kernel/commits/linux-3.14.y, is it upgrade with newest driver (R8.4) ?

    Thanks

    Tuan Nguyen

  • Hi Tuan,

    I don't think it is.
    Please use the build script only (that I shared).

    Regards,
    Gigi Joseph.

  • Hi Joseph,

    I am trying to patch "compat-wireless" (downloaded in build script) to my kernel.

    Could you explain what is difference between PHY firmware and firmware booted version?

    I tried with another kernel (3.18.0 rc6) and got that

    root@OpenWrt:/# ifconfig wlan0 up
    [ 5960.498618] wlcore: PHY firmware version: Rev 8.2.0.0.195
    [ 5960.625025] wlcore: firmware booted (Rev 8.8.0.0.13)

    I got the same performance result :

     iperf -c 10.0.0.216 -i1 -w320k -t20
    ------------------------------------------------------------
    Client connecting to 10.0.0.216, TCP port 5001
    TCP window size:  416 KByte (WARNING: requested  320 KByte)
    ------------------------------------------------------------
    [  3] local 10.0.0.126 port 42523 connected with 10.0.0.216 port 5001
    [ ID] Interval       Transfer     Bandwidth
    [  3]  0.0- 1.0 sec   384 KBytes  3.15 Mbits/sec
    [  3]  1.0- 2.0 sec   128 KBytes  1.05 Mbits/sec
    [  3]  2.0- 3.0 sec   128 KBytes  1.05 Mbits/sec
    [  3]  3.0- 4.0 sec  0.00 Bytes  0.00 bits/sec
    [  3]  4.0- 5.0 sec  0.00 Bytes  0.00 bits/sec
    [  3]  5.0- 6.0 sec   128 KBytes  1.05 Mbits/sec
    [  3]  6.0- 7.0 sec   128 KBytes  1.05 Mbits/sec
    [  3]  7.0- 8.0 sec   256 KBytes  2.10 Mbits/sec
    [  3]  8.0- 9.0 sec   128 KBytes  1.05 Mbits/sec
    [  3]  9.0-10.0 sec  0.00 Bytes  0.00 bits/sec
    [  3] 10.0-11.0 sec   256 KBytes  2.10 Mbits/sec
    [  3] 11.0-12.0 sec   128 KBytes  1.05 Mbits/sec
    [  3] 12.0-13.0 sec   128 KBytes  1.05 Mbits/sec
    [  3] 13.0-14.0 sec   128 KBytes  1.05 Mbits/sec
    [  3] 14.0-15.0 sec   128 KBytes  1.05 Mbits/sec
    [  3] 15.0-16.0 sec   128 KBytes  1.05 Mbits/sec
    [  3] 16.0-17.0 sec   128 KBytes  1.05 Mbits/sec
    [  3] 17.0-18.0 sec   128 KBytes  1.05 Mbits/sec
    [  3] 18.0-19.0 sec   128 KBytes  1.05 Mbits/sec
    [  3] 19.0-20.0 sec   128 KBytes  1.05 Mbits/sec
    [  3]  0.0-21.7 sec  2.75 MBytes  1.06 Mbits/sec

    May I got wrong firmware ?

    Thanks

    Tuan Nguyen

  • Hi Tuan,

    One is the MAC fw version, the other is the PHY version.
    It is not the latest (latest is 8.9.0.0.17) - but it is not too old either. You should be getting better result than that. How about the antenna? Have you connected one?

    Regards,
    Gigi Joseph.

  • Hi Joseph,

    Here is my antenna

    Thanks

    Tuan Nguyen

  • Hi Tuan,

    That looks okay too... Do you get this low TP only during multirole? What are the iPerf numbers during single role (STA or AP)? Can you share the exact commands that you are executing?

    For AP, it would help if you set: ieee80211n=1 in the hostapd.conf file.

    Regards,
    Gigi Joseph.

  • Hi Joseph,

    I  tested with STA mode. I created a simple config file for wpa_supplicant:

    ctrl_interface=/var/run/wpa_supplicant
     
    network={
      ssid="the_router_ssid"
      scan_ssid=1
      key_mgmt=WPA-PSK
      psk="the_wpa_key"
    }

    and run command: wpa_supplicant -Dnl80211 -iwlan0 -c wpa.conf &

    after that I run iperf server in my device with command: iperf -s -i1

    in my computer, I run the command : iperf -c "ip_device" -i1 -t30

    I tried to create a new wl18xx-conf.bin follow that guide: http://processors.wiki.ti.com/index.php/Open_Source_Wireless_Connectivity_wlconf

    and I got a better performance (about 10Mbit/s) when I configured like that:

    wl18xx.ht.mode=0x00
    wl18xx.phy.board_type=4
    core.rx.irq_pkt_threshold=4
    core.rx.irq_timeout=1200
    

    But when I test with AP mode with configuration referred from: http://processors.wiki.ti.com/index.php/WiLink8_WLAN_Demo:_Linux#AP_.28create_AP_with_no_security.29

    interface=wlan1
    driver=nl80211
    channel=3
    hw_mode=g
    preamble=1
    dtim_period=2
    beacon_int=100
    logger_syslog=-1
    logger_syslog_level=2
    logger_stdout=-1
    logger_stdout_level=2
    dump_file=/tmp/hostapd.dump
    ctrl_interface=/var/run/hostapd
    ctrl_interface_group=0
    supported_rates=60 90 120 180 240 360 480 540
    basic_rates=60 90 120 180 240
    ssid=Multirole_Demo
    max_num_sta=5
    macaddr_acl=0
    tx_queue_data3_aifs=7
    tx_queue_data3_cwmin=15
    tx_queue_data3_cwmax=1023
    tx_queue_data3_burst=0
    tx_queue_data2_aifs=3
    tx_queue_data2_cwmin=15
    tx_queue_data2_cwmax=63
    tx_queue_data2_burst=0
    tx_queue_data1_aifs=1
    tx_queue_data1_cwmin=7
    tx_queue_data1_cwmax=15
    tx_queue_data1_burst=3.0
    tx_queue_data0_aifs=1
    tx_queue_data0_cwmin=3
    tx_queue_data0_cwmax=7
    tx_queue_data0_burst=1.5
    wme_enabled=1
    wme_ac_bk_cwmin=4
    wme_ac_bk_cwmax=10
    wme_ac_bk_aifs=7
    wme_ac_bk_txop_limit=0
    wme_ac_bk_acm=0
    wme_ac_be_aifs=3
    wme_ac_be_cwmin=4
    wme_ac_be_cwmax=10
    wme_ac_be_txop_limit=0
    wme_ac_be_acm=0
    wme_ac_vi_aifs=2
    wme_ac_vi_cwmin=3
    wme_ac_vi_cwmax=4
    wme_ac_vi_txop_limit=94
    wme_ac_vi_acm=0
    wme_ac_vo_aifs=2
    wme_ac_vo_cwmin=2
    wme_ac_vo_cwmax=3
    wme_ac_vo_txop_limit=47
    wme_ac_vo_acm=0
    auth_algs=3
    ieee80211d=1
    country_code=US
    uapsd_advertisement_enabled=1
    wep_rekey_period=0
    own_ip_addr=127.0.0.1
    wpa_group_rekey=0
    wpa_strict_rekey=0
    wpa_gmk_rekey=0
    wpa_ptk_rekey=0
    #ap_table_max_size=255
    #ap_table_expiration_time=60
    eap_server=1
    disassoc_low_ack=1
    ap_max_inactivity=4294967295
    ieee80211n=1
    ht_capab=[SHORT-GI-20]

    Using the same command with STA mod, I got performance just around 1,5Mbit/s.

    Thanks

    Tuan Nguyen

  • Hi Joseph,

    I patched my kernel with new compat-wireless, I tried to test with default config and got result:

    [    8.521221] wlcore: wl18xx HW: 183x or 180x, PG 2.2 (ROM 0x11)
    [    8.546468] wlcore: loaded
    [    8.549365] wlcore: driver version: ol_r8.a9.14
    [    8.554240] wlcore: compilation time: Mon Dec  1 15:45:02 2014

    STA mode:

    root@OpenWrt:/# wpa_supplicant -Dnl80211 -iwlan0 -c wpa.conf &
    root@OpenWrt:/# Successfully initialized wpa_supplicant
    [   34.103117] wlcore: PHY firmware version: Rev 8.2.0.0.212
    [   34.193941] wlcore: firmware booted (Rev 8.9.0.0.17)
    [   34.209128] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
    wlan0: SME: Trying to authenticate with b4:75:0e[   38.056760] wlan0: authenticate with b4:75:0e:55:d6:eb
    :55:d6:eb (SSID='VEriK' freq=2462 MHz)
    [   38.069386] wlan0: send auth to b4:75:0e:55:d6:eb (try 1/3)
    [   38.096705] wlan0: authenticated
    wlan0: Trying to associate with b4:75:0e:55:d6:e[   38.100802] wlan0: associate with b4:75:0e:55:d6:eb (try 1/3)
    b (SSID='VEriK' freq=2462 MHz)
    [   38.141284] wlan0: RX AssocResp from b4:75:0e:55:d6:eb (capab=0x411 status=0 aid=13)
    [   38.156150] wlan0: associated
    wlan0: Associated with b4:75:0e:55:d6:eb[   38.160314] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
    
    wlan0: WPA: Key negotiation completed with b4:75[   38.662270] wlcore: Association completed.
    :0e:55:d6:eb [PTK=CCMP GTK=TKIP]
    wlan0: CTRL-EVENT-CONNECTED - Connection to b4:75:0e:55:d6:eb completed [id=0 id_str=]
    
    root@OpenWrt:/# udh
    root@OpenWrt:/# udhcpc -i wlan0
    udhcpc (v1.22.1) started
    Sending discover...
    Sending select for 10.0.0.167...
    Lease of 10.0.0.167 obtained, lease time 86400
    udhcpc: ifconfig wlan0 10.0.0.167 netmask 255.255.255.0 broadcast 10.0.0.255
    udhcpc: setting default routers: 10.0.0.1
    root@OpenWrt:/# 
    root@OpenWrt:/# iperf
    root@OpenWrt:/# iperf -is -i1
    ------------------------------------------------------------
    Server listening on TCP port 5001
    TCP window size: 85.3 KByte (default)
    ------------------------------------------------------------
    [  4] local 10.0.0.167 port 5001 connected with 10.0.0.165 port 49965
    [ ID] Interval       Transfer     Bandwidth
    [  4]  0.0- 1.0 sec  1.18 MBytes  9.89 Mbits/sec
    [  4]  1.0- 2.0 sec  1.25 MBytes  10.5 Mbits/sec
    [  4]  2.0- 3.0 sec  1.14 MBytes  9.53 Mbits/sec
    [  4]  3.0- 4.0 sec  1023 KBytes  8.38 Mbits/sec
    [  4]  4.0- 5.0 sec  1009 KBytes  8.27 Mbits/sec
    [  4]  5.0- 6.0 sec  1.23 MBytes  10.3 Mbits/sec
    [  4]  6.0- 7.0 sec   944 KBytes  7.73 Mbits/sec
    [  4]  7.0- 8.0 sec  1.29 MBytes  10.8 Mbits/sec
    [  4]  8.0- 9.0 sec  1.27 MBytes  10.6 Mbits/sec
    [  4]  9.0-10.0 sec  1.49 MBytes  12.5 Mbits/sec
    [  4] 10.0-11.0 sec  1.47 MBytes  12.3 Mbits/sec
    [  4] 11.0-12.0 sec  1.39 MBytes  11.6 Mbits/sec
    [  4] 12.0-13.0 sec  1.27 MBytes  10.7 Mbits/sec
    [  4] 13.0-14.0 sec  1.53 MBytes  12.9 Mbits/sec
    [  4] 14.0-15.0 sec  1.51 MBytes  12.7 Mbits/sec
    [  4] 15.0-16.0 sec  1.18 MBytes  9.88 Mbits/sec
    [  4] 16.0-17.0 sec  1.38 MBytes  11.6 Mbits/sec
    [  4] 17.0-18.0 sec  1.22 MBytes  10.2 Mbits/sec
    [  4] 18.0-19.0 sec  1.34 MBytes  11.3 Mbits/sec
    [  4] 19.0-20.0 sec  1.43 MBytes  12.0 Mbits/sec
    [  4] 20.0-21.0 sec  1.45 MBytes  12.1 Mbits/sec
    [  4] 21.0-22.0 sec  1.34 MBytes  11.2 Mbits/sec
    [  4] 22.0-23.0 sec  1.39 MBytes  11.7 Mbits/sec
    [  4] 23.0-24.0 sec  1.39 MBytes  11.7 Mbits/sec
    [  4] 24.0-25.0 sec  1.37 MBytes  11.5 Mbits/sec
    [  4] 25.0-26.0 sec  1.50 MBytes  12.5 Mbits/sec
    [  4] 26.0-27.0 sec  1.54 MBytes  12.9 Mbits/sec

    AP mode:

    root@OpenWrt:/# hostapd hostapd.conf &
    root@OpenWrt:/# Configuration file: hostapd.conf
    Line 12: DEPRECATED: 'dump_file' configuration variable is not used anymore
    [  709.895136] wlcore: down
    wlan1: interface state UNINITIALIZED->COUNTRY_UP[  709.910849] cfg80211: Calling CRDA to update world regulatory domain
    DATE
    Using interface wlan1 with hwaddr 84:dd:20:66:9f:3e and ssid "Multirole_Demo"
    [  714.942360] IPv6: ADDRCONF(NETDEV_CHANGE): wlan1: link becomes ready
    wlan1: interface state COUNTRY_UPDATE->ENABLED
    wlan1: AP-ENABLED 
    
    root@OpenWrt:/# ip
    root@OpenWrt:/# ip
    root@OpenWrt:/# hostapd hostapd.conf &
    root@OpenWrt:/# vim hostapd.conf
    root@OpenWrt:/# ls
    root@OpenWrt:/# iperf -s -i1
    ------------------------------------------------------------
    Server listening on TCP port 5001
    TCP window size: 85.3 KByte (default)
    ------------------------------------------------------------
    wlan1: STA 54:35:30:bd:6a:c7 IEEE 802.11: authenticated
    wlan1: STA 54:35:30:bd:6a:c7 IEEE 802.11: associated (aid 1)
    wlan1: AP-STA-CONNECTED 54:35:30:bd:6a:c7
    wlan1: STA 54:35:30:bd:6a:c7 RADIUS: starting accounting session 547C3CDF-00000000
    [  4] local 10.22.22.1 port 5001 connected with 10.22.22.17 port 49687
    [ ID] Interval       Transfer     Bandwidth
    [  4]  0.0- 1.0 sec   759 KBytes  6.22 Mbits/sec
    [  4]  1.0- 2.0 sec  1.44 MBytes  12.0 Mbits/sec
    [  4]  2.0- 3.0 sec  3.18 MBytes  26.7 Mbits/sec
    [  4]  3.0- 4.0 sec  3.40 MBytes  28.5 Mbits/sec
    [  4]  4.0- 5.0 sec  3.64 MBytes  30.5 Mbits/sec
    [  4]  5.0- 6.0 sec   736 KBytes  6.03 Mbits/sec
    [  4]  6.0- 7.0 sec   502 KBytes  4.11 Mbits/sec
    [  4]  7.0- 8.0 sec   196 KBytes  1.60 Mbits/sec
    [  4]  8.0- 9.0 sec  97.6 KBytes   799 Kbits/sec
    [  4]  9.0-10.0 sec  2.73 MBytes  22.9 Mbits/sec
    [  4] 10.0-11.0 sec  3.34 MBytes  28.0 Mbits/sec
    [  4] 11.0-12.0 sec  3.74 MBytes  31.3 Mbits/sec
    [  4] 12.0-13.0 sec  3.60 MBytes  30.2 Mbits/sec
    [  4] 13.0-14.0 sec  3.99 MBytes  33.5 Mbits/sec
    [  4] 14.0-15.0 sec  3.42 MBytes  28.7 Mbits/sec
    [  4] 15.0-16.0 sec  1.97 MBytes  16.5 Mbits/sec
    [  4] 16.0-17.0 sec  1007 KBytes  8.25 Mbits/sec
    [  4] 17.0-18.0 sec  1.24 MBytes  10.4 Mbits/sec
    [  4] 18.0-19.0 sec  1.46 MBytes  12.2 Mbits/sec
    [  4] 19.0-20.0 sec  2.22 MBytes  18.7 Mbits/sec
    [  4] 20.0-21.0 sec  1.79 MBytes  15.0 Mbits/sec
    [  4] 21.0-22.0 sec  1015 KBytes  8.31 Mbits/sec
    [  4] 22.0-23.0 sec   938 KBytes  7.68 Mbits/sec
    [  4] 23.0-24.0 sec  1.52 MBytes  12.7 Mbits/sec
    [  4] 24.0-25.0 sec  1.67 MBytes  14.0 Mbits/sec
    [  4] 25.0-26.0 sec  1.03 MBytes  8.63 Mbits/sec
    [  4] 26.0-27.0 sec  1.03 MBytes  8.66 Mbits/sec
    [  4] 27.0-28.0 sec   988 KBytes  8.10 Mbits/sec
    [  4] 28.0-29.0 sec   889 KBytes  7.28 Mbits/sec
    [  4] 29.0-30.0 sec  1.42 MBytes  11.9 Mbits/sec
    [  4]  0.0-30.3 sec  55.0 MBytes  15.2 Mbits/sec

    Is it limited, if not, how to improve it.

    Thanks

    Tuan Nguyen

  • Hi Tuan,

    These are the multirole numbers, right? TCP or UDP?
    I see that there is a significant improvement from the previous results.

    You can configure to MIMO as well, and try. It should be better. Please see this page: http://processors.wiki.ti.com/index.php/Open_Source_Wireless_Connectivity_wlconf for configuring MIMO.

    Regards,
    Gigi Joseph.

  • Hi Joseph,

    I just tested with TCP packet. I tried to change "wl18xx.ht.mode=0x00" and "wl18xx.phy.board_type=0x04" and result are good now:

    STA: ~10 MBits/sec

    AP: ~20MBits/sec

    Thanks

    Tuan Nguyen