I have a few older HP gen8 servers. Yes, they are old but they work like a charm and they haven’t let me down so far. Both of them are equipped with an HP Smart Array P222 controller. Retired by HP a long time ago, but they still work fine for my use case. It’s a PCI-Express 3.0 x8 controller capable of delivering around 7,45 Gbyte/sec which is way beyond my own use case. You can find the documentation for this device on HPE’s website. However, for quite some time it introduced a nuisance that started to annoy me quite a bit. Enough to get me going trying to fix the issue. The HP Smart Array P222 supports hardware RAID. It has a battery powered cache module that was useful back in the day and it doesn’t hurt to keep using it. However, hardware RAID has been superseded by technologies like Storage Spaces Direct, ZFS and Ceph and these technologies are incompatible with hardware RAID. Using the built-in Smart Storage Admin doesn’t allow me to configure the adapter in HBA mode exposing the drives connected to the operating system. Logical drives prevent me from doing other related stuff like checking the S.M.A.R.T. status. Additionally, this controller prevented me from using any Debian based Operating System as it would simply crash. These crashes didn’t occur while using any RHEL based Operating System or Windows Server, but it annoyed me as well. I guess it has something to do with native support from HP but that’s beyond the scope of this post. After some digging, I noticed I can use the Smart Storage Admin Command Line (ssacli). The primary requirement is to have a firmware installed that supports modifying the adapter into HBA mode which I installed quite a while ago. You can download ssacli from the HP website which includes a .txt file with a list of supported controllers: Dynamic Smart Array B110i SATA RAID Smart Array P212 Controller Smart Array P410 Controller Smart Array P410i Controller Smart Array P411 Controller Smart Array P711m Controller Smart Array P712m Controller Smart Array P812 Controller Dynamic Smart Array B120i Dynamic Smart Array B320i Smart Array P220i Controller Smart Array P222 Controller Smart Array P420 Controller Smart Array P420i Controller Smart Array P421 Controller Smart Array P721m Controller Smart Array P822 Controller Smart Array P230i Controller Smart Array P430 Controller Smart Array P431 Controller Smart Array P530 Controller Smart Array P531 Controller Smart Array P731m Controller Smart Array P830 Controller Smart Array P830i Controller Dynamic Smart Array B140i Smart HBA H240 Controller Smart HBA H240ar Controller Smart HBA H240nr Controller Smart HBA H241 Controller Smart HBA H244br Controller Smart Array P240nr Controller Smart Array P244br Controller Smart Array P246br Controller Smart Array P440 Controller Smart Array P440ar Controller Smart Array P441 Controller Smart Array P542D Controller Smart Array P741m Controller Smart Array P840 Controller Smart Array P840ar Controller Smart Array P841 Controller And to my suprise, the Smart Array P222 is listed. I couldn’t find a CLI reference on HPE’s website but I could find the ones I needed here. I ignored the reference to Proxmox. Allright, as I have two machines I got to work on my ‘non-critical’ HP server. First, I removed any logical drive to make the controller not using anything. I created a RHEL based Live CD that allows me to install and run ssacli using the .rpm (all as root). Let’s run ssacli ctrl all show first: That’s nice, now we know which slot number we need for the next command. Replace the slot number in your scenario when running ssacli ctrl slow=3 modify hbamode=on. After a few seconds, let’s check the status to see if the controller is now running in HBA mode. Looks good. Now I can reboot and proceed. During POST, I saw a message confirming RAID mode is disabled. Perfect. As this machine is running TrueNAS Scale, I can now see the drives and create a ZFS Pool that fits my use case. The drives connected to the HP Smart Array P222 are sda, sdb, sdc and sdd. As I limited my scenario to HP Smart Array controllers, you may get similar results. My methd may look a a bit cumbersome and/or ‘noobish’, I would not call myself a Linux expert (great for Docker/K8s/K3s) but I like to work with it. However, it works great for my home lab so it doesn’t need to go to waste and may be reused in the future.