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
next prev 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).