Earlier this week I ran into an issue in my home lab and I thought it would be worth quickly writing up how I fixed it.
I’ve just acquired two new 1TB Crucial MX500 SSDs for the lab, and after installing them in my Dell Precision T7500 lab host they were showing as running at SATA 1 speeds i.e. 1.5 Gbps. Whilst the 6/iR controller in the T7500 only supports SATA 2 (an upgrade to a separate controller which supports SATA 3 is for the future), these drives should still run at 3 Gbps.
I had found the fact that they were running at 1.5 Gbps by checking the details in the Controller’s POST config environment. My first troubleshooting step, after unsuccessfully trying different cables and controller ports, was to check and confirm in ESXi if the same speed was being reported as the controller. I did this by following part of the instructions from an article over on virten.net (full article). The steps I followed were;
- Download smartctl-6.6-4321.x86_64.vib
- Copy the VIB to the /tmp/ directory of an ESXi host
- SSH to the ESXi host
- Set the VIB acceptance level to CommunitySupported# esxcli software acceptance set --level=CommunitySupported
- Install the package (Maintenance Mode or Reboot is not required)#esxcli software vib install -v /tmp/smartctl-6.6-4321.x86_64.vib
Once smartctl is installed, I ran the following command to list the disks in my server.
From that list, I had the naa IDs for each disk. I was then able to use smartctl to query each disk to show me the SATA speed it was running at
/opt/smartmontools/smartctl -d sat -a /dev/disks/naa.500a0751e1ff139b
Here we can see this disk is reporting running at 1.5 Gbps, confirming what I’m seeing in the controller at POST is also being observed by the OS.
I turned to Google and found this forum discussion, which amazingly described a very similar issue and had a post with an answer! Essentially, the Dell controller in my server is seeing these new Crucial drives as not official Dell SSDs, and therefore dropping the speed to the minimum supported speed for the controller of 1.5 Gbps. The fix – set the minimum speed to 3 Gbps using an LSI Controller utility.
The LSI util is a little hard to come by, but it can be found here (or via my local mirror of LSIUtil_1.62*). I used Rufus to setup a bootable Ubuntu USB stick and extracted the LSI download to a folder on the root of the USB stick.
Once I had booted into Ubuntu, I was able to used the following steps to set the minimum speed of the controller;
- Run the x64 executable from the folder we copied to the USB drive earlier
- Select the controller, for me there was only one.
- This will show the main menu, select option 13, “Change SAS IO Unit settings”.
- A number of system wide configurations options are then displayed, one after the other, I just left these as the defaults.
- You are then presented with a list of the SATA ports. Select the port where the device is running at a reduced speed and hit enter. You could also choose option “8” and change all devices at once. I decided to be a little more focused in my changes, so I selected physical port 0.
- For all other options than the “MinRate” option, I left the defaults in place. For “MinRate”, I selected option “1”, which sets the Minimum STA speed to 3.0 Gbps. Once this is done, the port list is shown, you can see that the MinRate is now set to 3.0.
- I then repeated this for port 1.
- I then hit Return to quit the IO Settings menu. A few more system wide settings were presented, I again left these as the defaults, I could then quit the utility.
- Now time to reboot and see if the change has made a difference!
So after a reboot I first checked in the LSI POST Config and the drives are now showing as 3 Gbps – good news! Continuing to boot into ESXi, I then reran smartctl and it shows further good news, confirming the drives are now running at 3 Gbps.
And with that fixed, I can now continue on to get started with the rebuild of my home lab.
*I’ve scanned the LSIutil zip file for viruses but can provide no guarantees it is clean – proceed at your own risk in using the download