Hayes
Hayes Modem emulator for Raspberry Pi
Install / Use
/learn @wfd3/HayesREADME
Hayes
Connect vintage computers to the Internet. Turn a Raspberry Pi 3, some associated hardware bits, and some Go into a fully functional and RS-232 compliant Hayes Smartmodem.
Command line options:
-addressbook file
Address Book file (default "./addressbook.json")
-keyfile file
SSH Private Key file (default "./id_rsa")
-logfile file
Default log file (default stderr)
-nossh
Don't start SSH server (default false)
-notelnet
Don't start telnet server (default false)
-serial device
Serial device (eg, /dev/ttyS0)
-speed speed
Serial Port speed (bps) between DTE and DCE (default 115200)
-sshport port
Network port number for inbound sshd sessions (default 22000)
-syslog
Log to syslog (default false)
-telnetport port
Network port number for inbound telnet sessions (default 20000)
Modem commands supported:
- ATA - Answer
- ATD - Dial
- ATE - Command state echo
- ATH - Hook command
- ATL - Speaker volume
- ATM - Speaker on/off
- ATO - On-line command
- ATQ - Result code options
- ATS - Register commands
- ATV - Result code fomat
- ATW - Negoitation Progress message selection
- ATX - Call progress options
- ATZ - Soft reset
- AT&C - Carrier Data Detect (CDC) options
- AT&D - Data Terminal Read (DTR) options
- AT&F - Recall factory profile (factory reset)
- AT&S - Data Set Ready (DSR) options
- AT&V - View Configuration Profiles
- AT&W - Write active profile to memory
- AT&Y - Select stored profile for hard reset
- AT&Z - Store telephone number
Modem Command Extensions:
- AT* - Show internal state
- AT*network - Show network status
- AT*ledtest - Run the LED test
- AT*help - debug comamnd help
- ATDHhost:port - Dial host:port
- ATDEhost:port|username|password - Dial host:port|username|password using an SSH tunnel
- AT&Zn=D - Delete phone book entry n
- NOTE: The addressbook configuration file allows phone number:<host, port, protocol, ... > mapping to enables traditional number based dialing.
"Faked" Modem Commands (perform no action but return OK):
- ATB
- ATC
- ATF
- ATI - Internal tests (just parrots a Hayes Smartmodem 96)
- ATN
- ATP
- ATT
- ATY
- AT&A
- AT&B
- AT&G
- AT&J
- AT&K
- AT&L
- AT&M
- AT&O
- AT&Q
- AT&R
- AT&T
- AT&U
- AT&X
RS232 compliance:
- SD/TX, RD/RX, DSR, DTR, RI, DCD pins are supported.
- RTS/CTS flow control is not (AT&K0 is set), alhough the pins are active.
Parts needed:
- Raspberry Pi 3
- MAX3232 IC's (3)
- DB9
- Some jumpers
- Some LEDs and resistors
The docs/ directory has some basic pin mappings and a crude Fritzing diagram (https://github.com/wfd3/hayes/blob/master/docs/Modem%201.fzz).
Related Skills
node-connect
341.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
84.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
341.0kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
84.4kCommit, push, and open a PR
