[back to collection]

SGI Indy #1

(last updated: 15-Jan-2017)


Operational Status

Configuration

A 2GB hard disk was added since acquisition, since it was received with no disks. An Insite Floptical drive is unmounted, awaiting a drive bracket.

An Indycam, separately acquired, has been added.

Major Events

Still To Do


Description

Pickup

01-Aug-2008

I was browsing the University of Utah's surplus store and saw several SGI boxen on the shelves. One was an Indigo2 (which I also picked up), and the rest were Indys. This is one of the two Indys that I bought for $30 each, diskless. I did get an SGI keyboard and 3-button mouse.

A quick peek inside reveals that the CPU is an R4600 at 133Mhz. I can't tell whether this CPU module has the Secondary Cache or not.

There are two banks filled with 4 SIMMs each. Memory size yet unknown.

Cleanup

07-Aug-2008

The system was in pretty good shape already. All that was required was a quick wipe down on the exterior, and a little touch of the shop-vacuum on the interior.

I relocated a number of stickers from the front of the case to the bottom of the chassis. I want to keep them, I just don't want them cluttering up the front. I moved the U. of U.'s asset sticker, the system administrator's hostname + IP address sticker, and the surplus store's date + price sticker. The system looks very good now.

Using a VGA monitor

13-Aug-2008

These workstations use an unusual (to me) monitor connector, the 13W3. It was widely used on SGI and Sun systems, though it's new to me. I have acquired via eBay, a 13W3-to-VGA adapter that is supposed to work with Sun systems. From online browsing I understand that this can also be used with SGI systems, but might required modest hacking.

Hoping that the newly bought conversion plugs would work with my HP 1740 LCD monitor, I broke of pins 1,2,4,5,6,7 and tried it with an Indy. The Indy powers up and plays its 'tune' so I know that it is alive. Alas, the monitor behaves as if it is receiving no signal at all. I guess it doesn't support Sync-on-Green as would be required with this SGI-hacked plug. According to everything I have read so far, the monitor must support Sync-on-Green. I'm sure my cheap and/or modern stuff doesn't. Too bad. Now I have to come up with some other solution for video display.

RTC / Ethernet MAC address

19-Sep-2008

While browsing the web for various bits of Indy related information I ran accross this page that discusses the failure of the onboard battery in the RTC chip (Dallas DS1386-8K-150):

http://www.pimpworks.org/sgi/dallas.html

Apparently, this chip's integrated lithium battery is good for about 10 years maximum, and this Indy is about that age. When the battery fails, it forgets the machine's Ethernet MAC address, which is BAD. I'm fairly convinced that this will be an issue, and so I plan to get replacement RTC chips for this system, and the other Indy #2.

VGA monitor adapter

22-Sep-2008

Here's the pinout of the "Indy" adapter plug from deepspacecables.com:

            VGA      13W3 (SGI)
            ---      ----------
          Red 1 ---- A1 - Red
        Green 2 ---- A2 - Green
         Blue 3 ---- A3 - Blue
         ID 2 4 ----  7 ID 2
          GND 5 ----  8 GND
      Red GND 6 ---- A1 Red GND (sleeve)
    Green GND 7 ---- A2 Green GND (sleeve)
     Blue GND 8 ---- A3 Blue GND (sleeve)
          n/c 9 ----  6 ID 1
    Sync GND 10 ---- 10 GND
        ID 0 11 ----  9 GND
ID 1, or SDA 12 ----  2 ID 0
      H-sync 13 ----  4 H-sync
      V-sync 14 ----  5 V-sync
ID 3, or SCL 15 ----  1 ID 3, or SCL
                (NC)  3 Reserved (composite H+V sync)

It's identical to the "Indigo2" adapter.

System inventory

22-Sep-2008

