Index: uspace/lib/usb/include/usb/classes/hub.h
===================================================================
--- uspace/lib/usb/include/usb/classes/hub.h	(revision 243cb862efdca342a3d56442ae4a4fe91c8c1e81)
+++ uspace/lib/usb/include/usb/classes/hub.h	(revision ec6ab88ce592cd1de33b9ed41e1e8148d4d4a3a9)
@@ -177,4 +177,5 @@
 
 /** @brief hub class request codes*/
+/// \TODO these are duplicit to standart descriptors
 typedef enum {
     /**  */
@@ -213,11 +214,4 @@
 usb_hub_descriptor_t * usb_deserialize_hub_desriptor(void * sdescriptor);
 
-/**
- * @brief create hub structure instance
- * 
- * @param device
- * @return
- */
-usb_hcd_hub_info_t * usb_create_hub_info(device_t * device);
 
 
Index: uspace/lib/usb/include/usb/hcdhubd.h
===================================================================
--- uspace/lib/usb/include/usb/hcdhubd.h	(revision 243cb862efdca342a3d56442ae4a4fe91c8c1e81)
+++ uspace/lib/usb/include/usb/hcdhubd.h	(revision ec6ab88ce592cd1de33b9ed41e1e8148d4d4a3a9)
@@ -65,13 +65,4 @@
 } usb_hcd_attached_device_info_t;
 
-/** Information about attached hub. */
-typedef struct {
-	/** Number of ports. */
-	size_t port_count;
-	/** General device info. */
-	usb_hcd_attached_device_info_t *device;
-	/** Link to other hubs. */
-	link_t link;
-} usb_hcd_hub_info_t;
 
 /** Host controller device. */
Index: uspace/lib/usb/src/usbdrv.c
===================================================================
--- uspace/lib/usb/src/usbdrv.c	(revision 243cb862efdca342a3d56442ae4a4fe91c8c1e81)
+++ uspace/lib/usb/src/usbdrv.c	(revision ec6ab88ce592cd1de33b9ed41e1e8148d4d4a3a9)
@@ -36,4 +36,5 @@
 #include <usbhc_iface.h>
 #include <errno.h>
+#include <str_error.h>
 
 /** Information about pending transaction on HC. */
@@ -90,8 +91,10 @@
 {
 	ipcarg_t address;
-	int rc = async_req_1_1(phone, IPC_M_USBHC_GET_ADDRESS,
+	int rc = async_req_2_1(phone, DEV_IFACE_ID(USBHC_DEV_IFACE),
+	    IPC_M_USBHC_GET_ADDRESS,
 	    dev->handle, &address);
 
 	if (rc != EOK) {
+		printf("usb_drv_get_my_address over %d failed: %s\n", phone, str_error(rc));
 		return rc;
 	}
@@ -107,5 +110,6 @@
 int usb_drv_reserve_default_address(int phone)
 {
-	return async_req_0_0(phone, IPC_M_USBHC_RESERVE_DEFAULT_ADDRESS);
+	return async_req_1_0(phone, DEV_IFACE_ID(USBHC_DEV_IFACE),
+	    IPC_M_USBHC_RESERVE_DEFAULT_ADDRESS);
 }
 
@@ -117,5 +121,6 @@
 int usb_drv_release_default_address(int phone)
 {
-	return async_req_0_0(phone, IPC_M_USBHC_RELEASE_DEFAULT_ADDRESS);
+	return async_req_1_0(phone, DEV_IFACE_ID(USBHC_DEV_IFACE),
+	    IPC_M_USBHC_RELEASE_DEFAULT_ADDRESS);
 }
 
@@ -128,5 +133,6 @@
 {
 	ipcarg_t address;
-	int rc = async_req_0_1(phone, IPC_M_USBHC_REQUEST_ADDRESS, &address);
+	int rc = async_req_1_1(phone, DEV_IFACE_ID(USBHC_DEV_IFACE),
+	    IPC_M_USBHC_REQUEST_ADDRESS, &address);
 	if (rc != EOK) {
 		return rc;
@@ -146,5 +152,6 @@
     devman_handle_t handle)
 {
-	int rc = async_req_2_0(phone, IPC_M_USBHC_BIND_ADDRESS,
+	int rc = async_req_3_0(phone, DEV_IFACE_ID(USBHC_DEV_IFACE),
+	    IPC_M_USBHC_BIND_ADDRESS,
 	    address, handle);
 
@@ -160,5 +167,6 @@
 int usb_drv_release_address(int phone, usb_address_t address)
 {
-	return async_req_1_0(phone, IPC_M_USBHC_RELEASE_ADDRESS, address);
+	return async_req_2_0(phone, DEV_IFACE_ID(USBHC_DEV_IFACE),
+	    IPC_M_USBHC_RELEASE_ADDRESS, address);
 }
 
