I was getting upwards of 7Mbit/sec on my TCP test, average of 2-4Mbit/sec.
Starting benchtx...
Benchmark client started.
Protocol: TCP
Remote IP Addr: 192.168.0.22
Remote Port: 7007
Message Size: 1272
Num. of messages: 10000
Megabytes: 12.720000 Seconds: 244.8360 KBits/Sec: 415.6252
05:22:13.841 -> Starting benchtx...
05:22:13.841 -> Benchmark client started.
05:22:13.841 -> Protocol: TCP
05:22:13.841 -> Remote IP Addr: 192.168.0.2
05:22:13.841 -> Remote Port: 7007
05:22:13.841 -> Message Size: 8192
05:22:13.841 -> Num. of messages: 10
05:22:13.841 ->
05:22:14.023 -> Megabytes: 0.081920 Seconds: 0.1620 KBits/Sec: 4045.4319
05:22:15.939 -> Starting benchtx...
05:22:15.939 -> Benchmark client started.
05:22:15.939 -> Protocol: TCP
05:22:15.939 -> Remote IP Addr: 192.168.0.2
05:22:15.939 -> Remote Port: 7007
05:22:15.939 -> Message Size: 8192
05:22:15.939 -> Num. of messages: 10
05:22:15.939 ->
05:22:16.120 -> Megabytes: 0.081920 Seconds: 0.1620 KBits/Sec: 4045.4319
05:22:17.987 -> Starting benchtx...
05:22:17.987 -> Benchmark client started.
05:22:17.987 -> Protocol: TCP
05:22:17.987 -> Remote IP Addr: 192.168.0.2
05:22:17.987 -> Remote Port: 7007
05:22:17.987 -> Message Size: 8192
05:22:18.079 -> Num. of messages: 10
05:22:18.079 ->
05:22:18.162 -> Megabytes: 0.081920 Seconds: 0.1400 KBits/Sec: 4681.1431
05:22:20.480 -> Starting benchtx...
05:22:20.480 -> Benchmark client started.
05:22:20.480 -> Protocol: TCP
05:22:20.480 -> Remote IP Addr: 192.168.0.2
05:22:20.480 -> Remote Port: 7007
05:22:20.480 -> Message Size: 8192
05:22:20.480 -> Num. of messages: 10
05:22:20.480 ->
05:22:20.655 -> Megabytes: 0.081920 Seconds: 0.1510 KBits/Sec: 4340.1323
05:22:22.455 -> Starting benchtx...
05:22:22.455 -> Benchmark client started.
05:22:22.455 -> Protocol: TCP
05:22:22.455 -> Remote IP Addr: 192.168.0.2
05:22:22.455 -> Remote Port: 7007
05:22:22.455 -> Message Size: 8192
05:22:22.455 -> Num. of messages: 10
05:22:22.455 ->
05:22:22.639 -> Megabytes: 0.081920 Seconds: 0.1620 KBits/Sec: 4045.4319
"T:\\arduino_1.8.10\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -c -O2 -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD -fno-exceptions -fpermissive -felide-constructors -std=gnu++14 -Wno-error=narrowing -fno-rtti -mthumb -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -fsingle-precision-constant -D__MK66FX1M0__ -DTEENSYDUINO=148 -DARDUINO=10810 -DF_CPU=180000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH "-IT:\\TEMP\\arduino_build_256171/pch" "-IT:\\arduino_1.8.10\\hardware\\teensy\\avr\\cores\\teensy3" "-IT:\\arduino_1.8.10\\hardware\\teensy\\avr\\libraries\\USBHost_t36" "-IT:\\tCode\\libraries\\TeensyASIXEthernet" "-IT:\\tCode\\libraries\\TeensyThreads" "-IT:\\tCode\\libraries\\FNET\\src" "T:\\tCode\\libraries\\TeensyThreads\\TeensyThreads.cpp" -o "T:\\TEMP\\arduino_build_256171\\libraries\\TeensyThreads\\TeensyThreads.cpp.o"
T:\tCode\libraries\TeensyThreads\TeensyThreads.cpp: In member function 'int Threads::setMicroTimer(int)':
[B]T:\tCode\libraries\TeensyThreads\TeensyThreads.cpp:385:3: error: 'context_timer' was not declared in this scope
context_timer.priority(255);
[/B]
^
Multiple libraries were found for "USBHost_t36.h"
Used: T:\arduino_1.8.10\hardware\teensy\avr\libraries\USBHost_t36
Multiple libraries were found for "ASIXEthernet.h"
Used: T:\tCode\libraries\TeensyASIXEthernet
Multiple libraries were found for "TeensyThreads.h"
Used: T:\tCode\libraries\TeensyThreads
Not used: T:\arduino_1.8.10\hardware\teensy\avr\libraries\TeensyThreads
Multiple libraries were found for "fnet.h"
Used: T:\tCode\libraries\FNET
Using library USBHost_t36 at version 0.1 in folder: T:\arduino_1.8.10\hardware\teensy\avr\libraries\USBHost_t36
Using library TeensyASIXEthernet in folder: T:\tCode\libraries\TeensyASIXEthernet (legacy)
Using library TeensyThreads at version 1.0 in folder: T:\tCode\libraries\TeensyThreads
Using library FNET at version 0.1.2 in folder: T:\tCode\libraries\FNET
Error compiling for board Teensy 3.6.
Are you using the newest version of TeensyThreads or the first one that supported T4.0? The first one had a typo that didn’t let it compile for T3.6 that he fixed in the newest update.
So there is some kind of bug regarding TCP transmit window size which is causing the speed to be diminished. ...
8.139112 MB/s
(open: 17995 us; close: 26000 us; write: min,max: 3964 3972 us)
I'm working on modifying some of the code from the usb serial driver so it actually uses the full queue buffer when it tries to send a lot of data instead writing a bunch of small buffers.
Looped: 12639339 LoopedUSB: 3507 LinkSpeed: 10BASE
Looped: 12639334 LoopedUSB: 3507 LinkSpeed: 10BASE
T:\T_Downloads\PSTools>psping64.exe -i 0 -q -n 10s 192.168.0.23
PsPing v2.10 - PsPing - ping, latency, bandwidth measurement utility
Copyright (C) 2012-2016 Mark Russinovich
Sysinternals - www.sysinternals.com
Pinging 192.168.0.23 with 32 bytes of data:
10 seconds (1 warmup pings) connecting test: 100%
Ping statistics for 192.168.0.23:
Sent = 640, Received = 640, Lost = 0 (0% loss),
Minimum = 0.56ms, Maximum = 1.90ms, Average = 1.22ms
0.035 102,400 23,506.119
0.034 102,400 24,274.031
0.016 102,400 52,427.793
0.016 102,400 52,428.800
0.031 102,400 26,217.252
Megabytes: 0.102400 Seconds: 0.0840 KBits/Sec: 9752.3810
Megabytes: 0.102400 Seconds: 0.0840 KBits/Sec: 9752.3810
Megabytes: 0.102400 Seconds: 0.0900 KBits/Sec: 9102.2222
Megabytes: 0.102400 Seconds: 0.0900 KBits/Sec: 9102.2222
Megabytes: 0.102400 Seconds: 0.0840 KBits/Sec: 9752.3810
Starting benchtx...
Benchmark client started.
Protocol: TCP
Remote IP Addr: 192.168.0.22
Remote Port: 7007
Message Size: 8192
Num. of messages: 10
Megabytes: 0.081920 Seconds: 0.0960 KBits/Sec: 6826.6667
Starting benchtx...
Benchmark client started.
Protocol: TCP
Remote IP Addr: 192.168.0.22
Remote Port: 7007
Message Size: 8192
Num. of messages: 10
Megabytes: 0.081920 Seconds: 0.1020 KBits/Sec: 6425.0980
Starting benchtx...
Benchmark client started.
Protocol: TCP
Remote IP Addr: 192.168.0.22
Remote Port: 7007
Message Size: 8192
Num. of messages: 10
Megabytes: 0.081920 Seconds: 0.0960 KBits/Sec: 6826.6667
Starting benchtx...
Benchmark client started.
Protocol: TCP
Remote IP Addr: 192.168.0.22
Remote Port: 7007
Message Size: 8192
Num. of messages: 10
Megabytes: 0.081920 Seconds: 0.1020 KBits/Sec: 6425.0980
Starting benchtx...
Benchmark client started.
Protocol: TCP
Remote IP Addr: 192.168.0.22
Remote Port: 7007
Message Size: 8192
Num. of messages: 10
Megabytes: 0.081920 Seconds: 0.1140 KBits/Sec: 5748.7719
Starting benchtx...
Benchmark client started.
Protocol: TCP
Remote IP Addr: 192.168.0.22
Remote Port: 7007
Message Size: 8192
Num. of messages: 10
Megabytes: 0.081920 Seconds: 0.0960 KBits/Sec: 6826.6667
I’m not sure about the latency increase, there shouldn’t be that much of a difference between previous versions and this new fix. I don’t think the way I’m cycling buffers has any kind of impact, at least not that much where it would drop from 8900 to 640.
Pinging 192.168.0.23 with 32 bytes of data:
10 seconds (1 warmup pings) connecting test: 100%
Ping statistics for 192.168.0.23:
Sent = 640, Received = 640, Lost = 0 (0% loss),
Minimum = 0.52ms, Maximum = 1.89ms, Average = 1.26ms
Pinging 192.168.0.23 with 32 bytes of data:
10 seconds (1 warmup pings) connecting test: 100%
Ping statistics for 192.168.0.23:
Sent = 8990, Received = 8990, Lost = 0 (0% loss),
Minimum = 0.27ms, Maximum = 2.01ms, Average = 0.90ms
I’ll have to rig up a fan to test at the higher clock speeds and see if it’s anything in my driver. Do you know if other usb devices work at the higher speeds?
Test logger_RawWrite
[B] F_CPU=960000000 deg C=65[/B]
uSDFS_VER:30_Jun_19_07_17
BUFFSIZE :8192
Dev Type :2:/
File System FS_EXFAT
Free Disk Size -1 clusters
Cluster Size 256 sectors
Sector Size 512 bytes
Change drive
A_00001.dat
stat FR_OK 0
opened FR_OK 0
................................................................
................................... (3021996 - 10.843164 MB/s)
(open: 15999 us; close: 20000 us; write: min,max: 2981 3986 us)
F_CPU=960000000 deg C=71
uSDFS_VER:30_Jun_19_07_17
BUFFSIZE :24576
Dev Type :2:/
File System FS_EXFAT
Free Disk Size -1 clusters
Cluster Size 256 sectors
Sector Size 512 bytes
Change drive
A_00001.dat
stat FR_OK 0
opened FR_OK 0
................................................................
.................................... (6122995 - 16.054888 MB/s)
(open: 42999 us; close: 83000 us; write: min,max: 4960 13961 us)