-
Notifications
You must be signed in to change notification settings - Fork 402
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
[Firmware Update][Blockwise] #1615
Comments
I think this more a Californium question...
I don't know what you refer ? cf-simplefile-server ?
What does it mean exactly ?
Mb (mega bits) or MB (mega byte) ?
I don't know if I'm wrong somewhere but this means : 144042036 x 512 = 281332 message.
See also 4.4 - Message Correlation: (but If this is the reason, you should get same behavior when you test localy 🤔) So, I don't know ... again ask to Californium Project, they should know better than me. Also using CoAP for large payload could be a not so good idea : https://github.com/eclipse-leshan/leshan/wiki/Using-CoAP-Block-Wise-to-transfer-large-file-%3F |
About:
I got this SimpleFileServer and I put it as a RootResource.
After a while the server stops to receive the client ACK. The server sends the exchange, but I dont see the response.
In this case, the file has 150MB almost, but I have one file that has 450MB.
I don't know if The problem is there, because I got the file after a time locally.
In the firmware updates, can I write directly into 5/0/0, even if the client only supports COAP and COAPS requests? |
Wireshark / tcpdump : https://github.com/eclipse-californium/californium/wiki/Logs-and-IP-Capturing-%E2%80%90-How-To-Provide-The-Right-Information#ip-capturing
Theoretically, you can. In practice, I'm not sure is a good idea for reason explain in wiki page I shared. |
if you write to /5/0/0 large resource, be careful the default LeshanServer::send() timeout is 2 minutes; if you continue to send such a large payload, it will timeout for sure. To add my 2cents about why it's not a good idea: https://vermillard.com/post/coap-vs-tcp/ |
Maybe RFC9177 - Constrained Application Protocol (CoAP) Block-Wise Transfer Options Supporting Robust Transmission could help but I'm not sure there is implementation available. (For sure neither Californium or java-coap support it)
|
I tryed to change the blockwise parammeters without success. But, something interesting that I see in my tests was the Deduplicator. The server's behavior is this, at first everything goes well, with CoapServer in main and the moment the problem occurs is when org.ecl.cal.cor.net.ded.SweepDeduplicator is called. What does It means? |
I looked at the log and I only see that about Deduplicator:
I didn't check but I just guess that this a thread witch execute the "sweep" task every 10 seconds. Again maybe you face a protocol limitation regarding the number of block message you need to send and the MID size but I guess this log isn't related to that. Knowing that you want to download a firmware package ~150 / 450 MB, I guess your device is not a so constraint one. |
Question
Hello, I'm newer in lwm2m and I'm learning, so if I miss something forgive me.
I made a file transfer using the CaliforniumServerEndpointsProvider as base. I changed the RootResource for other implementation that controls the files.
The class I get from here: #70 (comment)
I tested locally and It works pretty well, but when I tested on the server I get every time a delay:
logPart.txt
This occurs randomly, sometimes after about 20 transmissions, sometimes after 500 transmissions.
The server configuration that I'm using is here. This is in default mode, I only changed the MAX_RESOURCE_BODY_SIZE, PREFERRED_BLOCK_SIZE and MAX_RETRANSMIT, because the files are more than 300Mb.
config.txt
I don't know where is the error, if I lost something, if I need to increase some value on the configs, or decrise, if I can get more logs to validate the message...
I would be grateful if someone could help me!!
The text was updated successfully, but these errors were encountered: