diff --git a/README.md b/README.md
index ab7e697..2b1befb 100755
--- a/README.md
+++ b/README.md
@@ -16,9 +16,11 @@
 Initilize the following environment variable which will used while testing
 ```shell
     $ export OPENBMC_HOST=<openbmc machine ip address>
-    $ export OPENBMC_PASSWORD=<openbmc username>
-    $ export OPENBMC_USERNAME=<openbmc password>
+    $ export OPENBMC_PASSWORD=<openbmc password>
+    $ export OPENBMC_USERNAME=<openbmc username>
     $ export OPENBMC_MODEL=[./data/Barreleye.py, ./data/Palmetto.py, etc]
+    $ export IPMI_COMMAND=<Dbus/External>
+    $ export IPMI_PASSWORD=<External IPMI password>
 ```
 
 There are two different set of test suite existing based on the usage.
@@ -86,7 +88,14 @@
 
 It can also be run by pasing variables from the cli...
 ```shell
-    $  pybot -v OPENBMC_HOST:<ip> -v OPENBMC_USERNAME:root -v OPENBMC_PASSWORD:0penBmc -v OPENBMC_MODEL:<model path>
+    Run one test suite using using pybot
+    $  pybot -v OPENBMC_HOST:<ip> -v OPENBMC_USERNAME:root -v OPENBMC_PASSWORD:0penBmc -v OPENBMC_MODEL:<model path> tests/test_time.robot
+
+    Run entire test suite using using pybot
+    $  pybot -v OPENBMC_HOST:<ip> -v OPENBMC_USERNAME:root -v OPENBMC_PASSWORD:0penBmc -v OPENBMC_MODEL:<model path> tests
+
+    Run entire test suite using external ipmitool
+    $  pybot -v OPENBMC_HOST:<ip> -v OPENBMC_USERNAME:root -v OPENBMC_PASSWORD:0penBmc -v IPMI_COMMAND:External -v IPMI_PASSWORD:PASSW0RD -v OPENBMC_MODEL:<model path> tests
 ```
 
 Run extended tests
diff --git a/lib/ipmi_client.robot b/lib/ipmi_client.robot
index 6e50e8b..079804c 100755
--- a/lib/ipmi_client.robot
+++ b/lib/ipmi_client.robot
@@ -9,13 +9,38 @@
 *** Variables ***
 ${dbusHostIpmicmd1} =   dbus-send --system  /org/openbmc/HostIpmi/1
 ${dbusHostIpmiCmdReceivedMsg} =   org.openbmc.HostIpmi.ReceivedMessage
-${netfnByte} =    ${EMPTY}
-${cmdByte}   =    ${EMPTY}
-${arrayByte} =       array:byte:
+${netfnByte} =          ${EMPTY}
+${cmdByte}   =          ${EMPTY}
+${arrayByte} =          array:byte:
+${IPMI_EXT_CMD} =       ipmitool -I lanplus -C 1 -P
+${HOST} =               -H
+${RAW} =                raw
 
 *** Keywords ***
+
 Run IPMI Command
     [arguments]    ${args}
+    ${resp}=     Run Keyword If   '${IPMI_COMMAND}'=='External'
+    ...    Run External IPMI RAW Command   ${args}
+    ...          ELSE IF          '${IPMI_COMMAND}'=='Dbus'
+    ...    Run Dbus IPMI RAW Command   ${args}
+    ...          ELSE             Fail
+    ...    msg=Invalid IPMI Command type provided : ${IPMI_COMMAND}
+    [return]    ${resp}
+
+Run IPMI Standard Command
+    [arguments]    ${args}
+    ${resp}=     Run Keyword If   '${IPMI_COMMAND}'=='External'
+    ...    Run External IPMI Standard Command   ${args}
+    ...          ELSE IF          '${IPMI_COMMAND}'=='Dbus'
+    ...    Run Dbus IPMI Standard Command   ${args}
+    ...          ELSE             Fail
+    ...    msg=Invalid IPMI Command type provided : ${IPMI_COMMAND}
+
+    [return]    ${resp}
+
+Run Dbus IPMI RAW Command
+    [arguments]    ${args}
     ${valueinBytes} =   Byte Conversion  ${args}
     ${cmd} =   Catenate   ${dbushostipmicmd1} ${dbusHostIpmiCmdReceivedMsg}
     ${cmd} =   Catenate   ${cmd} ${valueinBytes}
