Transfer files between Linux and Amiga over USB serial
Minicom Setup and simple file transfers
How do I get files transferred to my Amiga 500? I no longer own a PC with a floppy drive so
CrossDos is out. The solution is to use a NULL modem cable between my Linux box and the Amiga. Of course my computers don't have serial ports any longer so I need to use a USB to serial adapter.
Step 1 is to connect the serial adapter and find out what device name it has been assigned by Linux. To find the name type dmesg at the command prompt. You should see out like the following:
[177530.462262] usb 4-1: new full-speed USB device number 2 using uhci_hcd
[177530.874217] usbcore: registered new interface driver usbserial
[177530.874510] usbcore: registered new interface driver usbserial_generic
[177530.874617] usbserial: USB Serial support registered for generic
[177530.887604] usbcore: registered new interface driver pl2303
[177530.887680] usbserial: USB Serial support registered for pl2303
[177530.887705] pl2303 4-1:1.0: pl2303 converter detected
[177530.899495] usb 4-1: pl2303 converter now attached to ttyUSB0
As you can see on the last line the device name is
ttyUSB0. Now lets install minicom and X/Y/Z Modem tools on the Linux box. I prefer Arch Linux so the command may be different on your platform:
pacman -S minicom
pacman -S lrzsz
Now lets configure Minicom:
minicom -s
Make "Serial Port Setup look like the following:
+-----------------------------------------------------------------------+
| A - Serial Device : /dev/ttyUSB0 |
| B - Lockfile Location : /var/run |
| C - Callin Program : |
| D - Callout Program : |
| E - Bps/Par/Bits : 19200 8N1 |
| F - Hardware Flow Control : No |
| G - Software Flow Control : No |
| |
| Change which setting? |
+-----------------------------------------------------------------------+
Under "Screen and Keyboard" enable "Local Echo". Now select "Save setup as dfl" and exit Minicom.
Now we are ready to launch Minicom and connect to the Amiga. First we must connect a NULL Modem cable between the Amiga serial port and the USB to serial adapter on the Linux box. Now launch Minicom:
minicom
On your Amiga launch your favorite terminal program and configure your connection settings to match the Minicom settings. Out of habit I have always used Handshake on the Amiga side. Handshake is available on Aminet:
Now you should be able to type on the Amiga and have the text show up on the Linux box. Typing on the Linux box also echos on the Amiga. To transfer a file from the Linux box to the Amiga do the following:
From Inside Minicom:
- Hit CTRL-A Z
- Hit āSā for Send File
- Select YMODEM
- Find your file, select it with SPACE and hit ENTER
From the Amiga (
HandShake Configured to use YMODEM)
- Select Transfer -> Receive Binary File
- Enter the destination file: RAM:filename.lha
It can take a few seconds but if you did everything correctly the file will start to transfer.
Obviously this is clunky as hell. The next step will be to get Getty setup on the Linux box so we can login. This will give us full shell access to Linux and simplify file transfer.
Add ttyUSB0 to getty so the Amiga can act as a terminal to Linux
First we need to edit the serial-getty service to set the correct bard rate.
sudo nano /lib/systemd/system/serial-getty@.service
Comment out the existing
ExecStart line and add the following:
ExecStart=-/sbin/agetty 19200 %I $TERM
Now enable the service:
sudo systemctl daemon-reload
sudo systemctl enable serial-getty@ttyUSB0.service
Restart the Linux computer and now your Amiga can act like a terminal for the Linux box.
Set rows to 48 once connected
stty rows 48 cols 80