With a working VGA adapter, I connected a keyboard (but no mouse, just yeet) and I finally power up the system. I'm happy to report that the system did indeed power up, gave the wakeup jingle, and presented the normal screen. Time to look at the detected inventory. I hit 'ESC' which presented the maintenance menu, and I soon discovered that the keyboard function keys map to the selections on the screen this way:

F1 - Start System
F2 - Install System Software
F3 - Run Diagnostics
F4 - Recover System
F5 - Enter Command Monitor
F6 - Select Keyboard Layout

I pressed F5 to go to the PROM monitor. I entered 'hinv' and then 'printenv'. Here are the results:

Command Monitor.  Type "exit" or click on "done" to return to the menu.
>>
>> hinv
                 System: IP22
              Processor: 133 Mhz R4600, with FPU
   Primary I-cache size: 16 Kbytes
   Primary D-cache size: 16 Kbytes
            Memory Size: 96 Mbytes
               Graphics: Indy 24-bit
                  Audio: Iris Audio Processor: version A2 revision 4.1.0
>>
>> hinv -v -t
system ARC SGI-IP22 key 0
  processor CPU MIPS-R4600 key 0
    processor FPU MIPS-R4600FPC key 0
    cache primary icache 16 Kbytes (block 2 lines, line 32 bytes)
    cache primary dcache 16 Kbytes (block 2 lines, line 32 bytes)
    memory main 96 Mbytes
  controller display SGI-Indy 24-bit key 0 ( ConsoleOut Output )
    peripheral monitor key 0
  controller network ec0 key 0
  v: net SEEQ NQ8003 - type: Ethernet MTU: 1500 HW: 8:0:69:6:db:ed
    peripheral network key 0 ( Input Output )
  adapter SCSI WD33C93B key 0
  controller serial IP22 tty key 0
    peripheral line key 0 ( ConsoleIn ConsoleOut Input Output )
  controller serial IP22 tty key 1
    peripheral line key 0 ( ConsoleIn ConsoleOut Input Output )
  controller audio HAL2 key 16400 ( Input Output )
  controller keyboard pckbd key 0
    peripheral keyboard key 0 ( ReadOnly ConsoleIn Input )
  controller pointer pcms key 0
>>
>> printenv
AutoLoad=Yes
TimeZone=PST8PDT
console=g
diskless=0
dbaud=9600
volume=80
sgilogo=y
autopower=y
netaddr=155.100.74.21
eaddr=08:00:69:06:db:ed
ConsoleOut=video()
ConsoleIn=keyboard()
cpufreq=133
gfx=aliv
>>

And the good news is that I have a valid Ethernet address. Much commentary is online about the trouble with Indys when their onboard Dallas DS1386-8K-150 Real-Time-Clock chip's embedded battery fails. Apparently the system's serial number/Ethernet MAC address are stored in this chips NVRAM and if that goes, well, there goes the ability to boot and communicate. I'm happy to report that this system's RTC is still alive, despite a date code on the chip of 9337! It's now 15 years old!

Nevertheless, I have located information that describes a method to 'replace' the battery when it fails, and how to restore the serial number/Ethernet MAC address to the NVRAM once that is done. This is good information, since this RTC chip is no longer produced.

The U. of U. has placed a sticker on the front and on the rear panel. They are blackened out, but I can still easily read "Lysine / 155.100.74.21". I think I'll go ahead and adopt the same name for this system.

Netbooting NetBSD

23-Sep-2008

Last night I spent some time downloading and creating CDs of NetBSD/sgimips versions 3.0.2, and then 3.1. All I could find online suggested that these CDs were bootable, as long as I had a CD drive attached, of course. One reference I found in the netbsd install documentation stated that the since the sgi machines couldn't boot from and ISO9660 formatted device, that there was an SGI style partition that contained the bootloader, then the rest of the CD was in ISO9660 format. When I burned the CD using Nero 6, and then examined it, only a single 'session' or 'partition' was shown, and indeed the bootloader files were just there at the root directory of the normal CD. It doesn't have the SGI partition at all! Both CDs!

