🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: comp.sys.transputer
4 messages
4 total messages Started by David Clear Tue, 04 Sep 1990 14:14
Problems with Inmos IMS B008 TRAM motherboard on IBM-a-like PC (long)
#941
Author: David Clear
Date: Tue, 04 Sep 1990 14:14
220 lines
6743 bytes
This posting refers to the IMS B008 TRAM motherboard for IBM PCs.

I am having problems getting the Inmos B008 TRAM motherboard to work. On
running the iserver program, I receive the message:

	Error - iserver - unable to write byte <n> to the boot link.

The manual says that this error message could be caused by the object module
being in the incorrect format. This does not help me. I need help from
someone who has experience with the board. Below is a pretty thorough
description of my setup:

1. Hardware.

	My system is a Viglen Vig I Plus with IMS B008 TRAM motherboard,
	1 x IMS B404-3 T800 2Mb TRAM,
	1 x IMS B411   T425 1Mb TRAM,
	2 x IMS B407   T222 64k Lance (ethernet) TRAM.

The TRAMS are set up in the following way:

     SLOT 0        SLOT 1        SLOT 2        SLOT 6
    
    |~~~~~~|      |~~~~~~|      |~~~~~~|      |~~~~~~|
H  0|      |2    1|      |2    1|      |2    1|      |
O===| T800 |======| T212 |======| T425 |======| T212 |=== etc
S   |      |      |      |      |      |      |      |
T   |______|      |______|      |______|      |______|
         I 3      0 I  I 3      0 I  I 3      0 I  I 3
         I          I  I          I  I          I  I
         I          I  I          I  I          I  I
         I 10     1 I  I 11     2 I  I 12     6 I  I 16
    |~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~ ~
    |                IMS C004 Link Switch               ~ ~ ~
    |____________________________________________________ _ _

