ibm-openbmc / dev

Product Development Project Mgmt and Tracking
16 stars 2 forks source link

Unable to change the state for dimm's and cpu's using IPMI commands. #3630

Closed yadlapati closed 1 year ago

yadlapati commented 1 year ago

Description

Unable to change the state for dimm's and cpu's using IPMI commands.

Expected result - state value should get updated for dimm after running the IPMI RAW command.

Steps to recreate

executed with build-1040.2324.20230608a in rain57bmc system -

  1. IPMI RAW command to set 'dimm slot' state to 'Absent' bash-4.2$ ipmitool -I lanplus -C 17 -N 3 -p 623 -U ipmi_admin -H rain57bmc raw 0x04 0x30 0x1 0x00 0x00 0x10 0x00 0x00 0x00 0x00 0x20 0x00 Password:

  2. Verify changes via Redfish nandish@IBM-7CPLTN3:~$curl -k -H "X-Auth-Token: $bmc_token" -X GET https://${BMC_IP}/redfish/v1/Systems/system/Memory/dimm0 { "@odata.id": "/redfish/v1/Systems/system/Memory/dimm0", "@odata.type": "#Memory.v1_12_0.Memory", "AllowedSpeedsMHz": [], "BaseModuleType": "RDIMM", "BusWidthBits": 0, "CapacityMiB": 65536, "DataWidthBits": 0, "Enabled": true, "ErrorCorrection": "NoECC", "FirmwareRevision": "0", "Id": "dimm0", "Location": { "PartLocation": { "ServiceLabel": "U78DA.ND0.WZS002T-P0-C12" } }, "LocationIndicatorActive": false, "Manufacturer": "", "Model": "327B", "Name": "DIMM Slot", "OperatingSpeedMhz": 0, "PartNumber": "78P6575", "RankCount": 0, "SerialNumber": "YH36M11A41WV", "SparePartNumber": "78P6575", "Status": { "Health": "OK", "State": "Absent" ----------------------------- Verification step } }

  3. IPMI RAW command to set 'dimm slot' state to 'Enabled' bash-4.2$ ipmitool -I lanplus -C 17 -N 3 -p 623 -U ipmi_admin -H rain57bmc raw 0x04 0x30 0x1 0x00 0x00 0x00 0x00 0x10 0x00 0x00 0x20 0x00 Password:

  4. Verify changes via Redfish nandish@IBM-7CPLTN3:~$ curl -k -H "X-Auth-Token: $bmc_token" -X GET https://${BMC_IP}/redfish/v1/Systems/system/Memory/dim0 { "@odata.id": "/redfish/v1/Systems/system/Memory/dimm0", "@odata.type": "#Memory.v1_12_0.Memory", "AllowedSpeedsMHz": [], "BaseModuleType": "RDIMM", "BusWidthBits": 0, "CapacityMiB": 65536, "DataWidthBits": 0, "Enabled": true, "ErrorCorrection": "NoECC", "FirmwareRevision": "0", "Id": "dimm0", "Location": { "PartLocation": { "ServiceLabel": "U78DA.ND0.WZS002T-P0-C12" } }, "LocationIndicatorActive": false, "Manufacturer": "", "Model": "327B", "Name": "DIMM Slot", "OperatingSpeedMhz": 0, "PartNumber": "78P6575", "RankCount": 0, "SerialNumber": "YH36M11A41WV", "SparePartNumber": "78P6575", "Status": { "Health": "OK", "State": "Enabled" ----------------------------- Verification step } }

