Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 15 Jan 2000 00:42:03 -0800 (PST)
From:      Matthew Jacob <mjacob@feral.com>
To:        Peter Wemm <peter@netplex.com.au>
Cc:        hackers@freebsd.org
Subject:   Re: looking for victims, err, uh, 'volunteers' 
Message-ID:  <Pine.BSF.4.10.10001150037230.6908-100000@beppo.feral.com>
In-Reply-To: <20000115083200.864271C03@overcee.netplex.com.au>

next in thread | previous in thread | raw e-mail | index | archive | help

> Matthew Jacob wrote:
> 
> Umm, would you mind explaining this in english instead of acronyms? :-)
> Otherwise it means abosolutely nothing to the average bystander...

Umm, sorry, this is the hacker's list isn't it??? :-)

Here's part of mail (editted) I just sent out - maybe this will help...

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

SES is "SCSI Environmental Services". This is a whole wheat all singing
all dancing device type in SCSI-3. It's actually pretty neat. It's known
either by a device type, or a bit in the inquiry data that says a device
supports it. You find out things and set things via a mechanism similar to
Mode Sense/Mode Select but via the SEND/GET DIAGNOSTIC commands. It can be
enclosure information like power supplies (and status) and temperature or
fans, or it can be device slot status- like, you can flash LEDs with it.
It's got a whole wad 'o interesting stuff for managing enclosures. ...

SAF-TE is a joint HP/COMPAQ/?? effort that's somewhat simpler and a tad
orthogonal to SES- you identify this by looking at an offset in INQUIRY
DATA bytes 48-54 for the string "SAF-TE". You access it via the WRITE 
BUFFER/READ BUFFER commands. There are a *lot* of SAF-TE devices out
there- primarily because there are cheap chips (the GEM2 chips come to
mind) the implement all of SAF-TE in one die so you can slap one onto
you're device and have enough board space left over to play checkers.

With a couple minor exceptions, SES nomenclature/structures are a proper
superset of SAF-TE, so this driver translates SAF-TE to/from SES.

Examples (from my solaris version) from userland below to give you a
sense...

-matt

SAF-TE device emulated as SCSI: <<<<< SHOULD HAVE SAID 'SES'

slowbird > root getnobj /dev/es/ses0
Jan 15 00:25:54 slowbird unix: ses30 at glm0:
Jan 15 00:25:54 slowbird unix:  target e lun 0
Jan 15 00:25:54 slowbird unix: ses30 is /pci@1f,0/pci@1/scsi@2/ses@e,0
/dev/es/ses0: 25 objects
slowbird > 
slowbird > root getobjmap /dev/es/ses0
/dev/es/ses0: 25 objects
 Object 0: ID 0x0 Type 'Cooling element'
 Object 1: ID 0x1 Type 'Cooling element'
 Object 2: ID 0x2 Type 'Power supply'
 Object 3: ID 0x3 Type 'Power supply'
 Object 4: ID 0x4 Type 'Temperature sensors'
 Object 5: ID 0x5 Type 'Temperature sensors'
 Object 6: ID 0x6 Type 'Temperature sensors'
 Object 7: ID 0x7 Type 'Temperature sensors'
 Object 8: ID 0x8 Type 'Temperature sensors'
 Object 9: ID 0x9 Type 'Temperature sensors'
 Object 10: ID 0xa Type 'Temperature sensors'
 Object 11: ID 0xb Type 'Temperature sensors'
 Object 12: ID 0xc Type 'Temperature sensors'
 Object 13: ID 0xd Type 'Temperature sensors'
 Object 14: ID 0xe Type 'Temperature sensors'
 Object 15: ID 0xf Type 'Temperature sensors'
 Object 16: ID 0x10 Type 'Temperature sensors'
 Object 17: ID 0x11 Type 'Temperature sensors'
 Object 18: ID 0x12 Type 'Temperature sensors'
 Object 19: ID 0x13 Type 'Temperature sensors'
 Object 20: ID 0x14 Type 'Audible alarm'
 Object 21: ID 0x15 Type 'Device'
 Object 22: ID 0x16 Type 'Device'
 Object 23: ID 0x17 Type 'Device'
 Object 24: ID 0x18 Type 'Device'
slowbird > root getencstat -v /dev/es/ses0
/dev/es/ses0: Enclosure Status <NONCRITICAL>
Cooling element Element(0): OK (Status=ok (bytes=0x01 0x00 0x00 0x07))
Cooling element Element(1): OK (Status=ok (bytes=0x01 0x00 0x00 0x07))
Power supply Element(2): OK (Status=ok (bytes=0x01 0x00 0x00 0x20))
Power supply Element(3): Status=status not supported (bytes=0x00 0x00 0x00 0x61)
Temperature sensors Element(4): Status=status not available (bytes=0x07 0x00 0x32 0x00)
Temperature sensors Element(5): Status=status not available (bytes=0x07 0x00 0x32 0x00)
Temperature sensors Element(6): Status=status not available (bytes=0x07 0x00 0x32 0x00)
Temperature sensors Element(7): Status=status not available (bytes=0x07 0x00 0x32 0x00)
Temperature sensors Element(8): Status=status not available (bytes=0x07 0x00 0x32 0x00)
Temperature sensors Element(9): Status=status not available (bytes=0x07 0x00 0x32 0x00)
Temperature sensors Element(a): Status=status not available (bytes=0x07 0x00 0x32 0x00)
Temperature sensors Element(b): Status=status not available (bytes=0x07 0x00 0x32 0x00)
Temperature sensors Element(c): Status=status not available (bytes=0x07 0x00 0x32 0x00)
Temperature sensors Element(d): Status=status not available (bytes=0x07 0x00 0x32 0x00)
Temperature sensors Element(e): Status=status not available (bytes=0x07 0x00 0x32 0x00)
Temperature sensors Element(f): Status=status not available (bytes=0x07 0x00 0x32 0x00)
Temperature sensors Element(10): Status=status not available (bytes=0x07 0x00 0x32 0x00)
Temperature sensors Element(11): Status=status not available (bytes=0x07 0x00 0x32 0x00)
Temperature sensors Element(12): Status=status not available (bytes=0x07 0x00 0x32 0x00)
Temperature sensors Element(13): Status=status not available (bytes=0x07 0x00 0x32 0x00)
Audible alarm Element(14): OK (Status=ok (bytes=0x01 0x00 0x00 0x00))
Device Element(15): OK (Status=ok (bytes=0x01 0x00 0x00 0x00))
Device Element(16): OK (Status=ok (bytes=0x01 0x01 0x00 0x00))
Device Element(17): OK (Status=ok (bytes=0x01 0x02 0x00 0x00))
Device Element(18): OK (Status=ok (bytes=0x01 0x03 0x00 0x00))





To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.10.10001150037230.6908-100000>