This is part of a project to build an acoustic coupler for some old German field telephones, but it might have other uses, too. It is, at least, an interesting way to move data from one computer to another.
Two Computers with Linux
Two cables with 3,5mm audio connectors
I am doing this on Fedora 24.
sudo dnf -y install minimodem kernel-modules-extra
I had to reboot in order to have
Connect both computer’s audio output to the audio input of each other computer.
4800 baud here, but depending on the quality, you might need to
choose a lower value.
The following needs to be done as
root on both machines:
$ modprobe slip $ slattach -v /dev/ptmx -s 4800 cslip started on /dev/ptmx ptsname /dev/pts/3 interface sl0
/dev/pts/3 which will probably be different for you. We will now go
and attach two instances of
minimodem to it, one for encoding and one for
$ minimodem -t 4800 </dev/pts/3 & $ minimodem -c 3 -r 4800 >/dev/pts/3 &
When this is done on both machines, we configure the interfaces. Do the following on both machines, but remember to switch 10.0.0.1 and 10.0.0.2 on one of the machines.
$ ip a a 10.0.0.1 peer 10.0.0.2/32 dev sl0 $ ip link set up sl0
If done correctly, it should be possible to ping the other machine. I get around 650 milliseconds of round-trip time. The large round-trip time is a good indicator that you are actually pinging the other machine instead of „yourself“.
This is audio, as such you may have to adjust volume and microphone sensitivity. It helps to listen to both outputs with a head-phone to see if anything is sent at all.
Also play with the confidence option (
-c) value for minimodem, which defaults to
Results may vary a lot. I was able to SSH from one machine to the other, despite 10% packet loss.
I have also seen, for the first time in my life, a damaged ICMP Echo Reply — very interesting!
64 bytes from 10.0.0.2: icmp_seq=10 ttl=64 time=648 ms 64 bytes from 10.0.0.2: icmp_seq=11 ttl=64 time=1267 ms wrong data byte #19 should be 0x13 but was 0x44 #16 10 11 12 44 54 64 74 84 94 a4 b4 c4 d4 e4 f4 3a 1f 0 c 1e 29 99 57 0 0 0 0 c9 41 7 0 0 #48 0 0 0 10 11 12 13 14 64 bytes from 10.0.0.2: icmp_seq=12 ttl=64 time=812 ms … 50 packets transmitted, 45 received, 10% packet loss, time 48997ms rtt min/avg/max/mdev = 612.806/664.631/1267.845/94.324 ms, pipe 2