From owner-freebsd-hackers@FreeBSD.ORG Thu Mar 22 22:19:06 2012 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id C8E6C106566C; Thu, 22 Mar 2012 22:19:06 +0000 (UTC) (envelope-from ken@kdm.org) Received: from nargothrond.kdm.org (nargothrond.kdm.org [70.56.43.81]) by mx1.freebsd.org (Postfix) with ESMTP id 7EAF58FC18; Thu, 22 Mar 2012 22:19:06 +0000 (UTC) Received: from nargothrond.kdm.org (localhost [127.0.0.1]) by nargothrond.kdm.org (8.14.2/8.14.2) with ESMTP id q2MMJ0I1003501; Thu, 22 Mar 2012 16:19:00 -0600 (MDT) (envelope-from ken@nargothrond.kdm.org) Received: (from ken@localhost) by nargothrond.kdm.org (8.14.2/8.14.2/Submit) id q2MMJ0Ik003500; Thu, 22 Mar 2012 16:19:00 -0600 (MDT) (envelope-from ken) Date: Thu, 22 Mar 2012 16:19:00 -0600 From: "Kenneth D. Merry" To: Jake Smith Message-ID: <20120322221900.GA3458@nargothrond.kdm.org> References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4.2i 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) X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 22 Mar 2012 22:19:06 -0000 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: 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. 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?revision=232888&view=markup Ken -- Kenneth Merry ken@FreeBSD.ORG