Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 27 Mar 2012 14:36:19 +0000
From:      Josh Paetzel <josh@tcbug.org>
To:        freebsd-hackers@freebsd.org
Subject:   Re: LSI mps(4) driver issues with PIKE 2008/IMR (LSI SAS2008)
Message-ID:  <4F71D063.9080402@tcbug.org>
In-Reply-To: <B2FD678A64EAAD45B089B123FDFC3ED72B96E636A4@inbmail01.lsi.com>
References:  <b8bb907238780b64ac04971a795c1613@viper-webmail.viper.enta.net> <20120322221900.GA3458@nargothrond.kdm.org> <B2FD678A64EAAD45B089B123FDFC3ED72B96E636A4@inbmail01.lsi.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4F71D063.9080402>