Helios: SUN IO-Server and TCPIP...

Helios: SUN IO-Server and TCPIP...

Post by Erik Baiga » Fri, 04 Jun 2010 19:06:55


currently I am trying to use sockets on my Transputer running
Helios 1.3.1. The Helios fails to get access to the host's
ethernet interface:
According to the Helios-Documentation on sockets, the Sun IO-
Server should have ethernet support incorporated allowing
communication between Transputer and host processes via sockets.

I fail to get connection to the host's network adapter. Adding
something like

run -e /helios/lib/tcpip tcpip jon

to initrc tries to open a network adapter physically connected to the
Transputer and thus fails. Omitting the settings (which should not be
necessary, since name and IP are those of the host which the IO
server knows) the tcpip refuses to start.

run -e /helios/lib/inetd inetd

Running inted without prior starting tcpip does not work either
since there is no unterlying network device. E.g. executing a ping
after the Trapu has booted I get lots of messages of the form:

PING 56 data bytes
sendto: No such file or directory
ping: wrote 64 chars, ret=-1
ping: recvfrom: No such file or directory
ping: recvfrom: No such file or directory
ping: recvfrom: No such file or directory
ping: recvfrom: No such file or directory
ping: recvfrom: No such file or directory

Is any documentation out there on the Sun IO-Server? I guess
I have to add an option like "Enable Ethernet" to the host.conf...



P.S. The Setup is a SS20 running Sol2.6. BBK-S4 in sbus-Slot connected
to T805/4MB. Data of the IO-Server is the following:
"Helios Sun I/O Server V3.106 5th October 1993"

P.P.S. Otherwise my project is working very well on Helios now even
using multiple processes and the Helios's semaphores ;-)
For a photo of the crowded setup, see here:


Helios: SUN IO-Server and TCPIP...

Post by Mike B » Sat, 05 Jun 2010 21:30:15

Hi Erik!

Long time no talk!

That correct. But this means, that you can access a transputer link
over an Ethernet connection. For Helios this is totally invisible.
It similar to a IMS B300 Box.

What you try to do is to use an own IP-stack under Helios. That a
total different thing.

