From: olson@anchor.esd.sgi.com (Dave Olson)
Subject: Re: Exabyte 8500C how to config
Keywords: exabyte config
Organization:  Silicon Graphics, Inc.  Mountain View, CA
Date: Tue, 17 Nov 92 22:08:21 GMT

In <rlogin.722019535@voltaire.CERCA.UMontreal.CA> renaud@CERCA.UMontreal.CA (Alain Renaud) writes:

|   I have just receive a brand new exabyte 8500c (the one with compression). 
| 
|   I would like to know if the config is the same as a 8500 and if a can copy the
| config of the 8500 in /usr/sysgen/master.d/tpsc to the 8500c. 
| 
|   I just heard that you can create device (/dev/rmt/tps??? ) for the different 
| MODE SELECT if so how do you do that.

Well, as it happens, I've just finished exchanging email with somebody
about this.  Please understand that this is NOT officially supported.
Since I haven't discussed this with the person I exchanged email with,
I've deleted his name, etc.

===========================
|     Another Question: I am working to integrate a 8500c (compression drive).
|     The drive can be micro-coded to default to 8500 compressed format, but
|     naturally I would prefer to use the proper "mode select (15h)" setting of
|     (8ch) instead of (85h). Apart from the raw SCSI possibilities, would you
|     have any advice? When I go to /dev/rmt/tps0d?, does the driver
|     automatically do a mode select, or can I just use a mt (or mt-like call)
|     beforehand. I can easily write a code to talk direct to /dev/scsi/sc0d*l0.
|     Will this be advisable?

You can do this by changing the data we send on the modeselect.  See
the difference between the 8200 and 8500 in /usr/sysgen/master.d/tpsc.
You also need to create devices with the right major/minor (bump the
density value by one in the minor #).  See /dev/MAKEDEV for the 8500,
and also some of the comments in 'man tps'.

---------------- followup to original

|     I just spoke with Exabyte. They confirmed my suspicion that all I should
|     need	to do is send (8ch) instead of the (00h) or (14h). I am following
|     your suggestion of looking in /usr/sysgen/master.d/tpsc:
|  
|  /* There are only 2 densities, 8500 mode and 8200.  If someone make
|   * bogus dev numbers using all 4 density bits, it will default back
|   * to 8500 mode.  The inventory string sets the drive up exactly like
|   * the 8200. */
|  { EXABYTE8500, TP8MM, 7, 8, "EXABYTE", "EXB-8500", 6, "\40\4\16\0\200\7", 
|  	{0x0, 0x14, 0x0, 0x0},
|    MTCAN_BSF|MTCAN_BSR|MTCAN_PREV|MTCAN_CHKRDY|MTCAN_VAR|MTCAN_SETSZ|
|    MTCAN_SILI|MTCAN_CHTYPEANY|MTCAN_SETDEN|MTCAN_SPEOD|MTCAN_SYNC|
|    MTCAN_SEEK,
|  	 80, 4*60, 25*60, 5*60, 1024, 128*1024},
|  
|     It appears that I can utililize the other densities (unused) for my
|     purposes. I would change from 
|  
|     {0x0, 0x14, 0x0, 0x0}    /* EXB-8500 format (error checking suppressed)
|  			     * EXB-8200 format (full error checking)
|  			     * EXB-8500 format (error checking suppressed)
|  			     * EXB-8500 format (error checking suppressed)
|  			     */
|     to
|  
|     {0x0, 0x14, 0x8c, 0x0    /* EXB-8500 format (error checking suppressed)
|  			     * EXB-8200 format (full error checking)
|  			     * EXB-8500c compressed format (full error check)
|  			     * EXB-8500 format (error checking suppressed)

Yes, exactly!

|     My follow-up question (if I may) is this:
|  
|     Q.) I'm told the product identification changes from EXB-8500 to EXB8500c;
|     do I change the entry for the 8500 to something like:
|  
|  { EXABYTE8500, TP8MM, 7, 8, "EXABYTE", "EXB8500c", 6, "\40\4\16\0\200\7", 
|                                                 ^
|  	{0x0, 0x14, 0x8c, 0x0},
|                        ^^

Yes, that should do it.  If the second string had changed length,
then you would change the "8" prior to the string "EXABYTE" to match
the length; this is basicly the 3rd arg to strncmp.

|     Does the product id (id_pid) come from the inquiry (12h) command? Exabyte
|     says the reply will be EXB8500c (still 8 bytes). I assume I can't make an
|     entirely new entry in this kernel file, since the driver won't recognize
|     it? 

Yes, it comes from inquiry.  Since we have no inventory type for 8500c, 
hinv and 'mt stat' will still report the drive as an 8500, but at least
mt stat will show a different inquiry string.

|     If I do need to change some or all of the above, I assume I need to remake
|     the kernel. I've never done that before on a SGI, but I remember seeing
|     something about /etc/autoconfig. Am I going in the right direction (after
|     doing a mdnod for the newer device(s)) ??

Right.  You need to run '/etc/autoconfig -f' (you can omit -f and answer
the question if you prefer), which should produce /unix.install, and then
reboot (/unix.install is moved to /unix just prior to the reboot; you 
probably want to preserve /unix as /unix.bak or the like, in case the
new kernel doesn't boot).

The mknod for the new device should be based on the 8500 code in /dev/MAKEDEV
(also see the code in that file that makes the 4 density entries for the
Kennedy 9 track drive).  If you change MAKEDEV itself (probably the most
reasonable thing to do), make sure you save a copy somewhere, so you don't
lose it if you (re)install new software.

===========================
--
Let no one tell me that silence gives consent,  |   Dave Olson
because whoever is silent dissents.             |   Silicon Graphics, Inc.
    Maria Isabel Barreno                        |   olson@sgi.com
Newsgroups: comp.sys.sgi