Index: uspace/app/mkbd/main.c
===================================================================
--- uspace/app/mkbd/main.c	(revision 2df648c21c391c17d1f85e9048df461d4ca35ea4)
+++ uspace/app/mkbd/main.c	(revision ed0cc81fe3df8c8a6066d941ee0c5e6a064eaf3e)
@@ -212,6 +212,6 @@
 	}
 	
-	//char *devpath = argv[1];
-	const char *devpath = "/hw/pci0/00:06.0/ohci-rh/usb00_a2/HID1/hid";
+	char *devpath = argv[1];
+	//const char *devpath = "/hw/pci0/00:06.0/ohci-rh/usb00_a2/HID1/hid";
 	
 	int rc;
@@ -297,5 +297,5 @@
 		}
 		
-		async_usleep(100000);
+		async_usleep(10000);
 	}
 	
Index: uspace/drv/ohci/root_hub.c
===================================================================
--- uspace/drv/ohci/root_hub.c	(revision 2df648c21c391c17d1f85e9048df461d4ca35ea4)
+++ uspace/drv/ohci/root_hub.c	(revision ed0cc81fe3df8c8a6066d941ee0c5e6a064eaf3e)
@@ -61,5 +61,4 @@
 	.vendor_id = 0x16db,
 	.product_id = 0x0001,
-	/// \TODO these values migt be different
 	.str_serial_number = 0,
 	.usb_spec_version = 0x110,
@@ -119,5 +118,4 @@
 static const uint32_t hub_clear_feature_by_writing_one_mask =
    RHS_CLEAR_PORT_POWER;
-   // 1 << USB_HUB_FEATURE_C_HUB_LOCAL_POWER;
 
 /**
@@ -127,6 +125,4 @@
     RHS_LPSC_FLAG |
     RHS_OCIC_FLAG;
-    //(1 << USB_HUB_FEATURE_C_HUB_OVER_CURRENT) |
-    //(1 << USB_HUB_FEATURE_C_HUB_LOCAL_POWER);
 
 /**
@@ -135,5 +131,4 @@
 static const uint32_t hub_set_feature_direct_mask =
     RHS_SET_PORT_POWER;
-    //(1 << USB_HUB_FEATURE_C_HUB_OVER_CURRENT);
 
 /**
@@ -160,16 +155,4 @@
     RHPS_PRSC_FLAG;
 
-/*
-
-    (1 << USB_HUB_FEATURE_PORT_CONNECTION) |
-    (1 << USB_HUB_FEATURE_PORT_SUSPEND) |
-    (1 << USB_HUB_FEATURE_PORT_OVER_CURRENT) |
-    (1 << USB_HUB_FEATURE_PORT_POWER) |
-    (1 << USB_HUB_FEATURE_C_PORT_CONNECTION) |
-    (1 << USB_HUB_FEATURE_C_PORT_ENABLE) |
-    (1 << USB_HUB_FEATURE_C_PORT_SUSPEND) |
-    (1 << USB_HUB_FEATURE_C_PORT_OVER_CURRENT) |
-    (1 << USB_HUB_FEATURE_C_PORT_RESET);
- */
 //note that USB_HUB_FEATURE_PORT_POWER bit is translated into
 //USB_HUB_FEATURE_PORT_LOW_SPEED for port set feature request
@@ -179,10 +162,4 @@
  */
 static const uint32_t port_status_change_mask = RHPS_CHANGE_WC_MASK;
-/*    (1 << USB_HUB_FEATURE_C_PORT_CONNECTION) |
-    (1 << USB_HUB_FEATURE_C_PORT_ENABLE) |
-    (1 << USB_HUB_FEATURE_C_PORT_OVER_CURRENT) |
-    (1 << USB_HUB_FEATURE_C_PORT_RESET) |
-    (1 << USB_HUB_FEATURE_C_PORT_SUSPEND);
-*/
 
 static int create_serialized_hub_descriptor(rh_t *instance);
@@ -433,7 +410,7 @@
 	if (port < 1 || port > instance->port_count)
 		return EINVAL;
-	uint32_t * uint32_buffer = (uint32_t*) request->data_buffer;
 	request->transfered_size = 4;
-	uint32_buffer[0] = instance->registers->rh_port_status[port - 1];
+	uint32_t data = instance->registers->rh_port_status[port - 1];
+	memcpy(request->data_buffer,&data,4);
 #if 0
 	int i;
