0B1

Explanation

System initialization cannot continue because of a problem in the LOADxx parmlib member, the I/O definition file (IODF) data set, or a device.

The right-most four bytes of the program status word (PSW) have the following format:
xrr00www
where:
x
Irrelevant information.
rr
A hexadecimal reason code indicating the reason for the failure.
www
The wait state code.
The reason code (rr) is one of the following:
01
The required data set was not found.
02
The IODF occupies more than one extent.
03
A required device is not defined.
04
MSCH instruction failed for a required device.
05
The IODF is not valid for an IPL.
06
The IODF did not contain an operating system configuration definition matching the configuration ID specified in the LOADxx member.
07
The IODF is not valid for an IPL. The configuration ID was blank in LOADxx, but there was more than one operating system configuration definition. If the configuration ID is blank, then IPL will use a single-defined operating system configuration definition as the default.
08
The IODF suffix is not valid.
09
After parsing the LOADxx member and applying any specified filtering keywords, the high-level qualifier for the IODF data set name is not valid.
0A
The IODF is not valid for an IPL. It must be a VSAM dataset.
0B
Equals ('==') were specified as the IODF suffix or equals ('========') were specified as the IODF high-level qualifier in the member and the configuration hardware token was not able to be obtained from the Hardware System Area (HSA), the IODF suffix found in the hardware token did not contain a valid hexadecimal number or the characters IODF were not found in the token.
Note: If equals ('========') were specified as the IODF high-level qualifier in the LOADxx parmlib member, the system uses the high-level qualifier obtained from the hardware token in the HSA. If the characters IODF are not found, or the IODF suffix is not X'00' to X'FF', the system loads wait state X'0B1' reason code X'00B'. The system uses the same rules for determining its ability to use the IODF name explicitly specified in LOADxx.
0C
An incorrect IODF volume has been chosen for the initial program load (IPL).
Note: This wait state can also occur because of an IODF statement that is not valid. In addition to incorrect data entries, this wait state can also be caused by incorrect keyword filtering that uses the HWNAME, LPAR NAME, and VMUSERID keywords.
Note: Ensure that the LOADxx member has not been compressed by the ISPF Edit PACK option. This can be checked by using the PROFILE command from the ISPF edit command line to display the state of the edit options. When PACK ON is used, the ISPF editor stores the data set in a compressed form that is not detected by the operating system.

System action

The system enters non-restartable wait state X'0B1'. The system issues the following messages with the following wait state reason codes:
Code
Accompanying Message
01
IEA513W
02
IEA514W
03
IEA515W, to display the device number
04
IEA516W, to display the device number
05
IEA517W
06
IEA518W
07
None
08
None
09
None
0A
IEA517W
0B
IEA511W
0C
None
To view any accompanying message, perform the following:
  1. Using the hardware Alter/Display facility, read the real address in central storage at X'14'. This address points to the IPL diagnostic area.
  2. Add X'28' to the address in X'14', and also read this as a real address in central storage. The result is the 31-bit virtual address of the IPL vector table (IVT). Henceforth, all addresses are 31-bit virtual and you must switch to displaying Primary Virtual Storage to display remaining storage locations.
  3. Add X'E0' to the IVT address. The result is the 31-bit address of the IVTMQHP field. IVTMQHP contains the address of the message queue header (MQH).
  4. MQH + X'0' contains the address of the oldest message queue element (MQE) available. The message text for the oldest MQE begins at MQE + X'08'.
  5. Use MQE + X'0' of the oldest MQE to find the MQE of the next oldest message. Again, the message text for this MQE begins at MQE + X'08'.
  6. Repeat this sequence (using MQE + X'0' of the current MQE to locate the next MQE), until the message text for the appropriate message is displayed.

Operator response

Ensure that the correct IODF volume is specified for the IPL and then reIPL the system. Device numbers are four digits in length. ReIPL and run the job again. Set LOAD parameter to the device number of the device that contains or SYS1.PARMLIB. Device numbers can be four digits in length, reIPL. Notify the system programmer.

System programmer response

Depending on the reason code, one of the following:
Code
Action
01
Verify that the correct device number was specified on the LOAD parameter. Verify that the IODF resides on the same volume as SYSn.IPLPARM or SYS1.PARMLIB and is in the same subchannel set as the IPL device. Enter the correct IODF data set name in the LOAD xx parmlib member.
02
Ensure that the IODF data set is allocated as a single extent data set.
03
Load device does not have the proper subchannel identifier. Verify that the device on which the IODF resides is defined. Verify that the correct device number was specified on the LOAD parameter. Verify that the hardware configuration matches the definitions in the IODF. Verify that the device on which the IODF resides is in the same subchannel set as the IPL device. Ensure that the LOAD parm on the HMC does NOT contain leading zero's for the IODF number.
04
Move any of the following data sets (that are on the device specified on the LOAD parameter) to a different device:
  • IODF
  • SYS1.PARMLIB
  • SYSn.IPLPARM
05
Change the LOADxx member to specify another IODF. Be sure to specify the name of a production IODF.
06
Change the LOADxx member to specify another IODF or the correct operation system configuration ID.
07
Specify the correct operating system configuration identifier.
08
Correct the suffix to be within the range X'00' to X'FF'.
09
Check to ensure that the IODF statement correctly specifies the high-level qualifier that is wanted. Then check for any usage of filtering keywords, HWNAME, LPAR NAME, or VMUSERID, to ensure that a valid IODF Statement can be found. If the filtering keywords are incorrectly specified, the high-level qualifier for the IODF statement resolves to blanks and this reason code results. Read carefully the rules for specifying these filter keywords.
0A
Change the Loadxx member to specify another IODF. Be sure to specify the name of a VSAM data set (instead of a sequential or partitioned data set).
0B
Change the Loadxx member to specify another IODF. Be sure to specify the name of a production IODF or specify pluses ('++'), minuses ('--'), blanks (' ') or asterisks ('**') and let the system locate a valid IODF. If equals ('========') were specified as the high-level qualifier, specify the high-level qualifier of a production IODF.
0C
Ensure that the correct IODF volume is specified for the IPL and that the hardware management console (HMC) load profile points to this volume. Then reIPL the system.

In each case, ask the operator to reIPL the system.

Problem determination

If the problem persists, search problem reporting databases for a fix for the problem. Provide the following search argument:
  • WS/D0B1: Wait state code
  • PRCS/000000rr: Reason code
  • MS/IEAnnnW: Message identifier
If no fix exists, ask the operator to obtain the stand-alone dump. Contact the IBM® Support Center. Provide the stand-alone dump, the accompanying message, and the reason code.

Source

Input/Output supervisor (IOS)