From LinuxMIPS
Jump to navigationJump to search
An SGI Indy system running Linux/MIPS

IP22 is Silicon Graphic's software architecture name for the hardware sold as Indy, Indigo2, POWER Indigo2, Indigo2 R10000, Challenge S and Challenge M. Modulo peripherals these systems are all very similar. Various Linux distributions will easily install on IP22, among them the Debian MIPS port.

Processor Options

IP22 R4400 PM5 processor module

Over the years Indy and Challenge S (main logic board IP24) systems have been equipped with a variety of MIPS processor modules starting with the 100MHz R4000PC over R4000SC, R4400PC, R4400SC, R4600PC, R4600SC, R5000PC and R5000SC.

Indigo2 and Challenge M (IP22) systems have only been made with R4000SC and R4400SC processor modules.

The POWER Indigo2 is based on the IP26 system board and comes with the R8000 processor. The R8000 is in many ways a unique MIPS processor and currently only partially supported by Linux. As such, it is not possible to run Linux on this system at this time.

The architecturally very similar Indigo2 R10000 is based on the IP28 system board and has a MIPS R10000 processor. Basic support for this system has been added to Linux 2.6.25. You will need a special gcc feature, which isn't merged with upstream yet. Patches for GCC can be found at http://www.pfrst.de/download.html


Indy IP24 boards have two memory banks; each bank consists of 4 memory modules and if populated must be fully populated with FPM (fast page mode) 36-bit wide, 60 or 70 ns, PS/2 style SIMM memory modules from 4MB to 32MB size. Memory configurations between 16MB and 256MB are supported.

The memory in the Indigo2 (IP22) is similar but board has three memory banks, therefore its maximum memory configuration is 384MB.

IP26 and IP28 boards also have 3 memory banks each 4 modules but support 64MB memory modules also increasing the maximum memory capacity to 768MB. IP28 also supports 128MB memory modules (max 2 banks) reaching 1GB.

Support of more than 384MB memory requires a 64-bit Linux kernel.

Graphics Options

The Indy comes with the entry level GIO32-bis XL (Newport) graphics which exists in 8-bit and 24-bit variants, and is basically a 2D card. There is also the XZ (Express) which is a 3D card with geometry processing and Z-buffering, and 24-bit color depth (and is unsupported under Linux).

The Indigo2 systems can use both of these options as well (GIO64 version), however there is another one. The IMPACT is the best 3D graphics board available for these machines (and is also unsupported under Linux, although large parts of code might be shared with the Octane driver). An IMPACT-ready Indigo2 must have an IMPACT-ready riser card and IMPACT-ready power supply.

Finally the Challenge S (based on the Indy motherboard) and Challenge M which are a headless compact server systems.

Storage Options

Challenge S, Indy, Indigo2 and Indigo2 R10000 are all equipped with an on-board WD33C93B SCSI controller. Indigo2 has two WD33C93B chips onboard, while Indy has only one. In addition to that the Challenge S has a second SCSI hostadapter IOPLUS, supporting fast and wide SCSI, the WD33C95A. Linux supports the WD33C93 but not the WD33C95A.

Networking Options

All IP22 systems come with an onboard Seeq 8003 network controller. The Challenge S being a server system comes with a second 8003. Note that the Seeq 8003 offers less functionality than the Seeq 80c03.

Video Input

Indy is equipped with video input unit based on VINO ASIC. A driver exists for both 2.4 and 2.6 kernels. The driver for 2.4 is included in the kernel source, it has Video4Linux1-interface and it doesn't support continuous capture.

The new driver for 2.6 kernels has Video4Linux2-interface and it provides more functionality - almost every detail of the hardware is now supported. The driver can also be found from linux-mips.org kernel source (GIT).

More information about the new driver:


Indy and Indigo2 comes with A2 audio system based on HAL2. OSS driver exist for Linux 2.4 and 2.6. An Alsa drivers exists since Alsa version 1.0.17. Challenge S has no sound controller.


All IP22, IP24, IP26 and IP28 systems use 32-bit ARCS firmware.

Hardware Documentation

Silicon Graphics, Inc. generously granted permission to distribute hardware documentation for the Indy. The postscript files in ftp://ftp.linux-mips.org/pub/linux/mips/doc/indy/ are as provided by Silicon Graphics except the virtual dma specification of which no electronic copy could be found, so it has been re-created. The PDF files linked below were converted from the postscript files.


The documentation for Vino is available in form of several postscript files, the bus timing diagrams being in separate files:

IP22 has forgotten its ethernet address

IP22 uses the Dallas DS1386-8K RTC chip to store time and firmware variables. This chip contains a builtin battery specified to have a 10 year lifetime but experience has shown that some of these RTC batteries have a much shorter battery life. So in practice by now two battery lifespans are over and RTCs start becoming forgetful. Software may also accidentally have overwritten the RTC's content.

If you have determined that a defective RTC chip is the cause of the problem you can get a new RTC from http://www.maxim-ic.com/ or other sources. Be paranoid, make sure you don't get a part that has been sitting on a shelf for long years. It is possible that this chip is no longer mass-manufactured, too.

This is how to reprogram the RTC chip. Assuming your ethernet address is aa:bb:cc:dd:ee:ff

  fill -w -v 0xaa 0xbfbe04e8
  fill -w -v 0xbb 0xbfbe04ec
  fill -w -v 0xcc 0xbfbe04f0
  fill -w -v 0xdd 0xbfbe04f4
  fill -w -v 0xee 0xbfbe04f8
  fill -w -v 0xff 0xbfbe04fc

With this command you can verify the content of the chip's NVRAM:

  dump -w -x 0xbfbe04e8

Note this will print each byte of the MAC address repeated four times; this is normal an due to the way the chip is used in the Indy.

The MAC address is also the system's serial number, so software licenses under IRIX might be bound to it. Also the ethernet standards specify certain meanings for certain values of the 48-bit address. Therefore you should reprogramm the old ethernet address. You may find the MAC address on the sticker on the machine. Below a bar code this sticker only contains a 12 digit hexadecimal number; it's typically located on the backside between the parallel port and and SCSI connectors on the left side and the power supply on the right side. In case this sticker has been lost, you probably also have the number somewhere in the bootmessages of Linux archived by syslogd or maybe a bootpd or dhcpd config file, or in /etc/udev/rules.d/70-persistent-net.rules.

If you need to reprogram the ethernet address you will almost certainly have lost all other NVRAM settings, use the PROM shell's setenv -p command for that.

External Links