diff --git a/mbtk/mbtk_gnssd/gnss_main.c b/mbtk/mbtk_gnssd/gnss_main.c
index a495f4f..26f3a4d 100755
--- a/mbtk/mbtk_gnssd/gnss_main.c
+++ b/mbtk/mbtk_gnssd/gnss_main.c
@@ -20,6 +20,7 @@
 #include "gnss_asr5311.h"
 #include "gnss_n50db.h"
 #include "gnss_log.h"
+#include "mbtk_utils.h"
 
 #define GNSS_DEBUG 1
 #define GNSS_UBUS_ENABLE 1
@@ -257,12 +258,12 @@
 
         if(fd == nmea_log_fd) {
             if(nmea_log_fd > 0) {
-                write(nmea_log_fd, data, data_len);
+                mbtk_write(nmea_log_fd, data, data_len);
                 debug_fd_len += data_len;
             }
         } else if(fd == debug_fd) {
             if(debug_fd > 0) {
-                write(debug_fd, data, data_len);
+                mbtk_write(debug_fd, data, data_len);
                 debug_fd_len += data_len;
             }
         }
@@ -885,7 +886,7 @@
 
     // Wait for read thread exit.
     if(gnss_info.exit_fd[1] > 0) {
-        write(gnss_info.exit_fd[1], "exit", 4);
+        mbtk_write(gnss_info.exit_fd[1], "exit", 4);
     }
 
     gnss_info.state = GNSS_STATE_CLOSING;
@@ -989,7 +990,7 @@
         LOGE("gnss not ready");
         return GNSS_ERR_UNKNOWN;
     }
-    
+
     if(gnss_info.gnss_agnss_inject)
     {
         return gnss_info.gnss_agnss_inject(gnss_info.fd);
@@ -998,7 +999,7 @@
     {
         return GNSS_ERR_UNSUPPORT;
     }
-    
+
     return GNSS_ERR_OK;
 }
 
