Index: uspace/drv/bus/usb/usbhub/usbhub.c
===================================================================
--- uspace/drv/bus/usb/usbhub/usbhub.c	(revision 36e8a0c8cef28cfa2e5a3588fe73c90b186d8ce8)
+++ uspace/drv/bus/usb/usbhub/usbhub.c	(revision effbef3ebe269cdcd3eb5581cbca65148114d4e1)
@@ -68,5 +68,5 @@
 	.interface_class = USB_CLASS_HUB,
 	.interface_subclass = 0,
-	.interface_protocol = 0,
+	.interface_protocol = -1,
 	.flags = 0
 };
@@ -423,5 +423,5 @@
 	/* Set configuration. Use the configuration that was in
 	 * usb_device->descriptors.configuration i.e. The first one. */
-	const int opResult = usb_request_set_configuration(
+	int opResult = usb_request_set_configuration(
 	    usb_device_get_default_pipe(usb_device),
 	    config_descriptor->configuration_number);
@@ -432,4 +432,14 @@
 		usb_log_debug("\tUsed configuration %d",
 		    config_descriptor->configuration_number);
+	}
+
+	/* Check if this is a MTT hub */
+	const size_t device_protocol =
+	    usb_device_descriptors(usb_device)->device.device_protocol;
+	if (device_protocol == 2) {
+		usb_log_debug("This is a MTT hub. MTT not supported, switching to Single-TT.");
+		opResult = usb_request_set_interface(usb_device_get_default_pipe(usb_device), 1, 0);
+		if (opResult != EOK)
+			usb_log_error("Failed to switch to Single-TT protocol.");
 	}
 	return opResult;
