[comp.sys.sun] Sun-Spots Digest, v6n87

Sun-Spots-Request@RICE.EDU (William LeFebvre) (05/16/88)

SUN-SPOTS DIGEST           Monday, 16 May 1988         Volume 6 : Issue 87

Today's Topics:
               Re: Questions: ESDI disks in old 3/160; APL
                   Re: dialin/dialout on the same line
                      Re: What is a stale NFS handle
                              Re: gammontool
                           SunOS4-3.2 Resolver
                               8mm Backups
                                 Lpqtool
                       Problem with multiple groups
            Need software for Apple Laser-Writer on Sun 3/260?
                           redefining keyboards

Send contributions to:  sun-spots@rice.edu
Send subscription add/delete requests to:  sun-spots-request@rice.edu
Bitnet readers can subscribe directly with the CMS command:
    TELL LISTSERV AT RICE SUBSCRIBE SUNSPOTS My Full Name
Recent backissues are available via anonymous FTP from "titan.rice.edu".
For volume X, issue Y, "get sun-spots/vXnY".  They are also accessible
through the archive server:  mail the request "send sun-spots vXnY" to
"archive-server@rice.edu" or mail the word "help" to the same address
for more information.

----------------------------------------------------------------------

Date:    10 May 88 14:52:01 GMT
From:    milano!sandel@tuvalu.sw.mcc.com (Charles Sandel)
Subject: Re: Questions: ESDI disks in old 3/160; APL

> 1) I have a 3-year-old 3/160 with 2 71-MByte SCSI disks.  Both disks have
>    augured in, and I'd like to replace them with the newer/faster/etc. ESDI
>    models.  Is this a simple swap, or impossible, or ... (I'd like to use the
>    existing host adapter)?  Anybody out there done it?

I have played around with 3rd-party disks and ESDI disks for Sun-3/160's.
The 71Mb disks that Sun delivers are all ST-506 disks which require an
ST-506 to SCSI adaptor (the Adaptec board) which hangs off of the SCSI
bus.  If you want to go to ESDI disks, you will have to replace the
Adaptec in the pedestal with an Emulex MD-21 SCSI-to-ESDI adaptor.  If you
buy the Emulex MD-21, make sure that it has a PROM level of G02A .  This
is the rev level that works best with different manufacturers drives (for
instance, the Maxtor 780Mb ESDI drive).  We do not have any machines that
we have upgraded this way yet.  But I have spent a lot of valuable time
evaluating 3rd party drives and it is a workable solution.  Charles

Charles Sandel        arpa:  sandel@mcc.com
                      uucp:  *!ut-sally!im4u!milano!sandel

------------------------------

Date:    Wed, 11 May 88 09:55:04 MDT
From:    ubc-cs!calgary!wglen!candym@uunet.uu.net (Mike Candy)
Subject: Re: dialin/dialout on the same line
Reference: v6n75

Larry Blair writes:
> 
> What we have noticed, on our systems running 3.4, is that the flags for
> zs0 are being read wrong, at least for ttyb.  We have tried setting the
> flags to 0x1 and it doesn't work.  Just for the hell of it, we tried 0x2.
> That didn't work either. 0x0 works great.

We too run 3.4 (EXPORT) and have a modem on ttyb setup for dialin/dialout,
it works just fine. One thing that struck me was that you are suppling HEX
numbers in the config line, ours looks like:

device		zs0 at obio ? csr 0x20000 flags 1 priority 3

						Mike Candy
UUCP:	..!{ubc-vision,ihnp4}!alberta!calgary!wglen!candym

------------------------------

Date:    Wed, 11 May 88 13:47:20 EDT
From:    mcgrew@topaz.rutgers.edu (Charles)
Subject: Re: What is a stale NFS handle

	Can anyone tell me what a 'Stale NFS handle' is...

The most common sources of this problem we see is if the remote machine
has had a significant kernel change, or most often, if the mount point on
the remote machine has changed and someone forgot to update the local
machine to do the mount correctly.  An unmount and remount fixes the
problem...

Charles

------------------------------

Date:    11 May 88 17:21:15 GMT
From:    roy%phri@uunet.uu.net (Roy Smith)
Subject: Re: gammontool

> Does gammontool cheat? ... [[ Sure seems like it does, huh?]]