So, tonight I conceded and went for the netbooting method. I'd put it off initially because it just seemed harder, but after going through all of that CD businss, well then, it's time.

Using the NetBSD/sgimips INSTALL document as a guide, working from the 'Installation to local disk from the network' section, I first, on my Contura Aero 4/33 running Debian 3.0 (aero-6), added a section to /etc/dhcpd.conf that had the details for the Indy I planned to boot:

host indy {
  hardware ethernet 08:00:69:06:DB:ED;
  fixed-address 192.168.1.161;
  filename "/boot/netbsd-sgimips/3.0.2/netbsd-INSTALL32_IP2x";
  next-server 192.168.1.32;
  option root-path "/boot/netbsd-sgimips/3.0.2";
}

Then on my boot server I created the directory structure for TFTP and added the install kernel files after copying their .gz versions from the Installation direcotry of the CD. The NetBSD/sgimips installation document suggested that some machines with old PROMs can't use the elf binary format, so to try the ecoff version of the install kernel if needed. I set up the /etc/dhcp.conf file with the elf format file first:

/boot/netbsd-sgimips/3.0.2/
    netbsd-INSTALL32_IP2x
    netbsd-INSTALL32_IP2x.ecoff

I then powered the Indy and entered the Command Console with F5, then set the environment variables according to the INSTALL document, and tried to boot:

>> setenv SystemPartition bootp():
>> setenv netaddr 192.168.1.161
>> boot

After a couple of false starts due to a disconnected ethernet cable and a directory with a typographical error in the name, I was successful at booting the installation kernel!

It loads up and starts 'sysinst', just like I'm familiar with. I went directly to the utilties menu and setup the network, unfortunately it didn't work as expected. The ethernet device, 'sq0', ended up with some goofy netmask and broadcast addresses that I wasn't able to change manually. So I rebooted and tried again, but this time I just dropped out to the shell and set up the address, netmask, and broadcast manually and it worked just fine:

# ifconfig sq0 192.168.1.161
# ifconfig sq0 netmask 0xffffff00
# ifconfig sq0 broadcast 192.168.1.255

There is one strange anomaly that when I give the ethernet device an address, I suddenly begin to see 'unexpected interrupt' messages whenever there is a End-Of-Line output to the screen. Not sure what to make of that. But, my first inerest is in getting a few ebay acquired drives imaged before I try to use them with NetBSD, or IRIX. [The notes of this imaging activity is recorded in "SCSI disk imaging.txt".]

IRIX 5.3 installation

04-Oct-2008

After tonight's successful experience with installing IRIX 5.3 on my UofU Indigo2 system, I wanted to try getting this Indy running, too.

I still need more hard disk brackets, but I temporarily attached the 2GB Seagate ST32171N and the Sanyo CDR-H94SMV CD-ROM drives that I have:

- SCSI 2: Seagate ST32171N
- SCSI 4: Sanyo CDR-H94SMV

Using information re-learned from http://software.majix.org/irix/install-fx.shtml I labeled and partitioned the drive:

>> boot -f dksc(0,4,8)sashARCS dksc(0,4,7)stand/fx.ARCS

and tried the installation after the reboot by choosing Install System Software, but I kept getting a 'not enough space' error. My Indigo2 installed into just 250MB or so, so 2GB had to be big enough. What was going wrong. I tried and tried again. Finally, in exasperation, I just started the Auto sequence in the fx.ARCS tool, which formatted and verified the drive, then wrote the sgilabel.

Back to the Install System Software option, and this time it complained that I needed to make file systems on the 0 partition (/), and (this time!) the 6 partition (/usr). Once that was done, and I chose 'go' to install all the default software, it didn't complain, it just went to work.

I don't know exactly what I should do next time, but at least I have some idea, maybe, that the /usr partition wasn't being created and prepared properly with the 'normal' method. I don't want to wait for the 1-1/2 hour format and verify on my next try, but at least I know that works.

