diff --git a/meta-gbs/recipes-gbs/gbs-detect-fan-fail/files/gbs-detect-fan-fail.service b/meta-gbs/recipes-gbs/gbs-detect-fan-fail/files/gbs-detect-fan-fail.service
new file mode 100644
index 0000000..ecdc953
--- /dev/null
+++ b/meta-gbs/recipes-gbs/gbs-detect-fan-fail/files/gbs-detect-fan-fail.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Detect Fan Fail Manager
+After=phosphor-pid-control.service
+
+[Service]
+ExecStart=/usr/bin/gbs-detect-fan-fail.sh
+Restart=always
+StandardOutput=syslog
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-gbs/recipes-gbs/gbs-detect-fan-fail/files/gbs-detect-fan-fail.sh b/meta-gbs/recipes-gbs/gbs-detect-fan-fail/files/gbs-detect-fan-fail.sh
new file mode 100644
index 0000000..520b1c9
--- /dev/null
+++ b/meta-gbs/recipes-gbs/gbs-detect-fan-fail/files/gbs-detect-fan-fail.sh
@@ -0,0 +1,70 @@
+#!/bin/bash
+
+##
+ #  This script is to handle fan fail condition which is described below.
+ #  Fan fail means one fan RPM is under its CriticalLow. If BMC encounters
+ #  such situation, then sets other fans to full speed.
+ #
+
+# get fan state
+function get_fan_state() {
+    get_property_path='xyz.openbmc_project.Sensor.Threshold.Critical CriticalAlarmLow'
+    fan_state="$(busctl get-property $1 $2 $get_property_path | awk '{print $2}')"
+    echo "$fan_state"
+}
+
+# check fan fail
+function is_fan_fail() {
+    fan_state=("$@")
+
+    for i in "${fan_state[@]}"
+    do
+        if [ ! -z "$i" ]
+        then
+            if [ $i == "true" ]
+            then
+                echo 1
+                return
+            fi
+        fi
+    done
+    echo 0
+}
+
+fan_tach_path=( '/xyz/openbmc_project/sensors/fan_tach/fan0'
+                '/xyz/openbmc_project/sensors/fan_tach/fan1'
+                '/xyz/openbmc_project/sensors/fan_tach/fan2'
+                '/xyz/openbmc_project/sensors/fan_tach/fan3'
+                '/xyz/openbmc_project/sensors/fan_tach/fan4'
+                )
+
+check_fail_flag=0
+is_fan_fail_flag=0
+current_fan_state=()
+
+while true
+do
+    for i in ${!fan_tach_path[@]}
+    do
+        mapper wait ${fan_tach_path[$i]}
+        hwmon_path="$(mapper get-service ${fan_tach_path[0]})"
+        current_fan_state[$i]=$(get_fan_state $hwmon_path ${fan_tach_path[$i]})
+    done
+
+    is_fan_fail_flag=$(is_fan_fail "${current_fan_state[@]}")
+
+    # if fan fails then set all fans to full speed
+    if [ $is_fan_fail_flag -eq 1 ] && [ $check_fail_flag -eq 0 ]
+    then
+        check_fail_flag=1
+        systemctl stop phosphor-pid-control.service
+
+    # fans recover to normal state
+    elif [ $is_fan_fail_flag -eq 0 ] && [ $check_fail_flag -eq 1 ]
+    then
+        check_fail_flag=0
+        systemctl restart phosphor-pid-control.service
+    fi
+
+    sleep 2
+done
diff --git a/meta-gbs/recipes-gbs/gbs-detect-fan-fail/gbs-detect-fan-fail.bb b/meta-gbs/recipes-gbs/gbs-detect-fan-fail/gbs-detect-fan-fail.bb
new file mode 100644
index 0000000..5befec8
--- /dev/null
+++ b/meta-gbs/recipes-gbs/gbs-detect-fan-fail/gbs-detect-fan-fail.bb
@@ -0,0 +1,25 @@
+SUMMARY = "OpenBMC Quanta Detect Fan Fail Service"
+DESCRIPTION = "OpenBMC Quanta Detect Fan Fail Daemon."
+PR = "r1"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+inherit systemd
+
+DEPENDS += "systemd"
+RDEPENDS_${PN} += "bash"
+
+SRC_URI = " file://gbs-detect-fan-fail.sh \
+            file://gbs-detect-fan-fail.service \
+          "
+
+do_install() {
+    install -d ${D}${bindir}
+    install -m 0755 ${WORKDIR}/gbs-detect-fan-fail.sh ${D}${bindir}/
+
+    install -d ${D}${systemd_system_unitdir}
+    install -m 0644 ${WORKDIR}/gbs-detect-fan-fail.service ${D}${systemd_system_unitdir}
+}
+
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE_${PN} = "gbs-detect-fan-fail.service"
