diff --git a/src/lynq/framework/lynq-atsvc/src/lynq_common.cpp b/src/lynq/framework/lynq-atsvc/src/lynq_common.cpp
index dc93260..b3d98be 100755
--- a/src/lynq/framework/lynq-atsvc/src/lynq_common.cpp
+++ b/src/lynq/framework/lynq-atsvc/src/lynq_common.cpp
@@ -929,16 +929,27 @@
         /*AT+MPWRSM state*/
         if(!strcmp(argv[3], "0"))
         {
-            /*if module entry sleep mode, need to pull ring pin low level*/
-            system("echo out 63 0 >/sys/devices/platform/10005000.pinctrl/mt_gpio");
-            #ifdef CV2X_SUPPORT
-            /*DSR pin pull high level to wake up host*/
-            system("echo out 62 0 >/sys/devices/platform/10005000.pinctrl/mt_gpio");
-            //lynq_output_info("test: DSR\n");
-            #endif
-            /*quit sleep mode*/
-            syncRespToUsb(0);
-            auto_suspend(argv[3]);
+            if(g_lynq_csclk == 0)
+            {
+                /*quit sleep mode*/
+                syncRespToUsb(0);
+                auto_suspend(argv[3]);
+            }
+            else if(g_lynq_csclk == 1)
+            {
+                /*check dtr level*/
+                if(cat_pin_level("061"))//cat dtr pin level
+                {
+                    syncRespToUsb(0);
+                    auto_suspend(argv[3]);
+                    return;
+                }
+                else
+                {
+                    syncRespToUsb(10);//dtr pin is high level, so can't entry sleep mode
+                    return; 
+                }
+            }
             return;
         }
         /*AT+MPWRSM autosleep*/
@@ -947,13 +958,6 @@
             RLOGD("at+MPWRSM begin and value is 1\n");
             if(g_lynq_csclk == 0)
             {
-                /*if module entry sleep mode, need to pull ring pin low level*/
-                system("echo out 63 0 >/sys/devices/platform/10005000.pinctrl/mt_gpio");
-                #ifdef CV2X_SUPPORT
-                /*DSR pin pull high level to wake up host*/
-                system("echo out 62 0 >/sys/devices/platform/10005000.pinctrl/mt_gpio");
-                //lynq_output_info("test: DSR\n");
-                #endif
                 RLOGD("g_lynq_csclk = 0, entry sleep mode, dont't check dtr pin level\n");
                 auto_suspend(argv[3]);
                 syncRespToUsb(0);
@@ -966,12 +970,6 @@
                 /*check dtr level*/
                 if(cat_pin_level("061"))//cat dtr pin level
                 {
-                    /*if module entry sleep mode, need to pull ring pin low level*/
-                    system("echo out 63 0 >/sys/devices/platform/10005000.pinctrl/mt_gpio");
-                    #ifdef CV2X_SUPPORT
-                    /*DSR pin pull high level to wake up host*/
-                    system("echo out 62 0 >/sys/devices/platform/10005000.pinctrl/mt_gpio");
-                    #endif
                     auto_suspend(argv[3]);
                     syncRespToUsb(0);
                     return;
diff --git a/src/lynq/framework/lynq-atsvc/src/ril.cpp b/src/lynq/framework/lynq-atsvc/src/ril.cpp
index 13ea16f..95d43fd 100755
--- a/src/lynq/framework/lynq-atsvc/src/ril.cpp
+++ b/src/lynq/framework/lynq-atsvc/src/ril.cpp
@@ -4552,6 +4552,14 @@
             /*DSR pin pull high level to wake up host*/
             system("echo out 62 1 >/sys/devices/platform/10005000.pinctrl/mt_gpio");
             #endif
+            usleep(120*1000);
+            /*if module entry sleep mode, need to pull ring pin low level*/
+            system("echo out 63 0 >/sys/devices/platform/10005000.pinctrl/mt_gpio");
+            #ifdef CV2X_SUPPORT
+            /*DSR pin pull high level to wake up host*/
+            system("echo out 62 0 >/sys/devices/platform/10005000.pinctrl/mt_gpio");
+            //lynq_output_info("test: DSR\n");
+            #endif
         }
         /*lei add for at+mwakeupcfg szzt*/
         break;
@@ -4579,6 +4587,14 @@
             /*DSR pin pull high level to wake up host*/
             system("echo out 62 1 >/sys/devices/platform/10005000.pinctrl/mt_gpio");
             #endif
+            usleep(120*1000);
+            /*if module entry sleep mode, need to pull ring pin low level*/
+            system("echo out 63 0 >/sys/devices/platform/10005000.pinctrl/mt_gpio");
+            #ifdef CV2X_SUPPORT
+            /*DSR pin pull high level to wake up host*/
+            system("echo out 62 0 >/sys/devices/platform/10005000.pinctrl/mt_gpio");
+            //lynq_output_info("test: DSR\n");
+            #endif
         }
         /*lei add for at+mwakeupcfg szzt*/
         break;
