juke

Remote Links
  • Quantum's DLT page
  • Quantum DLT Solaris Installation instructions
  • Anthill wrote a a SCSI Medium Changer Driver, which is sold by Performance Group As of 2/98, this software was $1000 ($750 educational pricing)
  • Fermi Labs Tape tools (ftt) - Docs
  • Fermi Labs Juke program -
  • Docs
  • stctl - Solaris SCSI Tape Changer package
  • Local Links
  • MTX - tape jukebox software

  • juke is a program written by Fermi labs that can be used to control certain tape stackers.

    The installation notes below are for an installation of a Quantum DLT4500 under Solaris2.5.1. The juke Solaris tar file is installed in /users/dumper/juke.

    Installation

    1. Download the tar file
    2. mkdir ~dumper/juke
    3. cd ~dumper/juke
    4. tar -xf ~cxh/src/jukev5_2SunOS+5.tar
    5. Each user who wants access to the juke box will need to add the following to ~/.cshrc
      setenv JUKE_DIR /users/dumper/juke
      set path = ($JUKE_DIR/bin $path)
      
    6. You must have /bin in your path to run tailor
      set path = (/bin $path)
      
      This is necessary so the tailor script in the next step uses the proper echo. If you have /usr/ucb in your path before /bin, then you will get bogus \c chars.
      Jukebox name? \c
      
    7. Configure the system: $JUKE_DIR/ups/tailor My $JUKE_DIR/config/client.cf ended up looking like
      #name	host	perm		type,dev 		   type,db	drives
      #----	----	----		--------		   ------	------
      dlt4500	foo.eecs.berkeley.edu	config/dlt4500.prm	dlt,/dev/juke0	dbm,db/dlt4500	 rst12
      
    8. Install the sst daemon:
      1. Edit sst/sst.conf For a DLT4500 at SCSI address 4, the file should look like:
        name="sst" class="scsi"
        	target=4 lun=1;
        
        The lun=1 line is so that we can find the medium changer. Page 8-2 of the Quantum DLT4500 manual says:
        The DLT4500 drive with optional medium changer has two logical units. The tape drive will always appear as LUN 0. The medium changer default to appearing as LUN 1, but may be configured via the MODE SELECT command to any LUN from 0 to 7.
        If you have lun=0, then you will get the not a supported unit error.
      2. As root, do make install while in the sst directory.
    9. To start the jukerpcd daemon, create links in /etc/rc3.d:
      cd /etc/init.d
      ln -s /users/dumper/juke/ups/start jukestart
      cd /etc/rc3.d
      ln -s ../init.d/jukestart S40jukestart
      
    10. You may need to edit start and stop so that the JUKE_DIR is properly set to /users/dumper/juke.
    11. Start up the jukerpcdaemon:
      /etc/rc3.d/S40jukestart
      
    12. Initialize the database:
      juke initdb -j dlt4500
      
    13. Start up juke and use the show jukebox command:
      foo.eecs 111# juke
      > show jukebox
      show jukebox
      default jukebox: 
      JUKEBOX@HOST	JTYPE,DEVICE	 DBTYPE,FILE
      dlt4500@foo.eecs.berkeley.edu	dlt,/dev/juke0	 dbm,db/dlt4500
      > show jukebox dlt4500
      show jukebox dlt4500
      default drive: d0
      default slot: s0
      default port: p0
      NAME                      WHERE              HOPS DATE
      (empty)                  slot 0                 0 Wed Mar 18 17:45:01 1998
                               slot 1                 0 Wed Mar 18 17:45:01 1998
                               slot 2                 0 Wed Mar 18 17:45:01 1998
                               slot 3                 0 Wed Mar 18 17:45:01 1998
                               slot 4                 0 Wed Mar 18 17:45:01 1998
                              drive 0 (     rst12)    0 Wed Mar 18 17:45:01 1998
      > 
      
    $JUKE_DIR/ups/start starts up $JUKE_DIR/bin/jukerpcd. $JUKE_DIR/log contains the logs.

    Juke Problems

    not a supported unit

    When I run the following:
    $JUKE_DIR/ups/start
    $JUKE_DIR/bin/juke
    set jukebox dlt4500 
    
    I get error messages:
    not a supported unit
    
    This message comes from juke/jgp_exb.c
        if( (acbuf[0]&0x1f) != 8) {
            fprintf(stderr,"not a supported unit");
    	fflush(stderr);
            return JGP_NOT_JUKEBOX;
        }
    
    The log says:
    At Wed Mar 18 16:15:49 1998
     open of /dev/juke0 returns file descriptor 9
    sending scsi frame:
    120000003700                    	....7.
    USCSICMD ioctl returned 0, errno 0
    inquiry succeeded
    returning f070001
    got back:
    01800202330000185175616e74756d20	....3...Quantum 
    444c5434353030202020202020202020	DLT4500         
    43443541515a000425040100110b111a	CD5AQZ..%.......
    80000101433030                  	....C00
    vendor id Quantum
    product id DLT4500  
    firmware id CD5
    not a supported unit, 0byte = 0x1, 0byte&0x1f=0x1Entering exb_open
    entering ftt_scsi_open(/dev/juke0,..)
    filehandle == -1
    
    byte 0 is the value 0x01. Page 8-19 of the Quantum manual says:
    Peripheral Device Type
    on the tape drive LUN, this field is set to 01h, indicating a sequential access device. On the Medium Changer LUN, this field is set to 08h. All other LUNs will return 1FH
    The fix was to modify sst/sst.conf so we used LUN 1 instead of LUN 0.
    name="sst" class="scsi"
    	target=4 lun=1;
    
    As root, I then ran:
    /usr/sbin/rem_drv sst
    add_drv -i "juke" -m '* 770 root sys' sst
    


    Back to my public sysadmin pages
    Last Updated: 1998

    cxh at eecs