diff --git a/ipmi/dcmi/test_dcmi_asset_tag.robot b/ipmi/dcmi/test_dcmi_asset_tag.robot
index 4845106..7c6af70 100644
--- a/ipmi/dcmi/test_dcmi_asset_tag.robot
+++ b/ipmi/dcmi/test_dcmi_asset_tag.robot
@@ -70,7 +70,7 @@
 
     ${cmd}=  Catenate  ${DCMI_RAW_CMD['DCMI']['Asset_Tag'][1]} 0x${number_of_bytes_to_write} ${random_hex}
     ${resp}=  Run Keyword And Expect Error  *
-    ...  Run External IPMI Raw Command  ${cmd}
+    ...  Run IPMI Command  ${cmd}
     Should Contain  ${resp}  rsp=0xc9): Parameter out of range:  ignore_case=True
 
 
@@ -98,7 +98,7 @@
     ${number_of_bytes_to_write}=  Get Response Length In Hex  ${random_int}
 
     ${cmd}=  Catenate  ${DCMI_RAW_CMD['DCMI']['Asset_Tag'][1]} 0x${number_of_bytes_to_write} ${random_hex}
-    ${ret}=  Run External IPMI Raw Command  ${cmd}
+    ${ret}=  Run IPMI Command  ${cmd}
 
     Set Test Variable  ${string_hex_list}
     Set Test Variable  ${random_string}
@@ -110,7 +110,7 @@
     [Documentation]  Get asset tag command in raw command.
 
     ${cmd}=  Catenate  ${DCMI_RAW_CMD['DCMI']['Asset_Tag'][0]} 0x${number_of_bytes_to_write}
-    ${ret}=  Run External IPMI Raw Command  ${cmd}
+    ${ret}=  Run IPMI Command  ${cmd}
 
     [Return]  ${ret}
 
diff --git a/ipmi/dcmi/test_dcmi_get_temperature_reading.robot b/ipmi/dcmi/test_dcmi_get_temperature_reading.robot
index c6698ea..07dce0e 100644
--- a/ipmi/dcmi/test_dcmi_get_temperature_reading.robot
+++ b/ipmi/dcmi/test_dcmi_get_temperature_reading.robot
@@ -31,7 +31,7 @@
 
     ${cmd}=  Catenate  ${DCMI_RAW_CMD['DCMI']['GET_TEMPERATURE_READING'][0]}
     ...  ${DCMI_RAW_CMD['DCMI']['GET_TEMPERATURE_READING'][1]} 0x00 0x00
-    ${ipmi_resp}=  Run External IPMI Raw Command  ${cmd}
+    ${ipmi_resp}=  Run IPMI Command  ${cmd}
     Verify Reading With IPMI  ${ipmi_resp}  ${1}  inlet
     # Verify Temperature Reading With Dbus URI  ${ipmi_resp}  inlet  ${1}
 
@@ -41,7 +41,7 @@
 
     ${cmd}=  Catenate  ${DCMI_RAW_CMD['DCMI']['GET_TEMPERATURE_READING'][0]}
     ...  ${DCMI_RAW_CMD['DCMI']['GET_TEMPERATURE_READING'][2]} 0x00 0x00
-    ${ipmi_resp}=  Run External IPMI Raw Command  ${cmd}
+    ${ipmi_resp}=  Run IPMI Command  ${cmd}
     Verify Reading With IPMI  ${ipmi_resp}  ${1}  cpu
     # Verify Temperature Reading With Dbus URI  ${ipmi_resp}  cpu  ${1}
 
@@ -51,7 +51,7 @@
 
     ${cmd}=  Catenate  ${DCMI_RAW_CMD['DCMI']['GET_TEMPERATURE_READING'][0]}
     ...  ${DCMI_RAW_CMD['DCMI']['GET_TEMPERATURE_READING'][2]} 0x00 0x00
-    ${ipmi_resp}=  Run External IPMI Raw Command  ${cmd}
+    ${ipmi_resp}=  Run IPMI Command  ${cmd}
     Verify Reading With IPMI  ${ipmi_resp}  ${2}  cpu
     # Verify Temperature Reading With Dbus URI  ${ipmi_resp}  cpu  ${2}
 
@@ -61,7 +61,7 @@
 
     ${cmd}=  Catenate  ${DCMI_RAW_CMD['DCMI']['GET_TEMPERATURE_READING'][0]}
     ...  ${DCMI_RAW_CMD['DCMI']['GET_TEMPERATURE_READING'][3]} 0x00 0x00
-    ${ipmi_resp}=  Run External IPMI Raw Command  ${cmd}
+    ${ipmi_resp}=  Run IPMI Command  ${cmd}
     Verify Reading With IPMI  ${ipmi_resp}  ${1}  baseboard
     # Verify Temperature Reading With Dbus URI  ${ipmi_resp}  baseboard  ${1}
 
diff --git a/ipmi/test_ipmi_chassis.robot b/ipmi/test_ipmi_chassis.robot
index ddf4ce4..f36468a 100644
--- a/ipmi/test_ipmi_chassis.robot
+++ b/ipmi/test_ipmi_chassis.robot
@@ -30,7 +30,7 @@
     [Tags]  IPMI_Chassis_Status_On
 
     Redfish Power On  stack_mode=skip  quiet=1
-    ${resp}=  Run IPMI Standard Command  chassis status
+    ${resp}=  Run External IPMI Standard Command  chassis status
     ${power_status}=  Get Lines Containing String  ${resp}  System Power
     Should Contain  ${power_status}  on
 
@@ -40,7 +40,7 @@
     [Tags]  IPMI_Chassis_Status_Off
 
     Redfish Power Off  stack_mode=skip  quiet=1
-    ${resp}=  Run IPMI Standard Command  chassis status
+     ${resp}=  Run External IPMI Standard Command  chassis status
     ${power_status}=  Get Lines Containing String  ${resp}  System Power
     Should Contain  ${power_status}  off
 
@@ -66,7 +66,7 @@
     [Tags]  Verify_Soft_Shutdown
 
     Redfish Power On  stack_mode=skip
-    Run IPMI Standard Command  chassis power soft
+    Run External IPMI Standard Command  chassis power soft
     Wait Until Keyword Succeeds  ${IPMI_POWEROFF_WAIT_TIMEOUT} min  10 sec  Is Host Off Via IPMI
 
 
@@ -97,7 +97,7 @@
     [Tags]  Verify_Chassis_Power_Policy
     [Setup]  Test Setup Execution
     [Teardown]  Run Keywords  FFDC On Test Case Fail  AND