Now move system to recent 1050 build(1050.2323.20230608a), Here we are not able to update the state value for dimm's.

  1. Run IPMI RAW command to set 'dimm slot' state to 'Absent' -ipmitool -I lanplus -C 17 -N 3 -p 623 -U ipmi_admin -H rain57bmc raw 0x04 0x30 0x1 0x00 0x00 0x10 0x00 0x00 0x00 0x00 0x20 0x00

  2. Verify changes via Redfish nandish@IBM-7CPLTN3:~$ curl -k -H "X-Auth-Token: $bmc_token" -X GET https://${BMC_IP}/redfish/v1/Systems/system/Memory/dim0 { "@odata.id": "/redfish/v1/Systems/system/Memory/dimm0", "@odata.type": "#Memory.v1_12_0.Memory", "AllowedSpeedsMHz": [], "BaseModuleType": "RDIMM", "BusWidthBits": 0, "CapacityMiB": 64, "DataWidthBits": 0, "Enabled": true, "ErrorCorrection": "NoECC", "FirmwareRevision": "0", "Id": "dimm0", "Location": { "PartLocation": { "ServiceLabel": "U78DA.ND0.WZS002T-P0-C12" } }, "LocationIndicatorActive": false, "Manufacturer": "", "Model": "327B", "Name": "DIMM Slot", "OperatingSpeedMhz": 0, "PartNumber": "78P6575", "RankCount": 0, "SerialNumber": "YH36M11A41WV", "SparePartNumber": "78P6575", "Status": { "Health": "OK", "State": "Enabled" ----------------------------- Verification step } }

  3. Run IPMI RAW command to set 'dimm slot' state to 'Enabled' -ipmitool -I lanplus -C 17 -N 3 -p 623 -U ipmi_admin -H rain57bmc raw 0x04 0x30 0x1 0x00 0x00 0x00 0x00 0x10 0x00 0x00 0x20 0x00

  4. Verify changes via Redfish curl -k -H "X-Auth-Token: $bmc_token" -X GET https://${BMC_IP}/redfish/v1/Systems/system/Memory/dim0 { "@odata.id": "/redfish/v1/Systems/system/Memory/dimm0", "@odata.type": "#Memory.v1_12_0.Memory", "AllowedSpeedsMHz": [], "BaseModuleType": "RDIMM", "BusWidthBits": 0, "CapacityMiB": 64, "DataWidthBits": 0, "Enabled": true, "ErrorCorrection": "NoECC", "FirmwareRevision": "0", "Id": "dimm0", "Location": { "PartLocation": { "ServiceLabel": "U78DA.ND0.WZS002T-P0-C12" } }, "LocationIndicatorActive": false, "Manufacturer": "", "Model": "327B", "Name": "DIMM Slot", "OperatingSpeedMhz": 0, "PartNumber": "78P6575", "RankCount": 0, "SerialNumber": "YH36M11A41WV", "SparePartNumber": "78P6575", "Status": { "Health": "OK", "State": "Enabled" ----------------------------- Verification step } }

Similarly, we are facing issue with the CPU's. find the IPMI RAW commands below.

IPMI RAW command to set 'cpu' state to 'Absent' -ipmitool -I lanplus -C 17 -N 3 -p 623 -U ipmi_admin -H rain57bmc raw 0x04 0x30 0x41 0xa9 0x00 0x00 0x00 0x80 0x00 0x00 0x20 0x00

IPMI RAW command to set 'cpu' state to 'Enable' -ipmitool -I lanplus -C 17 -N 3 -p 623 -U ipmi_admin -H rain57bmc raw 0x04 0x30 0x41 0xa9 0x00 0x80 0x00 0x00 0x00 0x00 0x20 0x00

Redfish command to verify changes -curl -k -H "X-Auth-Token: $bmc_token" -X GET https://${BMC_IP}/redfish/v1/Systems/system/Processors/dcm0-cpu0

lxwinspur commented 1 year ago

Refer: https://github.com/ibm-openbmc/openbmc/pull/285

lxwinspur commented 1 year ago

@ChicagoDuan FYI ^

gtmills commented 1 year ago

548037 is the internal defect

gtmills commented 1 year ago

Reed merged https://github.com/ibm-openbmc/openbmc/pull/285 in GHE