All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.