-       uint8_t *got = malloc(USB_CMD_DATA_SIZE);
-
-       // Query for the actual size of the trace
-       UsbCommand response;
-       GetFromBigBuf(got, USB_CMD_DATA_SIZE, 0);
-       WaitForResponse(CMD_ACK, &response);
-       uint16_t traceLen = response.arg[2];
-       if (traceLen > USB_CMD_DATA_SIZE) {
-               uint8_t *p = realloc(got, traceLen);
-               if (p == NULL) {
-                       PrintAndLog("Cannot allocate memory for trace");
-                       free(got);
-                       return 2;
-               }
-               got = p;
-               GetFromBigBuf(got, traceLen, 0);
-               WaitForResponse(CMD_ACK,NULL);
-       }
-  PrintAndLog("recorded activity: (TraceLen = %d bytes)", traceLen);
-  PrintAndLog(" time  :rssi: who bytes");
-  PrintAndLog("---------+----+----+-----------");
-
-  int i = 0;
-  int prev = -1;
-
-  for(;;) {
-    
-       if(i >= traceLen) { break; }
-
-    bool isResponse;
-    int timestamp = *((uint32_t *)(got+i));
-    if(timestamp & 0x80000000) {
-      timestamp &= 0x7fffffff;
-      isResponse = 1;
-    } else {
-      isResponse = 0;
-    }
-    int metric = *((uint32_t *)(got+i+4));
-
-    int len = got[i+8];