[Linux-ham] Opus over 9600 baud KISS TNC

Kevin Otte nivex at nivex.net
Sun Aug 24 14:38:51 EDT 2014


tl;dr:
- Code is at http://www.nivex.net/svn/dvopus/
- I think I've got some buffering problems.

So, I had a crazy idea: send low bitrate (I chose 7.2Kbps based on what
other protocols are using for "high bitrate" to leave room for headers,
etc.) Opus data using 9600 baud KISS TNCs. I have a Kenwood TH-D7Ag and
a TM-D700A, both of which have those in it. Piece of cake, right?

Well, getting the encoding and the KISS framing coded up took some time,
but it was all pretty doable. Piping the output of the transmit program
to the receive program via an mkfifo works just fine (with headphones!
The delay is low enough to create feedback). Hooking it up to the
radios, notsomuch.

First I tried sending from the D7 to the D700. My ears heard data, but
the D700 never returned any frames. I flipped things around and data
started flowing, but it didn't stay that way for long.

The transmitter would burst a few frames, then unkey, and start again.
The txdelay is 200ms, so that was killing any real throughput. I imagine
the computer would be more than capable of keeping the buffer full so it
wouldn't have to unkey, so I wonder if I have the other problem. That
is, I'm swamping the buffer in the radio. These things were only ever
designed to send APRS frames, and KISS mode isn't even in the manuals.
Eventually I overran a receive buffer somewhere (probably missed a frame
separator) and tripped a failsafe in the code.

So, I have a prototype, but it doesn't really work. A partially blinking
"Hello World" LED is still an improvement over a doodle on the back of a
napkin, but this still might not be viable.

Some ideas for improving matters:
- Increase the bitrate, maybe 8Kbps
- Adjust the frame size. not sure whether to go up or down. Up (60ms)
would reduce the per-frame overhead but increase the latency. This might
help the buffering issue too.

Anyway, that's what I've been messing around with lately.

73 de Kevin N8VNR


More information about the Linux-ham mailing list