We have found some Dell HBA cards based on LSI SAS3008 to require a modification to the manufacturer configuration portion of the card itself to properly function.# lspci -nnv -s <PCI Address of the HBA card>
# lspci -nnv -s 61:00.0 61:00.0 Serial Attached SCSI controller : Broadcom / LSI SAS3008 PCI-Express Fusion-MPT SAS-3 [1000:0097] (rev 02) Subsystem: Dell HBA330 Adapter [1028:1f45] Flags: bus master, fast devsel, latency 0, IRQ 111, NUMA node 3 I/O ports at 6000 [size=256] Memory at ce500000 (64-bit, non-prefetchable) [size=64K] Memory at ce400000 (64-bit, non-prefetchable) [size=1M] Expansion ROM at <ignored> [disabled] Capabilities:  Power Management version 3 Capabilities:  Express Endpoint, MSI 00 Capabilities: [a8] MSI: Enable- Count=1/1 Maskable+ 64bit+ Capabilities: [c0] MSI-X: Enable+ Count=96 Masked- Capabilities:  Advanced Error Reporting Capabilities: [1e0] #19 Capabilities: [1c0] Power Budgeting <?> Capabilities:  #16 Capabilities:  Single Root I/O Virtualization (SR-IOV) Capabilities:  Alternative Routing-ID Interpretation (ARI) Kernel driver in use: mpt3sas Kernel modules: mpt3sas
We have found simply booting to a Dell Live ISO Image will make the required change however this can be time consuming for a large number of systems.
The first sign of this issue is the apperance of “overriding NVDATA EEDPTagMode setting” during the initial EL7 boot process.
The second sign of the issue is receiving “kernel: blk_update_request: I/O error, dev sda, sector 0” errors when attempting to access the disk device where sda is the target drive.
The incorrect value location “page type: 9, page number: 11, address 0x09” of the HBA 330 card itself. A value of 0 will cause the previously mentioned overriding NVDATA error and I/O errors when attempting to access the device. A value of 1 resolves this issue.
The method we have successfully used to update this value from the command line is through the use of lsiutil.
SYNTAX: -p <portNumber> # Probably 1 unless you have multiple cards SYNTAX: -a <Desired keystrokes with ,=enter to perform the desired action>
In the below example, we choose to…
LSI Logic MPT Configuration Utility, Version 1.72, Sep 09, 2014 1 MPT Port found Port Name Chip Vendor/Type/Rev MPT Rev Firmware Rev IOC 1. ioc0 LSI Logic SAS3008 C0 205 10000800 0 Main menu, select an option: [1-99 or e/p/w or 0 to quit] 9 Enter page type: [0-255 or RETURN to quit] 9 Enter page number: [0-255 or RETURN to quit] 11 Read NVRAM or current values? [0=NVRAM, 1=Current, default is 0] 0 0000 : 290b1200 0004 : 80123278 0008 : 00000004 000c : 00100000 0010 : 07f28155 0014 : 00000000 0018 : 00000000 001c : 00000000 0020 : 00000000 0024 : 00000000 0028 : 00000000 002c : 00000000 0030 : ffffffff 0034 : ffffcfff 0038 : efffffff 003c : fff7efff 0040 : ffffefff 0044 : 7fffffff Do you want to make changes? [Yes or No, default is No] y Enter offset of value to change: [0004-0044 or RETURN to quit] 0008 Enter value: [00000000-FFFFFFFF or RETURN to not change] 00000104 Enter offset of value to change: [0004-0044 or RETURN to quit] Do you want to write your changes? [Yes or No, default is No] y Changes have been written Enter page type: [0-255 or RETURN to quit] Main menu, select an option: [1-99 or e/p/w or 0 to quit] 0