diff --git a/src/FanMain.cpp b/src/FanMain.cpp
index a34dd4d..e613494 100644
--- a/src/FanMain.cpp
+++ b/src/FanMain.cpp
@@ -83,7 +83,22 @@
     // todo: will we need to support other types?
     return FanTypes::i2c;
 }
+void enablePwm(const fs::path& filePath)
+{
+    std::fstream enableFile(filePath, std::ios::in | std::ios::out);
+    if (!enableFile.good())
+    {
+        std::cerr << "Error read/write " << filePath << "\n";
+        return;
+    }
 
+    std::string regulateMode;
+    std::getline(enableFile, regulateMode);
+    if (regulateMode == "0")
+    {
+        enableFile << 1;
+    }
+}
 void createRedundancySensor(
     const boost::container::flat_map<std::string, std::unique_ptr<TachSensor>>&
         sensors,
@@ -372,7 +387,11 @@
                     auto findPwm = connector->second.find("Pwm");
                     if (findPwm != connector->second.end())
                     {
-
+                        fs::path pwmEnableFile =
+                            "pwm" + std::to_string(index + 1) + "_enable";
+                        fs::path enablePath =
+                            path.parent_path() / pwmEnableFile;
+                        enablePwm(enablePath);
                         size_t pwm = std::visit(VariantToUnsignedIntVisitor(),
                                                 findPwm->second);
                         pwmPath = directory / ("pwm" + std::to_string(pwm + 1));
