EHS6 transparent sockets with TLS | Thales IoT Developer Community
February 20, 2018 - 4:44pm, 1670 views
We have an embedded device where we're using an EHS6 modem (REVISION 03.001 / A-REVISION 00.000.31) to upload relatively large files (~20 mb). Using FTP works but is very slow due to the limitations of the SISW calls, so I'm trying to use transparent sockets with a custom protocol instead. This seems to work well for transparent sockets without TLS, but I'm having a lot of trouble with TLS enabled (using a socktcps:// URL).
The problem is that the modem doesn't seem to send any data until it receives data back from the server. You can write data to the serial interface but nothing appears at the server end until the server sends at least one byte back. Then the modem will send whatever it has in its internal buffer but won't send any new data until the server sends something back again.
For testing I've got it connecting to an openssl s_server, and sending a simple message in a loop. I can see it connecting, but it doesn't send the message until I press enter or type something with ^D in the s_server window. Then it sends however many messages it's buffered since I last did anything. Using netcat as a server and connecting with a socktcp:// URL works just like I'd expect - messages arrive without the server sending any data back.
Is this expected behaviour? Is there a configuration setting I'm missing? I'm using ;timer=20 as part of the URL but I'm waiting minutes for the data to arrive at the server.