diff --git a/src/qxdm-log.c b/src/qxdm-log.c
index aceb2ce..05cfe59 100644
--- a/src/qxdm-log.c
+++ b/src/qxdm-log.c
@@ -21,9 +21,11 @@
 #include "diag_gsm.h"
 #include "log_codes_gsm.h"
 #include "log_codes_wcdma.h"
+#include "log_codes_qmi.h"
 #include "diag_wcdma.h"
 #include "gprs_rlc.h"
 #include "gprs_mac.h"
+#include "qmi_decode.h"
 
 char *DumpBYTEs(unsigned char *p, long n, int nBytesPerRow /* = 16 */, char *szLineSep /* = "\n" */, int bRaw /* = FALSE */, const char *szIndent /* = "" */)
 {
@@ -401,6 +403,13 @@
 
 	printf("LOG(0x%04x, %"PRIu64"u, %u): %s\n", lh->code, lh->ts, lh->len,
 		osmo_hexdump(lh->data, lh->len));
+
+	uint8_t subsys = lh->code >> 12;
+
+	if (subsys == 0x01 &&
+	    ((lh->code & 0xfff) >= LOG_QMI_RESERVED_CODES_BASE_C) &&
+	    ((lh->code & 0xfff) <= LOG_QMI_LAST_C))
+		dump_qmi_msg(lh->data, lh->len);
 }
 
 /*********/
@@ -542,6 +551,18 @@
 	transmit_msgb(fd, msg);
 	do_read(fd);
 
+
+	printf("Core\n");
+	msg = gen_log_config_set_mask(1, 1064);
+	log_config_set_mask_bit(msg, LOG_QMI_CALL_FLOW_C);
+	log_config_set_mask_bit(msg, LOG_QMI_SUPPORTED_INTERFACES_C);
+	for (int i = 0; i < 16*2; i++)
+		log_config_set_mask_bit(msg, LOG_QMI_RESERVED_CODES_BASE_C+i);
+	for (int i = LOG_QMI_RESERVED_CODES_BASE_C; i < LOG_QMI_LAST_C; i++)
+		log_config_set_mask_bit(msg, i);
+
+	transmit_msgb(fd, msg);
+	do_read(fd);
 }
 
 int main(int argc, char **argv)
