Posted by under DECnet,HECnet,Linux,Networking on August 31 2017, 0 comments

Finally I’ve got around to tinkering with DECnet for Linux (again!). DECnet had been in the Linux Kernel for a long time, but very few people used it. This probably explains why it was marked as “orphaned” in the kernel in February 2010.

As I’ve not had any success getting it to work on any version after then, this post is about getting it to work on Ubuntu 9.10 (Karmic Koala).

As I’m not in a position to summon up a new machine to run it on, my fresh install of 9.10 will be on a virtual machine, under VirtualBox. It doesn’t matter, this will work on a metal installation too.

So, assuming you have an Ubuntu 9.10 machine up and running, and have root access, we shall proceed.

1. Network settings

First step is to change your MAC address to something that matches the DECnet address you are going to use. If you are just using it locally you can pick your own DECnet address and carry on, but if you are bridging to something like HECnet, then you should contact the coordinator of the network and ask for an address.

I’m bridging to HECnet, and the address for this machine will be DOCTOR (1.252). Using the DECnet Address Converter, this gives me a MAC address of AA-00-04-00-FC-04.

I spent a good hour or so trying to get the thing to accept a new MAC address and IP address, then gave up and just set the MAC address, trusting my DHCP server to give out the right IP. Its an awful cheat for now, but might come in handy next time I go mad and reconfigure my entire network (3 times this year!).

So, edit /etc/network/interfaces, and make it look like this:

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
 iface eth0 inet dhcp
 hw address ether AA:00:04:00:FC:04

Reboot and see if it works. If all goes well…

2. Install DECnet

In an ideal world, we should just be able to install the system with:

$ apt-get install dnet-common dnet-progs

But this will fail:

$  apt-get install dnet-common dnet-progs
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package dnet-common is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package dnet-common has no installation candidate

So we have to fiddle with /etc/apt/sources.list.

Edit it and add these lines to the end:

# Required
deb http://old-releases.ubuntu.com/ubuntu/ karmic main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ karmic-updates main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ karmic-security main restricted universe multiverse

# Optional
deb http://old-releases.ubuntu.com/ubuntu/ karmic-backports main restricted universe multiverse

Then try installing again:

$ apt-get install dnet-common dnet-progs
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
 libdnet
Suggested packages:
 kernel-image-2.4
The following NEW packages will be installed
 dnet-common dnet-progs libdnet
0 upgraded, 3 newly installed, 0 to remove and 108 not upgraded.
Need to get 0B/401kB of archives.
After this operation, 1,290kB of additional disk space will be used.

Do you want to continue [Y/n]? Y
Preconfiguring packages ...
Selecting previously deselected package dnet-common.
(Reading database ... 41953 files and directories currently installed.)
Unpacking dnet-common (from .../dnet-common_2.49ubuntu1_all.deb) ...
Selecting previously deselected package libdnet.
Unpacking libdnet (from .../libdnet_2.49ubuntu1_i386.deb) ...
Selecting previously deselected package dnet-progs.
Unpacking dnet-progs (from .../dnet-progs_2.49ubuntu1_i386.deb) ...
Processing triggers for man-db ...
Setting up dnet-common (2.49ubuntu1) ...
update-rc.d: warning: decnet start runlevel arguments (S) do not match LSB Default-Start values (2 3 4 5)
update-rc.d: warning: decnet stop runlevel arguments (1) do not match LSB Default-Stop values (0 1 6)
Starting DECnet...done.

Setting up libdnet (2.49ubuntu1) ...

Setting up dnet-progs (2.49ubuntu1) ...
Starting DECnet daemons: dnetd phoned.

Processing triggers for libc-bin ...
ldconfig deferred processing now taking place

$

Which should get it up and running.

3. “Looks like Double-Dork missed a step!”

And if you got that reference without looking it up then you know your early ’80s helicopter films.

If you are doing this for the first time, dnet-common will throw up a menu to type in the DECnet address and DECnet name. Make sure you get them right.

4. Testing

So, can we see files on other DECnet nodes?

$ dndir 1.250::

Directory of SYS$SPECIFIC:[FAL$SERVER]

ETCHOSTS.TXT;1 INFO.TXT;21 
$

Can we connect?

$ dnlogin 1.250::

Welcome to OpenVMS (TM) VAX Operating System, Version V7.3

Username:
Error reading command input
End of file detected
$

That looks ok too. Next step is can we connect in from other machines…. TO BE CONTINUED.

 

 

 

 

 

Tags: