4

I have an HP Smart Array P812 card flashed to HBA mode. Kernel patched Linux for this module, Ubuntu 22. Everything was working a week ago, I had passthrough of the drives, I even used them to test the setup and copied files, etc. It worked. Starting two days ago it just wasn't showing up anymore. I rebooted, no change.

Pulled up ssacli to check controller and drives, seems like everything is ok, but drives still don't show up on lsblk.

$ ssacli ctrl all show detail

Smart Array P812 in Slot 4 Bus Interface: PCI Slot: 4 Serial Number: PAGXQ0ARHZY04W Cache Serial Number: PBCDF0CRH0D5U9 RAID 6 Status: Enabled Controller Status: OK Hardware Revision: C Firmware Version: 3.66 Firmware Supports Online Firmware Activation: False Cache Board Present: True Cache Status: Not Configured Total Cache Size: 1.0 Total Cache Memory Available: 0.9 Battery Backed Cache Size: 0.9 Cache Backup Power Source: Capacitors Battery/Capacitor Count: 1 Battery/Capacitor Status: OK Number of Ports: 6 (2 Internal / 4 External ) Driver Name: hpsa Driver Version: 3.4.20 WWN Port: 50014380132301B0 HBA Mode Enabled: True PCI Address (Domain:Bus:Device.Function): 0000:42:00.0 Port Max Phy Rate Limiting Supported: False Sanitize Erase Supported: False Primary Boot Volume: None Secondary Boot Volume: None SPDM Supports Get Slot Certificate Chain: no SPDM Supports Get Controller Info : no SPDM Supports Get Slot Info : no SPDM Supports Set Import Certificate : no SPDM Supports Set Invalidate Slot : no Surface Scan Completion Supported: False Persistent Event Log Policy Change Supported: False

$ cat /proc/scsi/scsi Attached devices: Host: scsi1 Channel: 00 Id: 00 Lun: 00 Vendor: HP Model: P812 Rev: 3.66 Type: RAID ANSI SCSI revision: 05 Host: scsi0 Channel: 00 Id: 00 Lun: 00 Vendor: SEAGATE Model: ST3146356SS Rev: HS0F Type: Direct-Access ANSI SCSI revision: 05 Host: scsi0 Channel: 00 Id: 01 Lun: 00 Vendor: WD Model: WD3001FYYG-01SL3 Rev: VR07 Type: Direct-Access ANSI SCSI revision: 06 Host: scsi0 Channel: 00 Id: 02 Lun: 00 Vendor: WD Model: WD3001FYYG-01SL3 Rev: VR07 Type: Direct-Access ANSI SCSI revision: 06 Host: scsi0 Channel: 00 Id: 03 Lun: 00 Vendor: WD Model: WD3001FYYG-01SL3 Rev: VR07 Type: Direct-Access ANSI SCSI revision: 06 Host: scsi0 Channel: 00 Id: 04 Lun: 00 Vendor: SEAGATE Model: ST3146356SS Rev: HS0F Type: Direct-Access ANSI SCSI revision: 05 Host: scsi0 Channel: 00 Id: 05 Lun: 00 Vendor: WD Model: WD3001FYYG-01SL3 Rev: VR07 Type: Direct-Access ANSI SCSI revision: 06 Host: scsi0 Channel: 00 Id: 06 Lun: 00 Vendor: WD Model: WD3001FYYG-01SL3 Rev: VR07 $ ssacli ctrl slot=4 pd all show detail

Smart Array P812 in Slot 4

HBA Drives

  physicaldrive 4E:1:1
     Port: 4E
     Box: 1
     Bay: 1
     Status: OK
     Drive Type: HBA Mode Drive
     Interface Type: Solid State SATA
     Size: 2 TB
     Drive exposed to OS: False
     Logical/Physical Block Size: 512/512
     Firmware Revision: U1014A0
     Serial Number: AA202300002100001831
     WWID: 50014380042BA501
     Model: ATA     SSD 2TB
     SATA NCQ Capable: True
     SATA NCQ Enabled: True
     SSD Smart Trip Wearout: Not Supported
     PHY Count: 1
     PHY Transfer Rate: 1.5Gbps
     PHY Physical Link Rate: Unknown
     PHY Maximum Link Rate: Unknown
     Sanitize Erase Supported: False
     Shingled Magnetic Recording Support: None

If I check out dmesg is knows they are there but they are masked. I've tried re-running modprobe hbsa but no change, not to mention it should run that at boot anyways, I rebooted a few times after getting all this to work a few weeks ago with no issues.

$ dmesg | grep masked
[    4.554241] hpsa 0000:42:00.0: scsi 1:0:1:0: masked Direct-Access     ATA      SSD 2TB          PHYS DRV SSDSmartPathCap- En- Exp=0
[    4.568580] hpsa 0000:42:00.0: scsi 1:0:2:0: masked Direct-Access     ATA      SSD 2TB          PHYS DRV SSDSmartPathCap- En- Exp=0
[    4.583223] hpsa 0000:42:00.0: scsi 1:0:3:0: masked Direct-Access     ATA      SSD 2TB          PHYS DRV SSDSmartPathCap- En- Exp=0
[    4.597927] hpsa 0000:42:00.0: scsi 1:0:4:0: masked Direct-Access     ATA      SSD 2TB          PHYS DRV SSDSmartPathCap- En- Exp=0
[    4.612871] hpsa 0000:42:00.0: scsi 1:0:5:0: masked Enclosure         HP       MSA70            enclosure SSDSmartPathCap- En- Exp=0
[    4.628075] hpsa 0000:42:00.0: scsi 1:0:6:0: masked Enclosure         HP       P812 INT EXP     enclosure SSDSmartPathCap- En- Exp=0
[    4.643197] hpsa 0000:42:00.0: scsi 1:0:7:0: masked Enclosure         PMCSIERA  SRC 8x6G        enclosure SSDSmartPathCap- En- Exp=0

UPDATE

Tried clearing config on the drives, it won't let me. I can only imaging because the controller is in HBA mode so it thinks nothing to clear:

$ ssacli ctrl slot=4 physicaldrive 4E:1:5 modify clearconfigdata

Error: This operation is not supported with the current configuration. Use the "show" command on devices to show additional details about the configuration. Reason: Not supported

jfreak53
  • 55
  • 1
  • 6
  • 30

1 Answers1

0

I ended up changing code bases to the one below:

https://github.com/99dimitris/hpsahba

It seems the original Git code to convert the card to HBA mode, the kernel driver must of had issues. By changing to that codebase above, re-doing my marking my controller as HBA, then re-installing the new DKMS driver with this package worked. After a reboot all my drives worked fine.

Seemed to be a driver issue with the previous codebase.

jfreak53
  • 55
  • 1
  • 6
  • 30