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+