The NEXTSTEP/OpenStep FAQ
! to the table of contents
< to the previous section:
> to the next section:
DISCLAIMER: THE FOLLOWING PROCEDURE IS NOT SUPPORTED BY NEXT, INC.
AND WILL DEFINITELY VOID THE WARRANTY ON YOUR NEXT
COMPUTER. FOLLOW IT AT YOUR OWN RISK. I DISCLAIM ALL
RESPONSIBILITIES FOR DAMAGES CAUSED BY NEGLIGENCE IN
FOLLOWING THE PROCEDURE. THERE IS NO GUARANTEE THAT
THE PROCEDURE WILL WORK ON ALL VERSIONS(?) OF THE
NEXT CUBE HARDWARE. ALL I KNOW IS THAT IT WORKED ON
THE NEXT CUBE I WAS WORKING ON!!!! SO BEWARE.
Here we go! I'll first provide a description of the hardware I was
using and comment on what I accomplished and how I got the information
on how to do it!
The hardware included a NeXT cube with 660 MB drive, OD, etc., a 68040
upgrade board, and a 68030 motherboard. I successfully installed both
the 68040 and 68030 boards on a SINGLE NeXT cube and linked them
together through their ethernet ports. The 68040 was configured as a
boot server and the 68030 was used as its client (booting off the
network for lack of an additional hard drive).
The procedure reconfigures slot #2 on the cube's back-plane as slot
#0. This provides two slots configured as #0, required for booting
the two motherboards. Once I determined what the slot pin-outs were
(thanks to my good friend John Chmielewski), it was a matter of time
before the two boards happily co-existed.
The procedure:
- First, follow the procedure on the NeXT User's Reference
manual for removing the system board (Appendix C: Opening
the Cube, page 291 of the 2.0 manual).
- Using the NeXT supplied screwdriver, remove the two screws
that attach the power-supply housing to the cube (the screws
are located on the lower part of the housing) and gently pull
the housing out. Set it aside in a safe place (away from kids
and nosey friends!)
- Remove the two plastic grooved plates (used to slide the
system boards in) at each side of the inside bottom of the
cube. (For each plate, lift the side closest to the rear
opening and gently pull them out). Set them aside.
- Using the NeXT tool, remove three screws holding the
back-plane to the cube and then take the back-plane out of
the cube. Let the cube rest for a while.
Inspect the back-plane. You will see five bus slots (four
vertical and one horizontal). The horizontal slot connects
the back-plane to the power supply housing. We're only
interested in the four vertical slots. From the factory these
slots are configured as 6, 2, 0, and 4 (starting from the left
and going right with the horizontal slot at the bottom).
The system board connects to slot #0 (which you've probably
noticed). Each slot contains three columns of 32 pins.
Following is an ASCII representation of one of the slots:
x y z C B A
o-o o 32 . . .
o-o o 31 . . .
o-o o 30 . . .
o-o o 29 . . .
28 . . .
.
.
.
3 . . .
2 . . .
1 . . .
...where x, y, and z are labeled GND, SID, and VCC,
respectively. The GND, SID, and VCC "holes" are used to
configure the slot number using simple binary encoding,
where GND is logical zero, VCC is logical one, and SID
(for Slot-ID I guess) determines the current bit state
(one or zero).
Notice the four rows of GND, SID, VCC triads; each row is
equivalent to one bit position in the slot number, the bottom
row bit position 0, the top row bit position 3. This gives a
total of four bit positions, or 16 possible slot numbers. To
encode a slot number, you need to connect an SID row to its
corresponding GND or VCC row. For example, the diagram below
shows the configuration of the slots in my cube's back-plane
(you'll have to look very closely to see the actual
connections):
SLOT 6 SLOT 2 SLOT 0 SLOT 4
BIT 3: o-o o o-o o o-o o o-o o
BIT 2: o o-o o-o o o-o o o o-o
BIT 1: o o-o * o o-o * o-o o o-o o
BIT 0: o-o o o-o o o-o o o-o o
- To reconfigure slot 2 as slot 0, cut the trace between SID
and VCC for bit position 1 (see * o o-o * above) and connect
SID to GND on the same row. I used the SIMM removal tool
supplied by NeXT in the 040 upgrade (talk about multi-purpose)
to cut the trace! Very gently, scrape the solder off between
the two holes. Take a paperclip, shape it to fit between the
holes in SID and GND, and trim it down to an even 1/4 inch
(perfect fit)!
That's all there is to it. If for some reason you ever want
to revert to slot 2, just remove the paperclip from GND-SID
and reconnect it to SID-VCC.
- Now put the cube back together. First, re-install the
back-plane using its three connecting screws, then snap on
the plastic plates, and finally insert the power-supply housing
and secure with its two screws.
At this point the cube is ready to take on the two system boards (it
is up to you to determine where/how you want to use the two boards;
I'll explain how I used mine) ...
- I installed the 68040 in the original slot 0 and the 68030
in the reconfigured slot 0 (previously slot 2). The 68040
was used as the main processor board. I connected the 660 MB
drive, the OD, and the monitor to it.
NOTE: Before beginning the procedure, I went into the NeXT Monitor
on the 68030 and disabled the Sound out, SCSI tests and verbose
test mode and enabled serial port A as a console terminal.
I also made "en" the default boot device. I setup the 68040 as
a boot server and taught it about the 68030 (which took some
time in getting it setup properly).
- I connected the 68040 to the 68030 using a thin-ethernet cable
and I booted. First thing I noticed was that the 030 timed-out
a couple of times waiting for the 040 to tell it to boot. But
after the 040 was up, the 030 booted nicely.
That's all folks. Hope all this made some sense and people find it
useful.
Comments:
- To power off the cube, I have to first shutdown the 030
(I run "halt -p" as root from a telnet connection and wait
for the 030 to go down), and I then power-down the 040. If you
shut down the 040 before the 030, you'll have to pull the power
plug to turn the machine off. The cube will not power off if
either of the two boards is providing a load to the
power-supply.
- Remember, I've only performed this procedure on one system.
I do not know what will happen on your system. So make sure
you plan ahead what your going to do and that you understand
the procedure.
- I don't know what problems may arise when you add a board that
uses the NeXTbus, such as the NeXTdimension, or how it will
behave. If someone is courageous enough to perform the
procedure and installs another board, please post your results
to the net.
Update:
To clear up some misunderstandings with the settings in the "p"
command of the NeXT monitor (these settings are only required for the
system board that doesn't have the NeXT display monitor connected):
- Sound out test must be "no"; the boot process will not proceed
if the monitor isn't connected to the board and this is set to
"yes" (the sound out tests will fail, aborting the boot
procedure).
- SCSI tests should be "no" if you don't have SCSI devices
attached to the board (SCSI tests will fail otherwise, aborting
the boot procedure).
- Verbose test mode must be "no" for booting from the network.
If set to "yes", the boot process will timeout waiting for a
BOOTP and you'll be left in the monitor with no means of
restarting the board (except pulling the power plug)!
This is probably true also for booting from an OD that hasn't
been inserted (assuming the OD was attached to the board).
- Allow serial port A as alternate console if you want to view
the boot process (for problems and peace-of-mind).
- Other settings were not modified from their factory defaults
or had no effect on the procedure.
There is also a way in using 2 boards plus NeXTDimension board
in one Cube.
I've run my "screw with the backplane trick" cube with :
| | 32MB-ND | | 64MB-040 | 40MB-030 |
without any problems. Using the od got the system warm, but never
had a problem. The cool part was having the printer on the 030.
One day I tried to dump an 040 into the 030 position, but I couldn't
get it to boot. I played for a couple minutes, but put the 030 back in
and went on with life...
This document was converted from LaTeX using Karl Ewald's latex2html.