The command you're looking for is tape archiver, cunningly called tar
.
Technology
This is a most excellent place for technology news and articles.
Our Rules
- Follow the lemmy.world rules.
- Only tech related content.
- Be excellent to each another!
- Mod approved content bots can post up to 10 articles per day.
- Threads asking for personal tech support may be deleted.
- Politics threads may be removed.
- No memes allowed as posts, OK to post as comments.
- Only approved bots from the list below, to ask if your bot can be added please contact us.
- Check for duplicates before posting, duplicates may be removed
Approved Bots
Interesting. Is that some new project?
I tried that first! But tar
complains if it can't find the file header! So I still need to do some sort of packets. Unless you know some sort of workaround?
You're probably decoding noise or in the middle of the bit stream.
What you're looking for is called "preamble." That's a sequence of bits used to synchronize the decoder (marks the start of data, useful in modulation schemes for clock recovery, and a few other things).
Looking at minimodem's manual, try using the sync-byte option. Prepend your tar stream with a string of bytes, like 0x01, before sending to minimodem for encoding. Then use the sync code option to mark the start of the tar bit stream. This is as simple as cat preamble.bin myfiles.tar | minimodem --tx ....
Other things to consider: start small with 300 baud BFSK before speeding up. Test with wav files before attempting physical tape or speakers and a microphone.
Holy f… I thought you’re joking but yes tar is indeed a tape archiver
That is what tar stands for. Interestingly enough, tar is based on an older util called ar, which was just a generic archive.
Hmm... I think looking at this from a radio perspective isn't helpful. I found more resources when ignoring the media. Perhaps par2 or RAR would be useful? Generate error correction media first, then write to media.
Generally in radio, you could just request a retransmission, so I didn't find much from that angle.
You might also find something useful when looking at tape backup programs. You're not using LTO, but the principles are the same, so maybe there's some tooling that would be compatible.
I did use par2
and tar
to generate redundancy, but I still need a way to locate it in the bytestream. Tar doesn't seem to reliably mark the start or end of files :/
What are you using to control/access the tape? tar should handle that just fine, considering that's what it was originally made for.
I'm using a regular off-the-shelf tape recorder, it doesnt have an electronic interface, I just press play and record manually.
So how are you retrieving files? Writing down timestamps? Tar should be able to find the start of an archive if you give it a little lead-in.
Tar doesn't natively have an index to immediately seek to files in the tar archive, though I know that it's possible to extend it with an index somehow, because pixz will do a parallel LZMA compression that involves generating and using an index for tar archives.
EDIT: Oh, I think I see what you mean. You're saying that you want to use tar to store the redundancy files, not generate redundancy data for the file as a whole? Like, a tar of PAR2 files? I don't think that that'll work, because you'll want redundancy for tar's metadata too.
EDIT2: So what you want is a single bytestream with forward error correction, not a set of files that provide it.
kagis
It looks like this guy has an implementation, and says that he's using Reed-Solomon, but that it's also just his weekend project, so...shrugs
You may be interested in section 23.4 (non-rewinding tape device)