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.