The slot numbers refer to the motherboard slots, the rest of the numbers
correspond to transputer links/C004 links.
=== are hard links (hardwired by the TRAM's position on the motherboard)
I   are soft links which are switched through the C004 link switch.

2. Configuration Files

The hardwire configuration file as used by the B008 support software contains
the following:

-- B008 harwire description
DEF B008
  SIZES
    T2 1
    C4 1
    SLOT 10
    EDGE 10
  END
  T2CHAIN
    T2 0, LINK 3 C4 0
  END
  HARDWIRE
    SLOT 0,LINK 2 TO SLOT 1,LINK 1
    SLOT 1,LINK 2 TO SLOT 2,LINK 1
    SLOT 2,LINK 2 TO SLOT 3,LINK 1
    SLOT 3,LINK 2 TO SLOT 4,LINK 1
    SLOT 4,LINK 2 TO SLOT 5,LINK 1
    SLOT 5,LINK 2 TO SLOT 6,LINK 1
    SLOT 6,LINK 2 TO SLOT 7,LINK 1
    SLOT 7,LINK 2 TO SLOT 8,LINK 1
    SLOT 8,LINK 2 TO SLOT 9,LINK 1
    C4 0,LINK 10 TO SLOT 0,LINK 3
    C4 0,LINK 1 TO SLOT 1,LINK 0
    C4 0,LINK 11 TO SLOT 1,LINK 3
    C4 0,LINK 2 TO SLOT 2,LINK 0
    C4 0,LINK 12 TO SLOT 2,LINK 3
    C4 0,LINK 6 TO SLOT 6,LINK 0
    C4 0,LINK 16 TO SLOT 6,LINK 3
  END
PIPE B008 END

The second section (HARDWIRE) is thought to be correct, but anything above
it... I don't know.

The softwire configuration file which says how the C004 is to be configured
contains the following:

SOFTWIRE
 PIPE 0
   SLOT 1, LINK 3 TO SLOT 2, LINK 0
   SLOT 2, LINK 3 TO SLOT 6, LINK 0
END

This is thought to be correct. These files are accepted by the MMS software
and a computed network map (using a worm) shows the result to be, as
required, the following:


     SLOT 0        SLOT 1        SLOT 2        SLOT 6
    
    |~~~~~~|      |~~~~~~|      |~~~~~~|      |~~~~~~|
H  0|      |2    1|      |2    1|      |2    1|      |
O===| T800 |======| T212 |======| T425 |======| T212 |=== etc
S   |      |      |      |      |      |      |      |
T   |______|      |______|      |______|      |______|
                       | 3      0 |  | 3      0 |
                       |          |  |          |
                       |__________|  |__________|


These configuration files are used on boot up to configure the C004.

3. Software

The following software has been used to try to get all four transputers
talking and causes the error message at the top of this article to be
displayed (ie the code does not load).

The software I'm trying to run is very simple - just to get the transputers
talking. Here is the code:

-- File: four.occ
-- Send 10 numbers down a channel
PROC four(CHAN OF INT16 data)
  SEQ
    SEQ x = 0 FOR 10
      data ! (INT16 x)
:

-- File: three.occ
-- Route numbers through the processor
PROC three(CHAN OF INT16 in, out)
  INT16 x:
  SEQ
    WHILE TRUE
      SEQ
        in ? x
        out ! x
:

-- File: two.occ
-- Route numbers through the processor
PROC two(CHAN OF INT16 in, out)
  INT16 x:
  SEQ
    WHILE TRUE
      SEQ
        in ? x
        out ! x
:

-- File: one.occ
-- Read numbers from channel and display
#INCLUDE "hostio.inc" ---- contains SP protocol

#USE "hostio.lib"  -- iserver libraries

PROC one(CHAN OF SP fs, ts, CHAN OF INT16 data)
  INT16 x:
  
  WHILE TRUE
    SEQ
      data ? x
      so.write.int(fs, ts, (INT x), 4)
:


As you can see, these programs are trivial. INT16s are used instead of INTs
as INTs are different sizes across different transputers (T8 & T4 vs T2).
The configuration file for the above program is as follows:

#INCLUDE "hostio.inc"
#INCLUDE "linkaddr.inc"

#USE "one.c8h"
#USE "two.c2h"
#USE "three.c4h"
#USE "four.c2h"

-- external channels to be mapped to links
CHAN OF SP fs, ts:

CHAN OF INT16 a,b,c:

PLACED PAR
  PROCESSOR 0 T8
    PLACE fs AT link0.in:
    PLACE ts AT link0.out:
    PLACE a AT link2.in:
    one(fs, ts, a)
  
  PROCESSOR 1 T2
    PLACE a AT link1.out:
    PLACE b AT link2.in:
    two(b,a)

  PROCESSOR 2 T4
    PLACE b AT link1.out:
    PLACE c AT link2.in:
    three(c,b)

  PROCESSOR 3 T2
    PLACE c AT link1.out:
    four(c)


The files compile and link correctly. Running iserver /sb on the resultant
binary gives the error:

	Error - iserver - unable to write byte <n> to the boot link.

The information contained in this posting is, I think, all the information I
have on the problem. I can't see why the above program won't run. The
setup files and software all seem to be ok from where I'm standing.

I'd appreciate any suggestions (within reason!).

Dave.

-- 
% cc life.c                      | David Clear <dac@ukc.ac.ukc>
% a.out                          | Local Area Networks, Computing Laboratory,
Segmentation fault (core dumped) | University of Kent, Canterbury, England.
Re: Problems with Inmos IMS B008 TRAM motherboard on IBM-a-like PC (long)
#958
Author: Steven Ericsson Zenith
Date: Tue, 04 Sep 1990 17:50
21 lines
1730 bytes
In article <5401@harrier.ukc.ac.uk>, dac@ukc.ac.uk (David Clear) writes:
|> 
|> This posting refers to the IMS B008 TRAM motherboard for IBM PCs.
|> 
|> I am having problems getting the Inmos B008 TRAM motherboard to work. On
|> running the iserver program, I receive the message:
|> 
|> 	Error - iserver - unable to write byte <n> to the boot link.
|> 

Oh joy! The memories come flooding back :-) I didn't look at your code examples
in any detail since I don't believe that is where your problems will be found.
My experiences of this error message (both on the SUN and PC) are that there
is some environment variable dependency. It'll be something like IBOARDSIZE
being ill(un)defined. Since you don't mention your environment or the result
of a worm checkup it's difficult to say for sure.
--
Steven Ericsson Zenith              *            email: zenith@cs.yale.edu
Fax: (203) 466 2768                 |            voice: (203) 432 1278
"The tower should warn the people not to believe in it." - P.D.Ouspensky
Yale University Dept of Computer Science 51 Prospect St New Haven CT 06520 USA
Re: Problems with Inmos IMS B008 TRAM motherboard
#963
Author: John Giannandrea
Date: Mon, 10 Sep 1990 07:46
50 lines
3464 bytes
dac@ukc.ac.uk (David Clear) writes:
|> I am having problems getting the Inmos B008 TRAM motherboard to work. On
|> running the iserver program, I receive the message:
|> 	Error - iserver - unable to write byte <n> to the boot link.
|> The manual says that this error message could be caused by the object module
|> being in the incorrect format. This does not help me. 

