Index: uspace/app/usbinfo/info.c
===================================================================
--- uspace/app/usbinfo/info.c	(revision 57abafd59a97c4075409b95513c3d25ef8963022)
+++ uspace/app/usbinfo/info.c	(revision eece17846304a7204ddf005528c4aca9ad6421eb)
@@ -42,4 +42,5 @@
 #include <usb/classes/classes.h>
 #include <usb/classes/hid.h>
+#include <usb/classes/hub.h>
 #include "usbinfo.h"
 
@@ -119,7 +120,8 @@
     usb_standard_configuration_descriptor_t *descriptor)
 {
-	printf("%sConfiguration #%d (%zu interfaces)\n", prefix,
+	printf("%sConfiguration #%d (%zu interfaces, total %zuB)\n", prefix,
 	    (int) descriptor->configuration_number,
-	    (size_t) descriptor->interface_count);
+	    (size_t) descriptor->interface_count,
+	    (size_t) descriptor->total_length);
 }
 
@@ -154,4 +156,11 @@
 	    (int) descriptor->country_code,
 	    (int) descriptor->class_desc_count);
+}
+
+static void dump_descriptor_tree_brief_hub(const char *prefix,
+    usb_hub_descriptor_header_t *descriptor)
+{
+	printf("%shub (%d ports)\n", prefix,
+	    (int) descriptor->port_count);
 }
 
@@ -194,4 +203,11 @@
 		    usb_standard_hid_descriptor_t,
 		    dump_descriptor_tree_brief_hid);
+		/*
+		 * Probably useless, hub descriptor shall not be part of
+		 * configuration descriptor.
+		 */
+		_BRANCH(USB_DESCTYPE_HUB,
+		    usb_hub_descriptor_header_t,
+		    dump_descriptor_tree_brief_hub);
 
 		default:
