Error Codes
Displaying Codes on the Standard Operator Panels R1--1. Platform Implementation: Platforms must display firmware progress codes (4 hex digits) on the operator panel display. On 2x16 LCD displays, the progress codes are displayed left-justified on the first line. R1--2. Platform Implementation: Platforms must display firmware error codes (8 hex digits) on the system console (graphic or tty), and left-justified on the first line of a 2x16 LCD operator panel display (if available). R1--3. Platform Implementation: When a platform displays firmware error codes, associated location codes must be displayed on the following line on the system console (graphic or tty), and left-justified on the second line of a 2x16 LCD operator panel display (if available). The following describes in more detail the standard platform usage of operator panel LEDs or LCDs for the display of firmware progress and error codes. Progress codes: Progress codes from the system firmware and service processor firmware are 4 hex digits in the range from 0x8000 through 0xFFFF. Codes are displayed in the 4 character positions of a 1x4 LED, or left justified in the first line of a 2x16 LCD. Subsequent progress codes are displayed on top of (overlaying) the previous one. If the system “hangs”, the last displayed progress code is left on the display. Error codes: Error codes are 8 hex digits, as defined in . These codes are displayed by either boot ROM Power On Self Test (POST) or the service processor. If a critical error is detected which prevents a successful boot or results in system halt condition, the error code will be displayed left justified on the first line of a 2x16 LCD. The error code is left on the LCD until the system is reset or powered down. Error codes are not displayed on the operator panel of platforms with only a 4-digit LED. On all platforms, however, POST error codes are displayed on any system console (graphic or tty). For non-critical errors where the system can boot and operate normally or in a degraded mode, the associated error codes are not displayed, but are reported to the OS via the POST error log and the RTAS event-scan service. Location Codes: Location codes describe the physical location of the most probable failing part associated with an error code. When an error code is displayed on the first line of a 2x16 LCD, the location code, if known, is displayed left justified on the second line. The location code will remain on the LCD along with the error code until the system is reset or powered down. Location codes for POST errors are also displayed on any system console (graphic or tty), on the next line below the error code.
Firmware Error Codes The error code is an 8-character (4-byte) hexadecimal code produced by firmware to identify the potential failing function or FRU in a system. It consists of 5 source code characters and 3 reason code characters. Individual characters within the error code have specific field definitions, as defined in the following tables. R1--1. Platform Implementation: To indicate the occurrence of a critical platform error, platforms must display (either on an operator panel or console) an 8-digit hex error code as defined in and . Service Reference Code (SRC) Field Layout Source Code Reason Code Byte 0 Byte 1 Byte 2 Byte 3 S1 S2 S3 S4 S5 R1 R2 R3
Service Reference Code (SRC) Field Descriptions Field Description S1 Maintenance Package Source that produced the SRN 0: Reserved 1: Reserved 2: POST, Firmware 3: BIST 4: Service processor, base system controller, etc. 5: Reserved (potentially for use by AIX Diagnostics) 8: Product-Specific Service Guide, MAPs 9: Reserved (potentially for use by the Problem Solving Guide) A-F: Reserved for future extension S2 Where applicable, use the lower nibble of the base class code for the IOA definition (see ). Only 00 to 0C are currently defined in Revision 2.1, therefore the high nibble is always zero. (There is a potential exposure that the high nibble will be defined in the future, but currently there are 13 base classes defined which include every device class, with 3 remaining characters for future extension by the PCI SIG. Therefore the exposure is in the far future.) For non-PCI devices, use base class 0 to extend the definition (see ). S3-S4 Where applicable, use the subclass code for IOA definition (see ). Also, extend the definition to include non-PCI devices where it is not fully utilized by PCI specification (see ). S5 Unique version of the device/FRU type for a particular product R1 Device/FRU unique failure reason codes. For POST: assigned by Firmware Developer. For AIX Diagnostics (S1 = 5, not currently supported): 1-7: Use in combination with R2,R3 for diagnostic test failure when maximum isolation was obtained. 8-9: Use in combination with R2,R3 for diagnostic test failure when maximum isolation was NOT obtained. A: Log analysis of POST error log B: Log analysis of machine check or checkstop error log C: Log analysis of AIX device driver error log D: diagnostic detected missing resource E-F: Reserved For others: assigned by respective developers. R2-R3 Device/FRU unique failure reason codes. For POST: assigned by Firmware Developer For others: assigned by respective developers.
Current PCI Class Code Definition PCI Base Class (lower nibble)S2 PCI Sub-ClassS3-S4 Description 0 Devices that were built before the class code field was defined 00 All currently implemented IOAs except VGA-compatible IOAs. 01 VGA-compatible IOAs. 1 Mass storage controller. 00 SCSI bus controller. 01 IDE controller. 02 Floppy disk controller. 03 Intelligent Peripheral Interface (IPI) bus controller. 04 Redundant Array of Independent Disks (RAID) controller. 80 Other mass storage controller. 2 Network controller. 00 Ethernet controller. 01 Token Ring controller. 02 FDDI controller. 03 ATM controller. 80 Other Network controller. 3 Display controller. 00 VGA-Compatible controller. 01 Extended Graphics Array (XGA) controller. 80 Other display controller. 4 Multimedia device 00 Video device 01 Audio device 80 Other multimedia device 5 Memory controller. 00 RAM 01 Flash 80 Other memory controller. 6 Bridge IOAs. 00 Host bridge 01 Reserved 02 Reserved 03 Reserved 04 PCI-to-PCI bridge 05 Reserved 06 Reserved 07 Reserved 80 Other bridge device. 7 Simple communication controllers. 00 Serial controllers. 01 Parallel port. 80 Other communication controllers. 8 Generic system peripherals 00 PIC 01 DMA Controller. 02 System timer 03 Real-Time Clock (RTC) controller 80 Other system peripherals 9 Input devices 00 Keyboard controller 01 Digitizer (pen). 02 Mouse controller 80 Other input controllers. A Docking stations 00 Generic docking station 80 Other type of docking station B Processors 20 PA compliant (PowerPC and successors) 40 Co-processor C Serial bus controllers 03 Universal Serial Bus (USB) 04 Fibre Channel
S2-S3-S4 Definition for Devices/FRUs not Defined in the PCI Specification Base ClassS2 Sub-ClassS3-S4 Description 0 10 AC Power 11 DC Power 20 Temperature Related Problem 21 Fans 30-3x Cables 40-4x Terminators 50 Operator panels 60-6x Reserved 70-7x Reserved 90-9x Reserved A0 Boot firmware Heartbeat B0 O/S Heartbeat D0 Unknown device E0 Security 1 A0 SCSI Drives (generic) B0 IDE Drives C0 RAID Drives D0 SSA Drives E0 Tapes SCSI E1 Tapes IDE ED SCSI Changer EE Other SCSI Device EF Diskette drive F0 CDROM SCSI F1 CDROM IDE F2 Read/Write Optical SCSI F3 Read/Write Optical IDE F4-FF Reserved for other media devices 5 A0 L2 Cache Controller including integrated SRAM A1 L2 Cache SRAM A8 NVRAM A9 CMOS AA Quartz/EEPROM B0-Bx Memory cards Cyy Memory DIMMs (yy = memory PD bits) 7 A0 I2C bus 8 A0 Power Management Functions 9 A0-Ax Keyboards B0-Bx Mouse(s) C0-Cx Dials D0 Tablet D1-Dx Reserved for other input devices B A0 Service processor