<div dir="ltr">Thanks for your answer.<div><br></div><div>So I tried </div><div> echo c80001e0010101000000000000000000000000000000000000000000 | xxd -r -p | ethercat download -p0 -toctet_string 0X210C 0 -</div><div><br></div><div>but with no success as you see from the debug output as you see below.</div><div><br></div><div>What makes me wonder is that "data_size = 1" and "SDO download 0x210C:00 (1 bytes) ..." .</div><div><br></div><div>Even if some formatting error occurs,</div><div> echo c80001e0010101000000000000000000000000000000000000000000 | xxd -r -p</div><div>is never 1 byte long.</div><div><br></div><div>My etherlab version is not the newest, it is <span style="color:rgb(51,51,51);font-family:consolas,menlo,"liberation mono",courier,monospace;font-size:11.9px">4b0b906 .</span></div><div><font color="#333333" face="consolas, menlo, liberation mono, courier, monospace"><span style="font-size:11.9px">Can this be the reason?</span></font></div><div><font color="#333333" face="consolas, menlo, liberation mono, courier, monospace"><span style="font-size:11.9px"><br></span></font></div><div><font color="#333333" face="consolas, menlo, liberation mono, courier, monospace"><span style="font-size:11.9px">Regards,</span></font></div><div><font color="#333333" face="consolas, menlo, liberation mono, courier, monospace"><span style="font-size:11.9px">boris<br></span></font><div><br></div><div><br></div><div><div>[Thu Nov 3 00:39:26 2016] EtherCAT ERROR 0-0: Failed to process SDO request.</div><div>[Thu Nov 3 00:40:04 2016] EtherCAT DEBUG 0: ecrt_master_sdo_download(master = 0xffff880137222000, slave_position = 0, index = 0x210C, subindex = 0x00, data = 0xffff880138ce2ac8, data_size = 1, abort_code = 0xffff880036d2fd98)</div><div>[Thu Nov 3 00:40:04 2016] EtherCAT DEBUG 0-0: Scheduling SDO download request.</div><div>[Thu Nov 3 00:40:04 2016] EtherCAT DEBUG 0-0: Processing SDO request...</div><div>[Thu Nov 3 00:40:04 2016] EtherCAT DEBUG 0-0: Downloading SDO 0x210C:00.</div><div>[Thu Nov 3 00:40:04 2016] EtherCAT DEBUG: 2D</div><div>[Thu Nov 3 00:40:04 2016] EtherCAT DEBUG 0-0: Expedited download request:</div><div>[Thu Nov 3 00:40:04 2016] EtherCAT DEBUG: 00 20 2F 0C 21 00 2D 00 00 00</div><div>[Thu Nov 3 00:40:04 2016] EtherCAT DEBUG 0-0: Download response:</div><div>[Thu Nov 3 00:40:04 2016] EtherCAT DEBUG: 00 20 80 0C 21 00 10 00 07 06</div><div>[Thu Nov 3 00:40:04 2016] EtherCAT ERROR 0-0: SDO download 0x210C:00 (1 bytes) aborted.</div><div>[Thu Nov 3 00:40:04 2016] EtherCAT ERROR 0-0: SDO abort message 0x06070010: "Data type does not match, length of service parameter does not match".</div></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">2016-11-02 23:44 GMT+01:00 Gavin Lambert <span dir="ltr"><<a href="mailto:gavinl@compacsort.com" target="_blank">gavinl@compacsort.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 3 November 2016 10:13, quoth Boris Skegin:<br>
<span class="">> I have to sdo download an octet string of 28 bytes.<br>
><br>
> Upload apparently works:<br>
><br>
> $ ethercat upload -p0 -toctet_string 0X210C 0 | xxd<br>
> 0000000: c800 01e0 0101 0100 0000 0000 0000 0000 ................<br>
> 0000010: 0000 0000 0000 0000 0000 0000 ............<br>
><br>
> But trying to write back this octet string with something like<br>
><br>
> $ ethercat download -p0 -toctet_string 0X210C 0 c80001e00101010000000000000000<wbr>00000000000000000000000000<br>
> SDO transfer aborted with code 0x06070010: Data type does not match, length of service parameter does not match<br>
><br>
> does not work.<br>
><br>
> Do octet strings have some special format for SDO download?<br>
<br>
</span>You need to supply actual bytes, not hex literals. ie. the format the uploaded data was in before you piped it to xxd.<br>
<br>
I haven't tested this, but in principle you could do something like this:<br>
<br>
$ echo c80001e0... | xxd -r -p | ethercat download -p0 0x210c 0 -<br>
<br>
<br>
</blockquote></div><br></div>