I am working with a w5100 chip and hitting a 1500 byte limit. Once I send data above (1500-20-8) the 1472 byte limit, all communication fails to be received. I believe it is due to a const buffer for the MTU hardcoded default but I need to enlarge it to a JUMBO sized MTU of around 9k.
Where can I start looking to change this value?
I am working with the Arduino IDE, and
W5100.cpp
Ethernet.cpp
EthernetUDP.cpp
We are working on using your product in our new company project.
Current proof of concept test bed, Arduino due and a adruino Ethernet shield version1 with w5100 chip, connected to a computer to read the UDP stream. Before we tackle the DSP on the UDP streams.
You can implement your own UDP handling using IPRAW mode of the W5100. Will be slower that built-in UDP stack, but max buffer size of the single socket can be up to 8KB, thus the maximal packet it can receive at once. However you should be fast enough to remove data from the RX buffer to free buffer space for next incoming packet.
If you need 9KB packet then W5100 will physically be unable to receive it properly under any circumstances.
that should be more than enough, really the packets being sent looked like 6k packets when i looked at the numbers.
now i just need to looking into a guide for ipraw. i understand the concept but need to look over the guide and find the commands for accessing the w5100 through ipraw
When designing driver for handling of such bug packets ensure you remove them as soon as possible from RX buffer because if there is no space for UDP packet (or just IP packet) in the buffer, packet will just be discarded, and it will be ither lost completely or you will have to request it again using some custom data flow protocol. Use TCP instead!
after looking over the data i understand what we are trying to do but alot of the code variables does not match the w5100.h or w5100.cpp underscores inserted and other.
when i start trying to enter these into the void loop(), i keep getting issues with undeclared variables.
it seems alot of variables are not declared in the w5100.h or w5100.cpp
how should i start approaching this.