#modem

hackaday@xn--y9azesw6bu.xn--y9a3aq

Simple Universal Modem Helps Save and Load Data From Tape

image

Back in the early days of the home computer revolution, data was commonly saved on tape. Even better, those tapes would make an almighty racket if you played them on a stereo, because the data was stored in an audio format. The Simple Universal Modem from [Anders Nielsen] is built to work in a similar way, turning data into audio and vice versa.

The project consists of a circuit for modulating data into audio, and demodulating audio back into data. It's "universal" because [Anders] has designed it to be as format-agnostic as possible. It doesn't matter whether you want to store data on a digital voice recorder, a cassette deck, or an old reel-to-reel. This build should work fairly well on all of them!

On the modulation side of things, it's designed to be as analog-friendly as possible. Rather than just spitting out rough square waves, it modulates them into nice smooth sine waves with fewer harmonics. On the demodulation side, it's got an LM393 comparator which can read data on tape and spit out a clean square wave for easy decoding by digital circuitry.

If you find yourself trying to recover old data off tapes, or writing to them for a retrocomputing project, this build might be just what you need. [Anders] even goes as far as demonstrating its use with an old reel-to-reel deck in a helpful YouTube video.

There really were some weird ways of storing data way back when. Just ask IBM. Video after the break.

#mischacks #audio #modem #tape #tapedeck #tapestorage

canoodle@nerdpol.ch

GNU Linux bash - the ultimate (LTE) modem debugging one-liner

currently wrestling with a LTE modem, that used to work under Ubuntu, but refuses to work under Debian 11.

<span style="color: #00ffff;">while true; do echo "=== show modem status:"; mmcli -m 1|grep -e model -e primary -e state -e signal; echo -e "\n=== show routing table:"; route -n; echo -e "\n=== show arp table:"; arp -an; echo -e "\n=== ping a host 3x times:"; ip -c a; ping -c3 1.1.1.1; sleep 1; clear; done</span>


# info about the system
<span style="color: #00ffff;">lsb_release -d</span>
Description:    Debian GNU/Linux 11 (bullseye)

<span style="color: #00ffff;">uname -a</span>
Linux tuxedo 5.10.0-16-amd64 #1 SMP Debian 5.10.127-1 (2022-06-30) x86_64 GNU/Linux

<span style="color: #00ffff;">lsusb</span>
Bus 003 Device 005: ID 12d1:15bb Huawei Technologies Co., Ltd. ME936 LTE/HSDPA+ 4G modem

# sample output

=== show modem status:
           |                model: ME936
           |         primary port: ttyUSB0
           |                state: connected
           |          power state: on
           |       signal quality: 22% (recent)

=== show routing table:
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         37.80.230.59    0.0.0.0         UG    700    0        0 wwx022c80139263
37.0.0.0        0.0.0.0         255.0.0.0       U     700    0        0 wwx022c80139263
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 wwx022c80139263

=== show arp table:
? (37.80.230.59) at  on wwx022c80139263

=== ping a host 3x times:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: wwx022c80139263: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 02:2c:80:13:92:63 brd ff:ff:ff:ff:ff:ff
    inet 37.80.230.58/8 brd 37.255.255.255 scope global noprefixroute wwx022c80139263
       valid_lft forever preferred_lft forever
3: wlp52s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether 36:20:ec:72:3f:66 brd ff:ff:ff:ff:ff:ff permaddr 70:9c:d1:62:10:9c
5: enxa0cec851d79b: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether a0:ce:c8:51:d7:9b brd ff:ff:ff:ff:ff:ff
PING 1.1.1.1 (1.1.1.1) 56(84) bytes of data.
From 37.80.230.58 icmp_seq=1 Destination Host Unreachable
From 37.80.230.58 icmp_seq=2 Destination Host Unreachable
From 37.80.230.58 icmp_seq=3 Destination Host Unreachable

--- 1.1.1.1 ping statistics ---
3 packets transmitted, 0 received, +3 errors, 100% packet loss, time 2046ms

#linux #gnu #gnulinux #opensource #administration #sysops #lte #modem #debugging #debug #bash

Originally posted at: https://dwaves.de/2022/07/12/gnu-linux-bash-the-ultimate-lte-modem-debugging-one-liner/