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 


Reply via email to