Please consider a donation to the Higher Intellect project. See https://preterhuman.net/donate.php or the Donate to Higher Intellect page for more info.

PCI

From Higher Intellect Vintage Wiki
Revision as of 14:39, 17 October 2020 by Netfreak (talk | contribs)

General information[edit]

The Peripheral Component Interconnect, or PCI Standard (in practice almost always shortened to PCI), specifies a computer bus for attaching peripheral devices to a computer motherboard. These devices can take any one of the following forms:

  • An integrated circuit fitted onto the motherboard itself, called a planar device in the PCI specification.
  • An expansion card that fits into a socket.

The PCI bus is common in modern PCs, where it has displaced ISA and VESA Local Bus as the standard expansion bus, but it also appears in many other computer types. The bus is being succeeded by PCI Express, which launched in 2004 and offers much higher bandwidth. As of 2007 the PCI standard is still used by many legacy and new devices that do not require the higher bandwidth of PCI-E. New computers are also still provided with ample PCI slots.

The PCI specification covers the physical size of the bus (including wire spacing), electrical characteristics, bus timing, and protocols. The specification can be purchased from the PCI Special Interest Group (PCI-SIG).

Documentation[edit]

Origin 3x0/3x00 PCI Carrier[edit]

The PCI Card Carrier is used with Origin 3x0/3x00 expansion bricks such as the I-Brick, IX-Brick, or P-Brick. Its places the edge-connector of PCI boards into or out of a PCI slot as the carrier is inserted/retracted. When controlled by the correct software, it allows for hot-swapping PCI cards.


Shoehorn[edit]

A single PCI to XIO expansion module sometimes found in SGI Octanes and SGI Onyx2 or SGI Origin 2000 machines.

See Octane subsection on case and expandabiity.

PCI Shoehorns for the Origin 2000 / Octane adapt single PCI boards for use in an XIO slot:

Shoebox[edit]

A 3 slot PCI to XIO expansion module sometimes found in SGI Octanes and SGI Onyx2 or SGI Origin 2000 machines.

Note that the location of the screws and the location of the XIO connector is different on the Octane compared with the Onyx2/Origin 2000. The Octane, the PCI cards are left to right and the O2K/Onyx2 its up and down.

See Octane subsection on case and expandabiity.

PCI slot IDs (in Hinv )

Octane without "Shoebox" PCI module

With Shoebox

Adding/removing PCI cards.

The external screws in the O2k/Onyx2 one are above the PCI slots not off to the side like the SGI Octane one in the above diagram.


The Origin 2000 and Oynx2 ones are straight up and down with the screws on the bottom.

The Octane ones are sideways with the screws on one side.

The orientation of the compression connectors are also incompatible between the two shoeboxes.


Mod for Onyx2 deskside

Some users have reported a problem on Onyx2 desksides with mechanical interference between a rivet in the chassis and an ear on the bracket that's part of the shoebox. This rivet can prevent the shoebox from seating completely and fully engaging the XIO connector with the midplane. A simple and effective modification to fix this is to cut a corner off the mounting ear of the shoebox as shown in the picture to the right.

It was a mechanical defect preventing good compression despite the XIO latch: after noticing it was harder to push than other XIO cards, I found the bracket of the bottom lid (stamped with 040-1358-001) was not parallel to the bottom of the chassis because there is a rivet near its corner. This bracket holds the knurled screw that tightens the cage to the chassis but the sheet metal is too thick to bend if the chassis is not flush.

After a few cuts with a hand shear, the cage could be perfectly inserted, the XIO PCI adapter appeared in hinv, and tg2 appeared in ifconfig -a

PCI in IRIX hinv[edit]

A machine with a lot of PCI slots:

 PCI Adapter ID (vendor 0x1077, device 0x2200) PCI slot 2
 PCI Adapter ID (vendor 0x1077, device 0x2200) PCI slot 2
 PCI Adapter ID (vendor 0x1077, device 0x2200) PCI slot 1
 PCI Adapter ID (vendor 0x1077, device 0x2300) PCI slot 2
 PCI Adapter ID (vendor 0x1077, device 0x2200) PCI slot 1
 PCI Adapter ID (vendor 0x10a9, device 0x0003) PCI slot 4
 PCI Adapter ID (vendor 0x11c1, device 0x5802) PCI slot 5
 PCI Adapter ID (vendor 0x104c, device 0x8009) PCI slot 6
 PCI Adapter ID (vendor 0x1077, device 0x2200) PCI slot 1
 PCI Adapter ID (vendor 0x1077, device 0x2200) PCI slot 1
 PCI Adapter ID (vendor 0x1077, device 0x2200) PCI slot 2
 PCI Adapter ID (vendor 0x1077, device 0x2200) PCI slot 1
 PCI Adapter ID (vendor 0x1077, device 0x2200) PCI slot 2
 PCI Adapter ID (vendor 0x1077, device 0x2200) PCI slot 1
 PCI Adapter ID (vendor 0x1077, device 0x2200) PCI slot 2



