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>,
	Franky Lin <franky.lin@broadcom.com>
Cc: Brett Rudley <brudley@broadcom.com>,
	brcm80211-dev-list <brcm80211-dev-list@broadcom.com>,
	Hante Meuleman <meuleman@broadcom.com>,
	Franky Lin <frankyl@broadcom.com>,
	linux-wireless@vger.kernel.org,
	Arend van Spriel <arend@broadcom.com>
Subject: Re: TCP data throughput for BCM43362
Date: Thu, 22 Sep 2016 14:52:18 +0200	[thread overview]
Message-ID: <1474548738.11992.2.camel@embedded.rocks> (raw)
In-Reply-To: <64180601-8d99-09fe-2db5-06c4ed7dd5d6@broadcom.com>

[-- Attachment #1: Type: text/plain, Size: 14340 bytes --]

On Do, 2016-09-22 at 10:09 +0200, Arend Van Spriel wrote:
> On 19-9-2016 8:36, Jörg Krause wrote:
> > 
> > Hi Arend,
> > 
> > On Wed, 2016-09-14 at 20:13 +0200, Arend Van Spriel wrote:
> > > 
> > > On 14-9-2016 15:41, Jörg Krause wrote:
> > > > 
> > > > 
> > > > Hi,
> > > > 
> > > > On Mon, 2016-08-29 at 23:15 +0200, Jörg Krause wrote:
> > > > > 
> > > > > 
> > > > > On Mi, 2016-08-24 at 20:35 +0200, Arend Van Spriel wrote:
> > > > > > 
> > > > > > 
> > > > > > 
> > > > > > On 22-8-2016 15:37, Jörg Krause wrote:
> > > > > > > 
> > > > > > > 
> > > > > > > 
> > > > > > > 
> > > > > > > Hi all,
> > > > > > > 
> > > > > > > I am back from vacation and I'd like to do more
> > > > > > > investigations
> > > > > > > about
> > > > > > > this issue. Please see my comments below...
> > > > > > > 
> > > > > > > On Sun, 2016-08-07 at 13:41 +0200, Arend van Spriel
> > > > > > > wrote:
> > > > > > > > 
> > > > > > > > 
> > > > > > > > 
> > > > > > > > 
> > > > > > > > On 06-08-16 16:12, Jörg Krause wrote:
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > Hi all,
> > > > > > > > 
> > > > > > > > A bit weird email format making it a bit hard to
> > > > > > > > determine
> > > > > > > > where
> > > > > > > > your
> > > > > > > > last reply starts...
> > > > > > > > 
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > On Fr, 2016-08-05 at 17:56 -0700, Franky Lin wrote:
> > > > > > > > > 
> > > > > > > > > On Fri, Aug 5, 2016 at 2:29 PM, Jörg Krause
> > > > > > > > > <joerg.krause
> > > > > > > > > @emb
> > > > > > > > > ed
> > > > > > > > > ded.
> > > > > > > > > ro
> > > > > > > > > cks>
> > > > > > > > > wrote:
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > Am 5. August 2016 23:01:10 MESZ, schrieb Arend Van
> > > > > > > > > Spriel
> > > > > > > > > <
> > > > > > > > > arend.vanspriel@broadcom.com>:
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > Op 5 aug. 2016 22:46 schreef "Jörg Krause"
> > > > > > > > > <joerg.krause@embedded.rocks>:
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > Hi,
> > > > > > > > > 
> > > > > > > > > I'm using a custom ARM board with an BCM43362 wifi
> > > > > > > > > chip
> > > > > > > > > from
> > > > > > > > > 
> > > > > > > > > Broadcom.
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > The wifi chip is attached via SDIO to the controller
> > > > > > > > > with
> > > > > > > > > a
> > > > > > > > > clock of
> > > > > > > > > 48MHz. Linux kernel version is 4.7.
> > > > > > > > > 
> > > > > > > > > When measuring the network bandwidth with iperf3 I
> > > > > > > > > get a
> > > > > > > > > bandwith of
> > > > > > > > > only around 5 Mbps. I found a similar thread at the
> > > > > > > > > Broadcom
> > > > > > > > > 
> > > > > > > > > community
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > [1] where the test was done with a M4 CPU + BCM43362
> > > > > > > > > and
> > > > > > > > > an
> > > > > > > > > average
> > > > > > > > > result of 3.3 Mbps.
> > > > > > > > > 
> > > > > > > > > Interestingly, a BCM43362 Wi-Fi Dev Kit [2] notes a
> > > > > > > > > TCP
> > > > > > > > > data
> > > > > > > > > 
> > > > > > > > > throughput
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > greater than 20 Mbps.
> > > > > > > > > 
> > > > > > > > > Why is the throughput I measured much lower? Note
> > > > > > > > > that I
> > > > > > > > > measured
> > > > > > > > > several times with almost no neighbor devices or
> > > > > > > > > networks.
> > > > > > > > > 
> > > > > > > > > This is a test sample measured with iperf3:
> > > > > > > > > 
> > > > > > > > >     $ iperf3 -c 192.168.2.1 -i 1 -t 10
> > > > > > > > >     Connecting to host 192.168.2.1, port 5201
> > > > > > > > >     [  4] local 192.168.2.155 port 36442 connected to
> > > > > > > > > 192.168.2.1
> > > > > > > > > 
> > > > > > > > > port
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > >     5201
> > > > > > > > >     [ ID]
> > > > > > > > > Interval           Transfer     Bandwidth       Retr 
> > > > > > > > >  Cwn
> > > > > > > > > d
> > > > > > > > >     [  4]   0.00-1.00   sec   615 KBytes  5.04
> > > > > > > > > Mbits/sec    0   56.6
> > > > > > > > >     KBytes
> > > > > > > > >     [  4]   1.00-2.00   sec   622 KBytes  5.10
> > > > > > > > > Mbits/sec    0   84.8
> > > > > > > > >     KBytes
> > > > > > > > >     [  4]   2.00-3.00   sec   625 KBytes  5.12
> > > > > > > > > Mbits/sec    0    113
> > > > > > > > >     KBytes
> > > > > > > > >     [  4]   3.00-4.00   sec   571 KBytes  4.68
> > > > > > > > > Mbits/sec    0    140
> > > > > > > > >     KBytes
> > > > > > > > >     [  4]   4.00-5.00   sec   594 KBytes  4.87
> > > > > > > > > Mbits/sec    0    167
> > > > > > > > >     KBytes
> > > > > > > > >     [  4]   5.00-6.00   sec   628 KBytes  5.14
> > > > > > > > > Mbits/sec    0    195
> > > > > > > > >     KBytes
> > > > > > > > >     [  4]   6.00-7.00   sec   619 KBytes  5.07
> > > > > > > > > Mbits/sec    0    202
> > > > > > > > >     KBytes
> > > > > > > > >     [  4]   7.00-8.00   sec   608 KBytes  4.98
> > > > > > > > > Mbits/sec    0    202
> > > > > > > > >     KBytes
> > > > > > > > >     [  4]   8.00-9.00   sec   602 KBytes  4.93
> > > > > > > > > Mbits/sec    0    202
> > > > > > > > >     KBytes
> > > > > > > > >     [  4]   9.00-10.00  sec   537 KBytes  4.40
> > > > > > > > > Mbits/sec    0    202
> > > > > > > > >     KBytes
> > > > > > > > >     - - - - - - - - - - - - - - - - - - - - - - - - -
> > > > > > > > >     [ ID]
> > > > > > > > > Interval           Transfer     Bandwidth       Retr
> > > > > > > > >     [  4]   0.00-10.00  sec  5.88 MBytes  4.93
> > > > > > > > >     Mbits/sec    0             sender
> > > > > > > > >     [  4]   0.00-10.00  sec  5.68 MBytes  4.76
> > > > > > > > >     Mbits/sec                  receiver
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > Not overly familiar with iperf3. Do these lines mean
> > > > > > > > > you
> > > > > > > > > are
> > > > > > > > > doing
> > > > > > > > > bidirectional test, ie. upstream and downstream at
> > > > > > > > > the
> > > > > > > > > same
> > > > > > > > > time.
> > > > > > > > > Another
> > > > > > > > > thing affecting tput could be power-save.
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > No, iperf3 does not support bidrectional test. Power-
> > > > > > > > > save 
> > > > > > > > > is
> > > > > > > > > turned
> > > > > > > > > off.
> > > > > > > > > 
> > > > > > > > > What does iw link say?
> > > > > > > > > 
> > > > > > > > 
> > > > > > > > but I guess it starts here!
> > > > > > > > 
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > I compared the results with a Cubietruck I have:
> > > > > > > > > 
> > > > > > > > > # iperf3 -s
> > > > > > > > > ---------------------------------------------------
> > > > > > > > > ----
> > > > > > > > > ----
> > > > > > > > > Server listening on 5201
> > > > > > > > > ---------------------------------------------------
> > > > > > > > > ----
> > > > > > > > > ----
> > > > > > > > > Accepted connection from 192.168.178.46, port 42906
> > > > > > > > > [  5] local 192.168.178.38 port 5201 connected to
> > > > > > > > > 192.168.178.46
> > > > > > > > > port
> > > > > > > > > 42908
> > > > > > > > > [ ID] Interval           Transfer     Bandwidth
> > > > > > > > > [  5]   0.00-1.00   sec  2.29 MBytes  19.2
> > > > > > > > > Mbits/sec                  
> > > > > > > > > [  5]   1.00-2.00   sec  2.21 MBytes  18.5
> > > > > > > > > Mbits/sec                  
> > > > > > > > > [  5]   2.00-3.00   sec  2.17 MBytes  18.2
> > > > > > > > > Mbits/sec                  
> > > > > > > > > [  5]   3.00-4.00   sec  2.09 MBytes  17.6
> > > > > > > > > Mbits/sec                  
> > > > > > > > > [  5]   4.00-5.00   sec  2.20 MBytes  18.5
> > > > > > > > > Mbits/sec                  
> > > > > > > > > [  5]   5.00-6.00   sec  2.64 MBytes  22.1
> > > > > > > > > Mbits/sec                  
> > > > > > > > > [  5]   6.00-7.00   sec  2.67 MBytes  22.4
> > > > > > > > > Mbits/sec                  
> > > > > > > > > [  5]   7.00-8.00   sec  2.62 MBytes  22.0
> > > > > > > > > Mbits/sec                  
> > > > > > > > > [  5]   8.00-9.00   sec  2.35 MBytes  19.8
> > > > > > > > > Mbits/sec                  
> > > > > > > > > [  5]   9.00-10.00  sec  2.30 MBytes  19.3
> > > > > > > > > Mbits/sec                  
> > > > > > > > > [  5]  10.00-10.03  sec  83.4 KBytes  23.5
> > > > > > > > > Mbits/sec                  
> > > > > > > > > - - - - - - - - - - - - - - - - - - - - - - - - -
> > > > > > > > > [ ID]
> > > > > > > > > Interval           Transfer     Bandwidth       Retr
> > > > > > > > > [  5]   0.00-10.03  sec  23.9 MBytes  20.0
> > > > > > > > > Mbits/sec    0             sender
> > > > > > > > > [  5]   0.00-10.03  sec  23.6 MBytes  19.8
> > > > > > > > > Mbits/sec                  receiver
> > > > > > > > > 
> > > > > > > > > # iw dev wlan0 link
> > > > > > > > > Connected to xx:xx:xx:xx:xx (on wlan0)
> > > > > > > > > 	SSID: xxx
> > > > > > > > > 	freq: 2437
> > > > > > > > > 	tx bitrate: 65.0 MBit/s
> > > > > > > > > 
> > > > > > > > > 	bss flags:	short-preamble short-slot-
> > > > > > > > > time
> > > > > > > > > 	dtim period:	1
> > > > > > > > > 	beacon int:	100
> > > > > > > > 
> > > > > > > > Too bad RSSI is not in the output above. That may be
> > > > > > > > due to
> > > > > > > > a
> > > > > > > > regression
> > > > > > > > in our driver which has been fixed by commit
> > > > > > > > 94abd778a7bb
> > > > > > > > ("brcmfmac:
> > > > > > > > add fallback for devices that do not report per-chain
> > > > > > > > values").
> > > > > > > > However,
> > > > > > > > the tx bitrate seems within the same range as the other
> > > > > > > > platform.
> > > > > > > > 
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > 
> > > > > > > > > The Cubietruck works also with the brcmfmac driver.
> > > > > > > > > 
> > > > > > > > > May it depend on the NVRAM file?
> > > > > > > > 
> > > > > > > > Not sure. Can you tell me a bit more about the custom
> > > > > > > > ARM
> > > > > > > > board.
> > > > > > > > Does
> > > > > > > > it
> > > > > > > > use the same wifi module as Cubietruck, ie. the AMPAK
> > > > > > > > AP6210?
> > > > > > > > If
> > > > > > > > you
> > > > > > > > can
> > > > > > > > make a wireshark sniff we can check the actual bitrate
> > > > > > > > and
> > > > > > > > medium
> > > > > > > > density in terms of packets. Another thing to look at
> > > > > > > > is
> > > > > > > > the
> > > > > > > > SDIO
> > > > > > > > host
> > > > > > > > controller. In brcmf_sdiod_sgtable_alloc() some key
> > > > > > > > values
> > > > > > > > are
> > > > > > > > used
> > > > > > > > from
> > > > > > > > the host controller. It only logs the number of entries
> > > > > > > > of
> > > > > > > > the
> > > > > > > > scatter-gather table, but could you add the other
> > > > > > > > values in
> > > > > > > > this
> > > > > > > > function that are used to determine the number of
> > > > > > > > entries.
> > > > > > > 
> > > > > > > My board uses the BCM43362 chip solely (no Bluetooth)
> > > > > > > attached to
> > > > > > > the
> > > > > > > SDIO interface of a NXP i.MX28 processor.
> > > > > > > 
> > > > > > > I added some additional printk() to
> > > > > > > brcmf_sdiod_sgtable_alloc().
> > > > > > > These
> > > > > > > are the values printed after modprobe brcmfmac:
> > > > > > > 
> > > > > > > [    8.926657] sg_support=1
> > > > > > > [    8.929440] max_blocks=511
> > > > > > > [    8.932213] max_request_size=261632
> > > > > > > [    8.935741] max_segment_count=52
> > > > > > > [    8.939005] max_segment_size=65280
> > > > > > > [    8.946095] nents=35
> > > > > > 
> > > > > > Thanks. That looks good.
> > > > > > 
> > > > > > > 
> > > > > > > 
> > > > > > > 
> > > > > > > 
> > > > > > > Additionally I attached a xz compresses wireshark sniff
> > > > > > > while
> > > > > > > running
> > > > > > > iper3 between the BCM43362 running as in AP mode with
> > > > > > > iperf3
> > > > > > > as a
> > > > > > > server and a PC in station mode running iperf3 as a
> > > > > > > client.
> > > > > > 
> > > > > > Looking at the sniff it seems you captured on the ethernet
> > > > > > side.
> > > > > > That
> > > > > > does not give me any 802.11 specific info. Can you make a
> > > > > > wireless
> > > > > > capture preferably without encryption.
> > > > > 
> > > > > You,re right! Sorry for this mistake. I did a re-capture on
> > > > > the
> > > > > wireless side now.
> > > > 
> > > > Anything new about this? Anything I can do to help?
> > > 
> > > I missed your previous email. Was already wondering whether to
> > > ping
> > > you.
> > > Digging around in my email folders I found it so will take a look
> > > at
> > > it.
> > 
> > Did you had some time to look at this?
> 
> Ehm. I still only see TCP stuff. To capture 802.11 management frames
> you
> need preferably a dedicated device using monitor mode [1].

Stupid me! Now I used a monitor interface on a desktop to monitor the
traffic between the BCM43362 operating in soft-AP mode and a notebook
operating in managed mode.

The BCM43362 runs the iperf server, the notebook the iperf client.

Best regards
Jörg Krause

[-- Attachment #2: bcm43362.pcapng.xz --]
[-- Type: application/x-xz, Size: 590240 bytes --]

  reply	other threads:[~2016-09-22 12:52 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 [this message]
     [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
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=1474548738.11992.2.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).