Workshops

Workshops / Background reports / Book introductions

1. Workshop: Building a network with AmigaOS and Linux (by Uwe Pannecke)

»Beam me up, terminal

A mini network

1. Data exchange in a computer interconnection

According to the latest statistical poll, the times when only every 50th household in Germany had a computer are finally over. And it seems not too rare that you find more than one computer in an apartment. Quite often the computer of the parents is only separated by a single wall from the computer of the kids. And no matter which operating system crashes them, how often does one want to transfer data, be it pictures, texts, music or anything else, without mutating into a disk jockey. And what would be better than to connect those computers with each other? The most universal solution would be the connection via a real network. But while network boards for the Wintel PC can be found everywhere and cost almost nothing, the situation on the Amiga side of things is quite different. Buying two boards to connect two Amiga with each others can inflict light to serious monetary damage to the user. But if it isn't necessary to transfer Gigabytes of data at high speed, you can create a cheap mini network with simplest equipment using the serial or parallel ports. The following is an example of a nullmodem connection through two terminal programs between AmigaOS and Linux. The method can be used with other operating systems as well.

2. Hardware

Depending on the desired port, you need a so called nullmodem cable either for the serial or the parallel port. Although the parallel port offers a higher speed, it is often already occupied by a printer, that's why we are using a serial connection in this example. The first hurdle is to get a nullmodem cable for the serial port. If you know which side of the soldering iron gets hot, you can make it yourself. Several program packages for Par- and Sernet connection found in Aminet feature good documentations. A good explanation in German can be found at [1]. It explain thoroughly which pins of both connectors have to be connected. Besides the connector, you also need a cable with at least seven wires, which can get as long as 4 or 5 meters. If you don't trust in your own soldering skills and don't want to waste your precious CIA chips by trying, you can get a suitable cable at most bigger department (computer) stores. Make sure you really buy a nullmodem cable for serial connection. This must be states explicitly on the package. Since those cable have 9 pin connectors in most cases, but the Amiga has a 25 pin interface, you will also need an 9/25 pin adapter. If you are going to use an interface card like the MultifaceCard, you will most likely have an 9 pin connector an this card and spare the adapter.

3. Software

The best cable isn't worth anything when there's no software to coordinate the data transfer. Terminal programs are suited quite well for our purpose and can be found in vast numbers for most operating systems. I picked two of them for our example.

3.1 AmigaOS

For several years now, it is THE terminal program on the Amiga, written by nobody else then Olaf Barthel. "Term" is its imaginative name and it's giftware. You can find version 4.7 in Aminet [2]. For a complete installation you need the archives "term_main.lha", "term_libs.lha", "term_extras.lha" and "term_locale.lha". "term_030.lha" contains a version optimized for the 030 CPU. After unpacking and installing Term, we come to the most important part: the configuration. If you let your mouse move along the menu bar, you are almost overwhelmed by all those options, especially in the configuration menu.

Screenshot

Don't be afraid, but boldly move on instead. An elementary menu entry is "Settings/Serial...". Here you need to set the baudrate (in other words the connection speed, which will work only at 57600 bps with an 030 CPU or better when using the standard serial port; when using an interface card (in our case a MultiFaceCard III) you can go as high as 115200 bps), the bits per character (here: 8), the parity (here: None), the number of stop bits (here: 1) and the protocol (here: RTS/CTS/check DSR) under "Parameters". Don't forget to write these values down, because the terminal program on the other computer will need the same configuration to be able to communicate with the other side.

Screenshot

Then you need to set up the interface under "Device". The internal (standard) interface is accessed via "serial.device". For the MultiFaceCard the correct device is "duart.device". The device number would be "0" for the internal interface, with interface card it depends on the number of ports available and which port of them is used (here: "1" for the second port on the MultiFaceCard III).

Screenshot

The modem configuration ("Settings/Modem...") can remain as it is. But you should set up where to send data from and where to store incoming transmissions using "Settings/Paths...".

Screenshot

Now save your configuration for permanent use. "Term" is now ready for its first job.

3.2 Linux

A suitable program that's part of almost every distribution is "Minicom" [3]. It has been developed and enhanced for years by several authors like Miquel van Smoorenburg and Jukka Lathinen. It is controlled completely by keyboard. What might seem anachronistic to the Amigan results in a fast handling after a short period for acclimatization. Before the first use, you have to configure it as well. Start the configuration by typing "minicom -s" into a shell, for instance a Xterm window.

Screenshot

First, we define where received files should be saved and where the program should be looking for files to be sent.

Screenshot

The menu entry "File transfer protocols" can remain unchanged, but "Serial port setup" is absolutely necessary. After typing "A" you can choose a serial port whereas "/dev/ttyS0" represents the first port and "/dev/ttyS1" the second. "E" lets you set the correct speed, parity and bit per character. Because "Term" was set to use 115200 bps and 8 bits without parity, "H" and "O" should do the job of setting equivalent values in "minicom".

Screenshot

Then you select "Save setup as dfl" to save this configuration as default. The next time you can start it by just typing "minicom".

4. Data transfer

Now things get interesting. The first transfer shall be done from the Amiga to the Linux computer. We start "minicom" by typing its name into a XTerm or Rxvt window. Then run "Term" by double clicking its icon. Now it's time to start the transfer. Select "Transf./Upload Binary file(s)..." to open a file requester where you can choose a file to be sent. By clicking on "Ok" you start the transfer. "Minicom" notices that someone is sending a file and stores it.

Screenshot

If you want to send a files from the Linux computer, press "Alt"+"s" and "minicom" will ask you for the protocol to be used. Confirm the default "ZModem" by pressing ENTER and "minicom" offers you a list with the files in your Upload directory. Make your choice (scroll with the cursor keys, select with space bar) and press ENTER again to start the transfer.

Screenshot

Both program show how the transfer is progressing.

5. Result

You can connect two computer with any operating system via the serial interface without big efforts. With a terminal program on both ends, you can have a stable and reliable connection between the computers within minutes, even though it isn't the fastest possible.

[1] in Aminet at /comm/net/ProNET34.lha
[2] in Aminet at /comm/term/term_xxx.lha
[3] http://www.freshmeat.net/

Uwe Pannecke <Uwe.Pannecke@t-online.de