Subject: Re: what's this machine check mean?
To: None <port-alpha@netbsd.org>
From: der Mouse <mouse@Rodents.Montreal.QC.CA>
List: port-alpha
Date: 04/16/2000 03:26:05
>> [E]ven after waiting a full minute, I got nothing out the console
>> serial port.  (It normally starts printing stuff about 45 seconds
>> after power-up.  [...].)

> Yikes! 45 seconds?

Give or take a bit; I never bothered to time it with more precision
than rough eyeballing of the second hand on the clock on my screen.

> My board might not be broken after all.  I never waited 45 seconds
> for output on the serial lines.  Is this documented anywhere?

The port-alpha archives, now? :-)  I've not seen it documented
anywhere, but another alpha system I've worked with takes something
like 20-30 seconds, and this (a) is a much slower-clocked system and
(b) has *no* cache at present, so I cut it a lot more slack.

> So, what's the serial pinout gotcha?  Is it documented?

Yes, it's documented - barely.

Look at Table 2-16 (in the AXPpci33 board OEM doco), which gives the
mapping between pin numbers on the serial-port connectors and pin
functions:

	1	DCD		6	DSR
	2	RX		7	RTS
	3	TX		8	CTS
	4	DTR		9	RI
	5	ground		10	no pin present

Sounds simple enough, right?  And if you look at a peecee serial-port
cable, this looks like just what it uses.

The gotcha?  The only documentation I found for it is Figure 2-3.  Most
of the two-row headers, like the IDE and SCSI connectors (and even J6,
the diagnostic LEDs connector), number the pins in pairs along the
connector in the usual way:

        2 4 6 8 ...
        1 3 5 7 ...

But if you look closely at the picture of J35 and J37, the serial
ports, you'll see that the upper right corner is labeled 5 rather than
9, meaning they are numbered

          5                                   9
        9 4                                 8 7
        8 3    rather than the more usual   6 5
        7 2                                 4 3
        6 1                                 2 1

(J36, the parallel port connector, has similarly unusual numbering; I
don't know enough about parallel ports to be able to check whether the
physical-pin-to-function mapping is conventional in any sense.
Fortunately, I don't want to use the parallel port, yet.)

Rather than wire up a custom header-to-DB25 cable, I checked that the
peecee cable I had did in fact wire all nine pins, then got out my
handy breakout box and wired it up to compensate: I ended up using the
peecee cable to bring it out to DB25, then the breakout box to
reshuffle the pins so the correct signals end up on the correct pins.

Once I did that, it worked fine.  Before that, I got really weird
"characters" out of the serial ports - lots of 0xff and 0xfe bytes and
such...in part, I suspect, because "ground" wasn't.  I'm really glad
RS232 drivers have a relatively high output impedance, because if
they'd been low-impedance drivers I probably would have fried something
hooking it up wrong.

I can't imagine why they did this, except possibly to deliberately
break things for people who try to use non-DEC parts like my peecee
serial-port cable...and OEMs, the supposed target for this board, are
unlikely to be taken in and also are not the people you want ticked off
at you.

> And when testing random motherboards, how long do you guys leave the
> board hooked up and running before declaring that nothing will
> happen?  More than 45 seconds?

Absent any experience with the hardware, or documentation (including
hints from others more familiar with it), I'd be inclined to wait at
least a couple of minutes.

					der Mouse

			       mouse@rodents.montreal.qc.ca
		     7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B