0x9e commands fail on SD card installed on HPE Proliant/Synergy Gen10 Servers
search cancel

0x9e commands fail on SD card installed on HPE Proliant/Synergy Gen10 Servers

book

Article ID: 317953

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

To suppress the log messages.

Symptoms:
  • ESXi hosts installed on SD Card on HPE Proliant and Synergy Gen10 servers constantly report below warnings in vmkernel log:
2020-06-30T13:26:06.141Z cpu0:2097243)ScsiDeviceIO: 3449: Cmd(0x459ac1350600) 0x9e, CmdSN 0x2452e from world 0 to dev "mpx.vmhba32:C0:T0:L0" failed H:0x7 D:0x0 P:0x0 Invalid sense data: 0x0 0x6e 0x73.
2020-06-30T13:26:06.540Z cpu0:2097243)ScsiDeviceIO: 3449: Cmd(0x459ac1260240) 0x9e, CmdSN 0x24535 from world 0 to dev "mpx.vmhba32:C0:T0:L0" failed H:0x7 D:0x0 P:0x0 Invalid sense data: 0x0 0x0 0x0.

2020-06-30T13:23:33.519Z cpu16:2097259)WARNING: NMP: nmp_DeviceRequestFastDeviceProbe:237: NMP device "mpx.vmhba32:C0:T0:L0" state in doubt; requested fast path state update...
2020-06-30T13:28:41.065Z cpu0:2097243)WARNING: NMP: nmp_DeviceRequestFastDeviceProbe:237: NMP device "mpx.vmhba32:C0:T0:L0" state in doubt; requested fast path state update...


Note:The preceding log excerpts are only examples.Date,time and environmental variables may vary depending on your environment.

Environment

VMware vSphere ESXi 6.7

Cause

This occurs because the microSD controller in the HPE ProLiant/Synergy Gen10 servers does not support 0x9e operation code.

Resolution

This issue is resolved in VMware vSphere ESXi 7.0 U1c and vSphere ESXi 6.7 Patch ESXi670-202011002.
To download ESXi 7.0 U1c go to Customer Connect Downloads .
To download ESXi 6.7 Patch ESXi670-202011002  go to Customer Connect Patch Downloads

This is a known issue affecting VMware ESXi 6.5.x.

Currently, there is no resolution.


Workaround:
To workaround this issue we need to apply an advanced configuration in ESXi host : USB.quirks which will eliminate these messages from VMkernel logs:

Option#1:
  • Access ESXi shell and run the following command: 
esxcli system settings advanced set -o /USB/quirks -s 0x0bda:0x0329:0:0xffff:UQ_MSC_BAD_READ_CAPACITY_16
  • Reboot the ESXi host.

Using ESXi Shell in ESXi 5.x, 6.x and 7.x (2004746): https://kb.vmware.com/s/article/2004746

Option#2: 
  • Use ESXi Host Client or vCenter H5 Client to set the advanced configuration from UI:
  • Reboot the ESXi host. 

Option#3
  • Using Host Profiles to apply the Advanced Configuration:

Once this configuration is manually applied to one of the ESXi hosts, a Host Profile can be created from that host and applied to other hosts in the environment.
Please note Host profiles are a feature available on VMware vSphere Enterprise Plus license only.

1. Create a new Host Profile: Right-Click the host-->Host Profiles-->Extract Host Profile..
2. Edit the Host Profile: In vCenter UI: Menu-->Policies and Profiles-->Host Profiles-->Click on the Host Profile we created
3. Click Actions-->Edit Host Profile
4. Look for USB.quirk under Advanced Configuration Settings-->Advanced Options-->Advanced configuration option
De-select all the settings and configurations except USB.quirks under Advanced configuration option:



5. Save the Host Profile and Attach it to the target host.(Right-Click the ESXi host-->Host Profiles-->Attach Host Profile)
6. Put the target host in Maintenance Mode and Remediate it (Right-Click the ESXi host-->Host Profiles-->Remediate)
7. Reboot the host. 


Additional Information

Details about USB.quirks advanced configuration: 

Additional USB device quirks can be added to the vmkusb native driver default quirks. Device quirks are software workarounds for hardware errata. String format is <vid>:<pid>:<low rev>:<high rev>:<quirk name>, with colon delimted fields. vid and pid are the \"usb id\" numbers for the USB device vendor and product, respectively (and e.g., 0x0e0f for vendor VMware), and low and high rev are the revisions (inclusive) between which to apply the quirk (e.g., 0 and 0xffff). Quirk name is a string constant starting with UQ_. 

In this case we used the value: 0x0bda:0x0329:0:0xffff:UQ_MSC_BAD_READ_CAPACITY_16
Where: 

  • 0x0bda:0x0329 is the vendor id and product id (can be obtained by running: lsusb command on ESXi shell)
  • 0:0xffff is the min and max version and in most cases we don't need to change this
  • MSC_BAD_READ_CAPACITY_16 Translates to 0x9e command


Impact/Risks:

These messages are harmless. Applying the workaround will stop logging these messages in vmkernel logs.