Discussion:
LSI mps(4) driver issues with PIKE 2008/IMR (LSI SAS2008)
(too old to reply)
Jake Smith
2012-03-22 15:31:03 UTC
Permalink
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 ***@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.

***@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.

Really appreciate any help you can give.

Kind Regards
Jake
Kenneth D. Merry
2012-03-22 22:20:22 UTC
Permalink
Post by Jake Smith
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
Revision: 233304
Initially the card is not seen at all by the driver, however pciconf
shows us why that is.
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.

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
***@FreeBSD.ORG
Desai, Kashyap
2012-03-27 10:56:37 UTC
Permalink
-----Original Message-----
Sent: Friday, March 23, 2012 3:49 AM
To: Jake Smith
Subject: Re: LSI mps(4) driver issues with PIKE 2008/IMR (LSI SAS2008)
Post by Jake Smith
Hello,
I am trying to get the latest mps(4) driver in FreeBSD 9-STABLE
working
Post by Jake Smith
with am LSI SAS2008 variant from ASUS, they call it PIKE 2008/IMR.
Link
Post by Jake Smith
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
Revision: 233304
Initially the card is not seen at all by the driver, however pciconf
shows us why that is.
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
Post by Jake Smith
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
Post by Jake Smith
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
http://svnweb.freebsd.org/base/projects/head_mfi/sys/dev/mfi/mfi_pci.c?r
evision=232888&view=markup
Ken
--
Kenneth Merry
_______________________________________________
http://lists.freebsd.org/mailman/listinfo/freebsd-scsi
Loading...