Visit Our UNIX and Linux User Community

Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

tapeinfo(1) [debian man page]

TAPEINFO(1)						      General Commands Manual						       TAPEINFO(1)

NAME
tapeinfo - report SCSI tape device info SYNOPSIS
tapeinfo -f <scsi-generic-device> DESCRIPTION
The tapeinfo command reads various information from SCSI tape drives that is not generally available via most vendors' tape drivers. It issues raw commands directly to the tape drive, using either the operating system's SCSI generic device ( e.g. /dev/sg0 on Linux, /dev/pass0 on FreeBSD) or the raw SCSI I/O ioctl on a tape device on some operating systems. One good time to use 'tapeinfo' is immediately after a tape i/o operation has failed. On tape drives that support HP's 'tapealert' API, 'tapeinfo' will report a more exact description of what went wrong. Do be aware that 'tapeinfo' is not a substitute for your operating system's own 'mt' or similar tape driver control program. It is intended to supplement, not replace, programs like 'mt' that access your operating system's tape driver in order to report or set information. OPTIONS
The first argument, given following -f , is the SCSI generic device corresponding to your tape drive. Consult your operating system's doc- umentation for more information (for example, under Linux these are generally start at /dev/sg0 under FreeBSD these start at /dev/pass0). Under FreeBSD, 'camcontrol devlist' will tell you what SCSI devices you have, along with which 'pass' device controls them. Under Linux, "cat /proc/scsi/scsi" will tell you what SCSI devices you have. BUGS AND LIMITATIONS
This program has only been tested on Linux with a limited number of tape drives (HP DDS4, Seagate AIT). AVAILABILITY
tapeinfo is currently being maintained by Robert Nelson <robertnelson@users.sourceforge.net> as part of the 'mtx' suite of programs. The 'mtx' home page is http://mtx.sourceforge.net and the actual code is currently available there and via SVN from http://source- forge.net/projects/mtx. SEE ALSO
mt(1),mtx(1),scsitape(1),scsieject(1),loaderinfo(1) TAPEINFO1.0 TAPEINFO(1)

Check Out this Related Man Page

SCSITAPE(1)						      General Commands Manual						       SCSITAPE(1)

NAME
scsitape - control SCSI tape devices SYNOPSIS
scsitape [-f <scsi-generic-device>] commands DESCRIPTION
The scsitape command controls SCSI tape drives in a platform-independent manner. As long as 'mtx' works on the platform, so does 'scsi- tape'. Note that 'scsitape' and your OS's native tape driver may stomp on each other. In particular, if you use 'setblk' and your OS's native tape driver has a different notion of the block size, you may get evil results. It is recommended to use 'scsitape' only for software where you've written your own low-level READ and WRITE routines that use the SCSI command set to directly talk to tape drives (i.e., you do not use the OS's native tape driver at all). OPTIONS
The first argument, given following -f , is the SCSI generic device corresponding to your tape drive. Consult your operating system's doc- umentation for more information (for example, under Linux these are generally /dev/sg0 through /dev/sg15, under FreeBSD these are /dev/pass0 through /dev/passX. Under Solaris this is usually the same as your tape drive (Solaris has a SCSI passthrough ioctl). You can set the STAPE or TAPE environment variable rather than use -f. COMMANDS
setblk <n> Set the tape drive's SCSI block size to <n> bytes. (NOTE: if you are using your OS's native tape driver, THIS IS EVIL!). fsf <n> Go forward by <n> tapemarks. bsf <n> Go to immediately previous the <n>th previous tapemark. (WARNING: This probably doesn't do what you expect -- e.g. if you are immediately after a tapemark and type 'bfs 1', it moves to immediately *before* that tape mark, for a sum total of zero effective movement!). eod Go to end of data. rewind Rewind the tape drive. eject Eject the tape currently in the drive. erase Does a *short* erase (warning: does NOT work on all drives!). mark <n> write <n> filemarks ( 'mark 0' flushes the drive's buffers ). seek <n> Seek to a logical position <n> that was reported by a previous 'tapeinfo' command. write <blocksize> write blocks from stdin to the tape. Chunk the data into <blocksize>-sized chunks. *DOES NOT WRITE OUT A TAPEMARK!* (you will need to use a subsequent mark 1 command to write out a tape mark). read [<blocksize>] [ <#blocks/#bytes> ] read blocks from the tape, write them to stdout. If we are in variable block mode, <blocksize> should be zero (note: The maximum block size we currently support in variable block mode is 128K, MAX_READ_SIZE will need to be turned into a settable variable to allow bigger reads). If <blocksize> is ommitted, we assume that we're in variable block mode, and that we are going to read from tape until we hit a tapemark or end of partition or end of tape. AUTHORS
This program was written by Eric Lee Green <eric@badtux.org>. Major portions of the 'mtxl.c' library used herein were written by Leonard Zubkoff. The SCSI read and write routines are based upon those that Richard Fish wrote for Enhanced Software Technology's BRU 16.1 product, substan- tially modified to work in our particular environment (in particular, all the variable block stuff is new since BRU only does fixed block reads and writes, and the BRU code uses bitmasks rather than bitfields for the various flags and such in return values, as well as the BRU code having a different SCSI API and having variable names considerably shorter than the rather sesquipedalian 'mtx' identifiers). As required by 'mtxl.c', these routines are licensed under the GNU General Public License. HINTS
Under Linux, cat /proc/scsi/scsi will tell you what SCSI devices you have. You can then refer to them as /dev/sga, /dev/sgb, etc. by the order they are reported. Under FreeBSD, camcontrol devlist will tell you what SCSI devices you have, along with which pass device controls them. Under Solaris 7 and 8, /usr/sbin/devfsadm -C will clean up your /devices directory. Then find /devices -name 'st@*' -print will return a list of all tape drives. /dev on Solaris is apparently only of historical interest. BUGS AND LIMITATIONS
for scsitape read 0 <n> where you are doing variable-block-size reads and wish for <n> bytes, it instead reads one and exactly one block from tape and prints that (no matter what its size). Use 'dd' on the output of scsitape if you want finer control. scsitape read 0 attempts reads of MAX_READ_SIZE, which is currently 128K. If blocks on tape are larger than 128K, only the first 128K will be read -- the remainder will be silently dumped in the toilet. This program does not interact well (or at all :-) with your OS's native tape driver. You will likely see weird things happen if you attempt to intermingle scsitape commands with native tape driver operations. Note that BRU 16.1 for Solaris (and possibly others, but Solaris I know about) will have a 'scsi' keyword to bypass the native tape driver and write via direct uscsi commands, so if you use 'scsi- tape' to bypass the flaws of the native Solaris driver, you can use BRU 16.1 to write your actual tape archives. (Assuming that BRU 16.1 has been released at the time that you read this). AVAILABILITY
This version of scsitape is currently being maintained by Robert Nelson <robertnelson@users.sourceforge.net> as part of the 'mtx' suite of programs. The 'mtx' home page is http://mtx.sourceforge.net and the actual code is currently available there and via SVN from http://sourceforge.net/projects/mtx. SEE ALSO
loaderinfo(1),tapeinfo(1),mtx(1) SCSITAPE1.0 SCSITAPE(1)

Featured Tech Videos