Introduction
Managing I/O devices and disks can be very challenging, especially when configurations are complex. This guide explains how to identify slot numbers from a device's fully qualified physical path name.
Every hardware device on a system is identified with its full device name, also called the physical device name. Physical device files are found in the /devices
directory. The full device pathname identifies a device in terms of its location in the device tree by identifying a series of node names separated by slashes, with the root indicated by a leading slash. Each node name in the full device pathname has the following form: driver-name@unit-address:device arguments.
driver-name identifies the device name; @unit-address is the physical address of the device in the address space of the parent; and :device arguments defines additional information regarding the device software.
If you match the devices to the driver names (which will be part of the physical path) you will know what type of device you are looking at.
Description
The following sections describe slot numbers for different system architecture.
Table 1 provides the descriptions of commonly used device drivers:
|
Table 1: Commonly used device drivers
Enterprise 3500-6500 servers
The physical path can help you locate a particular device. For example, the full device address
/sbus@1f,0/esp@0,3000/sd@2,0:a
represents a slice of a SCSI disk drive on a SPARC system. It is interpreted from left to right as a device attached to the sbus
with a main system bus address of 1f,0
; an esp
device, a SCSI bus attached at sbus slot 0
, offset 3000
; and an sd
device with a SCSI bus target of 2
, a logical unit of 0
, and an argument of a
, which represents slice a
of the disk.
For Sun Fire, there are two sbuses per board, 0 and 1 on board 0, 2 and 3 on board 1, etc. The sbus is in hex and the slot # in decimal. There are 3 slots per board, 0, 1 and 2. Slot d is the onboard slot. Slots go from left to right (they are numbered so it's easy). There are two channels per slot, 0 and 1. Channels go from right to left. For example:
Searching for disks...done
AVAILABLE DISK SELECTIONS:
0. c2t96d0 <SUN9.0G cyl 4924 alt 2 hd 27 sec 133>
/sbus@17,0/SUNW,socal@d,10000/sf@0,0/ssd@w210000203719af3e,0
1. c2t101d0 <SUN9.0G cyl 4924 alt 2 hd 27 sec 133>
/sbus@17,0/SUNW,socal@d,10000/sf@0,0/ssd@w210000203719b0e8,0
2. c2t106d0 <SUN9.0G cyl 4924 alt 2 hd 27 sec 133>
/sbus@17,0/SUNW,socal@d,10000/sf@0,0/ssd@w210000203719aded,0
3. c2t112d0 <SUN9.0G cyl 4924 alt 2 hd 27 sec 133>
/sbus@17,0/SUNW,socal@d,10000/sf@0,0/ssd@w210000203719ad78,0
4. c2t115d0 <SUN9.0G cyl 4924 alt 2 hd 27 sec 133>
/sbus@17,0/SUNW,socal@d,10000/sf@0,0/ssd@w210000203719ad8e,0
5. c2t118d0 <SUN9.0G cyl 4924 alt 2 hd 27 sec 133>
/sbus@17,0/SUNW,socal@d,10000/sf@0,0/ssd@w210000203719b021,0
6. c2t122d0 <SUN9.0G cyl 4924 alt 2 hd 27 sec 133>
/sbus@17,0/SUNW,socal@d,10000/sf@0,0/ssd@w210000203719aea6,0
Specify disk (enter its number):
The above format output shows one (they're all c2
) photon (because it's using socal/sf/ssd drivers
) on sbus@17
, which means it's on board 11 (17 hex = 23 decimal. Round odd numbers down one = 22 and divide by 2 = 11). It is connected to the onboard socal
(socal@d,10000
) and must be on the right channel (sf@0,0
).
So, if the device path reads:
0. c2t96d0 <SUN9.0G cyl 4924 alt 2 hd 27 sec 133>
/sbus@7,0/SUNW,socal@1,0/sf@1,0/ssd@w210000203719af3e,0
then the device is on sbus@7
= board 3 (7 hex = 7 decimal, round down to 6 and divide by 2 = 3), in slot 1 (socal@1.0
) in channel 1 (left channel, sf@1,0
).
With this information you can track the device by tracing the wire. Table 2, which makes the same calculation a lot easier to interpret, describes the slot and sbus slot assignments and their locations (front or back of the system).
|
Table 2: 3500-6500 slot assignments
Refer to the preceding example and Table 2. You will see that sbus@17
means it is in board slot 11 at the back of the system.
Note: The Sun Enterprise 3x00 has board slots in the back of the system only (the internal disks are located on the front). The Sun Enterprise 4x00, 5x00, and 6x00 have board slots in the front and back.
Note: sf@0
is the GBIC port on the right and sf@1
is the GBIC port on the left on a soc+
I/O board.
Midrange 250 and 450 Servers
The Sun workgroup server product series slot assignments for Sun Enterprise 250 and 450 are shown in this section.
Consider the following device path:
/pci@6,4000/scsi@2
As shown in Table 3, this device path represents the card occupying slot 3. In this table, Device is the device driver name of the card occupying the slot (for example, scsi
).
|
Table 3: 450 PCI Slot Assignments
The device path /pci@1f,4000/scsi@3
may be reported. This device path references the disk controller built onto the system board that controls the first four internal disk slots in a Sun Enterprise 450 - the bottom four slots.
The device path /pci@1f,4000/scsi@2
may be reported. This device path references the controller built onto the system board for the internal CD-ROM or tape drive, as well as the onboard SCSI port on the system board.
Table 4 shows the Sun Enterprise 250 PCI Slot Assignments.
|
Table 4: 250 PCI Slot Assignments
Enterprise 3800-6800 Servers
There are two types of I/O boards - PCI and cPCI. PCI has 8 slots and cPCI has 6 slots. 4800/4810/6800 do not support cPCI cards at this time. In 3800, IB6 and IB8 are located side by side on the front of the box. In 4800, IB6 is at the bottom and IB8 is at the top at the back of the box. In 4810, both of the boards are located in the front. In 6800, they are located as:
IB9 IB8
IB7 IB6
3800-6800: CPU/Memory Boards
Depending on the type, Sun Fire systems can have up to 6 CPU boards. Each CPU board can have up to 4 processors. Processors with Agent IDs (AID) 0-3 reside on board C0, 4-7 on board C1, 8-11 on board C2, and so on. Refer to Table 5 for AID allocation.
Using this allocation, there are up to 4 CPU instances P0-P3 on each board. There are up to 4 banks of memory per CPU board. Each bank is controlled by one memory controller (MMU). The memory controller is co-packaged with its processor. Thus, AID for the memory controller is the same as its processor AID but with a different offset. The offset is 0 for processors and 400000 for memory.
|
Table 5: AID Allocation
Example for CPU module
To determine the physical location of CPU modules, consider the following full device path name
/ssm@0,0/SUNW,UltraSPARC-III@b,0
Here, 0
is the Node ID and CPU AID is B
. Now
- Divide processor Agent ID by 4.
hex: b/4 = 2.xx
dec: 11/4 = 2.xx
The whole number represents the CPU board number(slot number), C2 in this case.
- The remainder of the division represents processor instance number (0-3) on the CPU board.
In this example, the remainder is 3, indicating CPU P3.
Example for memory controller
To determine physical location of memory controllers, consider the following full device path name
/ssm@0,0/SUNW,memory-controller@b,400000
Here Node ID is 0
, Memory AID is B
and offset is 400000
. The same formula applies to memory components. As in the CPU case, memory resides on board C2.
3800-6800: IO Boards
There are up to 4 I/O boards in a system, each hosting 2 Schizo's. Each Schizo has two bus sides, A and B. Agent ID 25 and 26 are located on IB6, 27 and 28 on IB7, and so on. The node ID for Sun Fire is always zero (ssm@0,0
). Sun Fireplane Agent IDs (AID) range from 0-31 (0-1f, hex). CPU AIDs range from 0-23 (0-17, hex). Schizo AIDs range from 24-31 (18-1f, hex).
|
Table 6: Sun Fireplane Agent ID (AID) allocation for Schizo IO
There are 2 types of IO boards, PCI and cPCI. The PCI board types have 8 slots. A cPCI may have 4 or 6 slots. Tables 5, 6, and 7 describe PCI and cPCI IO board topology.
|
Table 7: PCI IO Board Topology
|
Table 8: cPCI IO Board Topology for 4 slots
|
Table 9: cPCI IO Board Topology for 6 slots
|
Table 10: Physical Slot location for PCI IO boards
Example for IO boards
PCI Example 1
To determine physical location of I/O devices, consider the following full device pathname:
/ssm@0,0/pci@19,700000/pci@3/SUNW,isptwo@4/sd (block)
Where
Node ID is 0
Schizo AID is 19
Device# is 3
To locate the IO board number, divide the Schizo ID by 2 and subtract 6.
Hex: (19/2)- 6 = 6.8
This means the device resides on the I/O board in slot 6 (IB6). The fact that the result has a fraction indicates that this is an odd AID. An odd AID indicates Schizo 1 and an even AID indicates Schizo 0 of IB6. Alternatively, you can look up the AID in Table 5.
To identify the slot number of IB6 in which this device is installed, use Table 7 for PCI IO topology. From the device path, AID is odd (19), offset = 700000, and device # = 3. This device is in slot 6 of IO board IB6.
PCI Example 2
(from
show-devs
output):
/ssm@0,0/pci@1d,600000/scsi@1,1 (scsi-2)
/ssm@0,0/pci@1d,600000/scsi@1,1/tape (byte)
/ssm@0,0/pci@1d,600000/scsi@1,1/disk (block)
/ssm@0,0/pci@1d,600000/scsi@1 (scsi-2)
/ssm@0,0/pci@1d,600000/scsi@1/tape (byte)
/ssm@0,0/pci@1d,600000/scsi@1/disk (block)
Where AID is 0
Offset is 600000
Device# is 1
All of these devices belong to the same slot since the AID, offset, and device numbers are identical.
AID=1d, offset=600000, device#=1
1d/2-6=8.8 => slot8
Using PCI topology Table 7, you can determine that this device is located at slot 7 of IO board IB8.
cPCI Example 1
Consider this full device pathname
/ssm@0,0/pci@1c,700000/pci@1/SUNW,isptwo@4 (scsi)
Where
Node ID is 0
Schizo AID is 1c
Device# is 1
To find the IO board number, divide the AID 1c by 2 then subtract 6: 1c/2 - 6 = 8. This device is on IB8. Again, no fractions means Schizo 0 of IB8.
From the device path: AID=even (1c), offset = 700000, device# = 1. Using Table 7, you will find that this device is located at slot 2 of IB8.
Complete List of Software Utilities and Products
Utilities
|
Table 11 Software Utilities and Products