diff --git a/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-host.bbappend b/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-host.bbappend
index 3f4b292..a4a6618 100644
--- a/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-host.bbappend
+++ b/meta-witherspoon/recipes-phosphor/ipmi/phosphor-ipmi-host.bbappend
@@ -5,3 +5,44 @@
                                file://power_reading.json \
                                file://hwmon_sensors.hardcoded.yaml \
                              "
+inherit image_version
+
+# Calculate the auxiliary firmware revision to be updated in the dev_id.json
+# file. It is calculated from the VERSION_ID field which currently has two
+# formats. The revision field is 4 bytes, the first two bytes represent the
+# count of commits from the tagging and next two bytes represent the version.
+# Both fields are represented in BCD encoded format, so 9999 is the maximum
+# value both fields can take. With the format "v2.1-216-ga78ace8", Petitboot
+# would display the firmware revision as "Firmware version: 2.01.02160000",
+# "0216" is count and the revision is "0000". With the format
+# "ibm-v2.0-10-r41-0-gd0c319e" Petitboot would display the firmware revision
+# as "Firmware version: 2.00.00100041", "0010" is count and the revision
+# is "0041".
+
+python do_populate_aux_version() {
+        import json
+        import re
+        version_id = do_get_version(d)
+
+        # count from the commit version
+        count = re.findall("-(\d{1,4})-", version_id)
+
+        release = re.findall("-r(\d{1,4})", version_id)
+        if release:
+            auxVer = count[0] + "{0:0>4}".format(release[0])
+        else:
+            auxVer = count[0] + "0000"
+
+        # Update dev_id.json with the auxiliary firmware revision
+        workdir = d.getVar('WORKDIR', True)
+        file = os.path.join(workdir, 'dev_id.json')
+
+        with open(file, "r+") as jsonFile:
+            data = json.load(jsonFile)
+            jsonFile.seek(0)
+            jsonFile.truncate()
+            data["aux"] = int(auxVer, 16)
+            json.dump(data, jsonFile)
+}
+
+addtask populate_aux_version after do_configure before do_compile
