Bob,

 There's clearly some sort of problem.  I would like to know whether
 this is a general problem with magtapes under Ultrix (V3 or V4), just
 TMSCP tapes, or just with the TK50?  So:

 1. Will Ultrix install from the 3.0 tape if the simulated tape is a
 TSV11 (different tape)? a TK70 or TU81 (different TMSCP)?
I installed my Ultrix v3 and v4 from TK50 tape, it seemed OK.
I have no installation tapes with TSV11 boot loader ... test not possible.
 2. Will Ultrix read the 3.0 if the simulated tape is a TSV11
 (different tape)? a TK70 or TU81 (different TMSCP)?
- I repeated the "mt rewind /mt fsf 13 /dd , dd" tests with "set tq
TU81": same errors on Ultrix v3 and v4
as with TK50.
- I tested "setld -x" with TSV05 for two different tapes each on ultrix
v3 and v4: always OK.
The other test ("mt rewind /mt fsf 13 ...") did not work for TSV05, this
tape drive seems to ignore positioning commands.

Conclusion: it is a TMSCP problem on Ultrix ... in pdp11_tq.c

Possible explanation, why Ultrix installed from TK50, but some software
distribution tapes in "setld" format have errors:
The error does only show up, if there is a very small file on tape (<  5
blocks ?).
The installation tape (for example "Ultrix-32_3.0_supp.tap") contains
only bigger files.
My test tape #1 has a small file in the middle, tape #2 has a small file
at the end before EOT.

 I think the next step would be to extract the sources for the Ultrix
 drivers (V3 and V4) and take a look at them.
I found only sources for Ultrix 2.0 and 4.20  on the web ... do you have
3.0 and 4.0?

Test protocols are in attachement again.

Joerg


Test:
        TAPE1 =   
www.bitsavers.org/bits/DEC/vax/ultrix/3.0/Ultrix-32_3.0_unsupp.tap
        TAPE2 =  "DEC C FOR RISC-ULTRIX TK50 (DEC 1991, AQ-PCXFA-BE 
ME214414).simh_tq.tk50" (own copy)

access tape   over different drivers: set tq TU81
################################################################################
################################################################################
################################################################################
Tests with TU81
################################################################################
################################################################################
################################################################################



Test 1:
Tape=TAPE1, isolates "backspace reverse by object" as error, shows that tape 
image is OK.
        sim> set tq0 TU81
        sim> att tq0 -r  
www.bitsavers.org/bits/DEC/vax/ultrix/3.0/Ultrix-32_3.0_unsupp.tap

# mt status

DEVIOGET ELEMENT        CONTENTS
----------------        --------
category                DEV_TAPE
bus                     DEV_QB
interface               TU81
device                  TU81
adpt_num                0
nexus_num               0
bus_num                 0
ctlr_num                16
slave_num               0
dev_name                tms
unit_num                0
soft_count              0
hard_count              0
stat                    9
                        DEV_BOM DEV_WRTLCK
category_stat           40
                        DEV_6250BPI

MTIOCGET ELEMENT        CONTENTS
----------------        --------
mt_type                 MT_ISTMSCP
mt_dsreg                983
mt_erreg                0
mt_resid                0

#


Test 2.a: read file stream
        # mt rewind                                             begin from tape 
start
        # mt fsf 13                                             jump to 14th 
tape file
        # dd if=/dev/nrmt0h bs=10240 of=tapefile13              read it
        7+0 records in
        7+0 records out
        # dd if=/dev/nrmt0h bs=10240 of=tapefile14.err          and read the 
critical 15th file in sequence
        2+0 records in                                          FAIL: only 2 
blocks read!
        2+0 records out

Test 2.b: position to start of file, no "backspace reverse by object count"
        # mt rewind                                             begin from tape 
start
        # mt fsf 14                                             now jump 
directly to critical 15th file
        # dd if=/dev/nrmt0h bs=10240 of=tapefile14.ok           read it
        3+0 records in                                          OK: now 
correctly 3 records are read!
        3+0 records out


Combinations & Results for various setups:
#    Setup-ID           Info                            Result
---  ----------         ------------------------        ------------------
2.1)  SIM-ORG_U3_TAPE1  SimH 3.8-1, Ultrix V3:          Test 2.a fails (2 
records) , Test 2.b OK (3 records)
2.3)  SIM-ORG_U4_TAPE1  SimH 3.8-1, Ultrix V4:          Test 2.a fails (0 
records) ,  Test 2.b OK (3 records)



Test 3:
Tape=TAPE2, has a 3-record file at the end.  exercises "backspace reverse by 
objects at end of tape"
        Shows that there's another error at end of tape
        sim> att tq0 -r DEC C FOR RISC-ULTRIX TK50 (DEC 1991, AQ-PCXFA-BE 
ME214414).simh_tq.tk50
Dump:
obj # | What?                        | Repeat | File:rec | Offset (hex/dec)
------+------------------------------+--------+----------+----------------------
    0 | Data record with 10240 bytes |      1 | 0:0      |    0:0000 = 0
    1 | Tape Mark                    |      1 |          |    0:2808 = 10248
    2 | Data record with 10240 bytes |      1 | 1:0      |    0:280C = 10252
    3 | Tape Mark                    |      1 |          |    0:5014 = 20500
    4 | Data record with 10240 bytes |      1 | 2:0      |    0:5018 = 20504
    5 | Tape Mark                    |      1 |          |    0:7820 = 30752
    6 | Data record with 10240 bytes |      5 | 3:0-4    |    0:7824 = 30756
   11 | Tape Mark                    |      1 |          |    1:404C = 81996
   12 | Data record with 10240 bytes |    385 | 4:0-384  |    1:4050 = 82000
  397 | Tape Mark                    |      1 |          |   3D:7458 = 4027480
  398 | Data record with 10240 bytes |     72 | 5:0-71   |   3D:745C = 4027484
  470 | Tape Mark                    |      1 |          |   48:B69C = 4765340
  471 | Data record with 10240 bytes |      2 | 6:0-1    |   48:B6A0 = 4765344
  473 | Tape Mark                    |      3 |          |   49:06B0 = 4785840

Test 3.a: read file stream
        # mt rewind                                             begin from tape 
start
        # mt fsf 5                                             jump to 6th tape 
file
        # dd if=/dev/nrmt0h bs=10240 of=tapefile5              read it
        72+0 records in
        72+0 records out
        # dd if=/dev/nrmt0h bs=10240 of=tapefile6.err          and read the 
critical 15th file in sequence
        0+0 records in                                          FAIL: 0 blocks 
read!
        0+0 records out

Test 3.b: position to start of file, no "backspace reverse by object count"
        # mt rewind                                             begin from tape 
start
        # mt fsf 6                                             now jump 
directly to critical 14th file
        # dd if=/dev/nrmt0h bs=10240 of=tapefile6.ok           read it
        2+0 records in                                          OK: now 
correctly 2 records are read!
        2+0 records out


Combinations & Results for various setups:
#    Setup-ID           Info                            Result
3.1) SIM-ORG_U3_TAPE2   SimH 3.8-1, Ultrix V3.0:        Test 3.a fails (0 
records) , Test 3.b OK (2 records)
3.3) SIM-ORG_U4_TAPE2   SimH 3.8-1, Ultrix V4:          Test 3.a fails (0 
records) , Test 3.b OK (2 records)




################################################################################
################################################################################
################################################################################
Tests with TSV05 /
= dev/rmt2h under Ultrix 3 installation
= dev/rmt1h under Ultrix 4 installation
################################################################################
################################################################################
################################################################################



Test 1:
Tape=TAPE1, isolates "backspace reverse by object" as error, shows that tape 
image is OK.
        sim> att ts0 -r  
www.bitsavers.org/bits/DEC/vax/ultrix/3.0/Ultrix-32_3.0_unsupp.tap

# mt -f /dev/rmt2h status
TS05 tape drive, residual=0
ds=0
er=156<ONL,IES,PED,WLK,BOT>

Test 1:
# setld -x /dev/rmt2h    (Ultrix v3)
# setld -x /dev/rmt1h    (Ultrix v4)
Is this correct? (y/n): y
Extracting ULXBASE030...
Extracting ULXEDIT030...
Extracting ULXGAMES030...
Extracting ULXLISP030...
Extracting ULXMOD2030...
Extracting ULXVARIAN030...
Extracting ULXDOC030...
Extracting ULXAPL030...
Extracting ULXBIB030...
Extracting ULXCOURIER030...
Extracting ULXCPM030...
Extracting ULXSHELLS030...
Extracting ULXHYPER030...
Extracting ULXICON030...
Extracting ULXINGRES030...
Extracting ULXNEWS030...
Extracting ULXNOTES030...
Extracting ULXRCS030...
Extracting ULXSPMS030...
Extracting ULXTOOLS030...
Extracting ULXF77030...
Extracting ULXLEARN030...
Extracting ULXMAN030...
Media extraction complete.
Rewinding Tape...
NO ERRORS

Test 2  (positioning tape with "mt fsf 13" etc) does not work for TSV05: can it 
not skip files?


Combinations & Results for various setups (2 tapes, ultirx v3/v4)
#    Setup-ID           Info                            Result
---  ----------         ------------------------        ------------------
2.1)  SIM-ORG_U3_TAPE1  SimH 3.8-1, Ultrix V3:          Test 1 OK (Media 
extraction complete.)
2.2)  SIM-ORG_U4_TAPE1  SimH 3.8-1, Ultrix V4:          Test 1 OK (rewinding 
ok/hang for 20 min)
2.3)  SIM-ORG_U3_TAPE2  SimH 3.8-1, Ultrix V3:          Test 1 OK (Media 
extraction complete.)
2.4)  SIM-ORG_U4_TAPE2  SimH 3.8-1, Ultrix V4:          Test 1 OK


Test 3:
Tape=TAPE2, has a 3-record file at the end.  exercises "backspace reverse by 
objects at end of tape"
        Shows that there's another error at end of tape
        sim> att tq0 -r DEC C FOR RISC-ULTRIX TK50 (DEC 1991, AQ-PCXFA-BE 
ME214414).simh_tq.tk50
Dump:
obj # | What?                        | Repeat | File:rec | Offset (hex/dec)
------+------------------------------+--------+----------+----------------------
    0 | Data record with 10240 bytes |      1 | 0:0      |    0:0000 = 0
    1 | Tape Mark                    |      1 |          |    0:2808 = 10248
    2 | Data record with 10240 bytes |      1 | 1:0      |    0:280C = 10252
    3 | Tape Mark                    |      1 |          |    0:5014 = 20500
    4 | Data record with 10240 bytes |      1 | 2:0      |    0:5018 = 20504
    5 | Tape Mark                    |      1 |          |    0:7820 = 30752
    6 | Data record with 10240 bytes |      5 | 3:0-4    |    0:7824 = 30756
   11 | Tape Mark                    |      1 |          |    1:404C = 81996
   12 | Data record with 10240 bytes |    385 | 4:0-384  |    1:4050 = 82000
  397 | Tape Mark                    |      1 |          |   3D:7458 = 4027480
  398 | Data record with 10240 bytes |     72 | 5:0-71   |   3D:745C = 4027484
  470 | Tape Mark                    |      1 |          |   48:B69C = 4765340
  471 | Data record with 10240 bytes |      2 | 6:0-1    |   48:B6A0 = 4765344
  473 | Tape Mark                    |      3 |          |   49:06B0 = 4785840

Test 3.a: read file stream
        # mt rewind                                             begin from tape 
start
        # mt fsf 5                                             jump to 6th tape 
file
        # dd if=/dev/nrmt0h bs=10240 of=tapefile5              read it
        72+0 records in
        72+0 records out
        # dd if=/dev/nrmt0h bs=10240 of=tapefile6.err          and read the 
critical 15th file in sequence
        0+0 records in                                          FAIL: 0 blocks 
read!
        0+0 records out

Test 3.b: position to start of file, no "backspace reverse by object count"
        # mt rewind                                             begin from tape 
start
        # mt fsf 6                                             now jump 
directly to critical 14th file
        # dd if=/dev/nrmt0h bs=10240 of=tapefile6.ok           read it
        2+0 records in                                          OK: now 
correctly 2 records are read!
        2+0 records out


Combinations & Results for various setups:
#    Setup-ID           Info                            Result
3.1) SIM-ORG_U3_TAPE2   SimH 3.8-1, Ultrix V3.0:        Test 3.a fails (0 
records) , Test 3.b OK (2 records)
3.3) SIM-ORG_U4_TAPE2   SimH 3.8-1, Ultrix V4:          Test 3.a fails (0 
records) , Test 3.b OK (2 records)





_______________________________________________
Simh mailing list
[email protected]
http://mailman.trailing-edge.com/mailman/listinfo/simh

Reply via email to