LSI mps(4) driver issues with PIKE 2008/IMR (LSI SAS2008)

Desai, Kashyap Kashyap.Desai at lsi.com
Tue Mar 27 10:55:55 UTC 2012



> -----Original Message-----
> From: owner-freebsd-scsi at freebsd.org [mailto:owner-freebsd-
> scsi at freebsd.org] On Behalf Of Kenneth D. Merry
> Sent: Friday, March 23, 2012 3:49 AM
> To: Jake Smith
> Cc: freebsd-scsi at freebsd.org; freebsd-hackers at freebsd.org; freebsd-
> hardware at 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 at 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 at 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 at FreeBSD.ORG
> _______________________________________________
> freebsd-scsi at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-scsi
> To unsubscribe, send any mail to "freebsd-scsi-unsubscribe at freebsd.org"


More information about the freebsd-hackers mailing list