I would like to add what worked for my specific controller.
SCSI storage controller: LSI Logic / Symbios Logic SAS1068 PCI-X Fusion-MPT SAS (rev 01)
Machine is a Dell Precision 690 workstation and the controller is on the motherboard.
This is on Ubuntu 18.04 64-bit
Firstly, I would like to mention few things that may work if my method doesn't work for you.
- There is a utility from LSI called lsiutil;
- you can try storcli - there are some guides on how to use it;
- you can try perccli from Dell, however it comes as an rpm package and you will have to use the alien command (install it from apt install alien) and allow scripts;
- you can try megaraid, there are some guides for that, but my particular controller is not a megaraid controller. I think it is a perc5i (not sure);
- you can try racadm from Dell or OpenManage tools but I never used them myself.
My root bash history: I am not sure how much of this is needed (# are my comments)
apt install mpt-status
man mpt-status #it has notes about a kernel module needed mptctl see also mptsas
mpt-status #you should see the array and individual drives, if not continue
modprobe mpt3sas #loads this module into the kernel
modprobe sg #loads sg driver
cat /proc/scsi/sg/device_strs #where X is equal to the row number of the table starting with 0
smartctl -a /dev/sgX #smartctl commands work now and /dev/sg0 for example takes the place of /dev/sda for the purposes of smartctl
lsmod showed me after trying various solutions that I had these extra modules loaded: megaraid, mptctl, mpt3sas, mptsas, mptbase
Edit: this webpage suggests mptsas is the necessary module: https://wiki.debian.org/LinuxRaidForAdmins#mpt2sas
Once you get it work, make sure you set the modules to load on boot.