plipbox: Amiga Driver Documentation
- 2011-08-05 38.1a plip2slip support
- 2012-06-03 38.1b plipbox support
- 2013-04-06 0.3 introduced own plipbox.device ethernet device
- 2013-05-19 0.3 converted to markdown. added more stacks
- 2015-01-11 0.6 adapted to new file names
- Supported Network Stacks
The following network stacks have been successfully tested with plipbox:
- AmiTCP 3.0b2
- Genesis (OS3.9)
- MiamiDX (from Classic Workbench)
- Roadshow 1.11
- Setup Hints
2.1 Common Setup
All network stacks expect the plipbox device driver in
devs:networkson your system volume. So copy this file first before proceeding.
plipbox.devicefrom this release in the
amiga/bindirectory to your Amiga installation. Select the suitable m680x0 version for your hardware platform and copy the plipbox.device file without the
copy plipbox.device_RELEASE_000 devs:networks/plipbox.device
2.2 AmiTCP with Network Boot Disk
- For a very simple setup you can use the Network Boot Disk for Amiga and start with this one. You have to modify the vanilla disk as it does not contain the plipdox drivers, yet.
- Insert this disk into your favorite Amiga emulator and perform the following steps to prepare the disk:
- Initial boot enters setup of the disk. Follow steps to install but cancel the selection of a network driver as we will add the plipbox driver later.
- Use the setup to configure your IP, netmask, gateway, and DNS server.
- Finally reboot to finish setup.
Add plipbox Driver
plipbox.deviceon the disk to
devs:networks(see section 2.1). I recommend to mount a host directory as a virtual harddisk and take the driver from there (my disk is called
copy shared:plipbox.device devs:networks/
Edit the file
AmiTCP/db/interfacesand add a line for the plipbox:
echo "plipbox dev=devs:networks/plipbox.device" >> df0:AmiTCP/db/interfaces
EnvARC:nbddriver) and set
plipbox0as the network device:
echo plipbox0 > df0:Prefs/Env-Archive/nbddriver
EnvARC:sana2/directory you can place an optional configuration file called
plipbox.config. For options see the plipbox documentation. A sample file is available in directory
amiga/srcof this release. Example:
echo "NOBURST" > df0:Prefs/Env-Archive/sana2/plipbox.config
Now reboot to activate changes
ifconfig plipbox0to check the status of your network interface. It should be UP and RUNNING.
- Genesis is very similar to the AmiTCP setup (its more or less a UI for AmiTCP and uses its core for the network stuff)
- Copy the plibpox.device to your system (see section 2.1)
- Open the
- Enter the interface
IP Address, Gateway, Netmaskto match your local network
- Enter the interface
SANA IITab enter:
Specify SANA II device: devs:networks/plipbox.device
- Confirm interface creation with
ResolveTab do not forget to name your DNS servers and set your domain name(s)
dynamicsetup does not work with plipbox. You must either use static or an external DHCP client suitable for AmiTCP/Genesis.
- Now you can start
Genesisand enable your new
HardwareTab and click
Select Hardware Typepick
- Enter a name for the hardware, e.g.
Type: SANA II
- Pick plipbox.device:
- Confirm with
InterfacesTab and click
Interface Type: Ethernet
Interface connection: LAN
- Select your hardware:
- You can either configure your Amiga statically or with DHCP: Select
IP Type, Netmask Type, Gateway Type. Enter your network parameters in static mode.
- Note: multicast is not supported in plipbox. Therefore, keep
- Note: Configure DHCP in
TCP/IP Settings...to fetch DNS servers, too.
DatabasesTab select Table
DNS serversand add your static DNS server IPs (if you don't use dynamic DNS via DHCP)
- Do not forget to save your settings with Amiga+S or
Menu: Settings -> Save
- Now you can go online with your new interface
- If you use multiple plipbox devices in a single network then you have to
set a unique MAC address for each one. Select
Hardware Taband double click your
plipboxentry. Now select
SANA-II Parametersand enter a new MAC address in the
Begin with copying the plipbox device driver (see section 2.1)
Then you need an interface configuration file for the plipbox device. Simply copy a template from
Storage/NetInterfaceand modify this one:
copy sys:Storage/NetInterfaces/cnet devs:NetInterfaces/plipbox
Now adjust the following values in the file (use either static or DHCP section!):
device=plipbox.device # -- DHCP -- configure=dhcp # -- static -- address=<your ip> netmask=<your mask>
Have a look in
devs:internet/name_resolutionto set your DNS servers and your domain name.
After a reboot the interface will be brought up automatically in the
User-Startupsection of Roadshow
For testing you can activate/de-activate the interface with:
> addnetinterface devs:netinterfaces/plipbox > ... use network ... > netshutdown
To make sure that the plipbox device goes offline if you shut down the net you have to add the following options to your interface configuration file:
If you use multiple plipbox devices in a single network then you have to assign them unique MAC addresses. You can set the MAC address of your plipbox with the following option in your Roadshow device configuration file:
A complete device config looks like:
device=plipbox.device configure=dhcp downgoesoffline=yes hardwareaddress=1a:11:a1:a0:00:01
- plipbox.device Configuration
While the plipbox.device is in general zero-config and needs no adjustement, you can control some options via a configuration file.
The text file needs to be called:
Store your file in the environment archive to have it available after the next reboot, too:
The following options are supported:
NOBURST (switch /S) (default: burst on)
- Starting with version 0.6 a fast burst mode is used for parallel port data transfer. It is always recommended to use this mode. However, if you experience problems with fast transfers then you can use this option to fall back to the old transfer protocol. Its slower but more reliable.
TIMEOUT (numerical key /K/N) (default: 500 * 1000) (unit: microseconds)
- The parallel transfer uses time outs to detect error conditions.
- Use this value to adjust timing.
NOSPECIALSTATS (switch /S) (default: special stats on)
- The SANA-II device tracks statistics information.
- Use this switch to disable the extra statistics information that is recorded during normal operation of the device.
PRIORITY (numerical key /K/N) (default: 0) (unit: AmigaOS task prio)
- A server task is used in the plipbox.device to handle the parallel port transfers.
- Use this value to alter the scheduling priority of the send/receive task.
BPS (numerical key /K/N) (default: 60 * 1024 * 8) (unit: bits/second)
- A SANA-II device reports a bitrate per second value as an indication for the achievable transfer speed of the network device.
- Use this parameter to adjust the speed that is reported to the TCP/IP stack from the device.
MTU (numerical key /K/N) (default: 1500) (unit: bytes)
- The maximum transfer unit is the maximum number of bytes a device can transfer in a single packet. By default its 1500 and exactly matches the MTU that Ethernet uses.
- For the plipbox the MTU size is also the size of the parallel transfers.
- Use this parameter to set a smaller MTU and tune the transfer rates.
- Note that a non 1500 MTU will cause fragmentation on upper levels.
- Build plipbox.device from Source
Only for advanced users! All others can use the supplied binaries! You really need to recompile the binaries only if you want to modify or enhance them.
I cross-compile the binaries here with vamos running the SAS C V6.58 compiler
Install vamos on your Mac or PC
Copy the following Amiga Directories either from a real machine or an emulator to a directory on your Mac. The directory is named
$HOME/amiga/sharedhere but you can use another directory as well but need to adjust
~/amiga/shared: wb310 system root of a Workbench 3.1 HD Installation sc complete installation directory of SAS C 6.58 AmiTCP-SDK-4.3 AmiTCP SDK
The AmiTCP-SDK-4.3 is available on Aminet
amiga/srcof this release
Build on your Mac or PC shell with:
> make dist build release files > make all build without optimization > make opt build with optimization > make clean remove files of current build > make clean_dist remove all build files
The resulting files can then be found in