Solaris SCSI Tape Configuration (st.conf)

The st.conf is the configuration file for the st (SCSI Tape) driver. If you get the entry wrong then mt will show the wrong device, the driver will talk to the tape unit with incorrect densities or modes, the speed and capacity may be wrong. If you have complaints about long seek times, low data utilization etc I'd recommend checking the entry they have first.

The Confusion

The confusions arise because prior to Solaris 2.5 the st.conf was minimal. In Solaris 2.5 and higher a generic st.conf was given that had all the entries hashed out. Those tape units that SUN sells should have there st.conf entry buried into the driver itself however there is usually some delay for a patch or when new Solaris OS versions come out to support them so in the inbetween you should use the st.conf file. If the driver supports the tape unit DO NOT add or unhash an entry in the st.conf unless you are debugging.

To get an idea as to wether we have hardcoded the entries into the st driver itself try this

# cd /kernel/drv
# strings st |grep -i tapename

Also SunSolve usually contains a handful of st.conf entries for anyone drive, hence I'm trying to provide some form of consolidation by supplying the entries here.

The Detail

The first thing is where to find this configuration file its in /kernel/drv/st.conf along with the driver st.

The file is very strict when it comes to parsing all the punctuation must be there etc so becareful. Things to watch for include:

  • Capitalization matters in the Vendor ID strings
  • Punctuation matters when composing the tape config list
    • seperated by commas
    • last entry ends with a semicolon
  • Code strings end with semicolon
  • Uncomment additional targets for SCSI id's greater than 7

Sample Entry

For example: DLT7000:

"QUANTUM DLT7000", "Quantum DLT7000", "DLT7k-data";
DLT7k-data = 1,0x36,0,0x1D639,4,0x82,0x83,0x84,0x85,2;


Check out the following man pages for more details:

  • st(7d)
  • driver.conf(4)