@@ -462,9 +439,11 @@
 static int process_get_hub_status_request(rh_t *instance,
     usb_transfer_batch_t * request) {
-	uint32_t * uint32_buffer = (uint32_t*) request->data_buffer;
+	//uint32_t * uint32_buffer = (uint32_t*) request->data_buffer;
 	request->transfered_size = 4;
 	//bits, 0,1,16,17
 	uint32_t mask = 1 | (1 << 1) | (1 << 16) | (1 << 17);
-	uint32_buffer[0] = mask & instance->registers->rh_status;
+	uint32_t data = mask & instance->registers->rh_status;
+	//uint32_buffer[0] = mask & instance->registers->rh_status;
+	memcpy(request->data_buffer,&data,4);
 
 	return EOK;
@@ -520,5 +499,5 @@
 	    | (1 << (USB_HUB_FEATURE_C_HUB_OVER_CURRENT + 16));
 	bzero(bitmap, instance->interrupt_mask_size);
-	if (instance->registers->rh_status & mask) {
+	if ((instance->registers->rh_status & mask) !=0 ) {
 		bitmap[0] = 1;
 	}
@@ -526,5 +505,5 @@
 	mask = port_status_change_mask;
 	for (port = 1; port <= instance->port_count; ++port) {
-		if (mask & instance->registers->rh_port_status[port - 1]) {
+		if ((mask & instance->registers->rh_port_status[port - 1]) != 0) {
 
 			bitmap[(port) / 8] += 1 << (port % 8);
Index: uspace/drv/usbhid/mouse/mousedev.c
===================================================================
--- uspace/drv/usbhid/mouse/mousedev.c	(revision 2df648c21c391c17d1f85e9048df461d4ca35ea4)
+++ uspace/drv/usbhid/mouse/mousedev.c	(revision ed0cc81fe3df8c8a6066d941ee0c5e6a064eaf3e)
@@ -234,6 +234,6 @@
 	
 	if (mouse_dev->mouse_phone < 0) {
-		usb_log_error(NAME " No console phone.\n");
-		return false;	// ??
+		usb_log_warning(NAME " No console phone.\n");
+		return true;
 	}
 
Index: uspace/drv/usbhub/usbhub.c
===================================================================
--- uspace/drv/usbhub/usbhub.c	(revision 2df648c21c391c17d1f85e9048df461d4ca35ea4)
+++ uspace/drv/usbhub/usbhub.c	(revision ed0cc81fe3df8c8a6066d941ee0c5e6a064eaf3e)
@@ -440,5 +440,5 @@
  *
  * The change can be either in the over-current condition or
- * local-power lost condition.
+ * local-power change.
  * @param hub_info hub instance
  */
Index: uspace/lib/drv/include/remote_pci.h
===================================================================
--- uspace/lib/drv/include/remote_pci.h	(revision 2df648c21c391c17d1f85e9048df461d4ca35ea4)
+++ uspace/lib/drv/include/remote_pci.h	(revision ed0cc81fe3df8c8a6066d941ee0c5e6a064eaf3e)
@@ -36,5 +36,5 @@
 #define LIBDRV_REMOTE_PCI_H_
 
-remote_iface_t remote_pci_iface;
+extern remote_iface_t remote_pci_iface;
 
 #endif
Index: uspace/lib/drv/include/remote_usb.h
===================================================================
--- uspace/lib/drv/include/remote_usb.h	(revision 2df648c21c391c17d1f85e9048df461d4ca35ea4)
+++ uspace/lib/drv/include/remote_usb.h	(revision ed0cc81fe3df8c8a6066d941ee0c5e6a064eaf3e)
@@ -36,5 +36,5 @@
 #define LIBDRV_REMOTE_USB_H_
 
-remote_iface_t remote_usb_iface;
+extern remote_iface_t remote_usb_iface;
 
 #endif
Index: uspace/lib/drv/include/remote_usbhc.h
===================================================================
--- uspace/lib/drv/include/remote_usbhc.h	(revision 2df648c21c391c17d1f85e9048df461d4ca35ea4)
+++ uspace/lib/drv/include/remote_usbhc.h	(revision ed0cc81fe3df8c8a6066d941ee0c5e6a064eaf3e)
@@ -36,5 +36,5 @@
 #define LIBDRV_REMOTE_USBHC_H_
 
-remote_iface_t remote_usbhc_iface;
+extern remote_iface_t remote_usbhc_iface;
 
 #endif
