I clicked through to read mainly because I was wondering whether this would to be converting data to audio and back, or “merely” doing something similar to DOCSIS.
Really cool and it’s nice how easy this is to pull off under Linux in user space. I can’t begin to think how many drivers I believe I’d need to write to do this on Windows.
One nitpick with regards to the invocation of Shannon’s law: the 1.5Mbps isn’t the max theoretical channel limit; that’s the max digital rate limit of the underlying digital tunnel OP chose (raw pcm, 16-bit, 48MHz, etc).
You could certainly do much better performance-wise and blow past the so-called 100% limit named in the post with a modern modulation scheme instead of the basic differential Manchester/bi-phase mark coding used by audio standards to define the modulation at the physical layer over toslink fiber. I think there are plenty of quadrature amplitude modulation open source libraries you could stick in there as a start, but you’d have to read/write raw signals to the toslink channel, not going through arecord and aplay.
It’s not as cursed as you’d think, considering DOCSIS puts IP in MPEG-2 framing…
And it’s a hell of a lot less cursed than “high speed” modems were.
I clicked through to read mainly because I was wondering whether this would to be converting data to audio and back, or “merely” doing something similar to DOCSIS.
RFC 4259 §1 contains one of my favourite cursed ASCII diagrams
Really cool and it’s nice how easy this is to pull off under Linux in user space. I can’t begin to think how many drivers I believe I’d need to write to do this on Windows.
One nitpick with regards to the invocation of Shannon’s law: the 1.5Mbps isn’t the max theoretical channel limit; that’s the max digital rate limit of the underlying digital tunnel OP chose (raw pcm, 16-bit, 48MHz, etc).
You could certainly do much better performance-wise and blow past the so-called 100% limit named in the post with a modern modulation scheme instead of the basic differential Manchester/bi-phase mark coding used by audio standards to define the modulation at the physical layer over toslink fiber. I think there are plenty of quadrature amplitude modulation open source libraries you could stick in there as a start, but you’d have to read/write raw signals to the toslink channel, not going through arecord and aplay.