This requires naturally some kind of network connection.
The Ethernet I Package (Guide see http://www.yqcomputer.com/ )
supports 3 drivers:

* /helios/lib/pc-ether.d The PC Ethernet driver
* /helios/lib/sq-ether.d The Parsytec Ethernet driver
* /helios/lib/in-ether.d The Inmos Ethernet driver

The last two uses a link between the transputer which runs the inetd
and the additional hardware (for Parsytec I not really sure). The PC
driver uses the /ether server in the pc version of server.exe.

Maybe there is also such a server (try ls /ether) in the sun host
server. But I think there isn one. I will try to find out more this
evening >>Omitting the settings (which should not be >>necessary, since name and IP are those of the host which the IO >>server knows) the tcpip refuses to start.

Running 2 different IP Stacks against the same NIC is maybe possible,
but from my estimation not recommended. So you need an own IP for the
transputer stack.

So what can you do?

I think you don have an Ethernet TRAM. You can try to integrate the /
ether server in the sun host server (I don know it there are any
docking points) and use the pc-ether.d or emulate the B431 over a
seperate link on your sun box. In both cases I would recommend to use
a second NIC which you access via raw sockets (or maybe on level



Helios: SUN IO-Server and TCPIP...

Post by Mike B » Sat, 05 Jun 2010 22:15:40


Ie discovered that the keyword thernetis only recognized by the
Helios PC server.
For the SUN Host server there is the keyword nternetpossible.
After you enable this server, please check its existence with:

ls /internet

But I found this keyword only in combination with nfs. It may be only
for the Socket IPC described in chapter 15 in the helios blue book:


PS: In your setup you claim, that you T805 runs at 33MHz. Do you
really over clock your system with a 5.5MHz Oscillator?

Helios: SUN IO-Server and TCPIP...

Post by Erik Baiga » Thu, 10 Jun 2010 02:31:42

Yes, sorry for that. But the reason is, that all Transputer related
stuff worked very well during the last months!

This is the hydra-stuff and is not what I am interested in, since I
do not want to connect transputer networks via ethernet (at least not
for now ;-) )

Yes, I know. I do not want to run servers on Helios (via rpc, inetd) but
only open sockets for listening to incoming connections.

I have seen this, but as you correctly recognized, this is only for
PC based servers (as most other Transputer stuff nowadays is very
PC centered). I want to use the network support incorporated
within the IO-Server for the Sun and today I succeded in a
similar way you suggested in a later posting:

Reading the Parsytec manual I found out, that one needs an
Sun IO-Server later than 3.88 (I have 3.106 now). Looking at the
source I discovered, that the option "internet = 1" in host.con
will enable the ethernet support. Thereafter the "ls -l /internet"
immediately succeded after booting Helios.

Now ping on Helios said "permission denied" and after setting the server
suid root via "chown root server ; chmod 04755 server", this was fixed
and ping worked!

I have the state I wanted to have now: E.g. xterm can be run on Helios
with the window appearing on the host or even on a remote machine.
Additionally opening a socket for listening on Helios (which is not
in use on the host of course) can be accessed from the outside world.

Yes, true. But I could for example stop the inetd on the sun host and
start inetd on Helios and do stuff like this now. The more I play with
Helios on the Transputers the more I am impressed by this OS. All these
capabilities with <30MB of zipped binary...

No I do not have this one. BTW Transputer stuff was sold for astronomic
prices in eBay recently: 230472649803, 230472643399 and 230472664424.

Thanks a lot for your valuable input!


Helios: SUN IO-Server and TCPIP...

Post by Erik Baiga » Thu, 10 Jun 2010 02:35:10

Until recently I did this for one Transputer, but it crashed
occasionally. Now external hardware is handling the critical
issues and am using a very reliable 25MHz T805 based board

Helios: SUN IO-Server and TCPIP...

Post by Erik Baiga » Thu, 10 Jun 2010 14:37:11

Since there is no DNS name resolver included with Helios, name
is handeled by a hosts file in the Transputers /etc[link] directory.
For convenienvce, it is nice to replace the hosts in the Helios
branch by a soft link to the host's /etc/hosts. In this way one only
has to maintain a single hosts file.

There is an example file included within the Helios distribution on
Ram's page ( http://www.yqcomputer.com/ ) located
in /helios/local/tcpip/examples. This demonstrates nicely how
Posix sockets work on Helios:

Compile on Helios: c -D_BSD -DTCP socket.c -o socket
Compile on remote machine (or host): gcc -DTCP -o socket socket.c

Execute on Helios: socket
Execute on remote machine (or host): socket IP-Helios-Host

The example transmits a Hello message from the remote machine to
Helios which listens to port 4567. Helios is using its /etc[link]/hosts
to lookup the name of the machine the message came from. Of course
there is no need to compile the socket.c on the remote machine -
"telnet IP-Helios-Host 4567" will do the same, but one has to type in
a Hello message manually...

Thanks again for the hints and suggestions,


Helios: SUN IO-Server and TCPIP...

Post by Mike B » Thu, 10 Jun 2010 22:31:23

Hi Erik!

I know, and it not me :(

Nice to hear, that the TCP stuff is running well. I think you are the
last productive Helios user
Do you have any graphic tram running under Helios with X-Windows?


Helios: SUN IO-Server and TCPIP...

Post by Erik Baiga » Fri, 11 Jun 2010 14:29:26

I do not know of anyone else. There are quite some people
using/making emulators like Gavin Crate in this list and there
are some threads on various web based sites from people who fired
up Transputer machines (some quite large) using Helios, but none
mentions active work with them.

No and I have never tried it. Somewhere I have transputer boards
(but not the classical TRAMs I think) which are labeled video and
frame grabber. I do not know what system they are from and I have
not powered them up. Essentially I am not sure wheter there is
a big chance that the video used is supported by Helios...

But running some of the X demos on my setup (e.g. the fractal demo)
was already quite impressive, so perhaps I will dig out the video
PCB somewhen and give it a try ;-)

Anyhow I highly appreciate, that there are still people having
lot of experience with this platform...

Thanks again,