This Sanyo CD-ROM drive is only 2x, so it's pretty slow and the software installation is taking some time, but that's okay. It works.

Disk drive mounting

05-Oct-2008

With the basic IRIX 5.3 installed, I should be able to add or update software from a remotely mounted CD from now on, so I removed the CD-ROM drive from the system. I mounted the hard disk into my one and only Indy disk drive bracket, and installed it permanently.

Temporarily, since I don't have a second bracket, I attached the Insite floptical drive that I receved from an ebay auction, to see if it would be recognized. Indeed it was, no problem. Unfortunately, I am unable to mount a regular floppy. I guess it used special media. I removed the Insite drive and closed the system.

It's all ready to go, to play with, and learn more about IRIX.

Indycam

10-Nov-2008

Two Indycams arrived today that were purchased from 'oldbutgoodie888' on eBay. One will be used with this Indy, and the other will go with my second Indy. I need to learn how to use them.

Network config tuning

20-Dec-2008

Finally wanted to test the indycams that I got last month, and set everything up in my loft to do so.

First, though, I discovered that the indy was just banging away at the network for some reason. For some reason the bootp deamon was trying to load, and it was attempting to lookup the name 'indy' but wasn't finding it, so it would try again, and this was going on continuously. I don't really know why the bootp thing was going, but the reason the system couldn't find its own name was due to a configuration error in /etc/resolv.conf.

According to the manpage on /etc/resolv.conf, the name lookups will default to lookup against bind, then the local hosts file. But apparently, the system gets hung up on trying to do the bind lookup, and never gets to the local hosts file, which I had copied over days ago. By adding this line to /etc/resolve.conf, I solved all of my problems, and the local hosts file is used for lookups:

hostresorder local bind

To automatically establish a default gateway/router, I added the following to /etc/rc2.d/S30network at line 356:

355: else
.
.
.
356:    # add default gateway
357:    $ROUTE add default 192.168.1.254 1
.
.
.
358:    # Initialize other boards...

Indycam checkout

20-Dec-2008

After a little scouting in the manpages and the online help files, I learned how to install and use the Indycam. First, I have to power down and connect the Indycam, then power back up. According to the documentation, this is a one-time action, and after it is done, the Indycam can be disconnected and reconnected with power to the system.

With that done, I found that I needed to enable the video daemon. I did this using the chkconfig utility:

# chkconfig videod on

With that complete, I could experiment. Using the icon browser, I found the /usr/bin/capture tool and launched it. It opens a window that is blank at first, until I change the lower-left icon to the camera. Once that was done, I could take snapshots!

If I ever want to automate the process, from a shell script or cron job, I can do the capture and file format conversion using a couple of command line tools:

vidtomem
imgcopy

The first snags the image in SGI's RGB format and saves it. The second, converts the file from the SGI format to the desired (in my case JPG) format.

Installing open-source freeware

22-May-2010

The last couple of days have had me learning more about how the software installation tools on IRIX work, and I've located a couple of IRIX freeware repositories:

- SGI: http://freeware.sgi.com (IRIX 6.5)
- Nekochan: http://www.nekochan.net (IRIX 6.5.22+)
- TGCware: http://jupiterrise.com/tgcware (IRIX 5.3, 6.2)

Though I've been using my 02 for some UNIX Administrator self-education, I used this Indy for these software installations since I have installed this system from scratch (meaning I can do it again if I really mess things up) and because it's just such a cute and quiet little box.

This machine is installed with IRIX 5.3, so for my open-source software I went to the TGCware site. I downloaded all of the available 'tardist' files and burned them to a CD for archival. My first choice is to install wget since it is such a useful tool and will aid in further freeware downloads. This is where things became troublesome due to my lack of IRIX experience.