There is a PCI database at: http://www.pcidatabase.com/

The first looks like a SCSI controller:

Qlogic makes SCSI controllers. This machine probably has a lot of disk attached.


Known working PCI cards with IRIX (A visual_database)[edit]

SGI PCI Serial I/O <a.k.a. PCI SIO UFC>, part number 030-1657-003:

Provides two RS-232/RS-422 serial ports. The board is slotted for universal voltage, but SGI only provides drivers for Onyx 300/350/3000 systems. The SGI marketing code is PCI-SER-10002.

SGI PCI Digital Audio Board <also known as the RADical Audio board>. The SGI part number for the example shown is 030-1649-001, it appears in an hinv with PCI vendor ID 0x10a9(SGI) and a device ID of 0x0005(RAD Audio):

Last generation RADical Audio board; universal voltage board (works in 3.3 or 5 volt PCI slots); the shape of 030-1649-00x boards was redesigned to ensure proper operation with the PCI Carrier used in Origin 3x0/3x00 I/IX/P Bricks.

SGI made four versions of the RADical Audio board. Those versions were nicely summarized by Reed Lawson on his Many Incarnations of RADical web page (which originally appeared on the now defunct reality.sgi.com). Here's a brief description of each revision, excerpted from the Many Incarnations of RADical (obtained via the Internet Wayback Machine). 030-0950-001 -- The original (5 volt PCI only) 030-0950-002 -- We added the special ksync connector for O200 (still 5 volt only) 030-1441-001 -- First "universal" version (3.3 or 5 volt PCI) for sgi 320/540 030-1649-001 -- Slightly better card outline for SN1 (O3000). Also "universal". A similar descriptive summary is also included in the PCI Digital Audio Board Installation Guide (available on-line or as a download from SGI's Technical Publications Library).


SGI PCI Gigabit Ethernet:

1000 Base SX (fiber optic interface) and 1000 Base T (copper interface) - shown mounted in an O2k XIO Shoehorn <a PCI-to-XIO slot adapter>: Both are keyed as 'universal' PCI cards to fit in either 3.3 or 5 volt slots. A manual, the SGI IRIS Gigabit Ethernet Board User's Guide is available at SGI's Technical Publications Library: http://techpubs.sgi.com/library/tpl/cgi ... /ch01.html

Mellanox InfiniHost: The Mellanox InfiniHost is a 10 Gbit/s Infiniband controller with two 4x ports. The card is PCI-X and is keyed to fit exclusively in 3.3 volt PCI slots. A manual can be downloaded from SGI's Techical Publications Library: here


SGI O2 10/100BaseT Network Card for O2: SGI marketing code SGI_PCI-ENET-TX-1P; part number 9210105 <photos courtesy of ajerimez>


SGI USB PCI card, SGI part number 9210286: NEC chipset - Slotted for 3.3 and 5V PCI applications. SGI equipped Onyx 350 InfiniteReality and InfinitePerformance systems with this card as an attachment point for USB keyboards and mice. There are some references on TechPubs indicating Orange Micro as the OEM, while "UP205-0525" screened on the PCB returns Adaptec references. It appears in an hinv with a PCI vendor ID of 0x1033 (NEC) PCI device numbers 0x0035(Dual OHCI controllers plus Single EHCI controller) and 0x00e0(USB 2.0 Host Controller).




DATAFIRE PCI 1ST ISDN card SGI PN: 9210111 Came inside one O2.

SGI Ultra Wide High-Voltage-Differential SCSI Adapter, SGI part number 9981028 SGI marketing code: DIFF SCSI CARD, PCI, PCI-SCSIB-Q-DF-1P 32-bit, 5V PCI interface. The Qlogic QLA1041 HVD UW SCSI host bus adapter is the OEM version of the SGI board.

SGI Dual-Port Copper Gigibit Ethernet. SGI marketing designation PCIX-GIGENET-C-2P, SGI part number 030-2126-001.

Broadcom BCM5704-based chipset, OEM'd by Silicom (the Silicom model designation is PXG2RB-SGI-RoHS). Appears in an hinv with vendor ID 0x14e4, device ID 0x1648, which the PCI Database shows as a Broadcom NetXtreme Dual Gigabit Adapter. 133Mhz when used in a PCI-X slot, also slotted for use in either 3.3 or 5V PCI slots at their native speeds.

Supported under IRIX 6.5.20 or 6.5.21 with patch 5513, 6.5.22 or higher unpatched.


See also[edit]

Programming[edit]

The IRIX device driver guide contains a section on PCI programming.