SUMMARY (#2): Reading tapes on 2.4 x86

From: Sean Boran (
Date: Wed Feb 22 1995 - 07:25:18 CST

X-Sun-Data-Type: text
X-Sun-Data-Description: text
X-Sun-Data-Name: text
X-Sun-Charset: us-ascii
X-Sun-Content-Lines: 82


This is an addendum to a summary posted two weeks ago. Although the problem has not
yet been solved, I decided to post an update. Attached is an almost identical
bug report from Sunsolve. No solution is given.

If any of you have any suggestions, I would appreciate hearing them...

The original question:

> I'm trying to transfer files to a PC running Solaris2.4 from
> a SPARC running either 2.3 or 2.4. I use simply:
> tar cf /dev/rmt/0
> on the source machine.
> On the PC (target) I get an scsi error saying
> "Error command for read" and "Incorrect Length Indicator Set".
> I have tried setting a blocksize with the tar "b" option, but it doesn't help.
> It doesn't seem to make a difference whether the source tape
> was made on a solaris1 or 2.4 machine, so I assume
> the problem is with the solaris 2.4 x86 tar...

I am using an exabyte 8505 on the PC and an 8500 on the SPARC.

I also tried using "dd" on a small file - the error was the same.
Tar to/from raw diskettes works fine. I also installed a 2.4 Tar jumbo patch - no help.
I _can_ copy files from PC to SPARC.

In Solaris 2.4 "Open Issues and Late-Breaking News" page 3/4, a workaround is suggested
for compatibility problems between 2.4 and pre 2.4 tapes. They require st.conf
to be modified to disable large (>64k) block sizes. So on the SPARC, /kernel/drv/st.conf
        ## For Solaris 2.4: (legato recommendation)
        tape-config-list = "EXABYTE EXB-8505","Exabyte 8505","data_8500c",
                           "EXABYTE EXB8500C","Exabyte 8500c","data_8500c";
        data_8500c = 1,0x35,0,0xd639,4,0x14,0x15,0x15,0x8C,1;

In Solaris 2.4 "Open Issues and Late-Breaking News" page 44, a bug is noted -
"SCSI tape driver does not recognise variable-length devices". However this
bug is noted for the Archive 4mm DAT (no mention of 8mm is made). The fix
is to use the drive in fixed-length 512-byte mode (they don't say how ;).

Now on x86, there is no "st" driver! It is called cmtp (Common Mode Tape) and
it has a config file called cmtp.conf. It's man page is pretty useless - not nearly
the same detail as the st man page. I assume that cmtp.conf has the same format
as st.conf. /kernel/drv/cmtp.conf on the PC which now reads:
                "EXABYTE EXB-8505","Exabyte 8505","data_8500c",
                "EXABYTE EXB8500C","Exabyte 8500c","data_8500c",
                "EXABYTE EXB-8500","Exabyte EXB-8500 8mm Helical Scan", "Exa8500",
                "EXABYTE EXB-8200","Exabyte EXB-8200 8mm Helical Scan", "Exa8200";

        Exa8500 =1,0x29,0,0x04E39,4,0x14,0x15,0x8c,0x8c,3;
        data_8500c =1,0x35,0,0xd639,4,0x14,0x15,0x15,0x8C,1;
        Exa8200 =1,0x28,0,0x00c79,1,0x00,0;

I also tried changing the third field from 0 to 512 (for block size). However
then "tar tvf /dev/rmt/0" panics the PC. Nice, heh?

Thanks to the following for suggestions:
        John Valdes <> (David B. Brown)

I would appreciate any other suggestions....



|Sean Boran Tel (switz.): 022-376.44.28 |
|Swiss Bank Corporation Email: |
|Geneva, Switzerland |
X-Sun-Data-Type: default
X-Sun-Data-Name: x86.1
X-Sun-Charset: us-ascii
X-Sun-Content-Lines: 45

 Bug Id: 1168480
 Category: kernel
 Subcategory: driver-x86
 Release summary: s494_ea2
 Synopsis: 4mm tape from sparc not readable by x86, but x86 is readable on sparc
         Integrated in releases:
 Patch id:
[submitter - reformatted by dmick@west]
s4-94 ea2 both asian and domestic is the first release were the sun 4mm
tape drive works in both on sparc and x86 platforms. However, though I
can read and write on a 4mm tape on each unit, I can not read a sparc
written 4mm tape on a x86 attached 4mm drive, but I can read a x86
written tape on a sparc attached 4mm drive. I get the following
message in /var/adm/messages and on the openwin console:

May 31 23:17:00 moonbeams-at unix: Tape4: Generic Drive, Vendor
'ARCHIVE ' Product 'Python 28454-XXX'
May 31 23:17:00 moonbeams-at unix: Default type
May 31 23:17:00 moonbeams-at unix: Tape4: Fixed record length (512 byte blocks) I/O
May 31 23:21:17 moonbeams-at unix: WARNING: /isa/aha@330,0/cmtp@4,0 (Tape4):
May 31 23:21:17 moonbeams-at unix: Error for command 'read' Error Level: Fatal
May 31 23:21:17 moonbeams-at unix: Requested Block 0, Error Block: 0
May 31 23:21:17 moonbeams-at unix: Sense Key: No Additional Sense
May 31 23:21:17 moonbeams-at unix: WARNING: /isa/aha@330,0/cmtp@4,0 (Tape4):
May 31 23:21:17 moonbeams-at unix: File Number: 0
May 31 23:21:18 moonbeams-at unix: WARNING: /isa/aha@330,0/cmtp@4,0 (Tape4):
May 31 23:21:18 moonbeams-at unix: Incorrect Length Indicator Set

on the x86 machine. Commands used to create and scan the tapes are:

tar -cvf /dev/rmt/0 . ### to create the tape on x86
tar -cvf /dev/rmt/2 . ### to create a tape on sparc
tar -tvf /dev/rmt/0 ### to scan tape on x86
tar -tvf /dev/rmt/2 ### to scan tape on sparc

         Submitter: johnfong Date: 05/31/94
         Dispatch Operator: bugtraq Date: 05/31/94
         Closeout Operator: dan.mick@west Date: 05/31/94

This archive was generated by hypermail 2.1.2 : Fri Sep 28 2001 - 23:10:17 CDT