Skip to content
sairuk edited this page Feb 9, 2022 · 1 revision

TCPser

Introduction

Its a software Hayes compatible modem, that old blinking music box that used to take us around the world.

Theoretically you can configure and run multiple software modems on different ports physical or virtual and as such I have made this tool support that scenario.

Modes of operation

  • physical serial devices beit onboard or USB support
  • virtualised devices (VICE RS232) listening on a port for connection

Installation

Under the "Install Things" menu, choose the appropriate menu item "TCPSer ....", this will kick off the ansible configuration, the playbook will

  • Add retronas user to the dailout group
  • Compile the software from the fozztexx fork
  • Create a configration dir at /opt/retronas/etc/tcpser
  • Copy the tcpser executable to /opt/retronas/bin/

Configuration

Under the "Run Tool and Scripts" menu choose "Configure a TCPSer Software Modem", from here you can create and or manage modems (nb: Modems once running are installed as systemd services).

A device is consider unique based on listen port at this stage

Create/Edit (Virtual) Device**

The configuration is basically the same between modes, where the differences are only in the device option.

  • physical will have a device node
  • virtual will have a listening port
Option Default Description
Device /dev/ttyUSB0 or 23553 Configure the target host device or port for the modem, i.e. where will the client be connected to
Listen Port 23456 The TCP port for traffic incoming connections
Speed 9600 Port speed (i.e. baud rate), the client config much match
Init String Z The modem initialization string without the AT prefix
Additional blank Additional command line parameters to pass to the modem, see tcpser --help
Mode PHYSICAL or VIRTUAL Determines if the device is passed as -d or -v to the modem

Start/Query/Stop Modem

These options will execute the appropriate systemctl commands to start/enable, query status or stop/disable the modem service

Enter the listen port number of the device to manage

Notes

  • When you leave the Create/Edit dialog the config will be saved to the configuration dir as tcper-listen_port.
  • The configuration is then used as an EnvironmentFile in the systemd unit instance.
  • The virtual VICE RS232 device is useful for getting emulated machines online where TCP is present on the host system and serial is present in the machine (e.g. MAME bitbanger)

Getting an AMIGA 500 online with RetroNAS TCPSer (RPI4).

This is a very basic guide for what it took to get my Amiga 500 online to test this implementation

What you will need

RetroNAS side

  • RetroNAS tcpser branch on an RPI4 TCPser installed
  • USB Serial Adapter at /dev/ttyUSB0

Amiga 500 Side

  • Amiga 500
  • A-Talk III ADF (and a way to boot it)

Setup

  • Configure a tcpser software modem for the PHYSICAL device on the RPI
Option Default
Device /dev/ttyUSB0
Listen Port 23456
Speed 9600
Init String Z
Additional blank
Mode PHYSICAL
  • Connect a null modem cable between the two devices A500 serial to PC USB serial.
  • Boot up A-TALK III on the Amiga 500
  • Right click
  • -> Settings -> Match the baud rate, leave the rest as default
  • -> Terminal -> Emulator -> ANSI
  • -> Phone -> Dial -> Enter a telnet BBS address (e.g. bbs.fozztexx.com)

The connection should be successful, if you have issues check the modem service status and/or restart it and try dialing again.

Home

Getting started:

Contributing

Multi-system protocols:

Specific system configurations:

Services:

Tools:

Physical Media:

On-Device Management:

Advanced Topics:

  • Storage
    • BtrFS RAID, Snapshots, Compression, Deduplication
    • FAT Advanced guide to using FAT loopback mounts for EtherDFS
    • TBA
      • SMR Shingled Magnetic Recording hard drives (TBA)
      • NTFS Advanced guide for NTFS formatted disks
      • SMB Loopback Mounting an existing SMB NAS
      • NFS Loopback Mounting an existing NFS NAS
      • MDRAID (TBA)
      • LVM (TBA)
      • iSCSI Configuring iSCSI
  • Networking
    • Standalone Independent standalone network
    • Zoned Firewall zones for retro and modern networks
    • DHCP Basic DHCP on the Ethernet device

Other:

Clone this wiki locally