W5500 is running ok,but link PC directly the ping timeout is big (20 ms) and the throughout is just 1Mbps
Ethernet Chips
No replies yet. Be the first to reply.
Join the discussion.
Ethernet Chips
No replies yet. Be the first to reply.
Join the discussion.
Share projects and connect with makers.
Joined before the site update? first.
New to WIZnet Makers?
We sent a verification link to your address. Open it to activate your account, then log in.
Accounts from this email provider are reviewed by an administrator after verification. Approval usually takes one business day.
Already have an account?
Enter your email address. If it belongs to an account, we'll send a link to set a new password. Members who joined before the site update use this to set their password.
If an account uses that address, we sent a link to set a new password. The link works once and expires in 30 minutes.
Know your password?
Need an account?
RE: W5500 is running ok,but link PC directly the ping timeout is big (20 ms) and the throughout is just 1Mbps
by Eugeny ·
I recommend you installing Wireshark on the PC to obtain communication log with the device. There could be multiple causes for the issue, like
RE: RE: W5500 is running ok,but link PC directly the ping timeout is big (20 ms) and the throughout is just 1Mbps
by wiznetcannot ·
hello Eugeny,
i am sorry to disturb you .BUT i have met a problem and hope your help.
linux 3.18 with w5500 driver , read and write regs are ok .
Under macraw model ,but i cannot ping my w5500 wit pc
HOpe you help .Thx
RE: W5500 is running ok,but link PC directly the ping timeout is big (20 ms) and the throughout is just 1Mbps
by youngtao ·
thank you so much, Eugeny,
we will have a try, and give you our reply.
BR.
youngtao
RE: W5500 is running ok,but link PC directly the ping timeout is big (20 ms) and the throughout is just 1Mbps
by youngtao ·
I recommend you installing Wireshark on the PC to obtain communication log with the device. There could be multiple causes for the issue, like
hi,Eugeny,
today we find that there are no retransmission packets in all which are caught by wireshark tool.
and then we open the register function of no delayed ACK, but it doesn’t work to the timeout and throughout.
so you told us maybe its the linux w5500 driver bug, now we are checking the driver code, and could you please help us to review our w5500 driver code which is just uploaded? tkx a lot.
BR.
Youngtao
w5500.zip (737 KB)
RE: W5500 is running ok,but link PC directly the ping timeout is big (20 ms) and the throughout is just 1Mbps
by Eugeny ·
Before anything I would like to see wireshark packet trace log to see the timing. Please attach it. Thank you.
RE: W5500 is running ok,but link PC directly the ping timeout is big (20 ms) and the throughout is just 1Mbps
by youngtao ·
hi,Eugeny,
the packets of ping and iperf are attached, and the device IP is 192.168.1.2, the PC IP is 192.168.1.100, please check them. thx so much.
BR.
youngtao
pcap.zip (117 KB)
RE: W5500 is running ok,but link PC directly the ping timeout is big (20 ms) and the throughout is just 1Mbps
by Eugeny ·
Looking to the ping log I see that W5500 responds within 5-6ms for small packet size and large packet size, for packet size about 1K it responds within a 18 ms (e.g. 1280).
From test log I see that you allocated whole space of 16K for one socket. Packet size is 1214, and only two packets are being acknowledged in series (thus most of the allocated 16K buffer is not used). PC acknowledge comes almost immediately, and I see pattern in W5500 operation delaying its packets by ~8ms every time.
Here’re things you may need to focus on:
RE: W5500 is running ok,but link PC directly the ping timeout is big (20 ms) and the throughout is just 1Mbps
by youngtao ·
[quote=“Eugeny”]Looking to the ping log I see that W5500 responds within 5-6ms for small packet size and large packet size, for packet size about 1K it responds within a 18 ms (e.g. 1280).
From test log I see that you allocated whole space of 16K for one socket. Packet size is 1214, and only two packets are being acknowledged in series (thus most of the allocated 16K buffer is not used). PC acknowledge comes almost immediately, and I see pattern in W5500 operation delaying its packets by ~8ms every time.
Here’re things you may need to focus on:
ok,Eugeny,thx a lot,
16k buffer code is from Chinese fae, so we keep it not changed, and now we wanna use the 8socket function for big bandwidth, do you have w5500 linux driver reference code of the 8socket register, because Chinese fae can’t supply it to us.
for we are now 1Mbps by 1 socket, maybe use 8 socket it will be about 8Mbps, or 5Mbps is ok.
RE: W5500 is running ok,but link PC directly the ping timeout is big (20 ms) and the throughout is just 1Mbps
by Eugeny ·
If product you design is for commercial use, then wrong decisions on architecture may cause product sales issues.
Do you have TOR (terms of reference) defining who your customer is, and what functionalities this customer may want, and what exactly technical characteristics you should achieve?
Seems you do not want to take ownership or control over the architecture, relying on someone’s work - it is easy, but will not help success of your product. Point your Chinese FAE to this thread so that s/he reconsides the architecture of the solution.
This is very questionable assumption. 8 sockets will require more CPU load, and management of the data split between sockets, plus none will guarantee how W5500 will behave in response to your code design.
As I said - increase data load size to the buffer, this is first thing to try.
Ask WIZnet, check their software/driver download site. Most porbably you will find some libraries, but you should know that if you need performance (per TOR) standard solution may not be the best to use.
RE: W5500 is running ok,but link PC directly the ping timeout is big (20 ms) and the throughout is just 1Mbps
by youngtao ·
If product you design is for commercial use, then wrong decisions on architecture may cause product sales issues.
Do you have TOR (terms of reference) defining who your customer is, and what functionalities this customer may want, and what exactly technical characteristics you should achieve?
Seems you do not want to take ownership or control over the architecture, relying on someone’s work - it is easy, but will not help success of your product. Point your Chinese FAE to this thread so that s/he reconsides the architecture of the solution.
This is very questionable assumption. 8 sockets will require more CPU load, and management of the data split between sockets, plus none will guarantee how W5500 will behave in response to your code design.
As I said - increase data load size to the buffer, this is first thing to try.
Ask WIZnet, check their software/driver download site. Most porbably you will find some libraries, but you should know that if you need performance (per TOR) standard solution may not be the best to use.[/quote]
hi,Eugeny,
the buffer changing doesn’t work for the bandwidth, maybe the point of the bug is the working socket register NO. and by the way, our device memory is big enough for W5500, for the wifi bandwidth is 18Mbps or more in 5GHz channe. thx a lot, we will work out this bug according to you valuable suggestion.
BR.
YOUNGTAO
RE: W5500 is running ok,but link PC directly the ping timeout is big (20 ms) and the throughout is just 1Mbps
by Eugeny ·
Youngtao, while I was focusing on the data throughput, I forgot issue related to ping having about 18 ms response. Ping performance has nothing to do with host driver/data performance, thus there really seems to be a problem.
I have W5100 custom board, just have run test to ensure that it replies within less than 1 ms to the nearby PC’s ping response. TX/RX buffer size does not affect ping response performance (as far as I see in my test). Thus I decided to take a look onto your driver code, finding out that you use WIZnet standard driver. I also see the following line in dev.c
however bit 2 is indicated to be reserved in the datasheet, searching for it gave me the following source github.com/borg42/w5x00/blob/master/dev.c saying the following
1483 // TMODE_NOSIZECHK_RAW (0x04) is defined as "reserved" in w5500 as well as w5x00 datasheet! wtf? 1484 iinchip_outb(lp->regs.REG_TMODE, TMODE_PINGBLOCK /*| TMODE_NOSIZECHK_RAW*/);I would also disable this TMODE_NOSIZECHK_RAW bit setting in your driver (we can see it as being the undocumented functionality).
Further, I ask you please perform dump or whole “common register block” (0x0-0x39) after W5500 initialization is finished by the driver (e.g. before the driver goes to establishing/listening mode) - so that we can see which settings all the registers have and try to figure out potential issues.