On the other hand, it's also incredibly stupid.  I can remember one time
when I had a single man left on the 1 point and it was my turn (i.e.  it
was theoretically impossible for me not to win on the next roll).  I
offered a double.  It accepted!

Roy Smith, System Administrator
Public Health Research Institute
455 First Avenue, New York, NY 10016
{allegra,philabs,cmcl2,rutgers}!phri!roy -or- phri!roy@uunet.uu.net

------------------------------

Date:    Tue, 10 May 88 19:10:43 EDT
From:    Root Boy Jim <rbj@icst-cmr.arpa>
Subject: SunOS4-3.2 Resolver

   From:    woods@handies.ucar.edu (Greg Woods)

   A few minor problems (which I am not sure whether they are due to
   incorrect configuration or problems in Sun's resolver which does come with
   SunOS4-3.2) are that nslookup cannot look up local hosts unless I fully
   qualify them (i.e. "nslookup ncar" fails but "nslookup ncar.ucar.edu"
   finds the CNAME record just fine and returns the address of "handies").

Do you have an /etc/resolv.conf file? Try one with the single line:

		domain ucar.edu

There is also a suffixes line in some Sun versions of named.

	(Root Boy) Jim Cottrell	<rbj@icst-cmr.arpa>
	National Bureau of Standards
	Flamer's Hotline: (301) 975-5688
	The opinions expressed are solely my own
	and do not reflect NBS policy or agreement
	Hello, GORRY-O!!  I'm a GENIUS from HARVARD!!

------------------------------

Date:    Wed, 11 May 88 08:50:02 EDT
From:    shn@think.com
Subject: 8mm Backups

I have been seeing a lot of articles on the subject of 8mm tape drives and
I have a few questions.  Does the drive do read after write?  Every other
tape drive used by major manufactures uses read after write.  As the tape
is being written, the read head is active looking for dropouts in the
tape.  These drives actually read the data back and compare the checksums
and/or the actual data.  This is like difference between a $80 tape deck
and $400 tape deck.  The better deck actually has two heads.  In a
computer half inch reel to reel deck, the two heads are combined as one
head with two gaps.  One optimized for reading and the other for writing.
The "read chain", the analog circuitry which converts the signal from the
head into digital bits of data, is set to be less tolerant of readback
errors (bit-shift and dropouts) than normal.  This is how a drive knows
there is a bad spot in the tape.  When a dropout is detected, the data is
erased and rewritten a few inches down the tape again hoping to avoid the
dropout.  How can an 8mm drive fo this?  The same head is used for reading
and writing so read after write does not seem possible.

(the usual disclaimer.  This is my own personal view and not of Thinking
Machines Corporation. ...)

Sam Nuwayser (shn@think.com) - Thinking Machines Corp - Cambridge Mass.

------------------------------

Date:    Wed, 11 May 88 09:59:27 EDT
From:    Chuck Musciano <chuck@trantor.harris-atd.com>
Subject: Lpqtool

I have written a tool which provides a windowed version of lpq.  You can
pop lpqtool open, and it will poll the queue, displaying all the jobs,
with yours in bold.  You can adjust the polling rates, and can cause
lpqtool to automatically close when the queue is empty, or pop open when
something is placed in the queue.  Here at Harris, we find it pretty
useful, and better than periodically typing 'lpq' until your job has
printed.

Hope you find it useful!

Chuck Musciano
Advanced Technology Department
Harris Corporation
(407) 727-6131
ARPA: chuck@trantor.harris-atd.com

[[ The shar file has been placed in the archives as
"sun-source/lpqtool.shar".  It is 27893 bytes in length.  It can be
retrieved via anonymous FTP from the host "titan.rice.edu" or via the
archive server with the request "send sun-source lpqtool.shar".  For more
information about the archive server, send a mail message containing the
word "help" to the address "archive-server@rice.edu".  --wnl ]]

------------------------------

Date:    Wed, 11 May 88 01:20:43 EDT
From:    <rbw@williams.edu>
Subject: Problem with multiple groups

We are having a problem with a user in multiple groups.  On our yp server,
a user will have all the correct user identities, e.g. me on the server:
groups 122, 10, 15, 25.

On a client, however, we have no such luck.  Then I belong only to 122,
the group in my passwd entry.  About a month ago, I noticed that I
belonged to 122 and 25, skipping 10 and 15.  The clients are running
either 3.4 or 3.5, and we have no idea of why this is happening.  Any
ideas? (please!)

