Finding the ATAboy serial port

The easiest way is to watch the kernel log while plugging the device in:

sudo dmesg --follow

Then connect the ATAboy over USB.

In my case, Ubuntu reported:

usb 1-3: new full-speed USB device number 8 using xhci_hcd
usb 1-3: New USB device found, idVendor=cafe, idProduct=4005
usb 1-3: Product: ATAboy
usb 1-3: Manufacturer: Obsolete Tech
usb 1-3: SerialNumber: 654321
cdc_acm 1-3:1.0: ttyACM0: USB ACM device
usb-storage 1-3:1.2: USB Mass Storage device detected
scsi 9:0:0:0: Direct-Access     ATAboy   Hard Drive
sd 9:0:0:0: [sdg] Attached SCSI removable disk

The important line is:

cdc_acm 1-3:1.0: ttyACM0: USB ACM device

So the ATAboy's serial console is:

/dev/ttyACM0

The /dev/sdg device shown later is the mass-storage interface, not the serial console.

You can also check serial devices directly:

ls /dev/ttyACM* /dev/ttyUSB* 2>/dev/null

For a more persistent identifier, try:

ls -l /dev/serial/by-id/

This is useful if you regularly have several USB serial devices attached.

Installing PuTTY on Ubuntu

PuTTY is available directly from Ubuntu's repositories:

sudo apt install putty

Start it with:

putty

Under:

Connection -> Serial

configure the serial connection as follows:

Serial line: /dev/ttyACM0
Speed:       9600
Data bits:   8
Stop bits:   1
Parity:      None
Flow control: None

One important detail here is the baud rate.

The ATAboy documentation specifies:

9600 8N1, no flow control

I initially tried 115200, which is a common baud rate for embedded serial consoles, but that is not what ATAboy specifies.

Likewise, PuTTY may default to XON/XOFF flow control. Change that to:

None

If PuTTY opens but nothing appears

A blank terminal does not necessarily mean the USB connection is broken.

First, press Enter a couple of times.

If that still produces nothing, double-check these settings:

9600 baud
8 data bits
1 stop bit
No parity
No flow control

You can also reconnect or reset the ATAboy while the terminal is open.

A successful serial connection should display the ATAboy configuration interface.

Checking serial-port permissions

On Ubuntu, serial devices are normally owned by the dialout group.

Check the device:

ls -l /dev/ttyACM0

And check your current groups:

groups

If dialout is missing, add your user:

sudo usermod -aG dialout "$USER"

Then log out of your desktop session and log back in.

There should be no need to run PuTTY as root.

Checking whether another program has the port open

If PuTTY behaves strangely, another application may already have /dev/ttyACM0 open.

Check with:

sudo lsof /dev/ttyACM0

If nothing is returned, the port is currently unused.

Using a terminal instead of PuTTY

PuTTY isn't required. Any suitable serial terminal can be used.

For example, using screen:

screen /dev/ttyACM0 9600

Or with picocom:

sudo apt install picocom
picocom -b 9600 --flow n /dev/ttyACM0

To leave picocom:

Ctrl+A
Ctrl+X

Identifying the mass-storage device

Once the ATAboy exposes the attached IDE drive, Linux will also present it as a normal block device.

In my kernel log it appeared as:

/dev/sdg

You can inspect disks with:

lsblk

For an old or potentially valuable disk, don't immediately mount it read/write. It is generally safer to make a complete image first before allowing the operating system to modify anything on the disk.

The short version

On Ubuntu, connect the ATAboy and run:

sudo dmesg --follow

Look for:

cdc_acm ... ttyACM0: USB ACM device

Then connect your terminal to:

/dev/ttyACM0

using:

9600 baud
8N1
no flow control

For example:

screen /dev/ttyACM0 9600

The ATAboy then provides its serial configuration interface while the attached IDE disk is separately exposed to Linux as a USB mass-storage device.

References