linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Jörg Krause" <joerg.krause@embedded.rocks>
To: Arend Van Spriel <arend.vanspriel@broadcom.com>
Cc: brcm80211-dev-list <brcm80211-dev-list@broadcom.com>,
	Brett Rudley <brudley@broadcom.com>,
	Franky Lin <franky.lin@broadcom.com>,
	Hante Meuleman <meuleman@broadcom.com>,
	linux-wireless@vger.kernel.org, Franky Lin <frankyl@broadcom.com>,
	Arend van Spriel <arend@broadcom.com>
Subject: Re: TCP data throughput for BCM43362
Date: Thu, 13 Oct 2016 00:50:19 +0200	[thread overview]
Message-ID: <1476312619.2065.5.camel@embedded.rocks> (raw)
In-Reply-To: <CAF7Mx6pD5VZ57PHy5DSj8yLOLY4vir2JhEdEL8SB3kr91OqFsQ@mail.gmail.com>

On Thu, 2016-10-13 at 00:25 +0200, Arend Van Spriel wrote:
> Op 12 okt. 2016 23:19 schreef "Jörg Krause" <joerg.krause@embedded.ro
> cks>:
> > 
> > On Wed, 2016-10-12 at 23:08 +0200, Arend Van Spriel wrote:
> > > Op 12 okt. 2016 21:30 schreef "Jörg Krause" <joerg.krause@embedde
> > > d.ro
> > > cks>:
> > > > 
> > > > On Mi, 2016-10-12 at 21:08 +0200, Arend van Spriel wrote:
> > > > 
> > > > [snip]
> > > > 
> > > > > On 12-10-16 16:27, Jörg Krause wrote:
> > > > > > 
> > > > > > It is running the iperf server. It is running in station
> > > > > > mode
> > > > > > as
> > > > > > well
> > > > > > as in AP mode, depending on the use case. The wireshark
> > > > > > dump
> > > > > > was
> > > > > > taken
> > > > > > when the bcm43362 is operating in AP mode.
> > > > > > 
> > > > > > > 
> > > > > > > What specs does the ARM on your custom board have?
> > > > > > 
> > > > > > Which specs do you mean?
> > > > > > 
> > > > > > > 
> > > > > > > The trace shows that it does not do
> > > > > > > aggregation. What it does not show is whether A-MPDU was
> > > > > > > setup,
> > > > > > > ie.
> > > > > > > ADDBA message exchange. So could you create a similar
> > > > > > > capture
> > > > > > > including
> > > > > > > connection setup, ie. AUTH/ASSOC, etc.
> > > > > > 
> > > > > > Yes, I can do that. Note, that I am using wpa_supplicant
> > > > > > 2.5
> > > > > > for AP
> > > > > > mode operation (not hostapd).
> > > > > 
> > > > > ok. unchartered territory for me. In the beacon frame I see
> > > > > 
> > > > > .... ..01 = Maximum Rx A-MPDU Length: 0x1 (16383[Bytes])
> > > > > ...1 10.. = MPDU Density: 8 [usec] (0x6)
> > > > > 
> > > > > In the trace it is only ~1500 bytes so no A-MPDU.
> > > > 
> > > > The issue is not only valid for operating the BCM43362 in AP
> > > > mode,
> > > > but
> > > > also in station mode. The TCP throughput is the same for both
> > > > modes.
> > > > 
> > > > > What device is in the notebook?
> > > > 
> > > > It is a Broadcom 43225. However, the low TCP throughput is not
> > > > specific
> > > > to this device but with all kind of devices including
> > > > Smartphones,
> > > > Notebooks, PCs running the iperf client.
> > > > 
> > > > > Can you use 'iw list' there to obtain info.
> > > > 
> > > >     $ iw list
> > > >     Wiphy phy0
> > > >             max # scan SSIDs: 4
> > > >             max scan IEs length: 2257 bytes
> > > >             max # sched scan SSIDs: 0
> > > >             max # match sets: 0
> > > >             max # scan plans: 1
> > > >             max scan plan interval: -1
> > > >             max scan plan iterations: 0
> > > >             Retry short limit: 7
> > > >             Retry long limit: 4
> > > >             Coverage class: 0 (up to 0m)
> > > >             Device supports RSN-IBSS.
> > > >             Supported Ciphers:
> > > >                     * WEP40 (00-0f-ac:1)
> > > >                     * WEP104 (00-0f-ac:5)
> > > >                     * TKIP (00-0f-ac:2)
> > > >                     * CCMP (00-0f-ac:4)
> > > >                     * 00-0f-ac:10
> > > >                     * GCMP (00-0f-ac:8)
> > > >                     * 00-0f-ac:9
> > > >             Available Antennas: TX 0 RX 0
> > > >             Supported interface modes:
> > > >                      * IBSS
> > > >                      * managed
> > > >                      * AP
> > > >                      * AP/VLAN
> > > >                      * monitor
> > > >             Band 1:
> > > >                     Capabilities: 0x70
> > > >                             HT20
> > > >                             Static SM Power Save
> > > >                             RX Greenfield
> > > >                             RX HT20 SGI
> > > >                             RX HT40 SGI
> > > >                             No RX STBC
> > > >                             Max AMSDU length: 3839 bytes
> > > >                             No DSSS/CCK HT40
> > > >                     Maximum RX AMPDU length 65535 bytes
> > > > (exponent:
> > > > 0x003)
> > > >                     Minimum RX AMPDU time spacing: 8 usec
> > > > (0x06)
> > > >                     HT Max RX data rate: 500 Mbps
> > > >                     HT TX/RX MCS rate indexes supported: 0-15
> > > >                     Bitrates (non-HT):
> > > >                             * 1.0 Mbps
> > > >                             * 2.0 Mbps (short preamble
> > > > supported)
> > > >                             * 5.5 Mbps (short preamble
> > > > supported)
> > > >                             * 11.0 Mbps (short preamble
> > > > supported)
> > > >                             * 6.0 Mbps
> > > >                             * 9.0 Mbps
> > > >                             * 12.0 Mbps
> > > >                             * 18.0 Mbps
> > > >                             * 24.0 Mbps
> > > >                             * 36.0 Mbps
> > > >                             * 48.0 Mbps
> > > >                             * 54.0 Mbps
> > > >                     Frequencies:
> > > >                             * 2412 MHz [1] (19.0 dBm)
> > > >                             * 2417 MHz [2] (19.0 dBm)
> > > >                             * 2422 MHz [3] (19.0 dBm)
> > > >                             * 2427 MHz [4] (19.0 dBm)
> > > >                             * 2432 MHz [5] (19.0 dBm)
> > > >                             * 2437 MHz [6] (19.0 dBm)
> > > >                             * 2442 MHz [7] (19.0 dBm)
> > > >                             * 2447 MHz [8] (19.0 dBm)
> > > >                             * 2452 MHz [9] (19.0 dBm)
> > > >                             * 2457 MHz [10] (19.0 dBm)
> > > >                             * 2462 MHz [11] (19.0 dBm)
> > > >                             * 2467 MHz [12] (19.0 dBm) (no IR)
> > > >                             * 2472 MHz [13] (19.0 dBm) (no IR)
> > > >                             * 2484 MHz [14] (disabled)
> > > >             Supported commands:
> > > >                      * new_interface
> > > >                      * set_interface
> > > >                      * new_key
> > > >                      * start_ap
> > > >                      * new_station
> > > >                      * new_mpath
> > > >                      * set_mesh_config
> > > >                      * set_bss
> > > >                      * authenticate
> > > >                      * associate
> > > >                      * deauthenticate
> > > >                      * disassociate
> > > >                      * join_ibss
> > > >                      * join_mesh
> > > >                      * set_tx_bitrate_mask
> > > >                      * frame
> > > >                      * frame_wait_cancel
> > > >                      * set_wiphy_netns
> > > >                      * set_channel
> > > >                      * set_wds_peer
> > > >                      * probe_client
> > > >                      * set_noack_map
> > > >                      * register_beacons
> > > >                      * start_p2p_device
> > > >                      * set_mcast_rate
> > > >                      * set_qos_map
> > > >                      * connect
> > > >                      * disconnect
> > > >             Supported TX frame types:
> > > >                      * IBSS: 0x00 0x10 0x20 0x30 0x40 0x50 0x60
> > > > 0x70 0x80
> > > >     0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
> > > >                      * managed: 0x00 0x10 0x20 0x30 0x40 0x50
> > > > 0x60
> > > > 0x70
> > > >     0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
> > > >                      * AP: 0x00 0x10 0x20 0x30 0x40 0x50 0x60
> > > > 0x70
> > > > 0x80
> > > >     0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
> > > >                      * AP/VLAN: 0x00 0x10 0x20 0x30 0x40 0x50
> > > > 0x60
> > > > 0x70
> > > >     0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
> > > >                      * mesh point: 0x00 0x10 0x20 0x30 0x40
> > > > 0x50
> > > > 0x60 0x70
> > > >     0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
> > > >                      * P2P-client: 0x00 0x10 0x20 0x30 0x40
> > > > 0x50
> > > > 0x60 0x70
> > > >     0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
> > > >                      * P2P-GO: 0x00 0x10 0x20 0x30 0x40 0x50
> > > > 0x60
> > > > 0x70
> > > 
> > > 0x80
> > > >     0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
> > > >                      * P2P-device: 0x00 0x10 0x20 0x30 0x40
> > > > 0x50
> > > > 0x60 0x70
> > > >     0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
> > > >             Supported RX frame types:
> > > >                      * IBSS: 0x40 0xb0 0xc0 0xd0
> > > >                      * managed: 0x40 0xd0
> > > >                      * AP: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0
> > > >                      * AP/VLAN: 0x00 0x20 0x40 0xa0 0xb0 0xc0
> > > > 0xd0
> > > >                      * mesh point: 0xb0 0xc0 0xd0
> > > >                      * P2P-client: 0x40 0xd0
> > > >                      * P2P-GO: 0x00 0x20 0x40 0xa0 0xb0 0xc0
> > > > 0xd0
> > > >                      * P2P-device: 0x40 0xd0
> > > >             software interface modes (can always be added):
> > > >                      * AP/VLAN
> > > >                      * monitor
> > > >             interface combinations are not supported
> > > >             HT Capability overrides:
> > > >                      * MCS: ff ff ff ff ff ff ff ff ff ff
> > > >                      * maximum A-MSDU length
> > > >                      * supported channel width
> > > >                      * short GI for 40 MHz
> > > >                      * max A-MPDU length exponent
> > > >                      * min MPDU start spacing
> > > >             Device supports TX status socket option.
> > > >             Device supports HT-IBSS.
> > > >             Device supports SAE with AUTHENTICATE command
> > > >             Device supports low priority scan.
> > > >             Device supports scan flush.
> > > >             Device supports AP scan.
> > > >             Device supports per-vif TX power setting
> > > >             Driver supports a userspace MPM
> > > >             Device supports configuring vdev MAC-addr on
> > > > create.
> > > > 
> > > > > > 
> > > > > > > 
> > > > > > > Just to confirm. You are using the firmware from linux-
> > > > > > > firmware,
> > > > > > > right?
> > > > > > 
> > > > > > Right.
> > > > > > 
> > > > > > > 
> > > > > > > Or are you using firmware from the wiced dev kit?
> > > > > > 
> > > > > > No. I guess you mean bcmdhd?
> > > > > 
> > > > > You referred to 20 Mbps claim on wiced dev kit page at mouser
> > > > > so
> > > > > I
> > > > > assumed you were using that and it includes firmware. As you
> > > > > confirmed
> > > > > using firmware from linux-firmware repo this question does
> > > > > not
> > > > > matter.
> > > > 
> > > > I see! Note, that I measured >20MB throughput on the
> > > > Cubietruck,
> > > > which
> > > > is using the AP6210, but also the brcmfmac driver.
> > > 
> > > So does your custom ARM board have an Ethernet socket, ie. run
> > > iperf
> > > server
> > > on another device hooked up to the AP over Ethernet.
> > 
> > Yes, it does have Ethernet. I hope that I have understand you
> > correctly, so I run an iperf server an my PC and on my ARM board
> > the
> > iperf client. Both devices are connected via Ethernet to the Router
> > (using a Powerline adaptor):
> > 
> > # iperf3 -c 192.168.178.41 -i 1 -t 10
> > Connecting to host 192.168.178.41, port 5201
> > [  4] local 192.168.178.40 port 36130 connected to 192.168.178.41
> > port
> > 5201
> > [ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
> > [  4]   0.00-1.09   sec  2.50 MBytes  19.2 Mbits/sec    0   14.1
> > KBytes
> > [  4]   1.09-2.21   sec  2.50 MBytes  18.8 Mbits/sec    0   14.1
> > KBytes
> > [  4]   2.21-3.30   sec  2.50 MBytes  19.2 Mbits/sec    0   14.1
> > KBytes
> > [  4]   3.30-4.39   sec  2.50 MBytes  19.3 Mbits/sec    0   14.1
> > KBytes
> > [  4]   4.39-5.48   sec  2.50 MBytes  19.2 Mbits/sec    0   14.1
> > KBytes
> > [  4]   5.48-6.02   sec  1.25 MBytes  19.3 Mbits/sec    0   14.1
> > KBytes
> > [  4]   6.02-7.11   sec  2.50 MBytes  19.3 Mbits/sec    0   14.1
> > KBytes
> > [  4]   7.11-8.20   sec  2.50 MBytes  19.3 Mbits/sec    0   14.1
> > KBytes
> > [  4]   8.20-9.43   sec  2.50 MBytes  17.1 Mbits/sec    0   14.1
> > KBytes
> > [  4]   9.43-10.51  sec  2.50 MBytes  19.4 Mbits/sec    0   14.1
> > KBytes
> > - - - - - - - - - - - - - - - - - - - - - - - - -
> > [ ID] Interval           Transfer     Bandwidth       Retr
> > [  4]   0.00-10.51  sec  23.8 MBytes  19.0
> > Mbits/sec    0             sender
> > [  4]   0.00-10.51  sec  23.8 MBytes  19.0
> > Mbits/sec                  receiver
> > 
> > iperf Done.
> 
> Sorry. I meant not running iperf server nor client on AP. A bit more
> graphic:
> 
> Notebook --> AP --> PC
> 
> Iperf client on notebook and iperf server on PC. Notebook to AP is
> wireless, AP to PC is wired.

I see! Howver, this needs routing on the AP, which I have not done yet.
   What do you expect from this test?

I compared the values from the Ethernet test with an Application Note
[1] I found at NXP for the i.MX28. Running iperf shows an throughput of
>60 MBits/sec. I run the test cases again without Powerline adapter by
connecting both devices directly to the Router and even installed iperf
(instead of iperf3). Nevertheless, I am stuck with 20 MBits/sec. Note,
that the Application Note was done with a legacy Linux Kernel 2.6
whereas I use mainline Linux Kernel 4.7. Maybe something is missing in
mainline?

For now, I will consider that brcmfmac is not responsible for the low
throughput and I will move this issue to the ARM linux mailing list.

Many thanks so far for the support! I will keep you in the loop.

[1] http://cache.freescale.com/files/32bit/doc/app_note/AN4544.pdf

Best regards
Jörg Krause

  parent reply	other threads:[~2016-10-12 22:50 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-05 20:46 TCP data throughput for BCM43362 Jörg Krause
     [not found] ` <CAF7Mx6o+WuQqtzuApMWQ8YAkLSX7xQ_H06xmO--RxFdwHwzLdQ@mail.gmail.com>
2016-08-05 21:29   ` Jörg Krause
     [not found]     ` <CA+8PC_f7VQMwBfQmZZ_vUtYtNJKVYzmFmxziAwoG8-iRUeW9Jw@mail.gmail.com>
2016-08-06  8:07       ` Jörg Krause
2016-08-06 14:12       ` Jörg Krause
2016-08-07 11:41         ` Arend van Spriel
2016-08-12  9:25           ` Jörg Krause
2016-08-22 13:37           ` Jörg Krause
2016-08-24 18:35             ` Arend Van Spriel
2016-08-29 21:15               ` Jörg Krause
2016-09-14 13:41                 ` Jörg Krause
2016-09-14 18:13                   ` Arend Van Spriel
2016-09-19  6:36                     ` Jörg Krause
2016-09-21 14:15                       ` Arend van Spriel
2016-09-22  8:09                       ` Arend Van Spriel
2016-09-22 12:52                         ` Jörg Krause
     [not found]                           ` <CAF7Mx6q+B4RoURNF5XxewjF9aVGCXg==XU0aDD6w+354yXZ70Q@mail.gmail.com>
2016-10-11  6:14                             ` Jörg Krause
2016-10-12  8:11                               ` Arend Van Spriel
2016-10-12 14:27                                 ` Jörg Krause
2016-10-12 19:08                                   ` Arend van Spriel
2016-10-12 19:30                                     ` Jörg Krause
     [not found]                                       ` <CAF7Mx6rqfbhDL-MRZ93vzCdSskgqi_bVNn=1SGb_WKV=DZZ+YQ@mail.gmail.com>
2016-10-12 21:19                                         ` Jörg Krause
     [not found]                                           ` <CAF7Mx6pD5VZ57PHy5DSj8yLOLY4vir2JhEdEL8SB3kr91OqFsQ@mail.gmail.com>
2016-10-12 22:50                                             ` Jörg Krause [this message]
2016-10-12 20:48                                     ` Jörg Krause

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1476312619.2065.5.camel@embedded.rocks \
    --to=joerg.krause@embedded.rocks \
    --cc=arend.vanspriel@broadcom.com \
    --cc=arend@broadcom.com \
    --cc=brcm80211-dev-list@broadcom.com \
    --cc=brudley@broadcom.com \
    --cc=franky.lin@broadcom.com \
    --cc=frankyl@broadcom.com \
    --cc=linux-wireless@vger.kernel.org \
    --cc=meuleman@broadcom.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).