-Richard Ward
rbw@cs.williams.edu
Williams College, Williamstown, MA

[[ If you are using yellow pages, make sure that the yp server is set up
correctly for the service "group" as well as "passwd".  The primary group
id is obtained from "passwd", but the rest of the groups are obtained from
the yp file "group".  --wnl ]]

------------------------------

Date:    11 May 88 15:52:56 GMT
From:    umbc3!tron.UMD.EDU!celozzi@uunet.uu.net (Dominic J Celozzi)
Subject: Need software for Apple Laser-Writer on Sun 3/260?

We have an Apple Laser-Writer which we have hooked to our Symbolics
workstations, but would like to hook it to our Sun 3/260 as well.  The
problem is that the Sun requires us to purchase the postscript
installation package to bring it on-line.  The questions I pose are:

	o Is it possible to get these "sources" without buying them?
	o Would we be infringing on any copyrights if we did?
	o What alternatives do we have (other than purchase)?

Any e-mail responses will be welcome, unless you see it appropriate to
respond over the net.

Dominic J Celozzi			UUCP: ...!uunet!umbc3!tron!celozzi
Westinghouse Electronic Systems Group
BWI-MS 5240		WIN: 853-7860

------------------------------

Date:    Wed, 11 May 88 13:50:23 EDT
From:    seth@sirius.ctr.columbia.edu
Subject: redefining keyboards

Hello, I'd like to thank everyone who replied to my message (even if they
didn't know the answer, but I love mail anyway).  Shortly after I sent out
my request, I came upon some more information in a Sun techinical
bulliten, and I was able to figure out how to do it.  Several people also
later mailed me the same information.  Basicly there are two ways of doing
this: 1) To _only_ get a keypad and a few other special functions, all you
need is a ~/.ttyswrc file.  This file, included below, allows people to
redefine the F2-F9 and R1-R15 keys.  If you want to, you can force the
keyboard to also redefine the L2-L10 and F1 keys, although these do come
in handy some times.  You, of course, can not redefine the L1 key, because
it is preempted by the Sun operating system.

The R[8, 10, 12, 14] keys have a special problem.  Suntools claims them
for arrow keys, however this is easily delt with.  Just have `setkeys
noarrows` in your .profile or .login or type it in yourself.  If you wish
to use the F1, and L2-L10 keys, you must, instead of noarrows, use the
command `setkeys nosunview` which will allow all function keys except for
the L1 key to be redefined.

