The Origin 3900 server has two levels of control, as follows:
L1 controller. The L1 controller is a brick-level controller. All Origin 3900 bricks have an L1 controller with the exception of the TP900 and D–brick2 storage modules. The functionality of the L1 controller varies slightly by brick.
L2 controller. The L2 controller is a rack-level controller for racks that contain Cx-bricks and/or R-bricks. The L2 controller allows remote maintenance, controls resource sharing, controls the L1 controllers in the system, and maintains controller configuration and topology information between itself and other L2 controllers.
The L1 controllers, which are located within the bricks, are slave devices to the L2 controller.
![]() | Note: The D–brick2, which is not monitored by the L2 controller, has its own ESI/ops panel module with a microcontroller for monitoring and controlling all elements of the D–brick2. |
This chapter describes the functions of system controllers, in the following sections:
The controllers communicate with each other in the following ways:
An L1 controller of an I/O brick (for example, IX-, PX-, X-, N-, or V-brick) communicates with an L2 controller via a Cx-brick.
An L1 controller of a Cx-brick can communicate with the L2 controller in the following ways:
Via the L1 port directly or via the L1 port and a USB hub.
Via Port F; this port connects to a Cx-brick that connects to the L2 controller.
An L1 controller of a G-brick communicates with the L2 controller via the L1 port and a USB hub.
An L1 controller of an R-brick communicates with the L2 controller directly or via a USB hub.
An L2 controller communicates with other L2 controllers via an Ethernet hub.
Figure 8-1 illustrates the connections between the L1 and L2 controllers.
All bricks except TP900 storage modules and D–brick2 storage modules have L1 controllers. The following subsections describe the basic features of all L1 controllers:
![]() | Note: For L1 controller commands, see the SGI L1 and L2 Controller Software User's Guide (007-3938-xxx). |
Table 8-1 summarizes the control and monitoring functions that the L1 controller performs. Many of the L1 controller functions are common across all brick types; however, some functions are applicable to a specific brick type.
Table 8-1. L1 Controller Functions
Function | Cx-brick | R–brick | I/O bricks | Graphics bricks |
---|---|---|---|---|
Controls voltage regulator modules (VRMs). | X | X | X | X |
Controls voltage margining within the brick. | X | X | X | X |
Controls and monitors fan speed. | X |
| X | X |
Monitors voltage and reports failures. | X | X | X | X |
Monitors and reports operating temperature and status of 48-VDC input power. | X | X | X | X |
Monitors and controls LEDs. | X | X | X | X |
Reads system identification (ID) PROMs. | X | X | X | X |
Monitors the On/Off power switch. | X | X | X | X |
Monitors the reset switch and the nonmaskable interrupt (NMI) switch. | X |
|
|
|
Reports the population of the PCI or XIO cards and the power levels of the card slots. |
|
| X |
|
Powers on the card slots and their associated LEDs. |
|
| X |
|
The front panel display of the L1 controller contains the following items (see Figure 8-2):
2 x 12 character liquid crystal display (LCD). The display uniquely identifies the brick, shows system status, warns of required service, and identifies a failed component.
On/Off switch with LED (button with light-emitting diode [LED]). This button enables you to manually power on and power off the brick. The LED illuminates when the brick is powered on.
Service required LED. This LED illuminates orange to indicate that an item is not functioning properly (for example, a fan is off), but the brick is still operating.
Failure LED. This LED illuminates red to indicate that a failure has occurred and the brick is down.
Reset switch. This switch resets the Cx-brick internal processors and ASICs. This reset will cause a memory loss.
Non-maskable interrupt (NMI) button switch. This switch resets the Cx-brick internal processors and ASICs and writes the contents of the registers and memory to a /var/adm/crash file.
![]() | Note: The reset and NMI switches are available on the Cx-brick only. |
The L1 controller operates in one of two modes: L1 mode or console mode. In L1 mode, the L1 prompt is visible and all input is directed to the L1 command processor. In console mode, the output from the system is visible and all input is directed to the system.
![]() | Note: Console mode is supported only if the system console is connected directly to the console port of a Cx-brick. Under normal conditions, the system console is connected to the L2 controller. |
If you see a prompt of the following form, the L1 is ready to accept commands.
001c07-L1> |
Common operations are discussed in the following sections:
An L1 controller has limited knowledge of the system configuration. A Cx-brick only has information about its attached I/O brick and, if another Cx-brick is attached to it, information about that Cx-brick and its attached I/O brick. An I/O brick only has information about its attached Cx-brick. An R-brick only has information about itself.
You can view a brick's configuration information with the config command:
001c07-L1> config :0 - 001c07 :1 - 001i23 :2 - 001p11 001c07-L1> |
This example is a system with one Cx-brick and two I/O-bricks. The <number> that follows the colon (0, 1, 2, and 3, from top to bottom in this example), refers to the L1 connection relative to the local brick. (The local brick is the brick that is processing the command.) For example, “:0” is the local brick. A number greater than 0 indicates that it is attached directly to or indirectly to the local brick.
All commands entered affect only the local brick. You can target a command to all bricks (including the local brick) by prefixing the command with an asterisk (*).
001c07-L1> * version 001c07: L1 0.7.37 (Image A), Built 11/24/2001 14:59:42 [2MB image] 001i23: L1 0.7.37 (Image A), Built 11/24/2001 14:59:42 [2MB image] 001c11: L1 0.7.37 (Image A), Built 11/24/2001 14:59:42 [2MB image] 001x15: L1 0.7.37 (Image A), Built 11/24/2001 14:59:42 [2MB image] 001c07-L1> |
You can target commands to a single brick by using its rack and slot number in the form `<rack>.<slot> <command>':
001c07-L1> 1.11 version 001i23: L1 0.7.37 (Image A), Built 05/24/2001 14:59:42 [2MB image] |
You can also target commands to a single attached brick with either the nia, nib, iia, or iib command:
001c07-L1> iia version 001i23: L1 0.7.37 (Image A), Built 05/24/2001 14:59:42 [2MB image] |
All information, warnings, and error messages generated by any of the system controllers are in the following form:
001c07 ERROR: invalid arguments for `ver' command, try “help ver” |
The general format of the message includes a brick identification (this is not present if the command was sent to the local brick only), type of message, and the message. These messages can be the result of an invalid command (as shown in the example) or from tasks running on the L1 controller, such as the environmental monitor.
Each L1 controller has a log of local events. Use the L1 command log to view the event on any of the L1 controllers.
You can power on, power off, or reset a brick with L1 commands. The L1 command to power on a brick is power up or pwr u. The L1 command to power off a brick is power down or pwr d. The L1 command to reset a brick is reset.
When you prefix the power up, power down, or reset command with an asterisk (*), you can power on, power off, or reset the entire system.
001c07-L1> * power up 001c07-L1> |
![]() | Note: These commands can require from several seconds to several minutes to complete. |
In console mode, output from the system is visible and all input is directed to the system.
To enter console mode, press Ctrl+D at the L1 prompt:
001c07-L1> Ctrl+D entering console mode 001c07 console, <CTRL-T> to escape to L1 . <system output appears here> . |
To return to L1 mode, press Ctrl+T:
Ctrl+T escaping to L1 system controller 001c07-L1> |
While in L1 mode, you can enter any L1 command. Once the command is executed, the L1 returns to console mode:
re-entering console mode 001c07 console, <CTRL-T> to escape to L1 |
To permanently engage the L1 mode, press Ctrl+T and then enter the l1 command:
Ctrl+T escaping to L1 system controller 001c07-L1> l1 L1 command processor engaged, <CTRL-D> for console mode. 001c07-L1> |
The brick with which the L1 controller communicates in console mode is the system console or global master, and you can view and set it with the select command. By default, the Cx-brick attempts to communicate with its local CPUs when console mode is entered. If the system has been powered on and one of the bricks receives a request to be the system console, then the Cx-brick attempts to communicate with that brick. The select command by itself shows the current console mode settings:
001c07-L1> select console input: 001c07 console0 console output: not filtered. |
The following common subchannels are associated with console communications:
Subchannel 0A specifies Node 0, CPU A.
Subchannel 0B specifies Node 0, CPU B.
Subchannel 0C specifies Node 0, CPU C.
Subchannel 0D specifies Node 0, CPU D.
Subchannel 1A specifies Node 1, CPU A.
Subchannel 1B specifies Node 1, CPU B.
Subchannel 1C specifies Node 1, CPU C.
Subchannel 1D specifies Node 1, CPU D.
Subchannel 2A specifies Node 2, CPU A.
Subchannel 2B specifies Node 2, CPU B.
Subchannel 2C specifies Node 2, CPU C.
Subchannel 2D specifies Node 2, CPU D.
Subchannel 3A specifies Node 3, CPU A.
Subchannel 3B specifies Node 3, CPU B.
Subchannel 3C specifies Node 3, CPU C.
Subchannel 3D specifies Node 3, CPU D.
Node 0 console subchannel.
Node 1 console subchannel.
Node 2 console subchannel.
Node 3 console subchannel.
The output console input: 001c07 console0 shows that the L2 controller will send console input to brick 001c07 and the subchannel to be used is the console subchannel on node 0.
To change system console from one Cx-brick to another, use the select <rack> <slot> command:
001c07-L1> select r 2 s 7 console input: 002c07 console0 console output: not filtered. 001c07-L1> |
To change the subchannel used on the selected brick, use the select command followed by the subchannel number or the word console followed by a node number:
001c07-L1> select sub 0A console input: 001c07 CPU 0A console output: not filtered. 001c07-L1> |
During the boot process on a multi-rack system, there is a window of time in which all Cx-bricks are producing output. This output can produce a somewhat jumbled output at the L1 controller. However, you can filter the console output so that the L1 controller shows output from only the brick chosen to receive console input. You can turn filtering on and off with the select filter command.
If you attempt to communicate with a brick that is not responding, a time-out condition results:
001c07-L1> entering console mode 001c07 console, <CTRL-T> to escape to L1 no response from 001c07 junk bus console UART:UART_TIMEOUT |
When this time-out condition occurs, either the brick is hung or the subchannel is incorrect.
The L2 controller, which is a standard component of the Origin 3900 server, is a single-board computer that runs an embedded operating system out of flash memory. It performs the following functions:
Controls resource sharing.
Controls all L1 controllers.
Maintains controller configuration and topology information between the L1 and L2 controllers.
Routes data between upstream devices and downstream devices.
Upstream devices (for example, rack display, console, and modem) provide control for the system, initiate commands for the downstream devices, and act on the messages that they receive from downstream devices.
Downstream devices (for example, the USB hub of the R-brick, and L1 controllers of the bricks) perform the actions specified by the L2 controller commands, send responses to the L2 controller that indicate the status of the commands, and send error messages to the L2 controller.
Allows remote maintenance via a modem.
In a system with more than one L2 controller, all L2 controllers are peers. Each L2 controller monitors its associated L1 controllers and propagates this information to the other L2 controllers via the Ethernet.
![]() | Note: For L2 controller commands, see the SGI L1 and L2 Controller Software User's Guide (007-3938-xxx). |
The printed circuit assembly (PCA) of the L2 controller is housed in a sheet metal box that is 1U high and is located at the top of the rear of the racks that contain Cx-bricks and/or R-bricks. (It does not use configurable rack space.) The L2 controller has the following connectors:
Power connector connects to a power bay.
RS-485 connector is not used.
Two RS-232 ports (DB-9): one port can connect to a console and the other port can connect to a modem.
Rack display port can connect the rack display.
Four USB ports can connect to R-bricks and/or Cx-bricks (directly or via USB hubs).
Figure 8-3 shows the connectors at the rear of the L2 controller.
The L2 controller connects to a modem through the RS-232 connector that is labeled Modem on the back of the L2 controller. This connection provides a means of connecting remote support hardware to the system.
The preferred method of connecting remote support hardware to a system is via an Ethernet hub. The Ethernet hub provides eight Ethernet connectors. Figure 8-4 shows sample connections between the Ethernet hub, L2 controllers, and an SGIconsole.
The L2 controller also consists of a touch display that is located on the front door of rack 001. This display (see Figure 8-5) is a touch-pad LCD (liquid crystal display) screen display. The L2 controller's touch-screen translates what the user touches into commands and displays the results of the commands.
The display has a contrast control that enables you to increase or decrease the contrast of the displayed information. Sliding the contrast control to the right increases the contrast.
The L2 controller touch display provides a simple graphical interface that enables you to perform basic functions, including the following:
Power up selected bricks or the entire system
Power down selected bricks or the entire system
Reset the system
Send a non-maskable interrupt (NMI) to the system
Select target destination(s)
The display consists of several different windows, which are discussed in the following sections:
The home window of the L2 controller touch display, shown in Figure 8-6, includes five buttons: Power UP, Power DOWN, RESET, NMI, and DEST:.
The Power UP button powers on a single brick, multiple bricks, a partition, multiple partitions, or an entire system. The DEST: field indicates which bricks are powered on. See “Power Up Confirmation Window” for information on using the Power UP button.
The Power DOWN button powers off a single brick, multiple bricks, a partition, multiple partitions, or an entire system. The DEST: field indicates which bricks are powered off. See “Power Down Confirmation Window” for information on using the Power DOWN button.
The RESET button resets partitions. If you issue a reset command to a partition, the main memory is cleared and the registers are set to default values in all bricks within the targeted partition(s). For systems that contain multiple partitions, single or multiple partitions can be reset without affecting the entire system. If you issue a reset command to a single brick within a partition, the entire partition is reset. See “Reset Confirmation Window” for information on using the RESET button.
The NMI button issues a non-maskable interrupt command to a brick, multiple bricks, a partition, or multiple partitions. When the system hangs, you can send the affected brick or partition an NMI interrupt via the L2 console. The interrupt goes to PROM and causes the CPU state to be captured for each targeted Cx-brick. This information is saved in flash PROM and the system log. This information assists SGI technicians in debugging system hangs and customer problems. See “NMI Confirmation Window” for information on using the NMI button.
The DEST: button sets the target destinations for the power up, power down, reset, and nmi commands. The text to the right of the DEST: button shows the current target destination. The target destination in Figure 8-6 is all racks and all slots (r * s *). Therefore, a power up, power down, reset, or nmi command is sent to all bricks in the system. The text ([57 Bricks]) indicates the number of bricks that will be affected by the command. See “Destination Selection Window” for information on using the DEST: button.
If you press the Power UP button in the home window, the power up confirmation window appears, as shown in Figure 8-7.
To initiate the power up command, press the OK button. To terminate the command, press the Cancel button. The confirmation window stays visible until the command is successfully executed. An unsuccessful command results from an L1/L2 error in processing the command or a time-out while waiting for a response.
The power up command affects only the list of bricks identified in the destination field. To set or change the target list, press the Cancel button to return to the home window. Then press the DEST: button to change the target list. See “Destination Selection Window” for instructions on using the DEST: button.
If you press the Power DOWN button in the home window, the power down confirmation window appears, as shown in Figure 8-8.
To initiate the power down command, press the OK button. To terminate the command, press the Cancel button. The confirmation window stays visible until the command is successfully executed. An unsuccessful command results from an L1/L2 error in processing the command or a time-out while waiting for a response.
The power down command affects only the list of bricks identified in the destination field. To set or change the target list, press the Cancel button to return to the home window. Then press the DEST: button to change the target list. See “Destination Selection Window” for instructions on using the DEST: button.
If you press the RESET button in the home window, the reset confirmation window appears, as shown in Figure 8-9.
To initiate the reset command, press the OK button. To terminate the command, press the Cancel button. The confirmation window stays visible until the command is successfully executed. An unsuccessful command results from an L1/L2 error in processing the command or a time-out while waiting for a response.
![]() | Note: The reset command affects all bricks in the targeted partition(s). The target list is not enforced during the processing of a reset command. |
If you press the NMI (non-maskable interrupt) button in the home window, the NMI confirmation window appears, as shown in Figure 8-10.
To initiate the nmi command, press the OK button. To terminate the command, press the Cancel button. The confirmation window stays visible until the command is successfully executed. An unsuccessful command results from an L1/L2 error in processing the command or a time-out while waiting for a response.
The command error/time-out window, shown in Figure 8-11, appears when an unsuccessful command results in an L1/L2 error in processing the command or a time-out occurs while waiting for a response. The command error/timeout window appears in the main body of a command confirmation window. The content of the error message varies, depending on the type of error.
If you press the DEST: button in the home window, the destination selection window appears, as shown in Figure 8-12. Use this window to select which bricks in the system will be affected by a command initiated from the home window. A brick is referenced by its rack and slot (unit) number.
To select all racks and all slots, press the ALL button. To scroll the rack list and brick list (not shown in Figure 8-12), press the arrow buttons below the Partition button on the display. The scroll buttons are active only when the number of racks exceeds the available space to display them.
Once you have selected the bricks, press the Apply button to set the new destinations. The home window will then reappear. The new destinations are reflected in the destination field across the bottom of the home window display. See Figure 8-6.
Before pressing the Apply button to set the new destinations, you can reset the destination window to the last applied state by pressing the Reset DEST button. The destination selection window will then revert back to the last applied status.
To select a single brick within a rack, see Figure 8-13 and follow these steps:
Press the Rack/Slot button.
Press the button for the rack (for example, Figure 8-13 shows rack 001 selected).
Press the button for the slot (for example, Figure 8-13 shows the brick in slot 031 selected).
The new destination is reflected in the destination field near the bottom of the display window. For example, Figure 8-13 shows rack 001, slot 031 (r1 s31) as the destination.
Once you have selected the bricks, press the Apply button to set the new destinations. The home window will then reappear. The new destinations are reflected in the destination field across the bottom of the home window display.
To select multiple bricks within a rack, see Figure 8-14 and follow these steps:
Press the Rack/Slot button.
Press the button for the rack (for example, Figure 8-14 shows rack 001 selected).
Press the buttons for the desired slots (for example, Figure 8-14 shows the bricks in slots 015, 019, and 031 selected).
The new destination is reflected in the destination field near the bottom of the display window. For example, Figure 8-14 shows rack 001, slots 015, 019, and 031 (r1 s15, 19, 31) as the destination.
Once you have selected the bricks, press the Apply button to set the new destinations. The home window will then reappear. The new destinations are reflected in the destination field across the bottom of the home window display.
To select all bricks within a rack, see Figure 8-15 and follow these steps:
Press the Rack/Slot button.
Press the button for the rack (for example, Figure 8-15 shows rack 001 selected).
The new destination is reflected in the destination field near the bottom of the display window. For example, Figure 8-15 shows all slots in rack 001 (r1 s *) as the destination.
Once you have selected the rack, press the Apply button to set the new destinations. The home window will then reappear. The new destinations are reflected in the destination field across the bottom of the home window display.
To select all bricks within a partition, see Figure 8-16 and follow these steps:
Press the Partition button.
Press the button for the partition number (for example, Figure 8-16 shows partition 001 selected).
![]() | Note: The buttons that were the rack numbers before are now the partition numbers. |
The new partition target is reflected in the destination field near the bottom of the display window. For example, Figure 8-16 shows partition 001 (p1) as the destination.
Once you have selected the partition, press the Apply button to set the new partition target. The home window will then reappear. The new partition target is reflected in the destination field across the bottom of the home window display.
Use the same procedure to select multiple partitions. Press ALL to select all partitions. If you select the Partition button, the command is sent to all bricks within the selected partition(s).
The L2 controller hardware includes L2 controller firmware. To access the L2 controller firmware, you must connect a console such as the SGIconsole to the L2 controller. For instructions on how to connect a console to the L2 controller, see “Connecting System Console” in Chapter 1.
The L2 firmware is always running as long as power is supplied to the L2 controller. If you connect a system console to the L2 controller's console port, the L2 prompt appears.
The L2 firmware operates in one of three modes, each of which is discussed in the sections that follow.
L2 mode. The L2 prompt is visible and all input is directed to the L2 command processor.
Console mode. Output from the system is visible and all input is directed to the system.
L1 mode. The prompt from a single L1 controller is visible, and all input is directed to that L1 command processor.
After the connection to the L2 controller is established, the following prompt appears, indicating that the L2 controller is ready to accept commands:
L2> |
Common operations are discussed in the following sections:
You can use the L2 config command to view the current system configuration from a brick level:
L2> config L2 127.0.0.1: - 001 (LOCAL) L1 127.0.0.1:0:5 - 001c19 L1 127.0.0.1:0:0 - 001c15 L1 127.0.0.1:1:5 - 001c11 L1 127.0.0.1:1:0 - 001c07 L1 127.0.0.1:1:1 - 001i23 L2> |
As shown above, config produces a list of bricks and their locations in the system and the system controller address of each brick. This is similar to the output from using the config command on the L1 controller with the addition of the IP address of the L2 controller and USB port number. The structure of the brick's address is as follows:
a.b.c.d:x:y |
where:
a.b.c.d | is the IP address of the L2 controller. (In the example above, the IP address is 127.0.0.1.) | |
x | is the USB port number. | |
y | is the L1 index, as follows: 0 is the local brick (the brick to which the USB cable is attached). A number greater than 0 indicates that the brick is attached to the local brick. For example, an I/O brick that connects to an XIO port of the local Cx-brick has a number of 1, 2, 3, or 4. The Cx-brick that connects to the local Cx-brick via ports A and F has a number of 5. |
A brick is identified by its rack, type, and slot (001c07). The structure of the brick location is as follows:
rrrbss.p
where:
rrr | is the rack number. | |
b | is the brick type. | |
ss | is the slot location of the brick. | |
p | is the partition of the brick (not present if the system is not partitioned). R-bricks are not associated with a partition. |
In the example shown above, 001c07 is a Cx-brick in rack 001 and slot position 07.
If a command is not understood by the L2 controller, it is passed to the L1 controllers. The destination determines which L1 controllers receive the command. A destination, specified by the following, is a range of racks and slots:
rack <rack list> slot <slot list> |
The <rack list> specifies a list of racks. This can be a list delimited by commas, such that 2,4,7 specifies racks 2, 4, and 7. You can use a dash to specify a range of racks, such that 2-4 specifies racks 2, 3, and 4. Both nomenclatures can be combined, such that 2-4,7 specifies racks 2, 3, 4, and 7.
You can specify the <slot list> using the same nomenclature. The slot number is the lowest unit number that the brick occupies. This number is located on the rack rail slightly above where the bottom of the brick sits. For example, in Figure 8-17, the slot number of the brick is 11.
The slot <slot list> is optional; if not given, then all slots in the specified rack(s) are implied. You should avoid specifying a rack list and a slot list that includes multiple racks and slots, such as rack 2-4,7 slot 1-8,11,13. Generally, you specify a rack and slot together to specify an individual brick.
You can use the aliases r and s to specify rack and slot, respectively. You can use the alias all or * in both the <rack list> and the <slot list>, or by themselves, to specify all racks and all slots.
To send a command to all bricks in a partition, enter the following:
partition <partition> <cmd> |
The default destination of a command when the L2 controller is first initiated is all racks and all slots. You can change the default destination by using the destination command:
L2> destination all racks, all slots L2> |
The following command sets the destination as all slots in racks 2 and 3:
L2> r 2,3 destination 2 default destination(s) set L2> |
The following example shows what bricks are found in the default destination. If you enter a command not understood by the L2 controller, the command is sent to these bricks.
![]() | Note: In the current implementation, if you add a brick to either rack 2 or 3, it would not be automatically included in the default destination. You would need to reset the default destination. |
L2> destination 002c07 (127.0.0.1:0:2) 003c07 (127.0.0.1:0:0) L2> |
The following command resets the default destination to all racks and all slots:
L2> destination reset default destination reset to all racks and slots L2> |
The current destination of a command is a range of racks and slots included with the command. For example, the following command sends the command <L1 command> to all bricks in racks 2, 3, 4, and 7:
L2> r 2-4,7 <L1 command> |
This is a one-time destination.
Some L2 commands are the same as the L1 commands. In many cases, this is intentional because the L2 controller provides sequencing that is necessary for a command to function correctly.
When L1 and L2 commands are similar, you can ensure that an L1 command is entered for the bricks in the current destination by preceding the command <L1 command> with the l1 command:
L2> r 2-4,7 l1 <L1 command> |
This is a one-time destination.
All information, warnings, and error messages generated by any of the system controllers are in the following form:
001c07 ERROR: invalid arguments for `ver' command, try “help ver” |
The general format includes a brick identification and the type of message, followed by the message. A message may be the result of an invalid command, as shown in the example, or the result of tasks running on the L1 controller, such as the environmental monitor.
Each L1 controller has a log of local events. Use the L1 command log to view events on any of the L1 controllers.
You can power on and power off the system with the power command. This command is interpreted by the L2 controller, because the bricks must be powered on in a specific order.
L2> power up L2> |
Depending on the size of the system, the power command may require several seconds to several minutes to complete. In the example above, all racks and slots in the default destination are affected. Any errors or warnings are reported as described above in “Viewing Information, Warnings, and Error Messages”.
To power on or power off a specific brick, specify a current destination:
L2> r 2 s 7 power up L2> |
To power on or power off all bricks in a partition, enter the following:
L2> partition <partition number> <power up or power down> |
To reset the system, enter the following:
L2> reset L2> |
This command restarts the system by resetting all registers to their default settings and rebooting the system controllers. Resetting a running system will cause the operating system to reboot and all memory will be lost.
In console mode, all output from the system is visible and all input is directed to the system.
To enter console mode from L2 mode, press Ctrl+D at the L2 prompt and observe the response:
L2> Ctrl+D entering system console mode (001c07 console0), <CTRL_T> to escape to L2 . <system output appears here> . |
To return to L2 mode from console mode, press Ctrl+T:
Ctrl+T escaping to L2 system controller L2> |
At this point, you can enter any L2 or L1 command. When the command completes, the L2 returns to console mode:
Re-entering system console mode (001c07 console0), <CTRL_T> to escape to L2 |
To permanently engage the L2 mode, press Ctrl+T and then enter the l2 command:
Ctrl+T escaping to L2 system controller L2> l2 L2 command processor engaged, <CTRL_D> for console mode. L2> |
When in console mode, the L2 communicates with the Cx-brick that is the system console or global master. All input from the console is directed to the Cx-brick. You can set and view the system console with the select command.
The L2 controller chooses the Cx-brick as the default console in the following priority order:
The Cx-brick in the lowest numbered rack and slot, which has produced console output, and has an attached IX-brick.
The Cx-brick in the lowest numbered rack and slot, which has an attached IX-brick.
The Cx-brick in the lowest numbered rack and slot.
The select command by itself shows the current console mode settings:
L2> select known system consoles (non-partitioned) 001c07-L2 detected current system console console input: 001c07 CPU 0A console output: not filtered |
The following common subchannels are associated with console communications:
Subchannel 0A specifies Node 0, CPU A.
Subchannel 0B specifies Node 0, CPU B.
Subchannel 0C specifies Node 0, CPU C.
Subchannel 0D specifies Node 0, CPU D.
Subchannel 1A specifies Node 1, CPU A.
Subchannel 1B specifies Node 1, CPU B.
Subchannel 1C specifies Node 1, CPU C.
Subchannel 1D specifies Node 1, CPU D.
Subchannel 2A specifies Node 2, CPU A.
Subchannel 2B specifies Node 2, CPU B.
Subchannel 2C specifies Node 2, CPU C.
Subchannel 2D specifies Node 2, CPU D.
Subchannel 3A specifies Node 3, CPU A.
Subchannel 3B specifies Node 3, CPU B.
Subchannel 3C specifies Node 3, CPU C.
Subchannel 3D specifies Node 3, CPU D.
Node 0 console subchannel.
Node 1 console subchannel.
Node 2 console subchannel.
Node 3 console subchannel.
The output console input: 001c07 console0 shows that the L2 controller will send console input to brick 001c07 and the console0 subchannel will be used.
To change the brick that will be the system console, use the select <rack>.<slot> command, where <rack> is the rack and <slot> is the slot where the brick is located:
L2> select 3.7 console input: 003c07 console console output: no filtered console detection: L2 detected |
To change the subchannel used on the selected brick to be the system console, use the select subchannel <0A|0B|0C|0D|1A|1B|1C|1D|2A|2B|2C|2D|
3A|3B|3C|3D> command. (Use the select subchannel console to select the current console as the subchannel of the brick to be the system console.) For example, to select the subchannel that corresponds to CPU A of node 1, enter the following:
L2> select subchannel 1A console input: 003c07 console CPU1A console output: no filtered |
During the boot process on a multibrick system, there is a window of time in which all Cx-bricks are producing output. This can result in a somewhat jumbled output at the L2 controller. However, you can filter console output so that the L2 controller shows output from only the brick chosen to receive console input. You can turn on and off filtering with the select filter on and select filter off commands.
If you attempt to communicate with a brick chosen to receive console input but that is not responding, a time-out condition results:
L2> Ctrl+D entering console mode 001c07 CPU1A, <CTRL_T> to escape to L2 no response from 001c07 Junk bus CPU1A system not responding no response from 001c07 Junk bus CPU1A system not responding |
When this time-out condition occurs, either the brick is hung or the subchannel is not correct.
In L1 mode, the prompt from a single L1 controller is visible, and all input is directed to that L1 command processor.
To enter L1 mode, enter the rack and a slot followed by l1:
L2> r 2 s 7 l1 enterling L1 mode 001c07, <CTRL-T> to escape to L2 001c07-L1> |
To return to L2 mode, press Ctrl+T:
001c07-L1> Ctrl+T escaping to L2 system controller, <CTRL-T> to send escape to L1 L2> |
At this point, you can enter any L2 command. Once the command is executed, the L2 controller returns to L1 mode:
re-entering L1 mode 001c07, <CTRL-T> to escape to L2 001c07-L1> |
To permanently engage the L2 mode, press Ctrl+T and enter the l2 command:
001c07-L1> Ctrl+T escaping to L2 system controller, <CTRL-T> to send escape to L1 L2> l2 L2 command processor engaged, <CTRL-T> for console mode. L2> |
The L1/L2 firmware is currently distributed as part of the snxsc_firmware package.To determine which version of the package is installed on your system console, enter the following command:
$> rpm -q snxsc_firmware |
If the package is installed, the full package name (including the revision) is returned:
snxsc_firmware-1.18.3-1 |
The L1 and L2 firmware binary and the utilities used to update it are stored in /usr/cpu/firmware/sysco.
The L1 firmware consists of three parts:
Boot image
A image
B image
At boot time, the boot image validates the A and B image, and if it is not instructed otherwise, it executes the newer of the two images. Because the L1 controller is running one of the two images, the image not in use is the image that will be overwritten when the firmware is upgraded. You need to re-boot any L1 controller either by power-cycling the brick or by using the L1 command reboot_l1.
Typically, you will upgrade the firmware through the network connection from the SGIconsole to the L2 controller:
$> /usr/cpu/firmware/sysco/flashsc --12 10.1.1.1 -p /usr/cpu/firmware/sysco/l1.bin all |
This updates all the bricks in the system. The -p at the end of the first line instructs the firmware to flash the proms in parallel.
You can update individual bricks by replacing all with a rack and slot number:
$> /usr/cpu/firmware/sysco/flashsc --12 10.1.1.1 /usr/cpu/firmware/sysco/l1.bin 1.19 |
This updates only the brick in rack 1, slot 19.
The L2 firmware consists of two parts:
Boot image
Kernel image
Typically, you will upgrade the firmware through the network connection from the SGIconsole to the L2 controller:
$> /usr/cpu/firmware/sysco/flashsc --12 10.1.1.1 /usr/cpu/firmware/sysco/l2.bin local |
Once this command is executed, you must power-cycle the L2 controller to run the new image. You can also do this with the L2 command reboot_l2.
Unlike the L1 controller, if the L2 update fails, a second image is not available to use as a back-up copy. However, the L2 controller will not run the kernel image if it is not valid. If the L2 update fails, you can update it through its console port:
$> /usr/cpu/firmware/sysco/flashsc --l2recover /usr/cpu/firmware/sysco /l2.bin <device> |
Output will indicate that the firmware image is being erased and then rewritten. The flash image is quite large (almost 2 MB), so updating the flash image takes several minutes. You must power-cycle the L2 controller to run the new image. You can also do this with the L2 command reboot_l2.
Bricks are referenced by their racks and slot or unit locations. These values are stored in non-volatile memory on the L1 controller. Virtually all system controller communications require that each brick have a valid and unique rack and slot.
If a brick is not set with its rack and slot number, it appears in the output of an L2 config command, as shown in the following example:
L2> config 137.38.88.82.1.0 ---c-- (no rack/slot set) L2> |
To set the rack and slot for a brick, address it by its IP address, USB port, and L1 controller index. Note the following example:
L2> 137.38.88.82:1:0 brick rack 1 L2> 137.38.88.82:1:0 brick slot 11 L2> 137.38.88.82:1:0 reboot_l1 INFO: closed USB /dev/sgil1_0 INFO: opened USB /dev/sgil1_0 L2>config 137.38.88.82:1:0 001c11 L2. |
To set the rack and slot from the L1 prompt, simply use the brick rack and brick slot commands. To set the rack and slot on one of the attached bricks (an attached I/O brick, Cx-brick, or Cx-brick's I/O brick), use the L1 targeting commands nia, nib, iia, or iib.
001c07-L1> config :0 - 001c07 :1 - ---i-- 001c07-L1> iia brick rack 1 ---i--: brick rack set to 001. 001c07-l1> iia brick slot 23 ---i-- brick slot set to 23 001c07-l1> iia reboot_l1 001c07 ERROR: no response from ---i-- 001c07-L1> config :0 - 001c05 :1 - 001i23 001c07-L1> The number after the “:” indicates the following: 0 = local brick 1 = IIA 2 = IIB 3 = IIC 4 = IID To obtain a detailed configuration explanation from the L1 perspective, enter the following: 001c07-L1> config verbose |