diff --git a/gatchat/gathdlc.c b/gatchat/gathdlc.c
index 8a7c5b1d..31643389 100644
--- a/gatchat/gathdlc.c
+++ b/gatchat/gathdlc.c
@@ -37,6 +37,8 @@
 #include "gatio.h"
 #include "gatutil.h"
 #include "gathdlc.h"
+#include "gatppp.h"
+#include "ppp.h"
 
 #define BUFFER_SIZE	(2 * 2048)
 #define MAX_BUFFERS	64	/* Maximum number of in-flight write buffers */
@@ -272,6 +274,11 @@ static void new_bytes(struct ring_buffer *rbuf, gpointer user_data)
 	hdlc->in_read_handler = TRUE;
 
 	while (pos < len) {
+
+		if (hdlc->receive_func && hdlc->receive_func == ppp_receive) {
+			DBG((GAtPPP*)hdlc->receive_data, "len %d buf 0x%02x", len, *buf);
+		}
+
 		/*
 		 * We try to detect NO CARRIER conditions here.  We
 		 * (ab) use the fact that a HDLC_FLAG must be followed
@@ -292,6 +299,12 @@ static void new_bytes(struct ring_buffer *rbuf, gpointer user_data)
 		} else if (*buf == HDLC_ESCAPE) {
 			hdlc->decode_escape = TRUE;
 		} else if (*buf == HDLC_FLAG) {
+
+			if (hdlc->receive_func && hdlc->receive_func == ppp_receive) {
+				DBG((GAtPPP*)hdlc->receive_data, "decode_offset %d decode_fcs 0x%02x",
+						hdlc->decode_offset, hdlc->decode_fcs);
+			}
+
 			if (hdlc->receive_func && hdlc->decode_offset > 2 &&
 					hdlc->decode_fcs == HDLC_GOODFCS) {
 				hdlc->receive_func(hdlc->decode_buffer,
