-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Investigate: Ariadne Misuses W5100 and W5200 #19
Comments
this is probably because of misuses of the RX Read Pointer Register (REG_S3_RX_RD0) and the TX Write Pointer Register (REG_S3_TX_WR0). this was reported by @MarekLew here and then copy to here A suggested fix can be found in misuses-Read-and-Write-Pointers branch Currently, I don't have a W5100 (or W5200), so it has still not been tested |
Tested with Mega+W5100. Attached are logs with the issue and without, after applying the suggested fix: the issue is obvious if you follow the message
|
From original project:
From @davidhaenggi on February 9, 2015 14:40
Hi
I downloaded the Ariadne-Bootloader to use it with a OpenMediaController.
It's based on a Atmega2560 and includes a Wiznet W5100 ethernet chip.
In general the bootloader works great, thanks for the nice work.
While trying to upload bigger firmware files I was running into the "64-Package" Problem.
For me it looks like the arduino is receiving a completely messed up message instead of package number 64. When it tries to read the source IP address of the package it gets some random IP and therefor tries to send a response to this random IP. Thats why the Wiznet chip tries to reach to gateway, because the random IP is not in its IP range.
Like this the arduino does not send any error for packet 64. The client repeats the packet and the transfer continues. With this changes I was able to set the TFTP_PACKET_DELAY to 0 and have a fast tftp transfer without any failures.
I know this is not a proper solution, but it works for me and I thought it may help someone.
The text was updated successfully, but these errors were encountered: