i386/91238: USB tape unit fails to write a second tape file to the no-rewind device.

Steve Davidson stevedav at sonic..net
Mon Jan 2 12:20:12 PST 2006


>Number:         91238
>Category:       i386
>Synopsis:       USB tape unit fails to write a second tape file to the no-rewind device.
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    freebsd-i386
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Jan 02 20:20:11 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator:     Steve Davidson
>Release:        FreeBSD 5.4 BETA1 (default kernal; no kernel builds)
>Organization:
>Environment:
FreeBSD 5.4 BETA1 (default kernal; no kernel builds)     

The tape unit is a: Seagate STT6401U2.  dmesg lists the unit as:
umass0: Seagate RSS Seagate DiskStor USB, rev 2.00/11.01, addr2
There was a 20/40 Certance tape cartridge in the drive for the test; not
write protected.

This unit is connected via USB2.

>Description:
If you try to write a second tape file to the tape no-rewind device after you have completed the first write, you will get the error messages listed below and you will not get a second tape file.

% tar cvf /dev/nsa0 file             ...works
% tar cvf /dev/nsa0 file             ...error, as below

% tail -f /var/log/messages

Jan  1 17:46:09 bayside kernel: (sa0:umass-sim0:0:0:0): WRITE FILEMARKS. CDB: 10 0 0 0 2 0
Jan  1 17:46:09 bayside kernel: (sa0:umass-sim0:0:0:0): CAM Status: SCSI Status Error
Jan  1 17:46:09 bayside kernel: (sa0:umass-sim0:0:0:0): SCSI Status: Check Condition
Jan  1 17:46:09 bayside kernel: (sa0:umass-sim0:0:0:0): ILLEGAL REQUEST asc:50,0
Jan  1 17:46:09 bayside kernel: (sa0:umass-sim0:0:0:0): Write append error
Jan  1 17:46:09 bayside kernel: (sa0:umass-sim0:0:0:0): Retries Exhausted
Jan  1 17:46:09 bayside kernel: (sa0:umass-sim0:0:0:0): failed to write terminating filemark(s)
Jan  1 17:46:09 bayside kernel: (sa0:umass-sim0:0:0:0): tape is now frozen- use an OFFLINE, REWIND or MTEOM command to clear this state.

An 'mt -f /dev/nsa0 rewind' command "unfreezes" the tape for future operations.

Also, an 'mt -f /dev/nsa0 weof' does not appear to create an EOF mark on the tape.


>How-To-Repeat:
Issue two write commands to the '/dev/nsa0' device.  E.g. two tar commands to the tape no-rewind device.

% tar cvf /dev/nsa0 file             ...works
% tar cvf /dev/nsa0 file             ...error

              
>Fix:
Probably, this is a device driver problem.  It could be in the tape unit implementation.  Check it out.
              
>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-i386 mailing list