Dialing into a BBS with a modem in 2024 (2024-02-12)

It is 2024 and we have Sonic Fiber, Starlink, and Verizon UWB here… but we need to go retro. Retro is painful. Retro Internet leaves no room for romanticizing the good old times of dial-up internet. That was miserable.

I am using the Grandstream ATA VoIP box Sonic.net gave me and the USB modem mentioned below. What made this work over VoIP is AT+IPR=2400!!


Here are my modem scripts:

~/wvdial_autoconnect.sh

#!/bin/bash

# Check for root privileges and restart with sudo if necessary
if [ "$(id -u)" -ne 0 ]; then
   echo "Attempting to restart script with root privileges..."
   exec sudo "$0" "$@"
   exit $?
fi

while true; do
    # Attempt to connect
    wvdial

    # Wait for a few seconds after disconnection before attempting to reconnect
    sleep 10
done

/etc/wvdial.conf

[Dialer Defaults]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
;;Init3 = AT+IPR=2400
Init3 = AT+IPR=9600
Modem Type = USB Modem
Baud = 460800
New PPPD = yes
Modem = /dev/ttyACM0
ISDN = 0
Phone = 1650xxxyyyy
Password = "your dialup password"
Username = your_dialup_username

Lets create an account on https://noip.com/ and update it often with the IP address of the ppp0 adapter.

./update-noip.sh

#!/bin/bash

set -aueo pipefail

while true; do
    # no-ip account details
    USER="your-email-address-login-for-no-ip.org@gmail.com"
    PASSWORD="your-no-ip.org-password"
    HOST="your-host.ddns.net"

    IP=$(ip addr show ppp0 | grep 'inet ' | awk '{print $2}' | cut -d/ -f1)
    
    URL="http://dynupdate.no-ip.com/nic/update?hostname=${HOST}&myip=${IP}"
    curl --user $USER:$PASSWORD $URL
    
    if [ $? -eq 0 ]; then
        echo "DNS record for ${HOST} updated to ${IP}"
    else
        echo "Failed to update DNS record for ${HOST} to ${IP}"
    fi
    sleep 60
done

I actually run a dial-up server once in a while here: http://asr033.ddns.net/ (It is always interesting to see what creatures connect to this extremely slow and unreliable machine.)