-    ...  Run IPMI Standard Command  chassis policy ${initial_power_policy}
+    ...  Run External IPMI Standard Command  chassis policy ${initial_power_policy
     [Template]  Set Chassis Power Policy Via IPMI And Verify
 
     # power_policy
@@ -111,7 +111,7 @@
     [Tags]  Verify_Chassis_Status_Via_IPMI
     [Setup]  Test Setup Execution
     [Teardown]  Run Keywords  FFDC On Test Case Fail  AND
-    ...  Run IPMI Standard Command  chassis policy ${initial_power_policy}
+    ...  Run External IPMI Standard Command  chassis policy ${initial_power_policy}
     [Template]  Check Chassis Status Via IPMI
 
     # power_policy
@@ -160,7 +160,7 @@
     # Description of argument(s):
     # power_policy    Chassis power policy to be set(e.g. "always-off", "always-on").
 
-    Run IPMI Standard Command  chassis policy ${power_policy}
+    Run External IPMI Standard Command  chassis policy ${power_policy}
     ${resp}=  Get Chassis Status
     Valid Value  resp['power_restore_policy']  ['${power_policy}']
 
@@ -223,7 +223,7 @@
 Test Teardown Execution
     [Documentation]  Do Test Teardown tasks.
 
-    ${resp}=  Run IPMI Standard Command  chassis status
+    ${resp}=  Run External IPMI Standard Command  chassis status
     ${power_status}=  Get Lines Containing String  ${resp}  System Power
     @{powertolist}=  Split String  ${power_status}   :
     ${status}=  Get From List  ${powertolist}  1
diff --git a/ipmi/test_ipmi_cipher.robot b/ipmi/test_ipmi_cipher.robot
index 21e2b61..d035efe 100644
--- a/ipmi/test_ipmi_cipher.robot
+++ b/ipmi/test_ipmi_cipher.robot
@@ -188,7 +188,7 @@
     ${cmd}=  Catenate  ${IPMI_RAW_CMD['Cipher Suite']['get'][0]}
     ...  ${channel_num} ${payload_type} ${index_value}
 
-    ${resp}=  Run External IPMI Raw Command  ${cmd}
+    ${resp}=  Run IPMI Command  ${cmd}
     ${resp}=  Strip String  ${resp}
 
     # channel 14 represents current channel in which we send request.
diff --git a/ipmi/test_ipmi_cold_reset.robot b/ipmi/test_ipmi_cold_reset.robot
index 1a4b5d9..e9ff17b 100644
--- a/ipmi/test_ipmi_cold_reset.robot
+++ b/ipmi/test_ipmi_cold_reset.robot
@@ -44,7 +44,7 @@
     [Tags]  Cold_Reset_Via_IPMI
 
     # Cold Reset Via IPMI raw command.
-    Run External IPMI Raw Command  ${IPMI_RAW_CMD['Cold Reset']['reset'][0]}
+    Run IPMI Command  ${IPMI_RAW_CMD['Cold Reset']['reset'][0]}
 
     # Get the BMC Status.
     Wait Until Keyword Succeeds  3 min  10 sec  Is BMC Unpingable
@@ -52,7 +52,7 @@
 
     # Verify if BMC restarted with Get Device ID command.
 
-    ${resp}=  Run External IPMI Raw Command  ${IPMI_RAW_CMD['Device ID']['Get'][0]}
+    ${resp}=  Run IPMI Command  ${IPMI_RAW_CMD['Device ID']['Get'][0]}
     Should Not Contain  ${resp}  ${IPMI_RAW_CMD['Device ID']['Get'][1]}
 
 
@@ -62,7 +62,7 @@
 
     # Verify cold reset with invalid length of the request data and expect error.
     ${resp}=  Run Keyword and Expect Error  *Request data length invalid*
-    ...  Run External IPMI Raw Command  ${IPMI_RAW_CMD['Cold Reset']['reset'][0]} 0x00
+    ...  Run IPMI Command  ${IPMI_RAW_CMD['Cold Reset']['reset'][0]} 0x00
 
 
 Verify Cold Reset Impact On Sensor Threshold Via IPMI
@@ -91,7 +91,7 @@
     Should Not Be Equal  ${new_threshold_value}  ${old_threshold_value}
 
     # Cold Reset Via IPMI raw command.
-    Run External IPMI Raw Command  ${IPMI_RAW_CMD['Cold Reset']['reset'][0]}
+    Run IPMI Command  ${IPMI_RAW_CMD['Cold Reset']['reset'][0]}
 
     # Get the BMC Status.
     Wait Until Keyword Succeeds  3 min  10 sec  Is BMC Unpingable
diff --git a/ipmi/test_ipmi_device_id.robot b/ipmi/test_ipmi_device_id.robot
index ea0f3be..d82f785 100644
--- a/ipmi/test_ipmi_device_id.robot
+++ b/ipmi/test_ipmi_device_id.robot
@@ -30,7 +30,7 @@
     [Tags]  Get_Device_ID_Via_IPMI
 
     # Verify Get Device ID.
-    ${resp}=  Run External IPMI Raw Command
+    ${resp}=  Run IPMI Command
     ...  ${IPMI_RAW_CMD['Device ID']['Get'][0]}
     Should Not Contain  ${resp}  ${IPMI_RAW_CMD['Device ID']['Get'][1]}
 
@@ -41,7 +41,7 @@
 
     # Run IPMI Get Device ID command with invalid request data byte.
     ${resp}=  Run Keyword and Expect Error  *Request data length invalid*
-    ...  Run External IPMI Raw Command  ${IPMI_RAW_CMD['Device ID']['Get'][0]} 0x00
+    ...  Run IPMI Command  ${IPMI_RAW_CMD['Device ID']['Get'][0]} 0x00
     # Verify error code in 'rsp='.
     Should Contain  ${resp}  ${IPMI_RAW_CMD['Device ID']['Get'][2]}
 
@@ -51,7 +51,7 @@
     [Tags]  Verify_Device_ID_Response_Data_Via_IPMI
 
     # Get Device ID IPMI command.
-    ${resp}=  Run External IPMI Raw Command
+    ${resp}=  Run IPMI Command
     ...  ${IPMI_RAW_CMD['Device ID']['Get'][0]}
 
     # Split each and every byte and form list.
diff --git a/ipmi/test_ipmi_fru_device.robot b/ipmi/test_ipmi_fru_device.robot
index dee7595..8227de0 100644
--- a/ipmi/test_ipmi_fru_device.robot
+++ b/ipmi/test_ipmi_fru_device.robot
@@ -29,7 +29,7 @@
     [Documentation]  Search FRU for device name
     [Tags]  Test_FRU_Device_Name
 
-    ${output}=  Run External IPMI Standard Command  fru
+    ${output}=  Run IPMI Standard Command  fru
     Should Contain  ${output}  ${FRU_NAME}  msg=Fail: Given FRU device ${FRU_NAME} not found
 
 
@@ -39,7 +39,7 @@
     [Tags]  Verify_Fru_Device_Configuration
 
     # IPMI FRU print.
-    ${ipmi_output}=  Run External IPMI Standard Command  fru
+    ${ipmi_output}=  Run IPMI Standard Command  fru
 
     # Create dictionary with FRU device serial number as key and details as value from IPMI.
     ${ipmi_fru}=  Get IPMI FRU Devices Data  ${ipmi_output}
@@ -78,7 +78,7 @@
 
     # Verify response for invalid FRU device id.
     Run Keyword and Expect Error  *${IPMI_RAW_CMD['FRU']['Inventory_Area_Info'][1]}*
-    ...  Run IPMI Standard Command  raw ${IPMI_RAW_CMD['FRU']['Inventory_Area_Info'][0]} ${fru_device_id_invalid}
+    ...  Run IPMI Command  ${IPMI_RAW_CMD['FRU']['Inventory_Area_Info'][0]} ${fru_device_id_invalid}
 
 
 Verify Get FRU Inventory Area Info For Invalid Data Request
@@ -87,7 +87,7 @@
 
     # Verify response for invalid response data - extra bytes.
     Run Keyword and Expect Error  *${IPMI_RAW_CMD['FRU']['Inventory_Area_Info'][2]}*
-    ...  Run IPMI Standard Command  raw ${IPMI_RAW_CMD['FRU']['Inventory_Area_Info'][0]} ${fru_device_id} 0x00
+    ...  Run IPMI Command  ${IPMI_RAW_CMD['FRU']['Inventory_Area_Info'][0]} ${fru_device_id} 0x00
 
 
 Verify IPMI Write FRU Data
@@ -313,7 +313,7 @@
 Get FRU Inventory Area Info
     [Documentation]  IPMI Get FRU Inventory Area Info and returns FRU Inventory area size in bytes.
 
-    ${resp}=  Run IPMI Standard Command  raw ${IPMI_RAW_CMD['FRU']['Inventory_Area_Info'][0]} ${fru_device_id}
+    ${resp}=  Run IPMI Command  ${IPMI_RAW_CMD['FRU']['Inventory_Area_Info'][0]} ${fru_device_id}
     ${resp}=  Split String  ${resp}
 
     [Return]  ${resp[0]}
@@ -329,7 +329,7 @@
 
     # IPMI Read FRU Data Command.
     # 0xff - Count to read --- count is ‘1’ based
-    ${resp}=  Run IPMI Standard Command
+    ${resp}=  Run IPMI Command
     ...  raw ${IPMI_RAW_CMD['FRU']['Read'][0]} ${fru_id} ${offset} 0xff
 
     [Return]  ${resp}
@@ -346,7 +346,7 @@
    # length        Count of bytes that gets written in write FRU command.
 
     # IPMI Write FRU Data Command.
-    ${resp}=  Run IPMI Standard Command
+    ${resp}=  Run IPMI Command
     ...  raw ${IPMI_RAW_CMD['FRU']['Write'][0]} ${fru_id} ${offset} ${data}
 
     Should Be Equal As Strings  ${resp}  ${length}
diff --git a/ipmi/test_ipmi_general.robot b/ipmi/test_ipmi_general.robot
index 37d0d71..0eba9ab 100644
--- a/ipmi/test_ipmi_general.robot
+++ b/ipmi/test_ipmi_general.robot
@@ -21,7 +21,7 @@
     [Documentation]  Get self test results via IPMI raw command and verify the output.
     [Tags]  Test_Get_Self_Test_Results_via_IPMI_Raw_Command
 
-    ${resp}=  Run IPMI Standard Command  raw ${IPMI_RAW_CMD['Self_Test_Results']['Get'][0]}
+    ${resp}=  Run IPMI Command  ${IPMI_RAW_CMD['Self_Test_Results']['Get'][0]}
 
     # 55h = No error. All Self Tests Passed.
     # 56h = Self Test function not implemented in this controller.
@@ -34,7 +34,7 @@
     [Teardown]  Run Keywords  Redfish.Logout  AND  FFDC On Test Case Fail
     # Get GUIDS via IPMI.
     # This should match the /redfish/v1/Managers/${MANAGER_ID}'s UUID data.
-    ${guids}=  Run IPMI Standard Command  raw ${IPMI_RAW_CMD['Device GUID']['Get'][0]}
+    ${guids}=  Run IPMI Command  ${IPMI_RAW_CMD['Device GUID']['Get'][0]}
     # Reverse the order and remove space delims.
     ${guids}=  Split String  ${guids}
     Reverse List  ${guids}
diff --git a/ipmi/test_ipmi_inband_sdr.robot b/ipmi/test_ipmi_inband_sdr.robot
index 8b81646..20c7546 100644
--- a/ipmi/test_ipmi_inband_sdr.robot
+++ b/ipmi/test_ipmi_inband_sdr.robot
@@ -153,14 +153,14 @@
 
     # Sensor Count Via Device SDR Info via lanplus.
     ${resp}=  Run Keyword and Expect Error  *${IPMI_RAW_CMD['Device_SDR']['Get_Info'][5]}*
-    ...  Run IPMI Standard Command
+    ...  Run External IPMI Standard Command
     ...  raw ${IPMI_RAW_CMD['Device_SDR']['Get_Info'][0]}
     # Proper error code should be returned.
     Should Contain  ${resp}  ${IPMI_RAW_CMD['Device_SDR']['Get_Info'][4]}
 
     # SDR Count Via Device SDR Info via lanplus.
     ${resp}=  Run Keyword and Expect Error  *${IPMI_RAW_CMD['Device_SDR']['Get_Info'][5]}*
-    ...  Run IPMI Standard Command
+    ...  Run External IPMI Standard Command
     ...  raw ${IPMI_RAW_CMD['Device_SDR']['Get_Info'][1]}
     # Proper error code should be returned.
     Should Contain  ${resp}  ${IPMI_RAW_CMD['Device_SDR']['Get_Info'][4]}
@@ -197,7 +197,7 @@
 
     # Reserve Device SDR Repository via lanplus.
     ${resp}=  Run Keyword and Expect Error  *${IPMI_RAW_CMD['Device_SDR']['Reserve_Repository'][4]}*
-    ...  Run IPMI Standard Command
+    ...  Run External IPMI Standard Command
     ...  raw ${IPMI_RAW_CMD['Device_SDR']['Reserve_Repository'][0]}
     # Proper error code should be returned.
     Should Contain  ${resp}  ${IPMI_RAW_CMD['Device_SDR']['Reserve_Repository'][3]}
diff --git a/ipmi/test_ipmi_payload.robot b/ipmi/test_ipmi_payload.robot
index 31db911..9d9ec82 100644
--- a/ipmi/test_ipmi_payload.robot
+++ b/ipmi/test_ipmi_payload.robot
@@ -285,7 +285,7 @@
 
     ${raw_command}=  Catenate  ${IPMI_RAW_CMD['Payload']['Get_User_Access_Payload'][0]}
     ...  ${channel_number} ${user_id}
-    ${resp}=  Run External IPMI Raw Command  ${raw_command}
+    ${resp}=  Run IPMI Command  ${raw_command}
     [Return]  ${resp}
 
 
@@ -345,7 +345,7 @@
     # password    The user password (e.g. "0penBmc", "0penBmc1", etc.).
     # options     Additional ipmitool command options  (e.g "-L=Operator","-C=3").
 
-    Wait Until Keyword Succeeds  15 sec  5 sec  Run External IPMI Raw Command
+    Wait Until Keyword Succeeds  15 sec  5 sec  Run IPMI Command
     ...  ${IPMI_RAW_CMD['Device GUID']['Get'][0]}  U=${username}  P=${password}  &{options}
 
 
@@ -476,7 +476,7 @@
         ${get_cmd}=  Catenate  ${IPMI_RAW_CMD['Payload']['Get_Channel_Payload_Version'][0]}
         ...  ${channel_number} ${payload_type_number}
 
-        ${resp}=  Run External IPMI Raw Command  ${get_cmd}
+        ${resp}=  Run IPMI Command  ${get_cmd}
         ${resp}=  Strip String  ${resp}
         Should Be Equal  ${resp}  10
     END
@@ -529,7 +529,7 @@
     ...  Verify Invalid IPMI Command  ${raw_cmd}  0xcc
 
     # will be executed only if invalid_channel == 0.
-    ${resp}=  Run External IPMI Raw Command  ${raw_cmd}
+    ${resp}=  Run IPMI Command  ${raw_cmd}
 
     ${resp}=  Strip String  ${resp}
     ${expected_resp}=  Catenate  ${standard_payload_type_resp}  ${session_setup_payload_resp} 00 00 00 00
diff --git a/ipmi/test_ipmi_poh_counter.robot b/ipmi/test_ipmi_poh_counter.robot
index ae17bf9..be7507f 100644
--- a/ipmi/test_ipmi_poh_counter.robot
+++ b/ipmi/test_ipmi_poh_counter.robot
@@ -48,7 +48,7 @@
     [Tags]  Get_POH_Counter_Command_Via_IPMI
 
     # Verify get POH counter command via IPMI.
-    ${resp}=  Run IPMI Command
+    ${resp}=  Run External IPMI Raw Command
     ...  ${IPMI_RAW_CMD['Get']['POH_Counter'][0]}
     Should Not Contain  ${resp}  ${IPMI_RAW_CMD['Get']['POH_Counter'][1]}
 
@@ -59,7 +59,7 @@
 
     # verify get POH counter command with invalid data request Via IPMI.
     ${resp}=  Run Keyword and Expect Error  *Request data length invalid*
-    ...  Run IPMI Command  ${IPMI_RAW_CMD['Get']['POH_Counter'][0]} 0x00
+    ...  Run External IPMI Raw Command  ${IPMI_RAW_CMD['Get']['POH_Counter'][0]} 0x00
 
 
 Verify POH Counter Reading With Wait Time
@@ -130,7 +130,7 @@
     [Documentation]  Run the IPMI command to Get POH Counter.
 
     # Get POH counter Via IPMI.
-    ${resp}=  Run IPMI Command
+    ${resp}=  Run External IPMI Raw Command
     ...  ${IPMI_RAW_CMD['Get']['POH_Counter'][0]}
 
     # Verify Minutes per count.
diff --git a/ipmi/test_ipmi_sdr.robot b/ipmi/test_ipmi_sdr.robot
index 7ec5685..008951f 100755
--- a/ipmi/test_ipmi_sdr.robot
+++ b/ipmi/test_ipmi_sdr.robot
@@ -167,13 +167,13 @@
    ${reservation_id}=  Get Reservation ID  add_prefix=True
 
    # Get SDR full without using Reservation ID.
-   Run External IPMI Raw Command  ${IPMI_RAW_CMD['SDR']['Get'][0]}
+   Run IPMI Command  ${IPMI_RAW_CMD['SDR']['Get'][0]}
 
    # Get SDR Partially using Reservation ID.
    ${get_sdr_raw_cmd}=  Catenate
    ...  ${IPMI_RAW_CMD['Get SDR']['Get'][1]} ${reservation_id} 0x${record_id} 0x00
    ...  ${IPMI_RAW_CMD['Get SDR']['Get'][2]}
-   Run External IPMI Raw Command  ${get_sdr_raw_cmd}
+   Run IPMI Command  ${get_sdr_raw_cmd}
 
    # Get SDR partially without using reservation ID and expect error.
    Verify Invalid IPMI Command  ${IPMI_RAW_CMD['SDR']['Get'][3]}  0xc5
@@ -218,7 +218,7 @@
     ${get_sdr_raw_cmd}=  Catenate
     ...  ${IPMI_RAW_CMD['Get SDR']['Get'][1]} ${reservation_id_after_reboot} 0x${record_id} 0x00
     ...  ${IPMI_RAW_CMD['Get SDR']['Get'][2]}
-    Run External IPMI Raw Command  ${get_sdr_raw_cmd}
+    Run IPMI Command  ${get_sdr_raw_cmd}
 
 
 *** Keywords ***
@@ -236,7 +236,7 @@
     #                        e.g. IPMI response for reservation ID command will be like  01 0a
     #                        return reservation ID will be "a1" for above response.
 
-    ${reservation_id}=  Run External IPMI Raw Command
+    ${reservation_id}=  Run IPMI Command
     ...  ${IPMI_RAW_CMD['SDR']['Reserve SDR Repository'][0]}
 
     ${reservation_id}=  Run Keyword If  ${add_prefix}
@@ -389,7 +389,7 @@
     # Description of argument(s):
     # ipmi_cmd    IPMI command.
 
-    ${resp}=  Run External IPMI Raw Command  ${ipmi_cmd}  fail_on_err=0
+    ${resp}=  Run IPMI Command  ${ipmi_cmd}  fail_on_err=0
     ${resp_code_match}=  Get Regexp Matches  ${resp}  rsp=0xc1
 
     ${cmd_support}=  Set Variable If  ${resp_code_match} != []  no  yes
@@ -400,7 +400,7 @@
 Get SDR Record ID
     [Documentation]  Fetch one record ID from SDR elist IPMI cmd response.
 
-    ${resp}=  Run External IPMI Standard Command  sdr elist
+    ${resp}=  Run IPMI Standard Command  sdr elist
     ${record_id}=  Get Regexp Matches  ${resp}  \\|\\s+([0-9]+)h\\s+\\|  1
 
     [Return]  ${record_id[0]}
diff --git a/ipmi/test_ipmi_sel.robot b/ipmi/test_ipmi_sel.robot
index 8b201ea..4e4f7e2 100644
--- a/ipmi/test_ipmi_sel.robot
+++ b/ipmi/test_ipmi_sel.robot
@@ -124,14 +124,14 @@
     [Documentation]  Verify reserve SEL.
     [Tags]  Verify_Reserve_SEL
 
-    ${resp}=  Run IPMI Standard Command
-    ...  raw ${IPMI_RAW_CMD['SEL_entry']['Reserve'][0]}
+    ${resp}=  Run IPMI Command
+    ...  ${IPMI_RAW_CMD['SEL_entry']['Reserve'][0]}
     ${reserve_id}=  Split String  ${resp}
 
     # Execute clear SEL raw command with Reservation ID.
     # Command will not execute unless the correct Reservation ID value is provided.
-    Run IPMI Standard Command
-    ...  raw 0x0a 0x47 0x${reserve_id[0]} 0x${reserve_id[1]} 0x43 0x4c 0x52 0xaa
+    Run IPMI Command
+    ...  0x0a 0x47 0x${reserve_id[0]} 0x${reserve_id[1]} 0x43 0x4c 0x52 0xaa
 
     # Check SEL list.
     ${resp}=  Run IPMI Standard Command  sel list
@@ -210,20 +210,20 @@
     [Tags]  Verify_Clear_SEL_With_Invalid_Reservation_ID
 
     # Reserve Sel command - 1.
-    ${resp}=  Run IPMI Standard Command
-    ...  raw ${IPMI_RAW_CMD['SEL_entry']['Reserve'][0]}
+    ${resp}=  Run IPMI Command
+    ...  ${IPMI_RAW_CMD['SEL_entry']['Reserve'][0]}
     ${reserve_id}=  Split String  ${resp}
 
     # Reserve Sel command - 2.
-    ${resp}=  Run IPMI Standard Command
-    ...  raw ${IPMI_RAW_CMD['SEL_entry']['Reserve'][0]}
+    ${resp}=  Run IPMI Command
+    ...  ${IPMI_RAW_CMD['SEL_entry']['Reserve'][0]}
 
     ${cmd}=  Catenate  ${IPMI_RAW_CMD['SEL_entry']['Clear_SEL'][0]} 0x${reserve_id[0]}
     ...  0x${reserve_id[1]} ${IPMI_RAW_CMD['SEL_entry']['Clear_SEL'][1]}
 
     # Clear SEL command.
     ${clear_resp}=  Run Keyword and Expect Error  *${IPMI_RAW_CMD['SEL_entry']['Clear_SEL'][4]}*
-    ...  Run IPMI Standard Command  raw ${cmd}
+    ...  Run IPMI Command  ${cmd}
     Should Contain  ${clear_resp}  ${IPMI_RAW_CMD['SEL_entry']['Clear_SEL'][5]}
 
 
@@ -233,8 +233,8 @@
     [Tags]  Verify_Reservation_ID_Erasure_Status
 
     # Generate Reserve ID 1.
-    ${resp}=  Run IPMI Standard Command
-    ...  raw ${IPMI_RAW_CMD['SEL_entry']['Reserve'][0]}
+    ${resp}=  Run IPMI Command
+    ...  ${IPMI_RAW_CMD['SEL_entry']['Reserve'][0]}
     ${reserve_id}=  Split String  ${resp}
 
     ${cmd1}=  Catenate  ${IPMI_RAW_CMD['SEL_entry']['Clear_SEL'][0]} 0x${reserve_id[0]}
@@ -242,18 +242,18 @@
 
     # Execute clear SEL raw command with Reservation ID.
     # Command will not execute unless the correct Reservation ID value is provided.
-    Run IPMI Standard Command  raw ${cmd1}
+    Run IPMI Command  ${cmd1}
 
     # Generate Reserver ID 2.
-    ${resp}=  Run IPMI Standard Command
-    ...  raw ${IPMI_RAW_CMD['SEL_entry']['Reserve'][0]}
+    ${resp}=  Run IPMI Command
+    ...  ${IPMI_RAW_CMD['SEL_entry']['Reserve'][0]}
     ${reserve_id}=  Split String  ${resp}
 
     ${cmd2}=  Catenate  ${IPMI_RAW_CMD['SEL_entry']['Clear_SEL'][0]} 0x${reserve_id[0]}
     ...  0x${reserve_id[1]} ${IPMI_RAW_CMD['SEL_entry']['Clear_SEL'][6]}
 
     # Check the Erasure status of Clear SEL.
-    ${data}=  Run IPMI Standard Command  raw ${cmd2}
+    ${data}=  Run IPMI Command  ${cmd2}
 
     # 00 - Erasure in Progress , 01 - Erasure Complete.
     Should Contain Any  ${data}  00  01
@@ -264,8 +264,8 @@
     [Tags]  Verify_Clear_SEL_After_Cold_Reset
 
     # Reserve Sel command.
-    ${resp}=  Run IPMI Standard Command
-    ...  raw ${IPMI_RAW_CMD['SEL_entry']['Reserve'][0]}
+    ${resp}=  Run IPMI Command
+    ...  ${IPMI_RAW_CMD['SEL_entry']['Reserve'][0]}
     ${reserve_id}=  Split String  ${resp}
 
     # Run Cold Reset.
@@ -276,7 +276,7 @@
 
     # Clear SEL command.
     ${clear_resp}=  Run Keyword and Expect Error  *${IPMI_RAW_CMD['SEL_entry']['Clear_SEL'][5]}*
-    ...  Run IPMI Standard Command  raw ${cmd}
+    ...  Run IPMI Command  ${cmd}
 
     Should Contain  ${clear_resp}  ${IPMI_RAW_CMD['SEL_entry']['Clear_SEL'][4]}
 
@@ -308,7 +308,7 @@
     ...  0x${record2} ${IPMI_RAW_CMD['SEL_entry']['Get_SEL_Entry'][1]}
 
     # Get SEL Entry Raw command.
-    ${resp}=  Run IPMI Standard Command  raw ${cmd}
+    ${resp}=  Run IPMI Command  ${cmd}
     ${resp}=  Split String  ${resp}
 
     [Return]  ${resp}
diff --git a/ipmi/test_ipmi_sol.robot b/ipmi/test_ipmi_sol.robot
index 5bf83bc..853db02 100644
--- a/ipmi/test_ipmi_sol.robot
+++ b/ipmi/test_ipmi_sol.robot
@@ -27,7 +27,7 @@
     [Documentation]  Verify enabling SOL via IPMI.
     [Tags]  Set_SOL_Enabled
 
-    ${msg}=  Run Keyword  Run IPMI Standard Command
+    ${msg}=  Run Keyword  Run External IPMI Standard Command
     ...  sol set enabled true
 
     # Verify SOL status from ipmitool sol info command.
@@ -42,7 +42,7 @@
     [Documentation]  Verify disabling SOL via IPMI.
     [Tags]  Set_SOL_Disabled
 
-    ${msg}=  Run Keyword  Run IPMI Standard Command
+    ${msg}=  Run Keyword  Run External IPMI Standard Command
     ...  sol set enabled false
 
     # Verify SOL status from ipmitool sol info command.
@@ -52,7 +52,7 @@
     Should Be Equal  '${sol_enable_status}'  'false'
 
     # Verify error while activating SOL with SOL disabled.
-    ${msg}=  Run Keyword And Expect Error  *  Run IPMI Standard Command
+    ${msg}=  Run Keyword And Expect Error  *  Run External IPMI Standard Command
     ...  sol activate
     Should Contain  ${msg}  SOL payload disabled  ignore_case=True
 
@@ -75,7 +75,7 @@
     [Tags]  Set_Invalid_SOL_Privilege_Level
 
     ${value}=  Generate Random String  ${8}
-    ${msg}=  Run Keyword And Expect Error  *  Run IPMI Standard Command
+    ${msg}=  Run Keyword And Expect Error  *  Run External IPMI Standard Command
     ...  sol set privilege-level ${value}
     Should Contain  ${msg}  Invalid value  ignore_case=True
 
@@ -87,7 +87,7 @@
     # Any integer above 7 is invalid for SOL retry count.
     ${value}=  Evaluate  random.randint(8, 10000)  modules=random
 
-    ${msg}=  Run Keyword And Expect Error  *  Run IPMI Standard Command
+    ${msg}=  Run Keyword And Expect Error  *  Run External IPMI Standard Command
     ...  sol set retry-count ${value}
     Should Contain  ${msg}  Invalid value  ignore_case=True
 
@@ -99,7 +99,7 @@
     # Any integer above 255 is invalid for SOL retry interval.
     ${value}=  Evaluate  random.randint(256, 10000)  modules=random
 
-    ${msg}=  Run Keyword And Expect Error  *  Run IPMI Standard Command
+    ${msg}=  Run Keyword And Expect Error  *  Run External IPMI Standard Command
     ...  sol set retry-interval ${value}
     Should Contain  ${msg}  Invalid value  ignore_case=True
 
@@ -111,7 +111,7 @@
     # Any integer above 255 is invalid for SOL character accumulate level.
     ${value}=  Evaluate  random.randint(256, 10000)  modules=random
 
-    ${msg}=  Run Keyword And Expect Error  *  Run IPMI Standard Command
+    ${msg}=  Run Keyword And Expect Error  *  Run External IPMI Standard Command
     ...  sol set character-accumulate-level ${value}
     Should Contain  ${msg}  Invalid value  ignore_case=True
 
@@ -123,7 +123,7 @@
     # Any integer above 255 is invalid for SOL character send threshold.
     ${value}=  Evaluate  random.randint(256, 10000)  modules=random
 
-    ${msg}=  Run Keyword And Expect Error  *  Run IPMI Standard Command
+    ${msg}=  Run Keyword And Expect Error  *  Run External IPMI Standard Command
     ...  sol set character-send-threshold ${value}
     Should Contain  ${msg}  Invalid value  ignore_case=True
 
@@ -238,7 +238,7 @@
 
       # Set valid non-volatile-bit-rate from SOL Info.
       Run Keyword And Expect Error  *Parameter not supported*
-      ...  Run IPMI Standard Command
+      ...  Run External IPMI Standard Command
       ...  sol set non-volatile-bit-rate ${bit_rate}
 
     END
@@ -250,7 +250,7 @@
 
     # Set Invalid non-volatile-bit-rate from SOL Info.
     ${resp} =  Run Keyword and Expect Error  *${IPMI_RAW_CMD['SOL']['Set_SOL'][0]}*
-    ...  Run IPMI Standard Command  sol set non-volatile-bit-rate ${invalid_bit_rate}
+    ...  Run External IPMI Standard Command  sol set non-volatile-bit-rate ${invalid_bit_rate}
 
     # Compares whether valid values are displayed.
     Should Contain  ${resp}  ${IPMI_RAW_CMD['SOL']['Set_SOL'][1]}  ignore_case=True
@@ -264,7 +264,7 @@
 
       # Set valid volatile-bit-rate from SOL Info.
       Run Keyword and Expect Error  *Parameter not supported*
-      ...  Run IPMI Standard Command
+      ...  Run External IPMI Standard Command
       ...  sol set volatile-bit-rate ${bit_rate}
 
     END
@@ -276,7 +276,7 @@
 
     # Set invalid volatile-bit-rate from SOL Info.
     ${resp} =  Run Keyword and Expect Error  *${IPMI_RAW_CMD['SOL']['Set_SOL'][0]}*
-    ...  Run IPMI Standard Command  sol set volatile-bit-rate ${invalid_bit_rate}
+    ...  Run External IPMI Standard Command  sol set volatile-bit-rate ${invalid_bit_rate}
 
     # Compares whether valid values are displayed.
     Should Contain  ${resp}  ${IPMI_RAW_CMD['SOL']['Set_SOL'][1]}  ignore_case=True
@@ -290,7 +290,7 @@
 
     # Set the param 0 - set-in-progress from SOL Info.
     FOR  ${prog}  IN  @{setinprogress}
-       Run Keyword  Run IPMI Standard Command  sol set set-in-progress ${prog}
+       Run Keyword  Run External IPMI Standard Command  sol set set-in-progress ${prog}
        # Get the param 0 - set-in-progress from SOL Info and verify.
        ${set_inprogress_state}=  Get SOL Setting  Set in progress
        Should Be Equal  ${prog}  ${set_inprogress_state}
diff --git a/ipmi/test_ipmi_systeminfo_parameters.robot b/ipmi/test_ipmi_systeminfo_parameters.robot
index 94a3673..b626b6b 100644
--- a/ipmi/test_ipmi_systeminfo_parameters.robot
+++ b/ipmi/test_ipmi_systeminfo_parameters.robot
@@ -96,8 +96,8 @@
     # Check if the Get System Info Parameter for param 0 - set in progress throws
     # error for invalid data length.
     Run Keyword and Expect Error  *${IPMI_RAW_CMD['System_Info']['param0_Set_In_Progress']['Get'][1]}*
-    ...  Run IPMI Standard Command
-    ...  raw ${IPMI_RAW_CMD['System_Info']['param0_Set_In_Progress']['Get'][0]} 0x00
+    ...  Run IPMI Command
+    ...  ${IPMI_RAW_CMD['System_Info']['param0_Set_In_Progress']['Get'][0]} 0x00
 
 
 Verify Set System Info Set In Progress With Invalid Data Length
@@ -108,8 +108,8 @@
     # Check if the Set System Info Parameter for param 0 - set in progress throws
     # error for invalid data length.
     Run Keyword and Expect Error  *${IPMI_RAW_CMD['System_Info']['param0_Set_In_Progress']['Set'][1]}*
-    ...  Run IPMI Standard Command
-    ...  raw ${IPMI_RAW_CMD['System_Info']['param0_Set_In_Progress']['Set'][0]} 0x00 0x00
+    ...  Run IPMI Command
+    ...  ${IPMI_RAW_CMD['System_Info']['param0_Set_In_Progress']['Set'][0]} 0x00 0x00
 
 
 Verify Set System Info Set In Progress With Invalid State
@@ -119,8 +119,8 @@
 
     # Check if the Set System Info Parameter for param 0 - set in progress throws error for invalid State.
     Run Keyword and Expect Error  *${IPMI_RAW_CMD['System_Info']['param0_Set_In_Progress']['Set'][2]}*
-    ...  Run IPMI Standard Command
-    ...  raw ${IPMI_RAW_CMD['System_Info']['param0_Set_In_Progress']['Set'][0]} 0x04
+    ...  Run IPMI Command
+    ...  ${IPMI_RAW_CMD['System_Info']['param0_Set_In_Progress']['Set'][0]} 0x04
 
 
 Verify System Info System Firmware Version
@@ -154,8 +154,8 @@
     # Check if the Get System Info Parameter for param 1 - System Firmware Version throws
     # error for invalid data length.
     Run Keyword and Expect Error  *${IPMI_RAW_CMD['System_Info']['param1_System_Firmware_Version']['Get'][1]}*
-    ...  Run IPMI Standard Command
-    ...  raw ${IPMI_RAW_CMD['System_Info']['param1_System_Firmware_Version']['Get'][0]} 0x00
+    ...  Run IPMI Command
+    ...  ${IPMI_RAW_CMD['System_Info']['param1_System_Firmware_Version']['Get'][0]} 0x00
 
 
 Verify Set System Info System Firmware Version With Invalid Data Length
@@ -176,8 +176,8 @@
     # Check if the Set System Info Parameter for param 1 - System Firmware Version throws
     # error for invalid request data.
     Run Keyword and Expect Error  *${IPMI_RAW_CMD['System_Info']['param1_System_Firmware_Version']['Set'][1]}*
-    ...  Run IPMI Standard Command
-    ...  raw ${IPMI_RAW_CMD['System_Info']['param1_System_Firmware_Version']['Set'][0]} ${firmware_version}
+    ...  Run IPMI Command
+    ...  ${IPMI_RAW_CMD['System_Info']['param1_System_Firmware_Version']['Set'][0]} ${firmware_version}
 
 
 Verify System Info System Name
@@ -213,8 +213,8 @@
     # Check if the Get System Info Parameter for param 2 - System Name throws error
     # for invalid request data length.
     Run Keyword and Expect Error  *${IPMI_RAW_CMD['System_Info']['param2_System_Name']['Get'][1]}*
-    ...  Run IPMI Standard Command
-    ...  raw ${IPMI_RAW_CMD['System_Info']['param2_System_Name']['Get'][0]} 0x00
+    ...  Run IPMI Command
+    ...  ${IPMI_RAW_CMD['System_Info']['param2_System_Name']['Get'][0]} 0x00
 
 
 Verify Set System Info System Name With Invalid Data Length
@@ -235,8 +235,8 @@
 
     # Check if the Set System Info Parameter for param 2 - System Name throws error for invalid request data.
     Run Keyword and Expect Error  *${IPMI_RAW_CMD['System_Info']['param2_System_Name']['Set'][1]}*
-    ...  Run IPMI Standard Command
-    ...  raw ${IPMI_RAW_CMD['System_Info']['param2_System_Name']['Set'][0]} ${system_name}
+    ...  Run IPMI Command
+    ...  ${IPMI_RAW_CMD['System_Info']['param2_System_Name']['Set'][0]} ${system_name}
 
 
 Verify System Info Primary OS Name
@@ -266,8 +266,8 @@
     # Check if the Get System Info Parameter for param 3 - Primary OS Name throws
     # error for invalid request data.
     Run Keyword and Expect Error  *${IPMI_RAW_CMD['System_Info']['param3_Primary_Operating_System_Name']['Get'][1]}*
-    ...  Run IPMI Standard Command
-    ...  raw ${IPMI_RAW_CMD['System_Info']['param3_Primary_Operating_System_Name']['Get'][0]} 0x00
+    ...  Run IPMI Command
+    ...  ${IPMI_RAW_CMD['System_Info']['param3_Primary_Operating_System_Name']['Get'][0]} 0x00
 
 
 Verify Set System Info Primary OS Name With Invalid Data Length
@@ -287,8 +287,8 @@
     # Check if the Set System Info Parameter for param 3 - Primary OS Name throws error
     # for invalid data request.
     Run Keyword and Expect Error  *${IPMI_RAW_CMD['System_Info']['param3_Primary_Operating_System_Name']['Set'][1]}*
-    ...  Run IPMI Standard Command
-    ...  raw ${IPMI_RAW_CMD['System_Info']['param3_Primary_Operating_System_Name']['Set'][0]} ${os_name}
+    ...  Run IPMI Command
+    ...  ${IPMI_RAW_CMD['System_Info']['param3_Primary_Operating_System_Name']['Set'][0]} ${os_name}
 
 
 Verify System Info OS Name
@@ -344,8 +344,8 @@
 
     # Check if the Get System Info Parameter for param 4 - OS Name throws error for invalid request data.
     Run Keyword and Expect Error  *${IPMI_RAW_CMD['System_Info']['param4_Operating_System_Name']['Get'][1]}*
-    ...  Run IPMI Standard Command
-    ...  raw ${IPMI_RAW_CMD['System_Info']['param4_Operating_System_Name']['Get'][0]} 0x00
+    ...  Run IPMI Command
+    ...  ${IPMI_RAW_CMD['System_Info']['param4_Operating_System_Name']['Get'][0]} 0x00
 
 
 Verify Set System Info OS Name With Invalid Data Length
@@ -364,8 +364,8 @@
 
     # Check if the Set System Info Parameter for param 4 - OS Name throws error for invalid request data.
     Run Keyword and Expect Error  *${IPMI_RAW_CMD['System_Info']['param4_Operating_System_Name']['Set'][1]}*
-    ...  Run IPMI Standard Command
-    ...  raw ${IPMI_RAW_CMD['System_Info']['param4_Operating_System_Name']['Set'][0]} ${os_name}
+    ...  Run IPMI Command
+    ...  ${IPMI_RAW_CMD['System_Info']['param4_Operating_System_Name']['Set'][0]} ${os_name}
 
 
 Verify System Info Present OS Version Number
@@ -397,8 +397,8 @@
     # error for invalid request data.
     Run Keyword and Expect Error
     ...  *${IPMI_RAW_CMD['System_Info']['param5_Present_OS_Version_number']['Get'][1]}*
-    ...  Run IPMI Standard Command
-    ...  raw ${IPMI_RAW_CMD['System_Info']['param5_Present_OS_Version_number']['Get'][0]} 0x00
+    ...  Run IPMI Command
+    ...  ${IPMI_RAW_CMD['System_Info']['param5_Present_OS_Version_number']['Get'][0]} 0x00
 
 
 Verify Set System Info Present OS Version Number With Invalid Data Length
@@ -419,8 +419,8 @@
     # error for invalid request data.
     Run Keyword and Expect Error
     ...  *${IPMI_RAW_CMD['System_Info']['param5_Present_OS_Version_number']['Set'][1]}*
-    ...  Run IPMI Standard Command
-    ...  raw ${IPMI_RAW_CMD['System_Info']['param5_Present_OS_Version_number']['Set'][0]} ${os_name}
+    ...  Run IPMI Command
+    ...  ${IPMI_RAW_CMD['System_Info']['param5_Present_OS_Version_number']['Set'][0]} ${os_name}
 
 
 *** Keywords ***
@@ -456,8 +456,8 @@
     [Documentation]  Run Get system info parameter command for set-in-progress and return response data.
 
     # Get System Info Parameter for param 0 - Set In Progress.
-    ${resp}=  Run IPMI Standard Command
-    ...  raw ${IPMI_RAW_CMD['System_Info']['param0_Set_In_Progress']['Get'][0]}
+    ${resp}=  Run IPMI Command
+    ...  ${IPMI_RAW_CMD['System_Info']['param0_Set_In_Progress']['Get'][0]}
     ${resp}=  Split String  ${resp}
 
     [Return]  ${resp}
@@ -469,8 +469,8 @@
 
     # Set System Info Parameter for param 0 - Set In Progress.
     # ${state} can be can be any - 00 | 01 | 10 | 11.
-    Run IPMI Standard Command
-    ...  raw ${IPMI_RAW_CMD['System_Info']['param0_Set_In_Progress']['Set'][0]} ${state}
+    Run IPMI Command
+    ...  ${IPMI_RAW_CMD['System_Info']['param0_Set_In_Progress']['Set'][0]} ${state}
 
 
 Get System Firmware Version
@@ -478,8 +478,8 @@
     ...              and return response data.
 
     # Get System Info Parameter for param 1 - System Firmware Version.
-    ${resp}=  Run IPMI Standard Command
-    ...  raw ${IPMI_RAW_CMD['System_Info']['param1_System_Firmware_Version']['Get'][0]}
+    ${resp}=  Run IPMI Command
+    ...  ${IPMI_RAW_CMD['System_Info']['param1_System_Firmware_Version']['Get'][0]}
     ${resp}=  Split String  ${resp}
 
     [Return]  ${resp}
@@ -491,16 +491,16 @@
 
     # Set System Info Parameter for param 1 - System Firmware Version.
     # ${version} can be any 14 data.
-    Run IPMI Standard Command
-    ...  raw ${IPMI_RAW_CMD['System_Info']['param1_System_Firmware_Version']['Set'][0]} ${version}
+    Run IPMI Command
+    ...  ${IPMI_RAW_CMD['System_Info']['param1_System_Firmware_Version']['Set'][0]} ${version}
 
 
 Get System Name
     [Documentation]  Run system info parameter command for system name and return response data.
 
     # Get System Info Parameter for param 2 - System Name.
-    ${resp}=  Run IPMI Standard Command
-    ...  raw ${IPMI_RAW_CMD['System_Info']['param2_System_Name']['Get'][0]}
+    ${resp}=  Run IPMI Command
+    ...  ${IPMI_RAW_CMD['System_Info']['param2_System_Name']['Get'][0]}
     ${resp}=  Split String  ${resp}
 
     [Return]  ${resp}
@@ -512,16 +512,16 @@
 
     # Set System Info Parameter for param 2 - System Name.
     # ${sys_name} can be any 14 byte data.
-    Run IPMI Standard Command
-    ...  raw ${IPMI_RAW_CMD['System_Info']['param2_System_Name']['Set'][0]} ${sys_name}
+    Run IPMI Command
+    ...  ${IPMI_RAW_CMD['System_Info']['param2_System_Name']['Set'][0]} ${sys_name}
 
 
 Get Primary OS Name
     [Documentation]  Run Get System Info command for primary OS name and return response data.
 
     # Get System Info Parameter for param 3 - Primary OS Name.
-    ${resp}=  Run IPMI Standard Command
-    ...  raw ${IPMI_RAW_CMD['System_Info']['param3_Primary_Operating_System_Name']['Get'][0]}
+    ${resp}=  Run IPMI Command
+    ...  ${IPMI_RAW_CMD['System_Info']['param3_Primary_Operating_System_Name']['Get'][0]}
     ${resp}=  Split String  ${resp}
 
     [Return]  ${resp}
@@ -533,16 +533,16 @@
 
     # Set System Info Parameter for param 3 - Primary OS Name.
     # ${os_name} can be any 14 byte data.
-    Run IPMI Standard Command
-    ...  raw ${IPMI_RAW_CMD['System_Info']['param3_Primary_Operating_System_Name']['Set'][0]} ${os_name}
+    Run IPMI Command
+    ...  ${IPMI_RAW_CMD['System_Info']['param3_Primary_Operating_System_Name']['Set'][0]} ${os_name}
 
 
 Get OS Name
     [Documentation]  Run get System Info command for OS name and return response data.
 
     # Get System Info Parameter for param 4 - OS Name.
-    ${resp}=  Run IPMI Standard Command
-    ...  raw ${IPMI_RAW_CMD['System_Info']['param4_Operating_System_Name']['Get'][0]}
+    ${resp}=  Run IPMI Command
+    ...  ${IPMI_RAW_CMD['System_Info']['param4_Operating_System_Name']['Get'][0]}
     ${resp}=  Split String  ${resp}
 
     [Return]  ${resp}
@@ -554,16 +554,16 @@
 
     # Set System Info Parameter for param 4 - OS Name.
     # ${os_name} can be any 14 byte data.
-    Run IPMI Standard Command
-    ...  raw ${IPMI_RAW_CMD['System_Info']['param4_Operating_System_Name']['Set'][0]} ${os_name}
+    Run IPMI Command
+    ...  ${IPMI_RAW_CMD['System_Info']['param4_Operating_System_Name']['Set'][0]} ${os_name}
 
 
 Get Present OS Version Number
     [Documentation]  Run Get System Info command for present os version name and return response.
 
     # Get System Info Parameter for param 5 - Present OS Version Number.
-    ${resp}=  Run IPMI Standard Command
-    ...  raw ${IPMI_RAW_CMD['System_Info']['param5_Present_OS_Version_number']['Get'][0]}
+    ${resp}=  Run IPMI Command
+    ...  ${IPMI_RAW_CMD['System_Info']['param5_Present_OS_Version_number']['Get'][0]}
     ${resp}=  Split String  ${resp}
 
     [Return]  ${resp}
@@ -575,8 +575,8 @@
 
     # Set System Info Parameter for param 5 - Present OS Version Number.
     # ${os_name} can be any 14 byte data
-    Run IPMI Standard Command
-    ...  raw ${IPMI_RAW_CMD['System_Info']['param5_Present_OS_Version_number']['Set'][0]} ${os_name}
+    Run IPMI Command
+    ...  ${IPMI_RAW_CMD['System_Info']['param5_Present_OS_Version_number']['Set'][0]} ${os_name}
 
 
 Add Prefix To List Objects And Join String
@@ -672,16 +672,16 @@
     Set System Info Set In Progress  0x${set_in_progress}
 
     # System Firmware Version - param 1.
-    Run IPMI Standard Command  raw 0x06 0x58 0x01 0x00 ${sys_fw_version_string}
+    Run IPMI Command  0x06 0x58 0x01 0x00 ${sys_fw_version_string}
 
     # System Name - param 2.
-    Run IPMI Standard Command  raw 0x06 0x58 0x02 0x00 ${sys_name_hex_default}
+    Run IPMI Command  0x06 0x58 0x02 0x00 ${sys_name_hex_default}
 
     # Primary OS Name - param 3.
-    Run IPMI Standard Command  raw 0x06 0x58 0x03 0x00 ${primary_os_name_hex}
+    Run IPMI Command  0x06 0x58 0x03 0x00 ${primary_os_name_hex}
 
     # OS Name - param 4.
-    Run IPMI Standard Command  raw 0x06 0x58 0x04 0x00 ${default_os_name_hex}
+    Run IPMI Command  0x06 0x58 0x04 0x00 ${default_os_name_hex}
 
     # Present OS Version Number - param 5.
-    Run IPMI Standard Command  raw 0x06 0x58 0x05 0x00 ${present_os_num_hex}
+    Run IPMI Command  0x06 0x58 0x05 0x00 ${present_os_num_hex}
diff --git a/ipmi/test_ipmi_user.robot b/ipmi/test_ipmi_user.robot
index f356736..c0f06cd 100644
--- a/ipmi/test_ipmi_user.robot
+++ b/ipmi/test_ipmi_user.robot
@@ -478,7 +478,7 @@
     [Tags]  Verify_Continuous_IPMI_Command_Execution
 
     FOR  ${i}  IN RANGE  ${USER_LOOP_COUNT}
-        Run IPMI Standard Command  lan print
+        Run IPMI Standard Command  lan print ${CHANNEL_NUMBER}
         Run IPMI Standard Command  power status
         Run IPMI Standard Command  fru list
         Run IPMI Standard Command  sel list
@@ -657,7 +657,7 @@
     [Documentation]  Determines the user ID of the root user.
 
     ${resp}=  Wait Until Keyword Succeeds  15 sec  1 sec  Run IPMI Standard Command
-    ...  user list
+    ...  user list ${CHANNEL_NUMBER}
     @{lines}=  Split To Lines  ${resp}
 
     ${root_userid}=  Set Variable  ${-1}
diff --git a/ipmi/test_ipmi_watchdog.robot b/ipmi/test_ipmi_watchdog.robot
index 37e353f..fd2fea0 100644
--- a/ipmi/test_ipmi_watchdog.robot
+++ b/ipmi/test_ipmi_watchdog.robot
@@ -121,10 +121,10 @@
     Power On Host And Verify
 
     # Set Watchdog Timer initCount(0x3530).
-    Run IPMI Standard Command  raw ${IPMI_RAW_CMD['Watchdog']['Set'][72]}
+    Run IPMI Command  ${IPMI_RAW_CMD['Watchdog']['Set'][72]}
 
     # Get Watchdog Timer.
-    ${resp}=  Run IPMI Standard Command  raw ${IPMI_RAW_CMD['Watchdog']['Get'][0]}
+    ${resp}=  Run IPMI Command  ${IPMI_RAW_CMD['Watchdog']['Get'][0]}
     Should Contain  ${resp}  ${IPMI_RAW_CMD['Watchdog']['Get'][41]}
 
     @{start_timer_value}=  Split String  ${resp}
@@ -143,13 +143,13 @@
     Sleep   ${TIMER_DELAY}
 
     # Get Watchdog Timer before reset watchdog timer.
-    ${resp}=  Run IPMI Standard Command  raw ${IPMI_RAW_CMD['Watchdog']['Get'][0]}
+    ${resp}=  Run IPMI Command  ${IPMI_RAW_CMD['Watchdog']['Get'][0]}
     Should Contain  ${resp}  ${IPMI_RAW_CMD['Watchdog']['Get'][41]}
 
     FOR    ${1}    IN    ${3}
 
         # Reset Watchdog Timer.
-        Run IPMI Standard Command  raw ${IPMI_RAW_CMD['Watchdog']['Reset'][0]}
+        Run IPMI Command  ${IPMI_RAW_CMD['Watchdog']['Reset'][0]}
         # Delay.
         Sleep  ${TIMER_DELAY}
         Get Watchdog Timer And Compare To Start Value  ${start_timer_integer}
@@ -173,7 +173,7 @@
 
     # Expected to fail: pre-timeout interval (4000) > initial count (1000).
     Run Keyword and Expect Error  *Invalid data field*
-    ...  Run IPMI Standard Command  raw ${IPMI_RAW_CMD['Watchdog']['Set'][78]}
+    ...  Run IPMI Command  ${IPMI_RAW_CMD['Watchdog']['Set'][78]}
 
 Verify Invalid Request Data Length
     [Documentation]  Set Watchdog via IPMI raw command and verify via Get Watchdog Timer.
@@ -191,16 +191,16 @@
 
     # Reset Watchdog Timer with one extra byte.
     Run Keyword and Expect Error  *Request data length*
-    ...  Run IPMI Standard Command  raw ${IPMI_RAW_CMD['Watchdog']['Reset'][3]}
+    ...  Run IPMI Command  ${IPMI_RAW_CMD['Watchdog']['Reset'][3]}
 
     # Reset BMC.
-    Run External IPMI Standard Command  mc reset cold -N 10 -R 1
+    Run IPMI Standard Command  mc reset cold -N 10 -R 1
     Wait Until Keyword Succeeds  ${OPENBMC_REBOOT_TIMEOUT} min  10 sec
     ...  Is BMC Operational
 
     # Reset Watchdog Timer without initialized watchdog.
     Run Keyword and Expect Error  *Unknown*
-    ...  Run IPMI Standard Command  raw ${IPMI_RAW_CMD['Watchdog']['Reset'][6]}
+    ...  Run IPMI Command  ${IPMI_RAW_CMD['Watchdog']['Reset'][6]}
 
 *** Keywords ***
 
@@ -212,10 +212,10 @@
     # get_raw_cmd     The response bytes for the command.
     # resp_expect     The expected response bytes for the command.
 
-    Run IPMI Standard Command  raw ${set_raw_cmd}
-    Run IPMI Standard Command  raw ${IPMI_RAW_CMD['Watchdog']['Reset'][0]}
-    Run IPMI Standard Command  raw ${set_raw_cmd}
-    ${resp}=  Run IPMI Standard Command  raw ${get_raw_cmd}
+    Run IPMI Command  ${set_raw_cmd}
+    Run IPMI Command  ${IPMI_RAW_CMD['Watchdog']['Reset'][0]}
+    Run IPMI Command  ${set_raw_cmd}
+    ${resp}=  Run IPMI Command  ${get_raw_cmd}
     Should Contain  ${resp}  ${resp_expect}  msg=Expecting ${resp_expect} but got ${resp}.
 
 Execute IPMI Raw Command And Verify Response Data
@@ -227,8 +227,8 @@
     # get_raw_cmd     The response bytes for the command.
     # resp_expect     The expected response bytes for the command.
 
-    Run IPMI Standard Command  raw ${set_raw_cmd}
-    ${resp}=  Run IPMI Standard Command  raw ${get_raw_cmd}
+    Run IPMI Command  ${set_raw_cmd}
+    ${resp}=  Run IPMI Command  ${get_raw_cmd}
     Should Contain  ${resp}  ${resp_expect}  msg=Expecting ${resp_expect} but got ${resp}.
 
 Execute IPMI Raw Command And Verify Timer Expiration Data
@@ -240,10 +240,10 @@
     # get_raw_cmd        The response bytes for the command.
     # resp_expect        The expected response bytes for the command.
 
-    Run IPMI Standard Command  raw ${set_raw_cmd}
-    Run IPMI Standard Command  raw ${get_raw_cmd}
-    Run IPMI Standard Command  raw ${IPMI_RAW_CMD['Watchdog']['Reset'][0]}
-    ${resp}=  Run IPMI Standard Command  raw ${get_raw_cmd}
+    Run IPMI Command  ${set_raw_cmd}
+    Run IPMI Command  ${get_raw_cmd}
+    Run IPMI Command  ${IPMI_RAW_CMD['Watchdog']['Reset'][0]}
+    ${resp}=  Run IPMI Command  ${get_raw_cmd}
     Should Contain  ${resp}  ${resp_expect}  msg=Expecting ${resp_expect} but got ${resp}.
 
 Validate Watchdog Timer Actions And SEL Events
@@ -262,10 +262,10 @@
     Run IPMI Standard Command  sel clear
 
     # Set watchdog timer action to perform action.
-    Run IPMI Standard Command  raw ${set_raw_cmd}
+    Run IPMI Command  ${set_raw_cmd}
 
     # Reset Watchdog Timer.
-    Run IPMI Standard Command  raw ${IPMI_RAW_CMD['Watchdog']['Reset'][0]}
+    Run IPMI Command  ${IPMI_RAW_CMD['Watchdog']['Reset'][0]}
 
     # Delay for power state.
     Sleep  ${POWER_STATE_CHANGE}
@@ -322,7 +322,7 @@
     # watchdog_command     The raw watchdog IPMI command request bytes.
 
     Run Keyword and Expect Error  *Request data length*
-    ...  Run IPMI Standard Command  raw ${watchdog_command}
+    ...  Run IPMI Command  ${watchdog_command}
 
 Validate Watchdog Pre-timeout
     [Documentation]   Verify watchdog pre-timeout valid request bytes.
@@ -332,7 +332,7 @@
     # watchdog_command     The raw watchdog IPMI command request bytes.
     # response             The expected response bytes.
 
-    ${resp}=  Run IPMI Standard Command  raw ${watchdog_command}
+    ${resp}=  Run IPMI Command  ${watchdog_command}
     Should Contain  ${resp}  ${response}
 
 Get Watchdog Timer And Compare To Start Value
@@ -343,7 +343,7 @@
     # start_timer_integer     The initial value for the watchdog timer.
 
     # Get Watchdog Timer.
-    ${resp}=  Run IPMI Standard Command  raw ${IPMI_RAW_CMD['Watchdog']['Get'][0]}
+     ${resp}=  Run IPMI Command  ${IPMI_RAW_CMD['Watchdog']['Get'][0]}
     @{timer_value}=  Split String  ${resp}
 
     # Convert to integer and compare with start value.
diff --git a/lib/ipmi_client.robot b/lib/ipmi_client.robot
index 2088df3..c37a2af 100755
--- a/lib/ipmi_client.robot
+++ b/lib/ipmi_client.robot
@@ -657,8 +657,8 @@
 
     # Example: ${resp} will be "51 XX XX XX XX ff ff ff ff ff ff ff ff XX"
 
-    ${resp}=  Run IPMI Standard Command
-    ...  raw ${IPMI_RAW_CMD['SEL_entry']['SEL_info'][0]}
+    ${resp}=  Run IPMI Command
+    ...  ${IPMI_RAW_CMD['SEL_entry']['SEL_info'][0]}
     ${resp}=  Split String  ${resp}
 
     [Return]  ${resp}
@@ -672,7 +672,7 @@
     #  ${ipmi_cmd}   - IPMI raw cmd with invalid data length.
     #  ${error_code} - Expected error code e.g 0xc7, 0xcc.
 
-    ${resp}=  Run External IPMI Raw Command  ${ipmi_cmd}  fail_on_err=0
+    ${resp}=  Run IPMI Command  ${ipmi_cmd}  fail_on_err=0
 
     Should Contain  ${resp}  rsp=${error_code}
 
diff --git a/lib/ipmi_utils.py b/lib/ipmi_utils.py
index 34fd701..a9bebd7 100644
--- a/lib/ipmi_utils.py
+++ b/lib/ipmi_utils.py
@@ -50,7 +50,9 @@
       sol_info[Retry Count]:                         7
     """
 
-    status, ret_values = grk.run_key_u("Run IPMI Standard Command  sol info")
+    status, ret_values = grk.run_key_u(
+        "Run External IPMI Standard Command  sol info"
+    )
 
     # Create temp file path.
     temp = tempfile.NamedTemporaryFile()
@@ -78,7 +80,7 @@
     """
 
     status, ret_values = grk.run_key_u(
-        "Run IPMI Standard Command  sol set "
+        "Run External IPMI Standard Command  sol set "
         + setting_name
         + " "
         + setting_value
@@ -666,7 +668,7 @@
     """
 
     status, ret_values = grk.run_key_u(
-        "Run IPMI Standard Command  chassis status"
+        "Run External IPMI Standard Command  chassis status"
     )
     result = vf.key_value_outbuf_to_dict(ret_values, process_indent=1)
 