The message means that the transputer has stopped accepting
and acknowledging the bytes that the server is trying to send it.
There are several reasons why this might happen.

1.  The server is not actually talking to a tranputer.
     There are several possibilities here, including the server having
     the wrong idea of the B008's address in  the PC.  The address
     is set by switches on the board and by an environment variable
     or command line switch in the server, unless you have a DOS
     device driver for the B008 in which case there are configuration
     options in CONFIG.SYS
2.  The boot file you are trying to send is not a transputer boot
     file at all, or is corrupt in some way. This is unlikely to be the case 
     if it just came out of a compiler/configuration tool :-)
3.  The "bootstrap" (the initial few bytes of code at the front of the
     bootfile which is executed first to load in and jump to the rest of 
     the code) has failed to work properly.  For example, some
     bootstraps look for an environment variable (IBOARDSIZE) to find 
     out how big the root transputer's memory is.  If the variable is set 
     to the wrong size the bootstrap may crash.
4.  You are loading a network and the network topology does not
     match the "wiring" that you described to a static configurer.
5.  You have bad hardware.

If the number <n> in the message is small then you are likely to
be having troubles with the first bytes of code on the root transputer.
Suspect 1 or 3.  If the number is quite large (a reasonable proportion 
of your boot file size) and you only have one processor then suspect
RAM size problems.  If you have a network and <n> is quite large then 
suspect 4.

There are several tools that can help debug your problem.
A "worm" program will map out your network, including C004 connections,
and allow you to check your network topology.  A memory test program 
can help you find bad hardware.  INMOS (in the US at least) has a set of 
programs that do this called the "Checkout Programs".

Even when using a static configurer, it should be possible to
improve the server to give a better message when the bootstrap fails
to load a network.  Given knowledge about how the configurer works, the
server should be able to pinpoint the processor or connection that is missing.
I guess everyone has the source of the server.  If someone at INMOS was
willing to release the gory details of the configuration magic...
Re: Problems with Inmos IMS B008 TRAM motherboard
#964
Author: David Clear
Date: Mon, 10 Sep 1990 10:21
21 lines
1327 bytes
In article <1990Sep10.074616.22038@odin.corp.sgi.com> jg@umbriel.esd.sgi.com (John Giannandrea) writes:
[ in reference to my B008 problem]
>
>5.  You have bad hardware.
>

Thanks to you and all the other helpful people who replied to my posting.
I received a program which tests the transputers and, using this, and doing
some more tests, it turns out that the T425 TRAM board I had was bad.

Luckily, a bit of redesign means that the absense of this TRAM will not be
significant.

Thanks again to all those who helped.

Dave.

-- 
% cc life.c                      | David Clear <dac@ukc.ac.uk>
% a.out                          | Local Area Networks, Computing Laboratory,
Segmentation fault (core dumped) | University of Kent, Canterbury, England.
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads