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