Skip to content

wfd3/hayes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

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).

Releases

No releases published

Packages

No packages published

Languages