NeXT 68040 NextStation Serial Console (NS 3.3 & Mac OS 10.10)
Introduction:
Serial consoles allow user access to a machine without the use of a native keyboard or display device. This can be useful if you want to run the machine "headless." They can also be used in a multiuser setup. All 68040 NeXT machines will have the same RS-423 compatible serial pinout (which we will adapt to RS-232) , but the 68030 cubes use a RS-422 serial protocol. The instructions below assume a 68040 machine, but you should be able to adapt them with very little effort. Also note that the 68030 machines have different pinouts for the A and B serial ports. I will be using a macbook with Mac OS 10.10 as the client machine.
Required Hardware:
RS-232 --> USB adapter ( I am using this ~$21 adapter )
NeXT mini-DIN 8 to RS-232 9 pin DIN Cable Null Modem Cable (construction details below)
~470 ohm Resistor
Step 1) The cabling (Null Modem Configuration)
The NeXT uses a mini-DIN 8 connector with the following pinout (female view):
8 7 6
5 4 3
2 1
1: DTR
2: DCD
3: TXD
4: GND
5: RXD
6: RTS
7: NC
8: CTS
A standard RS-232 9 pin connector has the following pinout (Female view):
5 4 3 2 1
9 8 7 6
1: DCD
2: RXD
3: TXD
4: DTR
5: GND
6: DSR
7: RTS
8: CTS
9: RI
The basic principal is that you want the next and your terminal emulator to talk. To do this you want a null modem cable configuration. This means that the sender and the reciever have send/recieve siginals in the opossite positions. (RX --> TX, TX --> RX, etc...)
Connect the cable as follows:
NeXT ---> RS-232
1: DTR --> 1: DCD
2: DCD --> 4: DTR
3: TXD --> 2: RXD
4: GND --> 5: GND
5: RXD --> 3: TXD
6: RTS --> 8: CTS
7: Not Connected
8: CTS --> 7: RTS
Step 2) Running headless (optional?)
The Nextstation will only output serial data from the ROM monitor when the system does not detect a keyboard or display. This means that you'll need to use the resistor trick to start up the unit without a soundboard attached. ~470 ohm between Power_on (pin 6) and GND (pin 19). I have a custom dongle with a push-button between the resistor and GND for convenience.
You will also need to enable console access from the ROM monitor. To do this enter the ROM monitor (CMD + ~ after the system test) and type 'p'. Then set 'serial port A is alternate console' to 'yes'
Step 3) Enable Console access from NextStep
You need to modify the '/etc/ttys' file to allow console access
# If you want to enable getty's on the "a" serial port, change the
# "off" entry to "on" in exactly one of the "ttya", "ttyfa", or
# "ttydfa" entries. This same caveat applies for the "b" port.
# NOTE: When enabling getty's, be sure that you don't have the port
# in use for printing (check with PrintManager) or any other
# program or application. (Outgoing access via tip or uucp is
# permissible.) See the zs(4) man page for more details.
#
# If you do not want to start the window server by default, you can
# uncomment the first entry and comment out the second.
#
# console "/usr/etc/getty std.9600" NeXT on secure
b/NextStep/WindowServer onoption="/usr/etc/getty std.9600" secure window=/usr/li--More--
-> uncomment this: ttya "/usr/etc/getty knj.9600" vt100 on secure
ttya "/usr/etc/getty std.9600" unknown off secure
Step 4) Cross your fingers and test
You should now be able to connect the cable from serial port A --> USB adapter --> Mac
We will need to find out the name of the serial adapter in OS X. To do this type 'ls -ltr /dev/cu*' in a shell. The last entry will likely be your USB to serial adapter.
Brians-MacBook-Pro:~ brian$ ls -ltr /dev/cu*
crw-rw-rw- 1 root wheel 17, 5 Jan 1 18:43 /dev/cu.Bluetooth-Modem
crw-rw-rw- 1 root wheel 17, 3 Jan 1 18:43 /dev/cu.Bluetooth-Incoming-Port
crw-rw-rw- 1 root wheel 17, 13 Jan 3 16:15 /dev/cu.usbserial-A402WOWF
We can then use 'screen' to connect to the serial port. I am using the following command:
‘screen /dev/cu.usbserial-A402WOWF 9600,cs8,-ixon,-ixon,istrip’
Now start up the NeXT. If you enabled console output and are running headless you will start to see the boot up sequence. Otherwise it will be a little while for the sytem to start up. Eventually you should see a login prompt.
NeXT Mach (localhost) (ttya)
localhost login:
And that's all there is to it.
Addendum) Wiring to a 68030 Cube
**Connections are specific to the USB adapter in this case
RS-422 --> USB adapter available here (GearMo RS422)
NeXT Pinout:
8 7 6
5 4 3
2 1
1: DTR
2: CTS
3: TXD-
4: GND
5: RXD-
6: TXD+
7: DCD/RTXC or +5V on port B
8: RXD+
NeXT 68030 8pin to 9pin DSUB
1: DTR —> NC
2: CTS —> NC
3: TXD- —> 4: RXD-
4: GND —> 5: GND
5: RXD- —> 2: TXD-
6: TXD+ —> 3: RXD+
7: DCD/RTXC (5V on prt B) --> NC
8: RXD+ —> 1: TXD+