The above method works best if you just want a keypad or a few predefined
keys, but if you *really* want to redefine the keyboard, I was informed
(by Matt Goheen and Rob Nagler, so far) that you can you can actually swap
the keyboard definition.  The files "kbd.h" and "kbio.h" in
/usr/include/sundev are, I am told, very helpful, and the manual pages for
kb and kbd also contain some usefull information.  I included the program
I recieved by Matt Goheen which remaps a few of the {,(, and [ keys.

I am leaving on Saturday the 14 to go home for the summer, so I won't be
able to respond to many people's mail.  Sorry--but I didn't think it would
take so long for the question to get out in sun-spots (hint, hint!  Lets
get a faster turnover time please).

Thanx
Seth Robertson
seth@ctr.columbia.edu
uunet!columbia!ctr!seth

Systems Manager
Center for Telecommunications Research

[[ The remainder of this message is source code examples for remapping the
keys.  This is the last message in the digest if you would like to skip
the remainder.  --wnl ]]

This comes from Mark R. Kaufmann, to give credit where credit is due
-----------------cut here ----------------------
# ttyswrc file for mrk on Sun 3/50M (lfu_one)
# Used for programming function keys in suntools Shell Tool windows
# Escape sequences: \n=nl; \E=esc; \:=colon; \\=backslash

mapi F2 !!\n
mapi F3 !vi\n
mapi F4 !cc\n
mapi F5 !make\n
mapi F6 !$
mapi F7 !-2$
mapi F8 !-2
mapi F9 !!\:s/
mapi R1 \:g/\   /s//        /g\n
mapi R2 \Ea {\n}\Eko
mapi R3 \Eo.EQ I (\\n(eq)\n.EN\n.nr eq \\n(eq+1\Ekko
mapi R4 \:r /usr/onemohr/mrk/bin/src/.
mapi R5 sh\n
mapi R6 cmd\n
mapi R7 \Ek\015i/* \EA */\Ek\015\015
mapi R9 \Ek\015xxx$xxx\Ek\015\015
mapi R11 \E\:!fkeys\n
mapi R13 \021
mapi R15 \023
-----------------cut here ----------------------

For example, in "vi", R7 comments out a single line of C code
and R9 "decomments" it. (but who would want to use vi? :-)

This is the ~/.ttyswrc I use for the keypad.
-----------------cut here ----------------------
#  This is for Sun 3 keyboards.  Mapping R4-R15 to key pad
#
mapi R1 \n
mapi R2 \n
mapi R3 \n
mapi R4 7
mapi R5 8
mapi R6 9
mapi R7 4
mapi R8 5
mapi R9 6
mapi R10 1
mapi R11 2
mapi R12 3
mapi R13 0
mapi R14 .
mapi R15 B
-----------------cut here ----------------------

This comes from Matt Goheen, who gave me alot of good info.
-----------------cut here ----------------------
#include <sys/types.h>
#include <sundev/kbd.h>
#include <sundev/kbio.h>
#include <sys/file.h>
#include <stdio.h>

/* lispkeys:  Re-map keys on Sun-2 and Sun-3 keyboards as follows:
**
**      '[' -> '('      ']' -> ')'
**      '{' -> '['      '}' -> ']'
**      '(' -> '{'      ')' -> '}'
**
**      Could check to see if it was being run on the console to avoid
**      (some) problems with other people re-mapping keyboards.
*/

#define KEYNUM          0
#define MODEMASK        1

extern int errno;

static char lispkeys[] = "{}()[]()";
static char normkeys[] = "()[]{}[]";

static int keydata[][2] = { { 0x26, SHIFTMASK }, { 0x27, SHIFTMASK },
                           { 0x40, 0 }, { 0x41, 0 },
                           { 0x40, SHIFTMASK }, { 0x41, SHIFTMASK },
                           { 0x40, CAPSMASK }, { 0x41, CAPSMASK } };

main(argc, argv)
register int argc;
register char **argv;
{
    struct kiockey thekey;
    register int fd, on, i;
    register char *keyptr;
    int type;

    if (argc > 2) {
        fprintf(stderr, "%s: too many args\n", *argv);
        exit(1);
    } else if ((argc==2) && (on=strcmp("on", argv[1])) &&
        strcmp("off", argv[1])) {
        fprintf(stderr, "%s: bad arg (\"%s\")\n", *argv, argv[1]);
        exit(1);
    }
    on = !on;           /* 0 is true for strcmp, make it REALLY true */
    if ((fd = open("/dev/kbd", O_RDONLY)) == -1) {
        fprintf(stderr, "%s: can't open kbd\n", *argv);
        exit(1);
    }
    if (ioctl(fd, KIOCTYPE, &type) == -1) {
        fprintf(stderr, "%s: can't get kbd type (errno: %d)\n", *argv, errno);
        exit(1);
    }
    if (type == KB_SUN3 || type == KB_SUN2) {
        if (argc==1) {
            thekey.kio_tablemask = 0;           /* unshifted */
            thekey.kio_station = 0x40;          /* Sun-2/3 '[' key */
            if (ioctl(fd, KIOCGETKEY, &thekey) == -1) {
                fprintf(stderr, "%s: bad return from ioctl (%d)\n",
                    argv[0], errno);
                exit(1);
            }
            if (thekey.kio_entry == '(')
                printf("is on\n");
            else
                printf("is off\n");
            exit(0);
        } else if (on)
            keyptr = lispkeys;
        else
            keyptr = normkeys;

        for (i=0; i<sizeof(lispkeys); i++) {
            thekey.kio_entry = *keyptr++;
            thekey.kio_station = keydata[i][KEYNUM];
            thekey.kio_tablemask = keydata[i][MODEMASK];
            if (ioctl(fd, KIOCSETKEY, &thekey) == -1) {
                fprintf(stderr, "%s: bad return from ioctl (%d)\n",
                    argv[0], errno);
                exit(1);
            }
        }
    } else {
        fprintf(stderr, "%s: not a SUN-2/3 keyboard\n", *argv);
        exit(1);
    }
    exit(0);
}

------------------------------

End of SUN-Spots Digest
***********************