The Silicon Graphics O2 was introduced in 1996 as the successor to the Indy workstation. As the entry-level system in SGI's workstation lineup, it was designed with a focus on multimedia and video, and it found widespread use in the fields of visual effects, medical imaging, and television weather reporting. Its high-end counterpart was the SGI Octane. Early O2 systems bear the original Silicon Graphics hypercube logo, while later systems were rebadged with the new lowercase "sgi" logo.
In August 2001, the O2 was re-introduced with minor modifications as the O2+: the case colors were changed to purple and gray, a DVD-ROM came standard, the serial port controller was improved, and the baseline CPU was upgraded to the R7000/350MHz. The O2+ was only available for a brief period, after which it was not replaced (the Fuel, released in January 2002, was not a replacement for O2; Fuel was intended purely to be a single-CPU mid-range system).
The O2 is a single-processor system available with two different CPU architectures: the R5000/RM7000 series at the low-end, and later the R10000/R12000 at the high-end. The former line has lower cooling requirements and left space for two hard drives, while the latter series requires a large heat sink and fan and uses a wider system module that consumes one adjacent hard drive bay.
The O2 is often regarded as an ideal introductory system for budding SGI collectors thanks to its standard DB15 VGA, 10/100 ethernet, and PS/2 keyboard & mouse ports, its built-in optical drive, and its relatively modest power consumption, space requirements, and noise levels. It is widely available on the secondhand market and relatively inexpensive to ship, weighing approximately 25 pounds. O2+ systems, which are exceedingly rare, fetch a premium.
Originally dubbed the "Moosehead" project during development, the O2 features a proprietary high-bandwidth Unified Memory Architecture (UMA) that connects the various system components. The O2 is a highly-integrated system, with CPU, graphics accelerator, memory, SCSI controller, and I/O all incorporated into a single system module, which can be slid out of the chassis with the flip of a lever. A PCI bus is bridged onto the UMA with one expansion slot available. The O2 has a designer case and a modular design, with space for two Ultra SCSI drives mounted on special sleds (only one in the later R10000/R12000 models) and an optional video capture / sound module mounted on the far left side. Further information on the design and construction of the O2 can be found in SGI service manuals on Techpubs. Detailed breakdown pictures and an IRIX hinv dump can be found here.
An O2's unique system ID (MAC address) is stored on the small PCI riser card that connects the PCI card holder to the motherboard. If this riser card is swapped, the corresponding black plastic badge on the rear of the case should be swapped as well to preserve consistency.
WARNING: The O2 system module should NEVER be removed or installed while the power cord is connected. Doing so can permanently damage the motherboard.
The O2 comes in two distinct CPU families: the low-end MIPS 180-350 MHz R5000/R7000 based units and the higher-end 150-400 MHz R10000/R12000 based units. Processors are mounted to a daughterboard which attaches to the motherboard with a plastic bracket. It is possible to install an R10000/R12000 system module into most R5000 O2's by removing the metal separator between the system module and the hard drives, however, on some earlier models the separator is part of the chassis and cannot be removed short of cutting it out.
The 200 MHz R5000 CPUs with 1 MB L2-cache are generally noticeably faster than the 180 MHz R5000s with only 512 KB L2-cache. Note that there is no 300 Mhz R5000 CPU, the O2 will incorrectly report the RM5200 CPU as an R5000.
|CPU Version:||Clock Speed:||2nd Level Cache:|
|R5000SC||180 MHz||512 KB|
|R5000SC||200 MHz||1 MB|
|R5200SC||300 MHz||1 MB|
|RM7000A||350 MHz||256 KB (+1 MB tertiary)|
|R10000SC||150, 175, 195, 225, 250 MHz||1 MB|
|R12000SC||270, 300 MHz||1 MB|
|R12000SC||400 MHz||2 MB|
There is also a hobbyist project that has successfully retrofitted a 600 MHz R7000 MIPS processor into the O2. In theory faster CPUs at 900MHz any beyond are possible, but this would require the public release of the O2 PROM source code which at present is not available and probably never will be.
A recall of some early versions of the RM7000A 350Mhz CPU is thought to have hastened the removal of the O2 from SGI's product line.
The motherboard has eight proprietary 278-pin (139 per side) memory slots, accepting four sets of paired DIMM modules, referred to as "kits." The individual SDRAM DIMM modules come in 16 MB, 32 MB, 64 MB, and 128 MB sizes. The memory banks must be filled in order, and larger modules should be installed first. The O2 is expandable to 1 GB using 4 2x128 MB kits, which were available from various manufacturers including SGI, Kingston, and Dataram.
Original SGI-branded O2 DIMMs are either single-sided (SS) with memory chips on only one side of the module or double-sided (DS), and are color-coded to assist in identification. 3rd party DIMMs may or may not follow these conventions. Knowing the current memory configuration is important as DIMMs must be installed according to a number of specific rules. These rules follow the table in this section.
|Size||Color Code 1||Color Code 2||SS/DS||Type|
- The DIMMs in slots 1 and 2 make up Bank A. DIMMs in slots 3 and 4 make up Bank B, and so on.
- A bank of two slots must have a DIMM in each slot or be empty (except for slots 1 and 2, Bank A, which must always be populated.)
- The two DIMMs in any bank must be of the same size and type.
- The largest size DIMMs must be in Bank A.
- DIMM banks must be filled sequentially, beginning with bank A.
- Equal or smaller size DIMMs must be in Bank B, and so on.
- Do not skip banks, or the memory will not be recognized.
To install high density (128 MB) DIMMs, PROM revision 4.4 or higher is required (see hinv(1M)). With older PROM revisions maximum memory is 256 MB. For IRIX 6.3 there are patches to upgrade the PROM as described in "Silicon Graphics® O2® Workstation Memory Installation Instructions", for IRIX 6.5 PROM images come with the operating system and overlays CD sets.
The CRM chipset that SGI developed for the O2 shares OpenGL calculations with the CPU. Due to the unified memory architecture, video memory is shared with main memory, and there is effectively an 'unlimited' amount of texture memory. Another useful feature is that any incoming video data from the Audio/Video option can be mapped directly as an OpenGL texture without having to perform a copy or move.
ICE (Image Compression Engine -- a dedicated 64-bit R4000-based processor containing a 128-bit SIMD unit running at 66 MHz, which is used to accelerate various image and video operations)
OpenGL 1.1 + ARB image extensions
O2 Video System
The O2 Video system supports two simultaneous input video streams and one output video stream which can be seperated into two outputs, one carrying pixel information, the other carrying alpha (key) information.
Using the O2 Video system, it is possible to capture live video into the computer's memory which can then be displayed in a graphics window on the screen or further processed by an application. It is also possible to generate video output from images in memory, which can be displayed on a standard video monitor, or recorded to a VTR. Using the VL programming library (see vlintro(3), and mvp(3)), a program can capture video in either the RGB or YCrCb color spaces, and either full or reduced size formats, and in a format usable for input to the compressor/decompressor, display on the graphics screen, or as an input to a graphics processing and/or texture operation.
SGI offered two video options for the O2/O2+: the AV1 interface and the AV2 interface.
- The AV1 interface supports Composite and SVideo (Y/C) (both analog), and Digital I/O via the Camera/Digital Video port. The analog I/O jacks are for use with standard analog video equipment, supporting both PAL and NTSC video formats. There are a variety of controls available that allow the user or programmer to set various parameters used for the decoding and encoding of the video signals. The digital input of the AV1 is for use with the O2Cam Digital System Camera, or can be connected to an optional digital video input and output adapter to interface to standard SMPTE259M serial digital video devices.
- The AV2 interface supports two ITU-601 (CCIR-601) serial digital video input connectors and two similiar output connectors, as well as GPI input and output and analog (black burst) sync input and loop through.
Chris Pirazzi's Lurker's Guide to Video contains the following three sections exclusively for the O2 Video System:
Operating system support
IRIX versions 6.3 and 6.5 (up to the latest overlay - 6.5.30) are supported on this machine, however, only in 32-bit mode, due to the nature of the O2's internal architecture.
There is official Linux support for the O2 in Debian 4.0 "Etch" as well as in Gentoo but only for R5000/R7000 O2s. Linux is not stable on R10000/R12000 CPUs due to a known issue with the way they handle speculative loads and stores, detailed here. This is not a problem for Linux on the Octane as there is different hardware to support these processor features.
O2 hardware currently not fully supported by Linux:
- R10K or R12K processors.
- CRM Accelerated Graphics (framebuffer only)
- Sound (ALSA driver exists in Linux-MIPS tree, currently under development)
- Video capture via SAA 7111 (Linux driver exists for the chip)
- ICE (experimental patches exist)
Installing Linux is made more difficult due to the O2's PROM being unable to read ISO9660 filesystems. Gentoo has an experimental SGI bootable X Live CD. Please read the README for details on supported machines (the O2 is one of many SGIs supported), the level of support, and how to burn the CD as it is not a typical ISO image. Additionally, there is a project to create Linux bootable CDs here if you want to roll your own. However, the more common procedure is to use a 2nd computer as a PXE boot server and netboot an installer. Details on using a Debian minimal netinstall image can be found here.
NetBSD has run on the O2 since NetBSD 2.0.
From http://www.openbsd.org/sgi.html : Currently OpenBSD/sgi runs in 64 bit mode and boots multi-user on supported systems.
- O2 (aka Moosehead) with R5000, RM5200, RM7000, R10000 and R12000 CPUs. Level 2 caches are supported on all CPUs. RM7000 level 3 cache is supported.
- Built-in Adaptec AIC-7880 SCSI (ahc)
- Built-in Ethernet (mec)
- Built-in serial ports (com)
- 64 bit PCI expansion slot
- Intel i8255x-based (except the i82556) PCI ethernet (fxp)
- Built-in audio (mavb)
The O2 is unusual for a Silicon Graphics machine in that it has only one available graphics option (CRM), which is integrated and cannot be replaced. Similarly unusual, the base machine has a single DB15 connector for graphics output. There is, however, a proprietary expansion port for one of three extra graphics interface options.
- Dual-head 2xDB15 adapter. PN: 030-1296-002
- 1600SW flat panel adapter. PN: 030-1170-001
- Indy Presenter or Presenter 1280 flat panel adapter. PN: 030-1202-001
Since the video calculations are performed on the O2's CPU, running in higher resolutions or dual-head mode has a significant impact on performance. Additionally, due to limited CRM framebuffer width, the two screens for dual-head are positioned vertically in memory, causing a slowdown when objects are drawn across both screens. While no DVI option exists for the O2, when using either flat panel adapter there is an all-digital path from the computer to the display.
Media options include the Audio Option, Analog Video Option (AV1), Digital Video Option (AV2) and various PCI64 cards ranging from SCSI, Ethernet and Firewire to FDDI.
Additional PCI slots can be obtained by using PCI expansion units such as the Magma series.
The O2 is a very unique system and thus has its own quirks. With proper care it can be very reliable, though the following common problems are likely to manifest themselves.
The Toshiba CD-ROM drives in the O2 commonly throw a small white plastic gear from the tray motor. Symptoms include the tray either refusing to open or refusing to stay closed. This problem is relatively easy to fix by opening the CD-ROM drive and pushing the gear back onto the motor shaft, then adding a small amount of glue to keep the gear in place. To avoid damaging the tray mechanism during ordinary use, do not push it closed: use the "inject" command instead.
To quote kjaer in the forum post here.. ... "there is a pressfit nylon pinion on the transport motor that opens and closes the drive tray, and also raises and lowers the optical pickup assembly (moves it closer to the disc after the tray closes, and moves it away from the disk before the tray opens). This pinion splits when it ages, and when this happens the static friction between pinion and spindle is no longer sufficient to hold the torque required to lift the optical pickup. The drive interprets this as a mis-load and ejects the tray."
The O2's proprietary memory modules are highly susceptible to dirt and shock, particularly during shipping. The symptoms of a bad memory contact include random memory errors and a total inability to boot, with a solid red or blinking amber LED at startup. Careful cleaning and re-seating of memory will typically solve such problems, though the DIMMs should also be carefully inspected for missing surface-mount components, which can be easily knocked-off via mishandling.
If the O2 boots successfully but refuses to display video, it may be configured for output to the serial console.
PROM version dictates what processor version works in what board
It was written in the forum on topic ( http://forums.nekochan.net/viewtopic.php?f=3&t=16721199&start=0 ) ..
well, finally solved. I spent the better half of the day swapping parts between two O2 boards, with trial, error, and success. my problem and solution go as follows: 1. the board in o2 x was a 1997 board with what I found to be a 300mhz "2000 sgi" processor 2.the board in o2 y was a 1997 board and 200mhz "1997 cube-bug" processor both had 4.14 PROM versions so I switched processor y into board x, installed 6.5, upgraded overlay to 6.5.22, which upgraded the PROM to 4.18. upon swapping the x processor back into the x board, it all works! so as it seems, PROM version seems to dictate what processor version works in what board...
Necochan.Net Discussion: The O2 Hardware Aggregator