<div dir="ltr"><div dir="ltr">I'm attempting to pipe output from the rtl_sdr command - think of it as raw bytes if you're not familiar with it - to a ring buffer. The purpose of doing this is to create multiple such processes and synchronise their output.<div><br></div><div>I've come across multilog (from daemontools) that allows you to pipe data in and it sends that data into a collection of rotating files and it internally tracks overall size and renames "current' to the latest timestamp, deleting the oldest - the point being that all data is kept sequentially within the files and tail -F can get the current output.</div><div><br></div><div>Furthermore, I'm sending the output from rtl_sdr - again, just raw data - to a named pipe and directing that to multilog.</div><div><br></div>A trivial script to do this looks like this:<br><ul><li>mkfifo sdr_0<br></li><li>mkdir sdr_bufffer<br></li><li>multilog  ./sdr_buffer/ < ./sdr_0 &<br></li><li>rtl_sdr -f 99.3M ./sdr_0 &<br></li></ul><div>To get the output at the other end, you can use:</div><div><ul><li>tail -f ./sdr_buffer/current</li></ul><div>The reason for the named pipe is to have the ability to "inject" extra data, so we can add extra samples, thus changing the difference between multiple versions of this process running side-by-side in their own logging buffer (essentially running the above script in several separate directories).</div></div><div><br></div><div>The problem I'm having is that the data from rtl_sdr doesn't actually end up in the log. It's massively truncated and mangled. Even using a binhex encoder between the raw output and the multilog process doesn't get the data to the other end - I thought it might only want to deal with actual ASCII text.<br></div><div><br></div><div>I've also created a test file and have attempted to send that through multilog, but that too is not getting through properly.</div><div><br></div><div>I'm expecting to be able to do "tail -F ./sdr_buffer/current > mynewfile"</div><div><br></div><div>I'm also expecting mynewfile to be identical to the raw file I pipe in thus:</div><div><ul><li>multilog ./sdr_buffer/ < raw_file</li></ul></div><div>What am I missing?</div><div><br></div><div>Is there a better way?</div><div><br></div><div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr">Onno Benschop<br><br>()/)/)()        ..ASCII for Onno..<br>|>>?            ..EBCDIC for Onno..<br>--- -. -. ---   ..Morse for Onno..<br><br><span style="color:rgb(136,136,136)">If you need to know: "What computer should I buy?" </span><a href="http://goo.gl/spsb66" style="color:rgb(17,85,204)" target="_blank">http://goo.gl/spsb66</a><div><br>ITmaze   -   ABN: 56 178 057 063   -  ph: 04 1219 8888   -   <a href="mailto:onno@itmaze.com.au" target="_blank">onno@itmaze.com.au</a></div></div></div></div></div></div>