diff --git a/Kernel/kernel_M.c b/Kernel/kernel_M.c
index 1e92a581657cdc84c48f2e1ed25c2593882b1607..fcd60ec6435f897b23d4e2ffdc9da9f8511a5cd2 100644
--- a/Kernel/kernel_M.c
+++ b/Kernel/kernel_M.c
@@ -14,7 +14,7 @@ MODULE_LICENSE("GPL");
 MODULE_AUTHOR("Me :)");
 MODULE_DESCRIPTION("A kernel module to receive packets from userspace.");
 MODULE_VERSION("1.0");
-
+/*
 // Structure to hold our packet data
 struct packet_data {
     int sender_id;
@@ -23,9 +23,10 @@ struct packet_data {
     int value_id_2;
     int value_2;
 };
+*/
 
 // The size of the receive buffer
-#define RECV_BUF_SIZE 128
+#define RECV_BUF_SIZE 512
 
 // Global variables for device number, class, device.
 static dev_t dev_number;
@@ -79,31 +80,49 @@ static ssize_t packet_write(struct file *filp, const char __user *buf, size_t le
     // Ensure null-termination 
     recv_buffer[to_copy] = '\0';
 
-     // Placeholders for the fields:
+    /* // Placeholders for the fields:
     struct packet_data p_data;
     p_data.sender_id  = -1;
     p_data.value_id_1 = -1;
     p_data.value_1    = -1;
     p_data.value_id_2 = -1;
     p_data.value_2    = -1;
-
+*/
+    unsigned int sender_hex = 0;
+    int value_id_0 = -1, value_id_1 = -1;
+    char value_str_0[64] = {0};
+    char value_str_1[64] = {0};
+    unsigned long crc_val = 0;
+    
     // Example format:
     //   "SENDER=1 ID1=100 VAL1=222 ID2=101 VAL2=333"
     //   "SENDER=10 VID1=11 VAL1=100 VID2=12 VAL2=200"
-
+/*
     sscanf(recv_buffer, "SENDER=%d VID1=%d VAL1=%d VID2=%d VAL2=%d",
            &p_data.sender_id,
            &p_data.value_id_1,
            &p_data.value_1,
            &p_data.value_id_2,
            &p_data.value_2);
-
+*/
+    int matches = sscanf(recv_buffer,
+      "SENDER=0x%x VALUE_ID=%d VALUE=%63s VALUE_ID=%d VALUE=%63s CRC=0x%lx",
+       &sender_hex,
+       &value_id_0, value_str_0,
+       &value_id_1, value_str_1,
+       &crc_val);
     // Print the received packet data
-    printk(KERN_INFO "packet_receiver: Received packet -> "
-           "sender=%d, valID1=%d, val1=%d, valID2=%d, val2=%d\n",
+   /* printk(KERN_INFO "packet_receiver: Received packet -> "
+           "sender=0x%x, valID1=%d, val1=%d, valID2=%d, val2=%d\n",
            p_data.sender_id,
            p_data.value_id_1, p_data.value_1,
            p_data.value_id_2, p_data.value_2);
+*/
+    printk(KERN_INFO "packet_receiver: Parsed fields [matches=%d]:\n", matches);
+    printk(KERN_INFO "  sender=0x%X\n", sender_hex);
+    printk(KERN_INFO "  value_id_0=%d  value_0=\"%s\"\n", value_id_0, value_str_0);
+    printk(KERN_INFO "  value_id_1=%d  value_1=\"%s\"\n", value_id_1, value_str_1);
+    printk(KERN_INFO "  crc=0x%lX\n", crc_val);
 
     // Return the number of bytes written
     return len;