[prev in list] [next in list] [prev in thread] [next in thread] 

List:       freebsd-hackers
Subject:    Re: LSI mps(4) driver issues with PIKE 2008/IMR (LSI SAS2008)
From:       Josh Paetzel <josh () tcbug ! org>
Date:       2012-03-27 14:36:19
Message-ID: 4F71D063.9080402 () tcbug ! org
[Download RAW message or body]

On 03/27/2012 10:54, Desai, Kashyap wrote:
> 
> 
> > -----Original Message-----
> > From: owner-freebsd-scsi@freebsd.org [mailto:owner-freebsd-
> > scsi@freebsd.org] On Behalf Of Kenneth D. Merry
> > Sent: Friday, March 23, 2012 3:49 AM
> > To: Jake Smith
> > Cc: freebsd-scsi@freebsd.org; freebsd-hackers@freebsd.org; freebsd-
> > hardware@freebsd.org
> > Subject: Re: LSI mps(4) driver issues with PIKE 2008/IMR (LSI SAS2008)
> > 
> > On Thu, Mar 22, 2012 at 16:24:16 +0100, Jake Smith wrote:
> > > Hello,
> > > 
> > > I am trying to get the latest mps(4) driver in FreeBSD 9-STABLE
> > working
> > > with am LSI SAS2008 variant from ASUS, they call it PIKE 2008/IMR.
> > Link
> > > http://www.asus.com/Server_Workstation/Accessories/PIKE_2008IMR/
> > > 
> > > From what I can see this card should be compatible with the mps(4)
> > > driver MFC'd to 9-STABLE about 6 weeks ago.
> > > 
> > > # uname -a
> > > FreeBSD xxx 9.0-STABLE FreeBSD 9.0-STABLE #3 r233304M: Thu Mar 22
> > > 12:53:17 GMT 2012     root@xxx:/usr/obj/usr/src/sys/GENERIC  amd64
> > > 
> > > Revision: 233304
> > > 
> > > Initially the card is not seen at all by the driver, however pciconf
> > > shows us why that is.
> > > 
> > > mps0@pci0:2:0:0:        class=0x010700 card=0x843b1043 chip=0x00731000
> > > rev=0x03 hdr=0x00
> > > vendor     = 'LSI Logic / Symbios Logic'
> > > device     = 'MegaRAID SAS 9240'
> > > class      = mass storage
> > > subclass   = SAS
> > > 
> > > It seems on other models of LSI SAS2008 the chip device ID is 0x0072,
> > > however for some reason this card has 0x0073. So I patched the mps(4)
> > > driver and recompiled.
> > > 
> > > diff -ruN mps.orig/mpi/mpi2_cnfg.h mps/mpi/mpi2_cnfg.h
> > > --- mps.orig/mpi/mpi2_cnfg.h	2012-03-22 14:50:53.000000000 +0000
> > > +++ mps/mpi/mpi2_cnfg.h	2012-03-22 14:52:23.000000000 +0000
> > > @@ -416,7 +416,8 @@
> > > 
> > > /* SAS */
> > > #define MPI2_MFGPAGE_DEVID_SAS2004                  (0x0070)
> > > -#define MPI2_MFGPAGE_DEVID_SAS2008                  (0x0072)
> > > +#define MPI2_MFGPAGE_DEVID_SAS2008_1                (0x0072)
> > > +#define MPI2_MFGPAGE_DEVID_SAS2008_2                (0x0073)
> > > #define MPI2_MFGPAGE_DEVID_SAS2108_1                (0x0074)
> > > #define MPI2_MFGPAGE_DEVID_SAS2108_2                (0x0076)
> > > #define MPI2_MFGPAGE_DEVID_SAS2108_3                (0x0077)
> > > diff -ruN mps.orig/mps_pci.c mps/mps_pci.c
> > > --- mps.orig/mps_pci.c	2012-03-22 14:48:41.000000000 +0000
> > > +++ mps/mps_pci.c	2012-03-22 14:51:59.000000000 +0000
> > > @@ -99,7 +99,9 @@
> > > } mps_identifiers[] = {
> > > 	{ MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SAS2004,
> > > 	    0xffff, 0xffff, 0, "LSI SAS2004" },
> > > -	{ MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SAS2008,
> > > +	{ MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SAS2008_1,
> > > +	    0xffff, 0xffff, 0, "LSI SAS2008" },
> > > +	{ MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SAS2008_2,
> > > 	    0xffff, 0xffff, 0, "LSI SAS2008" },
> > > 	{ MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SAS2108_1,
> > > 	    0xffff, 0xffff, 0, "LSI SAS2108" },
> > > 
> > > After reboot it now loads the mps(4) module and attempts to init the
> > > card but fails.
> > > 
> > > # dmesg | grep mps
> > > mps0: <LSI SAS2008> port 0xd800-0xd8ff mem
> > > 0xfbd7c000-0xfbd7ffff,0xfbdc0000-0xfbdfffff irq 16 at device 0.0 on
> > pci2
> > > mps0: Doorbell failed to activate
> > > device_attach: mps0 attach returned 6
> > > 
> > > From this point I'm stuck on what to try next, google does not provide
> > > any answers for this situation. Does any one have any advice or ideas
> > as
> > > to why this is not working?
> > > I am able to provide ssh access to the server if any one wants to log
> > > on and have a look at it.
> > 
> > In looking at the specs, that card supports RAID-5 and RAID-50.  That
> > means
> > it isn't a SAS card supported by mps(4), but rather a MegaRAID card.
> 
> This is Megaraid card. And it should not be supported by mps. Again, Just adding \
> "0x73" in your pci list in mfi driver will not solve your problem. Please Check \
> with Megaraid FreeBSD drivers. 
> ~ Kashyap
> 
> > 
> > It should be supported by mfi(4).  Try adding the PCI ID to that
> > driver and see if that works.  Or you can grab the driver from the
> > head_mfi branch, it looks like it already supports that card.  Here's
> > the
> > mfi_pci.c file, you can see the PCI ID in there:
> > 
> > http://svnweb.freebsd.org/base/projects/head_mfi/sys/dev/mfi/mfi_pci.c?r
> > evision=232888&view=markup
> > 
> > Ken
> > --
> > Kenneth Merry
> > ken@FreeBSD.ORG

The FreeBSD mfi will not support that card.  The LSI mfi will, but they
aren't done with it as far as I know (spoke with their driver team a few
weeks ago)

The slightly riskier option is to flash the card with IR firmware for a
9211, the MegaRAID component of that card is purely software and the
underlying hardware is supported by mps.  Of course a firmware flash
gone bad will turn it into an expensive chunk of fiberglass, but if you
google around you'll find people who have done so successfully.


-- 
Thanks,

Josh Paetzel
_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org"


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic