(12-14-2018, 12:54 AM)CB_HK Wrote: As for the lack of graphic console, this may be a silly idea, but does the system need an "install" for the new graphics boards? I've read that IRIX will throw a fit if you swap out graphics systems and don't force a new kernel build so that it knows what graphics are installed and how to address them. No doubt you're familiar with that already--just wanted to mention it.
Good luck!
I think it has everything, after all it never had a problem detecting the boards. They always were in 'hinv'.
I have the feeling I still have an interrupt problem because the system is extremely sluggish while idle. I know it's only a 12 MHz CPU but I think it wasn't quite that unresponsive earlier on.
The problem is I bought a defective system some years ago, from an era before people would discuss things like this on the open internet. The only documentation is "This Old SGI" a.k.a. the 4D Faq, written by someone who admits he pieced together his own system from scrap bits, some posts in Usenet archives, and the Hardware Developer Handbook. And they disagree.
So,
step #1: examine what we have.
I have a 12-slot twin tower Professional IRIS. It was known-defective: the PSU made terrible noises, one of the blowers was defective. It has the pink/purple top hat of a Professional IRIS with "B" or "G" graphics.
Inside: a GT graphics card set with burnt out RM1 raster managers, and an 8MHz IP4 CPU card. You could say this is a 4D/50 'B' or 'G', upgraded to GT later. Could also be that the system died and someone pulled the original graphics boards to save another system, leaving this system with a dead GT board set. Additionally, this is a photo of the backplane jumper positions:
Which brings us to
step #2: analysis.
First of all, I've pretty much neglected VME jumpers so far. I've had PowerSeries for nearly 20 years, added VME boards in them several times and never touched a VME jumper. As long as you install boards left-to-right it "just works". In these systems, the main system bus is the "PowerPath" bus which connects CPU, MEM, IO and GFX boards. The VME bus is a secondary bus, bridged to the system by the IO board. You cannot screw up the core of the system with bad VME configuration because it's not on the VME bus to begin with. With the Professional IRIS, the VME bus *is* the system bus so there is no room for error.
This is what the Hardware Developer Handbook (HDH) has to say:
As I read this, some of the VME signals pass through every card as they are daisy chained on the bus, and when no card is present these signals have to be jumpered or the signal won't be passed along. Additionally, this is how the boards are supposed to be installed, again the Hardware developer Handbook:
Now, look at the jumpers as they were before. VME slots 2 .. 5 are jumpered, so should be empty. But there is an ENET card in slot #2 (correct position). Slots 6 and 7 are not jumpered but also no card was present, which means the VME IACK and BG signals will not reach slot 8 and beyond. This is unfortunate, because that's where the graphics are ... My system doesn't have ESDI, only SCSI, so I do not expect anything in slot #3.
Looking at it like this, it's no surprise I had some problems
Which brings me to
step 3: making it work
Initially, I removed the jumpers from slot 2, and jumpered slot 6 and 7. This fixed my kernel crash (yay!). I have windowsystem and xdm chkconfig-ed 'on', but startgfx would now result in periodic messages about a FIFO timeout while being more than half full (or similar). On to the 4D Faq, which says this:
http://archive.irix.cc/thisoldsgi/#backplane
Note two things:
- "The rule of thumb for most VME systems is to install backplane jumpers in unused slots. The only exception to this rule for the 4D appears to be for the GE4 card."
- The ENET card is in slot 6, which has a different VME P2 connection to the CPU card than slot 2.
So, jumpered the GE slot (slot 8). I can somewhat explain why this might be necessary: the host (IP4) does not communicate with the GE4 directly, but through the GM1 board. GE and GM are connected at the front side by an interconnect. It quite is possible the GE uses the VME P1, P2 connectors only for power, and only talks to the GM via the front side interconnect, and via VME P3 to the RM/RV boards. With the GE in slot 8 and GM in slot 9, you'd have to jumper 8 to reach 9 from the CPU (in slot 1).
This resulted in the behavior I described yesterday: startgfx blanks the screen but nothing else happens. No crashes, no FIFO messages. Sluggish. Better, but not quite there yet. I did try another screen, btw.
So finally, I moved ENET to slot 6 and adjusted the jumpers to match that. This didn't result in any changes. Oh, ethernet works in both slots, I can transfer files to/from the network.
So that's where I am. I think the solution is in the jumpers. I think I still have a problem with interrupts because the system is sluggish while idle. I cannot match the original jumper settings to anything documented by either the HDH or the 4Dfaq. Not even if you'd imagine the system with 'B' or 'G' graphics installed which the tophat skins suggests it once had.
I have a spare GM and IP4 to play with, possibly another GE, but I'm pretty sure the rest of the GFX boards are good since they tested good in a PowerSeries. There's only a finite number of jumper positions, even if I get creative with jumpers in the GFX slots.
But what would be most helpful is if someone with a similar system would stand up and tell me how their backplane is jumpered. You don't need to touch the cardcage for that, the jumpers are on the reverse side (the front side of the system). Just remove the front skin panel and open the card cage front panel.
NB: it could even be there's a problem with my PROM monitor (NVRAM) settings. NVRAM is dead on this thing; I have to toggle values in every time it's powered on. I use these values:
Code:
netaddr=192.0.2.1
dbaud=9600
rbaud=1200
bootfile=dksc(0,1,8)sash
bootmode=m
console=G
root=dks0d1s0
keybd=df
monitor=60
sync_on_green=y
diskless=0
path=dksc(0,1,8)
dbootfile=/stand/ide
Using a value like 'h' for 'monitor' (like an Indy) results in a message about an incorrect 'monitor' value when you run startgfx, so it absolutely checks these values. 'unsetenv monitor' in PROM results in the PROM setting it to '60' so I assume it's the default. My PowerSeries seem to use that value too.