Index: uspace/drv/uhci-hcd/tracker.c
===================================================================
--- uspace/drv/uhci-hcd/tracker.c	(revision 9a818a93338eb8410dcc0917f9c3d49086134801)
+++ uspace/drv/uhci-hcd/tracker.c	(revision e2172cf8f7c6235b346cb378aefe924ec3f7c189)
@@ -285,4 +285,6 @@
 		    instance->packet_size);
 	}
+	instance->buffer_offset += instance->packet_size;
+	usb_log_debug("Callback IN: %d, %zu.\n", err, instance->buffer_offset);
 	instance->callback_in(instance->dev,
 	    err ? USB_OUTCOME_CRCERROR : USB_OUTCOME_OK, instance->buffer_offset,
@@ -297,4 +299,5 @@
 	/* check for errors */
 	int err = transfer_descriptor_status(instance->td);
+	usb_log_debug("Callback OUT: %d, %zu.\n", err, instance->buffer_offset);
 	instance->callback_out(instance->dev,
 	    err ? USB_OUTCOME_CRCERROR : USB_OUTCOME_OK, instance->arg);
Index: uspace/drv/uhci-hcd/uhci.c
===================================================================
--- uspace/drv/uhci-hcd/uhci.c	(revision 9a818a93338eb8410dcc0917f9c3d49086134801)
+++ uspace/drv/uhci-hcd/uhci.c	(revision e2172cf8f7c6235b346cb378aefe924ec3f7c189)
@@ -249,5 +249,6 @@
 			assert(current == &tracker->link);
 			if (!transfer_descriptor_is_active(tracker->td)) {
-				usb_log_debug("Found inactive tracker.\n");
+				usb_log_debug("Found inactive tracker with status: %x.\n",
+				    tracker->td->status);
 				list_remove(current);
 				tracker->next_step(tracker);
Index: uspace/drv/uhci-hcd/uhci.h
===================================================================
--- uspace/drv/uhci-hcd/uhci.h	(revision 9a818a93338eb8410dcc0917f9c3d49086134801)
+++ uspace/drv/uhci-hcd/uhci.h	(revision e2172cf8f7c6235b346cb378aefe924ec3f7c189)
@@ -70,8 +70,7 @@
 } regs_t;
 
-#define TRANSFER_QUEUES 4
 #define UHCI_FRAME_LIST_COUNT 1024
 #define UHCI_CLEANER_TIMEOUT 10000
-#define UHCI_DEBUGER_TIMEOUT 500000
+#define UHCI_DEBUGER_TIMEOUT 5000000
 
 typedef struct uhci {
