forked from arduino-libraries/Ethernet
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Workaround for hang when receiving data while waiting for transmission
- Loading branch information
Showing
4 changed files
with
76 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
176da0f
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks a lot @tryone144 This seems to fix arduino-libraries#166. Maybe you wanna try to initiate a pull request? Or let me know if I can help. I already failed issuing a pull-request due to an error ("Validation failed: must be a collaborator").
176da0f
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This "fix" is mostly based on the work by fredilarsen in arduino-libraries#78. This is a more brute-force approach to the fix proposed in the linked issue, as it forcefully resets the ethernet module.
In its current state, I would not classify this as production ready —
reset()
is missing the SPI transfer setup and does not work in the current state. Furthermore, in local testing this has some adverse effect on the internal DHCP flow (at least in my network). More testing is needed here...I created this fork mainly because I needed multiple different fixes from (multiple) pending PRs, that either have not been accepted yet, or their PRs have been closed in the meantime. Sadly, upstream's track record for accepting useful PRs is not that great. 😢
176da0f
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well, thanks for your insight! I will do further testing to see if we don't get other issues with e.g. dhcp. And hopefully I find time to understand what exactly you mean and maybe find a better solution. The issue itself is pretty disappointing for us, as we are usually looking for (as) bulletproof (as possible) solutions if we install controllers.
Still hoping this workaround is good enough for us! I was pretty exited about the resent tests.