First, I had to learn how to use the SoftwareManager. It looked pretty straight forward, being a graphical tool. But everytime I pointed it to my downloaded .tardist file, it claimed that it contained no valid packages. Browsing the web (and after getting sidetracked as usual,

Using 'inst' from the command line

22-May-2010

I finally hit a site that described the process of command line software installation using the 'inst' tool. Fine. No problem. I can do command lines. Fortunately, the same site said that the .tardist first needed to be un-tar'd into some user-chosen directory, and then inst could be used to install from there. Right on!

So, I FTP'd over the wget .tardist to /usr/tgcware.dist and then un-tar'd it into /usr/tgcware.dist/untard using:

# cd /usr/tgcware.dist
# mkdir untard
# cd untard
# tar -xvf ../wget*

which left me with a handful of wget related blobs. Then, I started inst with:

# inst -f .

and it worked! No complaints about not finding any valid distribution files. At that point I taught myself a bit about how inst works. Luckily a simple RETURN will present a menu of commands with a short description any time. Also, entering 'help (command)' gives a long description for any command.

At this point, using the 'list' command, I discovered that inst had already pre-marked the default sections of wget for installation, and all I had to do was use 'go' to start the installation process. Unfortunately, wget has a number of dependencies! So it failed to install since it couldn't find them.

So, back to the TGCware CD for them. After a few rounds of discovering that the dependencies had their own dependencies and getting them all copied over and un-tar'd I was finally ready to install. But, I discovered something. Not all components of each package were really required, for example the required libs had release notes and other stuff that wasn't strictly needed. All wget really needed was just the lib itself. So I learned to execute inst with the -I option:

# inst -f (distdir) -I (package-name)

which has the effect of *not* selecting the default components of all packages in the distribution directory, rather it only marks for installation the named package. I can further refine this once inside inst by using the 'remove' and 'install' commands to deselect/select the subcomponents of the package.

Now, back to the 'go' command. With just wget selected for install, after choosing 'go' I was presented with a list of choices for handling the first unmarked dependency. I choose to install the dependency with 'conflicts (option)' until all of the dependencies were also marked for installation. Then finally, another 'go' installed everything to /usr/tgcware/bin, etc. It worked. I now have wget v1.11.4 installed on this old IRIX 5.3 box and it works beautifully! All I had to do was add /usr/tgcware/bin to my path. I'll make that a permanent change someday.

Using IRIX

25-May-2010

Over the past several days I've been learning more about IRIX, beyond installing some open-source software. Though the graphical desktop put me off a little bit at first, after reading some online documentation (all books are online, thankfully) and an O'Reilly book by AEleen Frisch called "Essential System Administration, 2nd Ed." I've come around. I *like* IRIX. It's a full-bodied UNIX implementation clothed in a wonderful graphical interface. It's all making sense and I'm no longer intimidated by the GUI, and the fact that it hides the command line.

I've discovered the command line and find that it's just plain ol' UNIX underneath. I've been exploring and learning about how SGI put this particular UNIX together, how it's configured and used. In fact I've made two small scripts that I've already found invaluable. The first is a command-line shell script (as icon-ized desktop widget) that sets the systems audio volume. The second is a command-line shell script (also icon-ized on the desktop) that will take a snapshot from the IndyCam, convert the image to JPEG format, and store it in my home directory, or other specified location. These are pretty handy, especially since I can operate them using a remote shell.

Here is the 'setvol':

#!/bin/sh

if [ "$1" = '' ] ; then volume=40 echo "Setting volume to 40" else volume=$1 fi

apanel -display localhost:0 -nodisplay -outlevels $volume

and here is 'snapshot':

#!/bin/sh

name=$1 if [ "$1" = '' ] ; then name=/usr/people/$USER/snapshot fi

vidtomem -f $name 2> /dev/null imgcopy $name-00000.rgb $name.jpg 2> /dev/null rm $name-00000.rgb


[back to collection] [top]

Copyright © 2006-2025 Jared Blaser. All rights reserved.