- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello all - I have been using the demo console example program on 2 separate eval boards (DEV A and DEV B). I start Soft AP on DEV A and join the AP on DEV B. I set the data rate on both to 54. Using iperf -s on DEV A and iperf-c on DEVB the max rate I can achieve is 5.8Mbits/sec. I'm not sure but that data rate seems really low. I also tried UDP and the results where much worse.
That said is there way a way to get the data rate between the two devices up to somewhere around 50Mbits/sec. Is there a variable/constant/PCB jumper to jack the rate up? Is there a way to get more concurrent channels open between the two devices.
I plan on using TCP/IP in our upcoming design, and our requirements for throughput is in the 100Mbits/sec area.
Thanks in advance
Scott
Solved! Go to Solution.
- Labels:
-
SPI
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The 43362 is a 1x1 802.11n device with a theoretical maximum rate of 72 mbps (assuming short guard interval) or 65mbps otherwise. As Greg already mentioned environment and protocol overheads reduce that significantly.
Our testing has shown that, for ThreadX-NetX_Duo, the following throughputs are achievable from a BCM943362WCD4 device to a laptop via a router:
UDP Tx | 28.6 mbps |
UDP Rx | 39.6 mbps |
TCP Tx | 27.7 mbps |
TCP Rx | 13.3 mbps |
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
You need 100mbps? Or do you mean 10mbps?
The best theoretical max is about 60 percent of your max phy rate. So if your phy is 54 you are looking at 30mbps tcp. I may be off here since there are tricks to play to optimize this.
Did you try to replace cards with a laptop running iperf and associate to a 2.4G router?
How is your environment? Clean from other wifi noise or open air? You can also try laptop to laptop to see what your best case over the air can be.
You can increase your tcp window size in iperf with -w command. For exampie -w 256K in command line. This may help, but not that much.
Send me your exact setup and commands I'll see what I get in the chamber.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks Gangi - Yes I did mean 100Mbits/sec or the same speed as ethernet but over wifi- Is there a way to multiplex and use more channels with WICED. If I can't acheive 100Mbit/Sec with WICED, does Broadcom offer a 802.11/ac module available for embedded development activities.
Heres my setup
1. Laptop with 2 BCM943362WCD4 Eval boards connect via USB Com 12 and Com 14
2 Two Sessions of PutTTY running connected to the dev boards with these settings
2014-05-01 06:59:38 Opening serial device COM14
2014-05-01 06:59:38 Configuring baud rate 115200
2014-05-01 06:59:38 Configuring 8 data bits
2014-05-01 06:59:38 Configuring 1 data bits
2014-05-01 06:59:38 Configuring no parity
2014-05-01 06:59:38 Configuring XON/XOFF flow control
3. Each Device has the " test.console-BCM943362WCDR download run" target on the device. Devices are 1 meter apart.
4. iperf -s on Device A and iperf-c 192.168.0.1 on Device B. Log files are below
5. Log files for iperf server
> start_ap doogie wpa2 password 1
Setting IPv6 link-local address
IPv4 network ready IP: 192.168.0.1
> set_data_rate 54
> iperf -s
Spawning a listener.
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 8.00 KByte (default)
------------------------------------------------------------
Spawning a server.
[ ID] Interval Transfer Bandwidth
[ 0] 0.0-10.0 sec 6.98 MBytes 5.85 Mbits/sec
Spawning a server.
[ 0] 0.0-10.0 sec 7.49 MBytes 6.28 Mbits/sec
6. Log file for iperf client
> join doogie wpa2 password
Joining : doogie
Successfully joined : doogie
Obtaining IPv4 address via DHCP
Setting IPv6 link-local address
IPv4 network ready IP: 192.168.0.2
> set_data_rate 54
> iperf -c 192.168.0.1
------------------------------------------------------------
Client connecting to 192.168.0.1, TCP port 5001
TCP window size: 8.00 KByte (default)
------------------------------------------------------------
[ ID] Interval Transfer Bandwidth
[ 0] 0.0-10.0 sec 6.98 MBytes 5.86 Mbits/sec
> iperf -c 192.168.0.1 -w 256k
------------------------------------------------------------
Client connecting to 192.168.0.1, TCP port 5001
TCP window size: 8.00 KByte (WARNING: requested 256 KByte)
------------------------------------------------------------
[ 0] 0.0-10.0 sec 7.49 MBytes 6.28 Mbits/sec
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Scott,
WICED does not target bandwidth you are asking at this time. You may consider Broadcom WiFi radios with different CPUs.
- Seyhan
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The 43362 is a 1x1 802.11n device with a theoretical maximum rate of 72 mbps (assuming short guard interval) or 65mbps otherwise. As Greg already mentioned environment and protocol overheads reduce that significantly.
Our testing has shown that, for ThreadX-NetX_Duo, the following throughputs are achievable from a BCM943362WCD4 device to a laptop via a router:
UDP Tx | 28.6 mbps |
UDP Rx | 39.6 mbps |
TCP Tx | 27.7 mbps |
TCP Rx | 13.3 mbps |
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi nikvh,
Could you clarify the test setup to achieve the throughput listed in your post?
Is the measure performed at the application processor level using the WICED API?
When you do the transmission of packets, are you generating traffic from a WICED application running on the application processor? (I believe yes, just want to make sure).
Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi
Did you got the result as mentioned above ?
with stm32f429 mcu + sn800 i'm getting 1Mbits/s only
Any suggestion?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Which interface SDIO/SPI to connect WIFI ?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I'm using SDIO interface
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
How fast your SDIO clock ?
How to connect your WIFI via SDIO of MCU ? jump wiring or have custom PCB ?
SDIO interface is running in one-bit or 4-bit mode ? HighSpeed enable or not ?
If you connect your MCU SDIO to WiFi via jump wiring ! The throughput will NOT Good !
And you should running the throughput test in chamber !
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Actally I replcated the same behaviour on SN8000x Evaluation board from Murata. Which has support on Wiced.
SDIO 25Mhz, In EVB & my custom board its connected on PCB , I suppose 4 bit mode & high speed is enabled may be that's why I'm getting 25Mhz
I should be able to get a throughtput of at least 4-8Mb/s right?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Suppose 4Mb/s is reasonable number!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
But as per now I only get 1Mb/s (UDP packet creation+sending of 8ms).
How can I improve this?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Did you run throughput test via iperf in test.console ?
We are talking throughput result via iperf!
If you did not done it yet, You should do it now!
If you got the same low throughput! I guess your system is not well design in H/W!
You should review your H/W first!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Ok, i sorted it out .
I was using debug alongwith the build string which caused high duration of packet creation + sending, (not clear why is this)
When I removed it I got creation+sending under 200-400microseconds, which is a good throughput