Bug#900349: linux-image-4.9.0-6-amd64 does not support RAID controller (530-4i Flex) of Lenovo ThinkSystem SN550 servers

2019-07-26 Thread Michael Prokop
* Michael Prokop [Wed May 30, 2018 at 10:05:16AM +0200]:
> * Ben Hutchings [Tue May 29, 2018 at 08:58:35PM +0100]:
> > On Tue, 29 May 2018 13:41:13 +0200 Michael Prokop  wrote:

> > > The current kernel version of Debian/stretch (4.9.0-6-amd64) doesn't
> > > support the RAID controller as present in Lenovo ThinkSystem SN550
> > > blade servers (https://lenovopress.com/lp0637-thinksystem-sn550-server).

[...]

> > Is it sufficient to apply that single commit?  I'm attaching a
> > slightly modified version that applies to stretch.

> Thanks for providing that patch, sadly it doesn't seem to be enough.
> `cat /proc/partitions` is empty and I'm stuck in busybox/initramfs
> during boot:

> (initramfs) dmesg | grep megaraid
> [2.735633] megaraid_sas :08:00.0: Waiting for FW to come to ready 
> state
> (initramfs) modinfo megaraid_sas | grep -i 001c
> alias:  pci:v1000d001Csv*sv*sd*bc*sc*i*

FTR, kernel v4.15 and newer support the said RAID controller,
feel free to close this bug report (not doing it myself just in case
you think it's useful to keep it open for someone else).

regards
-mika-


signature.asc
Description: Digital signature


Bug#900349: linux-image-4.9.0-6-amd64 does not support RAID controller (530-4i Flex) of Lenovo ThinkSystem SN550 servers

2018-05-30 Thread Michael Prokop
* Ben Hutchings [Tue May 29, 2018 at 08:58:35PM +0100]:
> On Tue, 29 May 2018 13:41:13 +0200 Michael Prokop  wrote:

> > The current kernel version of Debian/stretch (4.9.0-6-amd64) doesn't
> > support the RAID controller as present in Lenovo ThinkSystem SN550
> > blade servers (https://lenovopress.com/lp0637-thinksystem-sn550-server).

> > It's known to be supported with Ubuntu 18.10 using kernel 4.15, I
> > gathered hardware information from a Grml live system which uses
> > kernel 4.15 though, being based on Debian's debian/4.15.17-1 (git
> > commit 0b520de976c19).
> [...] 
> > AFAICT the relevant support has been introduced as of git commit
> > 45f4f2eb3da3 ("scsi: megaraid_sas: Add new pci device Ids for SAS3.5
> > Generic Megaraid Controllers") in upstream kernel repository, present
> > in kernel versions 4.11 and newer.
> [...]

> Is it sufficient to apply that single commit?  I'm attaching a
> slightly modified version that applies to stretch.

Thanks for providing that patch, sadly it doesn't seem to be enough.
`cat /proc/partitions` is empty and I'm stuck in busybox/initramfs
during boot:

(initramfs) dmesg | grep megaraid
[2.735633] megaraid_sas :08:00.0: Waiting for FW to come to ready state
(initramfs) modinfo megaraid_sas | grep -i 001c
alias:  pci:v1000d001Csv*sv*sd*bc*sc*i*

(Manually extracted from remote console screenshot:
 https://michael-prokop.at/screeni/screenshot.2018-05-30T09:50:11.png)

regards,
-mika-


signature.asc
Description: Digital signature


Bug#900349: linux-image-4.9.0-6-amd64 does not support RAID controller (530-4i Flex) of Lenovo ThinkSystem SN550 servers

2018-05-29 Thread Ben Hutchings
Control: tag -1 upstream fixed-upstream patch

On Tue, 29 May 2018 13:41:13 +0200 Michael Prokop  wrote:
> Package: linux
> Version: 4.9.88-1+deb9u1
> Severity: important
> 
> The current kernel version of Debian/stretch (4.9.0-6-amd64) doesn't
> support the RAID controller as present in Lenovo ThinkSystem SN550
> blade servers (https://lenovopress.com/lp0637-thinksystem-sn550-server).
> 
> It's known to be supported with Ubuntu 18.10 using kernel 4.15, I
> gathered hardware information from a Grml live system which uses
> kernel 4.15 though, being based on Debian's debian/4.15.17-1 (git
> commit 0b520de976c19).
[...] 
> AFAICT the relevant support has been introduced as of git commit
> 45f4f2eb3da3 ("scsi: megaraid_sas: Add new pci device Ids for SAS3.5
> Generic Megaraid Controllers") in upstream kernel repository, present
> in kernel versions 4.11 and newer.
[...]

Is it sufficient to apply that single commit?  I'm attaching a
slightly modified version that applies to stretch.

Ben.

-- 
Ben Hutchings
Anthony's Law of Force: Don't force it, get a larger hammer.

From: Sasikumar Chandrasekaran 
Date: Tue, 10 Jan 2017 18:20:43 -0500
Subject: scsi: megaraid_sas: Add new pci device Ids for SAS3.5 Generic
 Megaraid Controllers
Origin: https://git.kernel.org/linus/45f4f2eb3da3cbff02c3d77c784c81320c733056
Bug-Debian: https://bugs.debian.org/900349

This patch contains new pci device ids for SAS3.5 Generic Megaraid Controllers

Signed-off-by: Sasikumar Chandrasekaran 
Reviewed-by: Tomas Henzl 
Signed-off-by: Martin K. Petersen 
[bwh: Backported to 4.9: adjust context]
---
 drivers/scsi/megaraid/megaraid_sas.h| 12 ++---
 drivers/scsi/megaraid/megaraid_sas_base.c   | 14 +-
 drivers/scsi/megaraid/megaraid_sas_fusion.c | 30 -
 3 files changed, 45 insertions(+), 11 deletions(-)

diff --git a/drivers/scsi/megaraid/megaraid_sas.h b/drivers/scsi/megaraid/megaraid_sas.h
index fdd519c1dd57..cb82195a8be1 100644
--- a/drivers/scsi/megaraid/megaraid_sas.h
+++ b/drivers/scsi/megaraid/megaraid_sas.h
@@ -56,6 +56,11 @@
 #define PCI_DEVICE_ID_LSI_INTRUDER_24		0x00cf
 #define PCI_DEVICE_ID_LSI_CUTLASS_52		0x0052
 #define PCI_DEVICE_ID_LSI_CUTLASS_53		0x0053
+#define PCI_DEVICE_ID_LSI_VENTURA		0x0014
+#define PCI_DEVICE_ID_LSI_HARPOON		0x0016
+#define PCI_DEVICE_ID_LSI_TOMCAT		0x0017
+#define PCI_DEVICE_ID_LSI_VENTURA_4PORT		0x001B
+#define PCI_DEVICE_ID_LSI_CRUSADER_4PORT	0x001C
 
 /*
  * Intel HBA SSDIDs
@@ -100,7 +105,7 @@
  */
 
 /*
- * MFI stands for  MegaRAID SAS FW Interface. This is just a moniker for 
+ * MFI stands for  MegaRAID SAS FW Interface. This is just a moniker for
  * protocol between the software and firmware. Commands are issued using
  * "message frames"
  */
@@ -1435,7 +1440,7 @@ enum FW_BOOT_CONTEXT {
 * register set for both 1068 and 1078 controllers
 * structure extended for 1078 registers
 */
- 
+
 struct megasas_register_set {
 	u32	doorbell;   /*h*/
 	u32	fusion_seq_offset;		/*0004h*/
@@ -1478,7 +1483,7 @@ struct megasas_register_set {
 
 	u32 	inbound_high_queue_port ;	/*00C4h*/
 
-	u32 	reserved_5;			/*00C8h*/
+	u32 inbound_single_queue_port;	/*00C8h*/
 	u32	res_6[11];			/*CCh*/
 	u32	host_diag;
 	u32	seq_offset;
@@ -2142,6 +2147,7 @@ struct megasas_instance {
 	u8 is_imr;
 	u8 is_rdpq;
 	bool dev_handle;
+	bool is_ventura;
 };
 struct MR_LD_VF_MAP {
 	u32 size;
diff --git a/drivers/scsi/megaraid/megaraid_sas_base.c b/drivers/scsi/megaraid/megaraid_sas_base.c
index d5cf15eb8c5e..e00b3dece088 100644
--- a/drivers/scsi/megaraid/megaraid_sas_base.c
+++ b/drivers/scsi/megaraid/megaraid_sas_base.c
@@ -155,6 +155,12 @@ static struct pci_device_id megasas_pci_table[] = {
 	/* Intruder 24 port*/
 	{PCI_DEVICE(PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_LSI_CUTLASS_52)},
 	{PCI_DEVICE(PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_LSI_CUTLASS_53)},
+	/* VENTURA */
+	{PCI_DEVICE(PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_LSI_VENTURA)},
+	{PCI_DEVICE(PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_LSI_HARPOON)},
+	{PCI_DEVICE(PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_LSI_TOMCAT)},
+	{PCI_DEVICE(PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_LSI_VENTURA_4PORT)},
+	{PCI_DEVICE(PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_LSI_CRUSADER_4PORT)},
 	{}
 };
 
@@ -5714,6 +5720,12 @@ static int megasas_probe_one(struct pci_dev *pdev,
 	instance->pdev = pdev;
 
 	switch (instance->pdev->device) {
+	case PCI_DEVICE_ID_LSI_VENTURA:
+	case PCI_DEVICE_ID_LSI_HARPOON:
+	case PCI_DEVICE_ID_LSI_TOMCAT:
+	case PCI_DEVICE_ID_LSI_VENTURA_4PORT:
+	case PCI_DEVICE_ID_LSI_CRUSADER_4PORT:
+	 instance->is_ventura = true;
 	case PCI_DEVICE_ID_LSI_FUSION:
 	case PCI_DEVICE_ID_LSI_PLASMA:
 	case PCI_DEVICE_ID_LSI_INVADER:
@@ -5738,7 +5750,7 @@ static int megasas_probe_one(struct pci_dev *pdev,
 		if ((instance->pdev->device == PCI_DEVICE_ID_LSI_FUSION) ||
 			(instance->pdev->device == PCI_DEVICE_ID_LSI_PLASMA))
 			fusion->adapter_type = THUNDERBOLT_SERIES;
-		else
+		else if (!instance->is_ventura)
 

Bug#900349: linux-image-4.9.0-6-amd64 does not support RAID controller (530-4i Flex) of Lenovo ThinkSystem SN550 servers

2018-05-29 Thread Michael Prokop
Package: linux
Version: 4.9.88-1+deb9u1
Severity: important

The current kernel version of Debian/stretch (4.9.0-6-amd64) doesn't
support the RAID controller as present in Lenovo ThinkSystem SN550
blade servers (https://lenovopress.com/lp0637-thinksystem-sn550-server).

It's known to be supported with Ubuntu 18.10 using kernel 4.15, I
gathered hardware information from a Grml live system which uses
kernel 4.15 though, being based on Debian's debian/4.15.17-1 (git
commit 0b520de976c19).

Summary:

1) Kernel 4.15 *with* support for the RAID controller:

, [ supported with more recent kernel versions ]
| root@grml ~ # uname -a
| Linux grml 4.15.0-1-grml-amd64 #1 SMP Debian 4.15.18-1+grml.1 (2018-04-20) 
x86_64 GNU/Linux
| root@grml ~ # modinfo megaraid_sas | grep version
| version:07.703.05.00-rc1
| srcversion: 442923A12415C892220D5F0
| vermagic:   4.15.0-1-grml-amd64 SMP mod_unload modversions
| root@grml ~ # lspci -n -s :08:00.0
| 08:00.0 0104: 1000:001c (rev 01)
| root@grml ~ # grep -i '1000.*001c' /lib/modules/$(uname -r)/modules.alias
| alias pci:v1000d001Csv*sd*bc*sc*i* megaraid_sas
| root@grml ~ # modinfo megaraid_sas | grep -i 001c
| alias:  pci:v1000d001Csv*sd*bc*sc*i*
`

2) Kernel 4.9.0-6-amd64 *without* support for the RAID controller:

, [ unsupported with kernel version from current Debian/stretch ]
| root@spce:~# uname -a
| Linux spce 4.9.0-6-amd64 #1 SMP Debian 4.9.88-1+deb9u1 (2018-05-07) x86_64 
GNU/Linux
| root@spce:~# modinfo megaraid_sas | grep version
| version:06.811.02.00-rc1
| srcversion: 64B34706678212A7A9CC1B1
| vermagic:   4.9.0-6-amd64 SMP mod_unload modversions
| root@spce:~# modinfo megaraid_sas | grep -i 001c
| root@spce:~#
`

AFAICT the relevant support has been introduced as of git commit
45f4f2eb3da3 ("scsi: megaraid_sas: Add new pci device Ids for SAS3.5
Generic Megaraid Controllers") in upstream kernel repository, present
in kernel versions 4.11 and newer.

It would be great if the support for the RAID 530-4i Flex controller
as present in Lenovo ThinkSystem SN550 blade servers could be added to
the Debian/stretch kernel version, otherwise the hardware is sadly
unsupported by Debian.

If any further information is needed or if I could be of any further
help please let me know.

, [ further hardware information ]
| root@grml ~ # uname -a
| Linux grml 4.15.0-1-grml-amd64 #1 SMP Debian 4.15.18-1+grml.1 (2018-04-20) 
x86_64 GNU/Linux
| root@grml ~ # lsscsi -v
| [0:2:0:0]diskLenovo   RAID 530-4i Flex 5.00  /dev/sda
|   dir: /sys/bus/scsi/devices/0:2:0:0  
[/sys/devices/pci:07/:07:00.0/:08:00.0/host0/target0:2:0/0:2:0:0]
| root@grml ~ # lsscsi -i
| [0:2:0:0]diskLenovo   RAID 530-4i Flex 5.00  /dev/sda   
3600a0d1002b017142263578187b47425
| root@grml ~ # lsscsi -w
| [0:2:0:0]diskLenovo   RAID 530-4i Flex 5.00  
0x600a0d1002b017142263578187b47425  /dev/sda
| root@grml ~ # lspci  -n -s 08:00.0
| 08:00.0 0104: 1000:001c (rev 01)
| root@grml ~ # lspci -s 08:00.0
| 08:00.0 RAID bus controller: LSI Logic / Symbios Logic MegaRAID Tri-Mode 
SAS3404 (rev 01)
| root@grml ~ # lspci -nn -s 08:00.0
| 08:00.0 RAID bus controller [0104]: LSI Logic / Symbios Logic MegaRAID 
Tri-Mode SAS3404 [1000:001c] (rev 01)
| root@grml ~ # lspci -k -s 08:00.0
| 08:00.0 RAID bus controller: LSI Logic / Symbios Logic MegaRAID Tri-Mode 
SAS3404 (rev 01)
| Subsystem: Lenovo ThinkSystem RAID 530-4i Flex Adapter
| Kernel driver in use: megaraid_sas
| Kernel modules: megaraid_sas
| root@grml ~ # lshw -C disk
|   *-disk
|description: SCSI Disk
|product: RAID 530-4i Flex
|vendor: Lenovo
|physical id: 2.0.0
|bus info: scsi@0:2.0.0
|logical name: /dev/sda
|version: 5.00
|serial: 002574b48781576322141[snip]
|size: 446GiB (478GB)
|capabilities: gpt-1.00 partitioned partitioned:gpt
|configuration: ansiversion=5 guid=168e7bb7-cc8f-41bd-8415-318f6dab3947 
logicalsectorsize=512 sectorsize=4096
|
| root@grml ~ # lshw -C storage
|   *-storage:0
|description: SATA controller
|product: Lewisburg SSATA Controller [AHCI mode]
|vendor: Intel Corporation
|physical id: 11.5
|bus info: pci@:00:11.5
|version: 09
|width: 32 bits
|clock: 66MHz
|capabilities: storage msi pm ahci_1.0 bus_master cap_list
|configuration: driver=ahci latency=0
|resources: irq:54 memory:d9d16000-d9d17fff memory:d9d19000-d9d190ff 
ioport:2070(size=8) ioport:2060(size=4) ioport:2020(size=32) 
memory:d9c8-d9cf
|   *-storage:1
|description: RAID bus controller
|product: C600/X79 series chipset SATA RAID Controller
|vendor: Intel Corporation
|physical id: 17
|bus info: pci@:00:17.0
|version: 09
|width: 32 bits
|clock: 66MHz
|capabilities: storage msi pm bus_master