@@ -23,13 +48,34 @@
     Should Be Empty      ${stderr}
     set test variable    ${OUTPUT}     "${output}"
 
-Run IPMI Standard Command
+Run Dbus IPMI Standard Command
     [arguments]    ${args}
     Copy ipmitool
-    ${stdout}    ${stderr}    ${output}=  Execute Command    /tmp/ipmitool -I dbus ${args}    return_stdout=True    return_stderr= True    return_rc=True
+    ${stdout}    ${stderr}    ${output}=  Execute Command
+    ...    /tmp/ipmitool -I dbus ${args}    return_stdout=True
+    ...    return_stderr= True    return_rc=True
     Should Be Equal    ${output}    ${0}    msg=${stderr}
     [return]    ${stdout}
 
+Run External IPMI RAW Command
+    [arguments]    ${args}
+    ${ipmi_raw_cmd}=   Catenate  SEPARATOR=
+    ...    ${IPMI_EXT_CMD}${SPACE}${IPMI_PASSWORD}${SPACE}
+    ...    ${HOST}${SPACE}${OPENBMC_HOST}${SPACE}${RAW}${SPACE}${args}
+    ${rc}    ${output}=    Run and Return RC and Output    ${ipmi_raw_cmd}
+    Should Be Equal    ${rc}    ${0}    msg=${output}
+    [return]    ${output}
+
+Run External IPMI Standard Command
+    [arguments]    ${args}
+    ${ipmi_cmd}=   Catenate  SEPARATOR=
+    ...    ${IPMI_EXT_CMD}${SPACE}${IPMI_PASSWORD}${SPACE}
+    ...    ${HOST}${SPACE}${OPENBMC_HOST}${SPACE}${args}
+    ${rc}    ${output}=    Run and Return RC and Output    ${ipmi_cmd}
+    Should Be Equal    ${rc}    ${0}    msg=${output}
+    [return]   ${output}
+
+
 Byte Conversion
     [Documentation]   Byte Conversion method receives IPMI RAW commands as
     ...               argument in string format.
diff --git a/lib/resource.txt b/lib/resource.txt
index 37c3234..4982c08 100755
--- a/lib/resource.txt
+++ b/lib/resource.txt
@@ -13,9 +13,11 @@
 ${AUTH_URI}       https://${OPENBMC_HOST}${AUTH_SUFFIX}
 ${OPENBMC_USERNAME}    root
 ${OPENBMC_PASSWORD}    0penBmc
+${IPMI_PASSWORD}    PASSW0RD
 ${MACHINE_TYPE}    palmetto
 ${DBUS_POLL_INTERVAL}      15s
 ${OPENBMC_REBOOT_TIMEOUT}   ${10}
+${IPMI_COMMAND}    Dbus             # Dbus/External
 
 # PDU related parameters
 ${PDU_TYPE}         ${EMPTY}
diff --git a/tools/generate_argumentfile.sh b/tools/generate_argumentfile.sh
index 5387beb..281ed19 100755
--- a/tools/generate_argumentfile.sh
+++ b/tools/generate_argumentfile.sh
@@ -15,3 +15,4 @@
 echo "--variable SSH_PORT:$SSH_PORT" >> $ARG_FILE
 echo "--variable HTTPS_PORT:$HTTPS_PORT" >> $ARG_FILE
 echo "--variable PNOR_IMAGE_PATH:$PNOR_IMAGE_PATH" >> $ARG_FILE
+echo "--variable IPMI_COMMAND:$IPMI_COMMAND" >> $ARG_FILE
