GPL (GNU General Public License)    
2.9/5 14
MTX is a set of low level driver programs to control features of SCSI backup related devices such as autoloaders, tape changers.




MTX is a set of low level driver programs to control features of SCSI backup related devices such as autoloaders, tape changers, media jukeboxes, and tape drives.

MTX can also report much data, including serial numbers, maximum block sizes, and TapeAlert messages that most modern tape drives implement (to tell you the exact reason why a backup or restore failed), as well as do raw SCSI WRITE and READ commands to ta

MTX is designed to be a low level driver in a larger scripted backup solution, such as Amanda. mtx is not supposed to itself be a high level interface to the SCSI devices that it controls.

Here are some key features of "MTX":

Will deal with LARGE media libraries (over a hundred elements).
Supports multi-drive media changers such as the Exabyte 220 dual- drive tape library.
Supports the 'invert' bit for optical jukeboxes that need that in order to flip their media.
Supports the 'eepos' bits for libraries that need this to extend/retract their import/export tray.
Now supports import/export elements!
Reports volume tags (bar codes) and "alternate volume tags" (whatever those are!) for those tape libraries that support them.
Now runs under FreeBSD and at least Solaris 8.
Now has a 'man' page!
The actual SCSI manipulation has been separated out into a library, so that you can create your own "C" programs that manipulate SCSI media changers directly. (Please note: this is under GPL, so any such programs will have to be under GPL also).


You may need to do a 'mt offline' (or equivalent for your OS) on the tape drive to eject the tape before you can issue the 'mtx unload' command. The Exabyte EZ-17 and 220 in particular will happily sit there snapping the robot arm's claws around thin air trying to grab a tape that's not there.
The 'next' command does not understand the 'invert' bit (i.e., does not recognize that for optical jukeboxes, the 'next' of side one is to unload, invert, and reload the same disk). It always advances to the next slot instead.
For some Linux distributions, you may need to re-compile the kernel to scan SCSI LUN's in order to detect the media changer. Check /proc/scsi/scsi to see what's going on.
If you try to unload a tape to its 'source' slot, and said slot is full, it will instead put the tape into the first empty slot. Unfortunately the list of empty slots is not updated between commands on the command line, so if you try to unload another drive to a full 'source' slot during the same invocation of 'mtx', it will try to unload to the same (no longer empty) slot and will urp with a SCSI error.
For big tape libraries (more than a couple dozen elements) this may set a big Allocation_Size in the SCSI command block for the REQUEST_ELEMENT_STATUS command. Some operating systems may not be able to handle this. Versions of Linux earlier than 2.2.6, in particular, may fail this request due to inability to find contiguous pages of memory for the SCSI transfer (later versions of Linux 'sg' device do scatter-gather so that this should no longer be a problem).
VMS and Tru64 support are probably irretrievably busted.
This program will only use the first arm of multiple-arm robots unless the robot re-maps all arms to one element ID.
It has been reported that this program works on Solaris 7 using the 'sst' driver, and may work on Solaris 8 using the 'sgen' driver. 'sst' can be gotten from the Amanda contrib directory at
Last updated on August 21st, 2008

0 User reviews so far.