In the continuing saga of trying to make certain devices that say they are tape drives but aren't look more like tape drives, the vendor has been able to eliminate the streaming unsolicited interrupts when the device is detached from a user; however, there is now a single Unit Check with Command Reject. This is preferable to getting the devices boxed, but leaves a little something to be desired. I have run TRSOURCE while detaching one of the devices and this is what I get:
Post-trace TRSOURCE DISPLAY reply: ID TYPE SET STATUS DEVICES USER IODATA T670 IO NULL DISABLED 0670 ALL 0128 TRACERED output: -------------------------- 07/22/08 16:28:05.320835 -------------------------- TRACE TYPE IO, CPU 0001 TIME 16:28:05.320835 TRACEID = T670, TRACESET = NULL, IODATA = 128 USER = RSCHUH, I/O OLD PSW = 0704D001 80000000 00000000 002C0FBE DEVICE = 0670, SCSW = 00C04007 56A16430 0C000000 ESW = 00800003 I/O PRIORITIES: CHANNEL = 0, CURRENT = 255, ORIGINAL = 255 OUT-PRIORITIZED COUNT = 0 -> CCW(1) = C720000B 0000E078, CCW ADDRESS = 56A16428 DATA = 8800010B A02094C2 A0FAEA *h.....mB...* TRACE TYPE IO, CPU 0003 TIME 16:28:05.321390 TRACEID = T670, TRACESET = NULL, IODATA = 128 USER = RSCHUH, I/O OLD PSW = 0704D001 80000000 00000000 002C0FBE DEVICE = 0670, SCSW = 00C04007 7ABBDEE0 0C000000 ESW = 00800001 I/O PRIORITIES: CHANNEL = 0, CURRENT = 255, ORIGINAL = 255 OUT-PRIORITIZED COUNT = 0 -> CCW(1) = 3420000C 7ABBDEE0, CCW ADDRESS = 7ABBDED8 DATA = C0880001 0BA02094 C2A0FAEA *.h.....mB...* TRACE TYPE IO, CPU 0001 TIME 16:28:05.322408 TRACEID = T670, TRACESET = NULL, IODATA = 128 USER = RSCHUH, I/O OLD PSW = 0704D001 80000000 00000000 002C0FBE DEVICE = 0670, SCSW = 00C04045 55A37C18 08000000 ESW = 00800006 I/O PRIORITIES: CHANNEL = 0, CURRENT = 255, ORIGINAL = 255 OUT-PRIORITIZED COUNT = 0 -> CCW(1) = 04600004 55A37C18, CCW ADDRESS = 55A37C08 DATA = 00482400 *....* -> CCW(2) = 9F200011 00AA3B90, CCW ADDRESS = 55A37C10 DATA = 20404040 4040405C 40404040 40404040 *. * * 40 * * TRACE TYPE IO, CPU 0006 TIME 16:28:05.322748 TRACEID = T670, TRACESET = NULL, IODATA = 128 USER = RSCHUH, I/O OLD PSW = 0704D001 80000000 00000000 002C0FBE DEVICE = 0670, SCSW = 00000003 00000000 04000000 ESW = 00800000 I/O PRIORITIES: CHANNEL = 0, CURRENT = 255, ORIGINAL = 255 OUT-PRIORITIZED COUNT = 0 ********** NO CCWS FOR THIS INTERRUPT ********** TRACE TYPE IO, CPU 0005 TIME 16:28:05.323115 TRACEID = T670, TRACESET = NULL, IODATA = 128 USER = SYSTEM, I/O OLD PSW = 0704D001 80000000 00000000 002C0FBE DEVICE = 0670, SCSW = 01C04017 00AA4088 0E000001 ** I/O ERROR ** ESW = 00800000 I/O PRIORITIES: CHANNEL = 0, CURRENT = 255, ORIGINAL = 255 OUT-PRIORITIZED COUNT = 0 -> CCW(1) = 07600001 00000000, CCW ADDRESS = 00AA4080 ********** INVALID DATA ADDRESS ********** -> CCW(2) = 0F200001 00000000, CCW ADDRESS = 00AA4088 ********** INVALID DATA ADDRESS ********** TRACE TYPE IO, CPU 0005 TIME 16:28:05.323593 TRACEID = T670, TRACESET = NULL, IODATA = 128 USER = SYSTEM, I/O OLD PSW = 0704D001 80000000 00000000 002C0FBE DEVICE = 0670, SCSW = 00C04007 13A04520 0C000000 ESW = 00800002 I/O PRIORITIES: CHANNEL = 0, CURRENT = 255, ORIGINAL = 255 OUT-PRIORITIZED COUNT = 0 -> CCW(1) = 04200020 13A04538, CCW ADDRESS = 13A04518 DATA = 80482427 00000020 00000000 00000000 *................* 00000000 00000000 0F010000 00000000 *................* The vendor says that the device has been modified to return Device End for both the Rewind (CCW Op Code 07) and the Rewind and Unload (0F) commands. In the penultimate entry, you can see that there is a Rewind chained to a Rewind and Unload. Both of those CCWs are flagged in the trace as having invalid data addresses. This is puzzling because the I/O was generated by CP. If there are, indeed, invalid data addresses, sould that not cause a Channel Program Check or some other error rather than Command Reject? Why is CP using invalid channel programs in the first place? Here is the pertinent section from the OPERATOR console: 15:47:21 TAPE 0670 DETACHED RSCHUH 0670 BY RSCHUH 15:47:21 HCPERP500I TAPE 0670 AN OPERATION WAS TERMINATED BECAUSE A 15:47:21 HCPERP500I COMMAND REJECT ERROR OCCURRED 15:47:21 HCPERP6300I SENSE DATA FORMAT = 02 MSG CODE = 00 15:47:21 HCPERP6301I CHANNEL COMMAND WORD COMMAND CODE = 07 15:47:21 HCPERP6303I SENSE = 80482427 00000020 00000000 00000000 00000000 15:47:21 HCPERP6303I 00000000 0F010000 00000000 15:47:21 HCPERP6304I IRB = 01C04017 00AA4088 0E000001 00800000 15:47:21 HCPERP6305I USERID = SYSTEM 15:47:21 HCPERP2216I CHANNEL PATH ID = 52 15:47:21 HCPERP2220I PHYSICAL CHANNEL PATH ID = 0168 According to the vendor, their internal trace shows that their machine received the Rewind and responded with Device End. The next thing they saw was the Sense. Regards, Richard Schuh