SES/SAF-TE + SATA == SEMB!

Matthew Jacob mj at feral.com
Fri May 27 13:40:10 UTC 2011


Awesome dude!

On 5/27/2011 12:00 AM, Alexander Motin wrote:
> Hi.
>
> As probably not many know, SATA specification defines the way to talk to
> SES/SAF-TE enclosures -- Serial ATA Enclosure Management Bridge (SEMB).
> It can be either separate device or built-in to SATA Port Multiplier. I
> know at leat two models of Port Multipliers including SEMB and having
> I2C interfaces to talk to SEP (backplane): SiI3726 and SiI4726.
> Unluckily such combination of hardware is not widely spread (backplanes
> are rarely used in desktops, while PMPs are rarely used in servers), but
> finally I've built such setup! I've connected SuperMicro SAS815TQ
> backplane to the SiI3726 multiplier with I2C cable and it works like a
> charm!
>
> I've made a patch for HEAD to support it. It adds SEMB devices support
> to the ATA/SATA XPT probe code, some glue to handle one more ATA-based
> command protocol and some changes to ses(4) driver to teach it talk to
> such devices:
> http://people.freebsd.org/~mav/semb.patch
>
> As result I've got:
>
> %dmesg |grep ses0
> ses0 at ahcich8 bus 0 scbus8 target 5 lun 0
> ses0:<AMI MG9071 1.00 0011>  SEMB S-E-S 2.00 device
> ses0: Serial Number 50030481
> ses0: 150.000MB/s transfers (SATA 1.x, NONE, PIO 8192bytes)
> ses0: SEMB SES Device
> ses0: GenCode 0 0 Subenclosures
> ses0:  SubEnclosure ID 0, 4 Types With this ID, Enclosure Length 36
> ses0:  WWN: 3530303330343831
> ses0:  Type Desc[0]: Type 0x17, MaxElt 4, In Subenc 0, Text Length 0
> ses0:  Type Desc[1]: Type 0x4, MaxElt 1, In Subenc 0, Text Length 0
> ses0:  Type Desc[2]: Type 0xe, MaxElt 1, In Subenc 0, Text Length 0
> ses0:  Type Desc[3]: Type 0x6, MaxElt 1, In Subenc 0, Text Length 0
>
> %camcontrol devlist
> <ST3500418AS CC46>                  at scbus8 target 0 lun 0 (ada0,pass1)
> <ST3500418AS CC46>                  at scbus8 target 1 lun 0 (ada1,pass2)
> <ST3500418AS CC46>                  at scbus8 target 2 lun 0 (pass5,ada2)
> <ST3500418AS CC46>                  at scbus8 target 3 lun 0 (pass6,ada3)
> <AMI MG9071 1.00 0011>              at scbus8 target 5 lun 0 (ses0,pass3)
> <Port Multiplier 37261095 1706>     at scbus8 target 15 lun 0 (pass4,pmp0)
>
> %getencstat -v /dev/ses0
> /dev/ses0: Enclosure Status<OK>
> Element 0x0: Array device OK (Status=ok (bytes=0x11 0x00 0x00 0x00))
> Element 0x1: Array device OK (Status=ok (bytes=0x11 0x00 0x00 0x00))
> Element 0x2: Array device OK (Status=ok (bytes=0x01 0x00 0x00 0x00))
> Element 0x3: Array device OK (Status=ok (bytes=0x01 0x00 0x00 0x00))
> Element 0x4: Temperature sensors OK (Status=ok (bytes=0x01 0x00 0x32 0x00))
> Element 0x5: Enclosure OK (Status=ok (bytes=0x01 0x00 0x00 0x00))
> Element 0x6: Audible alarm OK (Status=ok (bytes=0x01 0x00 0x00 0x00))
>
> YAY!
>
> So now three questions:
> 1. Does anybody else have alike hardware and wish to test it?
> 2. Patch reviews are welcome.
> 3. Is there any software except share/examples/ses working with ses(4)
> and/or some good use practices?
>


More information about the freebsd-scsi mailing list