Index: uspace/app/bnchmark/bnchmark.c
===================================================================
--- uspace/app/bnchmark/bnchmark.c	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
+++ uspace/app/bnchmark/bnchmark.c	(revision c1694b6b243b360b5f1fbf0629b5e7d4f7f4a515)
@@ -41,4 +41,5 @@
 #include <stdlib.h>
 #include <stdint.h>
+#include <str_error.h>
 #include <mem.h>
 #include <loc.h>
@@ -186,5 +187,5 @@
 		rc = measure(fn, path, &milliseconds_taken);
 		if (rc != EOK) {
-			fprintf(stderr, "Error %d\n", rc);
+			fprintf(stderr, "Error: %s\n", str_error(rc));
 			return 1;
 		}
Index: uspace/app/devctl/devctl.c
===================================================================
--- uspace/app/devctl/devctl.c	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
+++ uspace/app/devctl/devctl.c	(revision c1694b6b243b360b5f1fbf0629b5e7d4f7f4a515)
@@ -324,5 +324,5 @@
 	rc = devman_driver_get_handle(drvname, &drvh);
 	if (rc != EOK) {
-		printf("Failed resolving driver '%s' (%d).\n", drvname, rc);
+		printf("Failed resolving driver '%s': %s.\n", drvname, str_error(rc));
 		return rc;
 	}
@@ -330,5 +330,5 @@
 	rc = devman_driver_load(drvh);
 	if (rc != EOK) {
-		printf("Failed loading driver '%s' (%d).\n", drvname, rc);
+		printf("Failed loading driver '%s': %s.\n", drvname, str_error(rc));
 		return rc;
 	}
@@ -344,5 +344,5 @@
 	rc = devman_driver_get_handle(drvname, &drvh);
 	if (rc != EOK) {
-		printf("Failed resolving driver '%s' (%d).\n", drvname, rc);
+		printf("Failed resolving driver '%s': %s.\n", drvname, str_error(rc));
 		return rc;
 	}
@@ -350,5 +350,5 @@
 	rc = devman_driver_unload(drvh);
 	if (rc != EOK) {
-		printf("Failed unloading driver '%s' (%d).\n", drvname, rc);
+		printf("Failed unloading driver '%s': %s.\n", drvname, str_error(rc));
 		return rc;
 	}
Index: uspace/app/fontviewer/fontviewer.c
===================================================================
--- uspace/app/fontviewer/fontviewer.c	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
+++ uspace/app/fontviewer/fontviewer.c	(revision c1694b6b243b360b5f1fbf0629b5e7d4f7f4a515)
@@ -38,4 +38,5 @@
 #include <stdlib.h>
 #include <stdbool.h>
+#include <str_error.h>
 #include <window.h>
 #include <canvas.h>
@@ -97,5 +98,5 @@
 	int rc = draw();
 	if (rc != EOK) {
-		printf("Failed drawing: %d.\n", rc);
+		printf("Failed drawing: %s.\n", str_error(rc));
 		exit(1);
 	}
@@ -276,5 +277,5 @@
 	int rc = draw();
 	if (rc != EOK) {
-		printf("Failed drawing: %d.\n", rc);
+		printf("Failed drawing: %s.\n", str_error(rc));
 		return 2;
 	}
Index: uspace/app/inet/inet.c
===================================================================
--- uspace/app/inet/inet.c	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
+++ uspace/app/inet/inet.c	(revision c1694b6b243b360b5f1fbf0629b5e7d4f7f4a515)
@@ -89,5 +89,5 @@
 	rc = loc_service_get_id(link_name, &link_id, 0);
 	if (rc != EOK) {
-		printf(NAME ": Service '%s' not found (%d).\n", link_name, rc);
+		printf(NAME ": Service '%s' not found: %s.\n", link_name, str_error(rc));
 		return ENOENT;
 	}
@@ -135,5 +135,6 @@
 	rc = loc_service_get_id(link_name, &link_id, 0);
 	if (rc != EOK) {
-		printf(NAME ": Service '%s' not found (%d).\n", link_name, rc);
+		printf(NAME ": Service '%s' not found: %s.\n", link_name,
+		    str_error(rc));
 		return ENOENT;
 	}
@@ -141,5 +142,6 @@
 	rc = inetcfg_addr_get_id(aobj_name, link_id, &addr_id);
 	if (rc != EOK) {
-		printf(NAME ": Address '%s' not found (%d).\n", aobj_name, rc);
+		printf(NAME ": Address '%s' not found: %s.\n", aobj_name,
+		    str_error(rc));
 		return ENOENT;
 	}
@@ -147,6 +149,6 @@
 	rc = inetcfg_addr_delete(addr_id);
 	if (rc != EOK) {
-		printf(NAME ": Failed deleting address '%s' (%d)\n", aobj_name,
-		    rc);
+		printf(NAME ": Failed deleting address '%s': %s\n", aobj_name,
+		    str_error(rc));
 		return EIO;
 	}
@@ -197,6 +199,6 @@
 	rc = inetcfg_sroute_create(route_name, &dest, &router, &sroute_id);
 	if (rc != EOK) {
-		printf(NAME ": Failed creating static route '%s' (%d)\n",
-		    route_name, rc);
+		printf(NAME ": Failed creating static route '%s': %s\n",
+		    route_name, str_error(rc));
 		return EIO;
 	}
@@ -227,6 +229,6 @@
 	rc = inetcfg_sroute_get_id(route_name, &sroute_id);
 	if (rc != EOK) {
-		printf(NAME ": Static route '%s' not found (%d).\n",
-		    route_name, rc);
+		printf(NAME ": Static route '%s' not found: %s.\n",
+		    route_name, str_error(rc));
 		return ENOENT;
 	}
@@ -234,6 +236,6 @@
 	rc = inetcfg_sroute_delete(sroute_id);
 	if (rc != EOK) {
-		printf(NAME ": Failed deleting static route '%s' (%d)\n",
-		    route_name, rc);
+		printf(NAME ": Failed deleting static route '%s': %s\n",
+		    route_name, str_error(rc));
 		return EIO;
 	}
@@ -486,6 +488,6 @@
 	rc = inetcfg_init();
 	if (rc != EOK) {
-		printf(NAME ": Failed connecting to internet service (%d).\n",
-		    rc);
+		printf(NAME ": Failed connecting to internet service: %s.\n",
+		    str_error(rc));
 		return 1;
 	}
Index: uspace/app/mkbd/main.c
===================================================================
--- uspace/app/mkbd/main.c	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
+++ uspace/app/mkbd/main.c	(revision c1694b6b243b360b5f1fbf0629b5e7d4f7f4a515)
@@ -237,4 +237,6 @@
 	rc = devman_fun_get_path(dev_handle, path, MAX_PATH_LENGTH);
 	if (rc != EOK) {
+		printf(NAME ": failed to get path (handle %"
+		       PRIun "): %s.\n", dev_handle, str_error(errno));
 		return ENOMEM;
 	}
@@ -262,4 +264,5 @@
 	uint8_t *event = (uint8_t *)malloc(size);
 	if (event == NULL) {
+		printf("Out of memory.\n");
 		// TODO: hangup phone?
 		return ENOMEM;
Index: uspace/app/modplay/modplay.c
===================================================================
--- uspace/app/modplay/modplay.c	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
+++ uspace/app/modplay/modplay.c	(revision c1694b6b243b360b5f1fbf0629b5e7d4f7f4a515)
@@ -40,4 +40,5 @@
 #include <stdio.h>
 #include <stdlib.h>
+#include <str_error.h>
 #include <trackmod.h>
 
@@ -117,5 +118,5 @@
 	rc = hound_context_connect_target(hound, HOUND_DEFAULT_TARGET);
 	if (rc != EOK) {
-		printf("Error connecting default audio target (%d).\n", rc);
+		printf("Error connecting default audio target: %s.\n", str_error(rc));
 		return 1;
 	}
Index: uspace/app/nterm/conn.c
===================================================================
--- uspace/app/nterm/conn.c	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
+++ uspace/app/nterm/conn.c	(revision c1694b6b243b360b5f1fbf0629b5e7d4f7f4a515)
@@ -75,5 +75,5 @@
 		rc = tcp_conn_recv(conn, recv_buf, RECV_BUF_SIZE, &nrecv);
 		if (rc != EOK) {
-			printf("\n[Receive error %d]\n", rc);
+			printf("\n[Receive error: %s]\n", str_error_name(rc));
 			break;
 		}
Index: uspace/app/ping/ping.c
===================================================================
--- uspace/app/ping/ping.c	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
+++ uspace/app/ping/ping.c	(revision c1694b6b243b360b5f1fbf0629b5e7d4f7f4a515)
@@ -145,6 +145,6 @@
 	int rc = inetping_send(&sdu);
 	if (rc != EOK)
-		printf("Failed sending echo request: %s (%d).\n",
-		    str_error(rc), rc);
+		printf("Failed sending echo request: %s: %s.\n",
+		    str_error_name(rc), str_error(rc));
 	
 	return rc;
@@ -225,5 +225,5 @@
 	if (rc != EOK) {
 		printf("Failed connecting to internet ping service: "
-		    "%s (%d).\n", str_error(rc), rc);
+		    "%s: %s.\n", str_error_name(rc), str_error(rc));
 		goto error;
 	}
Index: uspace/app/rcutest/rcutest.c
===================================================================
--- uspace/app/rcutest/rcutest.c	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
+++ uspace/app/rcutest/rcutest.c	(revision c1694b6b243b360b5f1fbf0629b5e7d4f7f4a515)
@@ -38,4 +38,5 @@
 #include <stdlib.h>
 #include <stdint.h>
+#include <str_error.h>
 #include <mem.h>
 #include <errno.h>
@@ -780,5 +781,5 @@
 		int ret = thread_create(dummy_fibril, NULL, "urcu-test-worker", &tid);
 		if (EOK != ret) {
-			printf("Failed to create thread '%zu' (error: %d)\n", k + 1, ret);
+			printf("Failed to create thread '%zu' (error: %s)\n", k + 1, str_error_name(ret));
 			return false;
 		}
Index: uspace/app/sysinst/sysinst.c
===================================================================
--- uspace/app/sysinst/sysinst.c	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
+++ uspace/app/sysinst/sysinst.c	(revision c1694b6b243b360b5f1fbf0629b5e7d4f7f4a515)
@@ -44,4 +44,5 @@
 #include <stdio.h>
 #include <stdlib.h>
+#include <str_error.h>
 #include <task.h>
 #include <vfs/vfs.h>
@@ -117,5 +118,5 @@
 	rc = fdisk_label_create(fdev, lt_mbr);
 	if (rc != EOK) {
-		printf("Error creating label (%d).\n", rc);
+		printf("Error creating label: %s.\n", str_error(rc));
 		return rc;
 	}
@@ -125,5 +126,5 @@
 	rc = fdisk_part_get_max_avail(fdev, spc_pri, &cap);
 	if (rc != EOK) {
-		printf("Error getting available capacity (%d).\n", rc);
+		printf("Error getting available capacity: %s.\n", str_error(rc));
 		return rc;
 	}
Index: uspace/app/taskdump/taskdump.c
===================================================================
--- uspace/app/taskdump/taskdump.c	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
+++ uspace/app/taskdump/taskdump.c	(revision c1694b6b243b360b5f1fbf0629b5e7d4f7f4a515)
@@ -142,5 +142,5 @@
 	int rc = udebug_begin(ksess);
 	if (rc < 0) {
-		printf("udebug_begin() -> %d\n", rc);
+		printf("udebug_begin() -> %s\n", str_error_name(rc));
 		return rc;
 	}
@@ -224,5 +224,5 @@
 	rc = udebug_thread_read(sess, &dummy_buf, 0, &copied, &needed);
 	if (rc < 0) {
-		printf("udebug_thread_read() -> %d\n", rc);
+		printf("udebug_thread_read() -> %s\n", str_error_name(rc));
 		return rc;
 	}
@@ -238,5 +238,5 @@
 	rc = udebug_thread_read(sess, thash_buf, buf_size, &copied, &needed);
 	if (rc < 0) {
-		printf("udebug_thread_read() -> %d\n", rc);
+		printf("udebug_thread_read() -> %s\n", str_error_name(rc));
 		return rc;
 	}
@@ -273,5 +273,5 @@
 	rc = udebug_areas_read(sess, &dummy_buf, 0, &copied, &needed);
 	if (rc < 0) {
-		printf("udebug_areas_read() -> %d\n", rc);
+		printf("udebug_areas_read() -> %s\n", str_error_name(rc));
 		return rc;
 	}
@@ -282,5 +282,5 @@
 	rc = udebug_areas_read(sess, ainfo_buf, buf_size, &copied, &needed);
 	if (rc < 0) {
-		printf("udebug_areas_read() -> %d\n", rc);
+		printf("udebug_areas_read() -> %s\n", str_error_name(rc));
 		return rc;
 	}
@@ -358,5 +358,5 @@
 	rc = udebug_regs_read(sess, thash, &istate);
 	if (rc < 0) {
-		printf("Failed reading registers (%d).\n", rc);
+		printf("Failed reading registers: %s.\n", str_error_name(rc));
 		return EIO;
 	}
Index: uspace/app/tester/chardev/chardev1.c
===================================================================
--- uspace/app/tester/chardev/chardev1.c	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
+++ uspace/app/tester/chardev/chardev1.c	(revision c1694b6b243b360b5f1fbf0629b5e7d4f7f4a515)
@@ -28,4 +28,5 @@
 
 #include <errno.h>
+#include <str_error.h>
 #include <ipc/services.h>
 #include <io/chardev.h>
@@ -177,5 +178,6 @@
 	}
 
-	TPRINTF("Sent %zu bytes and got rc = %d (expected)\n", nbytes, rc);
+	TPRINTF("Sent %zu bytes and got rc = %s (expected)\n", nbytes,
+	    str_error_name(rc));
 
 	rc = chardev_read(chardev, small_buffer, SMALL_BUFFER_SIZE, &nbytes);
@@ -186,5 +188,6 @@
 	}
 
-	TPRINTF("Received %zu bytes and got rc = %d (expected)\n", nbytes, rc);
+	TPRINTF("Received %zu bytes and got rc = %s (expected)\n", nbytes,
+	    str_error_name(rc));
 
 	chardev_close(chardev);
Index: uspace/app/tester/mm/mapping1.c
===================================================================
--- uspace/app/tester/mm/mapping1.c	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
+++ uspace/app/tester/mm/mapping1.c	(revision c1694b6b243b360b5f1fbf0629b5e7d4f7f4a515)
@@ -30,4 +30,5 @@
 #include <stdlib.h>
 #include <stddef.h>
+#include <str_error.h>
 #include <as.h>
 #include <errno.h>
@@ -74,6 +75,6 @@
 		int rc = as_get_physical_mapping(page_start, NULL);
 		if (rc != expected_rc) {
-			TPRINTF("as_get_physical_mapping() = %d != %d\n",
-			    rc, expected_rc);
+			TPRINTF("as_get_physical_mapping() = %s != %s\n",
+			    str_error_name(rc), str_error_name(expected_rc));
 			return false;
 		}
Index: uspace/app/tester/vfs/vfs1.c
===================================================================
--- uspace/app/tester/vfs/vfs1.c	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
+++ uspace/app/tester/vfs/vfs1.c	(revision c1694b6b243b360b5f1fbf0629b5e7d4f7f4a515)
@@ -31,4 +31,5 @@
 #include <stdlib.h>
 #include <stddef.h>
+#include <str_error.h>
 #include <str.h>
 #include <vfs/vfs.h>
@@ -95,5 +96,5 @@
 	TPRINTF("read..\n");
 	while ((rc = vfs_read(fd0, &pos, buf, BUF_SIZE, &cnt))) {
-		TPRINTF("read returns rc = %d, cnt = %zu\n", rc, cnt);
+		TPRINTF("read returns rc = %s, cnt = %zu\n", str_error_name(rc), cnt);
 		if (rc != EOK)
 			return "read() failed";
Index: uspace/app/trace/ipcp.c
===================================================================
--- uspace/app/trace/ipcp.c	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
+++ uspace/app/trace/ipcp.c	(revision c1694b6b243b360b5f1fbf0629b5e7d4f7f4a515)
@@ -35,4 +35,5 @@
 #include <stdio.h>
 #include <stdlib.h>
+#include <str_error.h>
 #include <inttypes.h>
 #include <adt/hash_table.h>
@@ -347,5 +348,5 @@
 {
 	if ((display_mask & DM_SYSTEM) != 0) {
-		printf("Hang phone %d up -> %d\n", phone, rc);
+		printf("Hang phone %d up -> %s\n", phone, str_error_name(rc));
 		ipcp_connection_clear(phone);
 	}
Index: uspace/app/trace/trace.c
===================================================================
--- uspace/app/trace/trace.c	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
+++ uspace/app/trace/trace.c	(revision c1694b6b243b360b5f1fbf0629b5e7d4f7f4a515)
@@ -164,5 +164,5 @@
 	int rc = udebug_begin(ksess);
 	if (rc < 0) {
-		printf("udebug_begin() -> %d\n", rc);
+		printf("udebug_begin() -> %s\n", str_error_name(rc));
 		return rc;
 	}
@@ -170,5 +170,5 @@
 	rc = udebug_set_evmask(ksess, UDEBUG_EM_ALL);
 	if (rc < 0) {
-		printf("udebug_set_evmask(0x%x) -> %d\n ", UDEBUG_EM_ALL, rc);
+		printf("udebug_set_evmask(0x%x) -> %s\n ", UDEBUG_EM_ALL, str_error_name(rc));
 		return rc;
 	}
@@ -188,5 +188,5 @@
 		THBUF_SIZE*sizeof(unsigned), &tb_copied, &tb_needed);
 	if (rc < 0) {
-		printf("udebug_thread_read() -> %d\n", rc);
+		printf("udebug_thread_read() -> %s\n", str_error_name(rc));
 		return rc;
 	}
@@ -605,5 +605,5 @@
 	rc = get_thread_list();
 	if (rc < 0) {
-		printf("Failed to get thread list (error %d)\n", rc);
+		printf("Failed to get thread list (%s)\n", str_error(rc));
 		return;
 	}
@@ -644,5 +644,5 @@
 			rc = udebug_stop(sess, thash);
 			if (rc != EOK)
-				printf("Error: stop -> %d\n", rc);
+				printf("Error: stop -> %s\n", str_error_name(rc));
 			break;
 		case KC_R:
Index: uspace/app/websrv/websrv.c
===================================================================
--- uspace/app/websrv/websrv.c	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
+++ uspace/app/websrv/websrv.c	(revision c1694b6b243b360b5f1fbf0629b5e7d4f7f4a515)
@@ -168,5 +168,5 @@
 		rc = tcp_conn_recv_wait(recv->conn, recv->rbuf, BUFFER_SIZE, &nrecv);
 		if (rc != EOK) {
-			fprintf(stderr, "tcp_conn_recv() failed (%d)\n", rc);
+			fprintf(stderr, "tcp_conn_recv() failed: %s\n", str_error(rc));
 			return rc;
 		}
Index: uspace/app/wifi_supplicant/wifi_supplicant.c
===================================================================
--- uspace/app/wifi_supplicant/wifi_supplicant.c	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
+++ uspace/app/wifi_supplicant/wifi_supplicant.c	(revision c1694b6b243b360b5f1fbf0629b5e7d4f7f4a515)
@@ -41,4 +41,5 @@
 #include <stdio.h>
 #include <stdlib.h>
+#include <str_error.h>
 #include <loc.h>
 
@@ -139,5 +140,5 @@
 	int rc = get_wifi_list(&wifis, &count);
 	if (rc != EOK) {
-		printf("Error fetching wifi list.\n");
+		printf("Error fetching wifi list: %s\n", str_error(rc));
 		return EINVAL;
 	}
@@ -148,5 +149,5 @@
 		rc = loc_service_get_name(wifis[i], &svc_name);
 		if (rc != EOK) {
-			printf("Error getting service name.\n");
+			printf("Error getting service name: %s\n", str_error(rc));
 			free(wifis);
 			return rc;
@@ -177,6 +178,6 @@
 			printf("Device is not ready yet.\n");
 		else
-			printf("Error when disconnecting device. "
-			    "Error: %d\n", rc);
+			printf("Error when disconnecting device: %s\n",
+			    str_error(rc));
 		
 		return rc;
@@ -192,6 +193,6 @@
 			printf("Given SSID not in scan results.\n");
 		else
-			printf("Error when connecting to network. "
-			    "Error: %d\n", rc);
+			printf("Error when connecting to network: %s\n",
+			    str_error(rc));
 		
 		return rc;
@@ -221,6 +222,6 @@
 			printf("Not connected to any WiFi network.\n");
 		else
-			printf("Error when disconnecting from network. "
-			    "Error: %d\n", rc);
+			printf("Error when disconnecting from network: %s\n",
+			    str_error(rc));
 		
 		return rc;
@@ -247,5 +248,6 @@
 			printf("Device is not ready yet.\n");
 		else
-			printf("Failed to fetch scan results. Error: %d\n", rc);
+			printf("Failed to fetch scan results: %s\n",
+			    str_error(rc));
 		
 		return rc;
@@ -277,6 +279,6 @@
 	int rc = inetcfg_init();
 	if (rc != EOK) {
-		printf("%s: Failed connecting to inetcfg service (%d).\n",
-		    NAME, rc);
+		printf("%s: Failed connecting to inetcfg service: %s.\n",
+		    NAME, str_error(rc));
 		return 1;
 	}
@@ -284,6 +286,6 @@
 	rc = dhcp_init();
 	if (rc != EOK) {
-		printf("%s: Failed connecting to dhcp service (%d).\n",
-		    NAME, rc);
+		printf("%s: Failed connecting to dhcp service: %s.\n",
+		    NAME, str_error(rc));
 		return 1;
 	}
Index: uspace/drv/audio/hdaudio/hdaudio.c
===================================================================
--- uspace/drv/audio/hdaudio/hdaudio.c	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
+++ uspace/drv/audio/hdaudio/hdaudio.c	(revision c1694b6b243b360b5f1fbf0629b5e7d4f7f4a515)
@@ -259,5 +259,5 @@
 	rc = hw_res_enable_interrupt(hda->parent_sess, res.irqs.irqs[0]);
 	if (rc != EOK) {
-		ddf_msg(LVL_ERROR, "Failed enabling interrupt. (%d)", rc);
+		ddf_msg(LVL_ERROR, "Failed enabling interrupt.: %s", str_error(rc));
 		goto error;
 	}
Index: uspace/drv/bus/usb/ehci/ehci_batch.c
===================================================================
--- uspace/drv/bus/usb/ehci/ehci_batch.c	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
+++ uspace/drv/bus/usb/ehci/ehci_batch.c	(revision c1694b6b243b360b5f1fbf0629b5e7d4f7f4a515)
@@ -234,8 +234,8 @@
 			    -= td_remain_size(ehci_batch->tds[i]);
 		} else {
-			usb_log_debug("Batch %p found error TD(%zu):%08x (%d).",
+			usb_log_debug("Batch %p found error TD(%zu):%08x: %s.",
 			    ehci_batch->usb_batch, i,
 			    ehci_batch->tds[i]->status,
-			    ehci_batch->usb_batch->error);
+			    str_error_name(ehci_batch->usb_batch->error));
 			/* Clear possible ED HALT */
 			qh_clear_halt(ehci_batch->qh);
Index: uspace/drv/char/pl050/pl050.c
===================================================================
--- uspace/drv/char/pl050/pl050.c	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
+++ uspace/drv/char/pl050/pl050.c	(revision c1694b6b243b360b5f1fbf0629b5e7d4f7f4a515)
@@ -35,4 +35,5 @@
 #include <stdio.h>
 #include <errno.h>
+#include <str_error.h>
 #include <ddf/driver.h>
 #include <ddf/interrupt.h>
@@ -223,5 +224,5 @@
 	rc = hw_res_enable_interrupt(pl050->parent_sess, res.irqs.irqs[0]);
 	if (rc != EOK) {
-		ddf_msg(LVL_ERROR, "Failed enabling interrupt. (%d)", rc);
+		ddf_msg(LVL_ERROR, "Failed enabling interrupt: %s", str_error(rc));
 		goto error;
 	}
@@ -349,5 +350,5 @@
 	rc = ddf_fun_bind(fun_a);
 	if (rc != EOK) {
-		ddf_msg(LVL_ERROR, "Failed binding function 'a'. (%d)", rc);
+		ddf_msg(LVL_ERROR, "Failed binding function 'a': %s", str_error(rc));
 		ddf_fun_destroy(fun_a);
 		goto error;
Index: uspace/drv/intctl/apic/apic.c
===================================================================
--- uspace/drv/intctl/apic/apic.c	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
+++ uspace/drv/intctl/apic/apic.c	(revision c1694b6b243b360b5f1fbf0629b5e7d4f7f4a515)
@@ -45,4 +45,5 @@
 #include <stdbool.h>
 #include <errno.h>
+#include <str_error.h>
 #include <async.h>
 #include <stdio.h>
@@ -237,5 +238,5 @@
 	rc = ddf_fun_bind(fun_a);
 	if (rc != EOK) {
-		ddf_msg(LVL_ERROR, "Failed binding function 'a'. (%d)", rc);
+		ddf_msg(LVL_ERROR, "Failed binding function 'a': %s", str_error(rc));
 		goto error;
 	}
Index: uspace/drv/intctl/i8259/i8259.c
===================================================================
--- uspace/drv/intctl/i8259/i8259.c	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
+++ uspace/drv/intctl/i8259/i8259.c	(revision c1694b6b243b360b5f1fbf0629b5e7d4f7f4a515)
@@ -45,4 +45,5 @@
 #include <stdbool.h>
 #include <errno.h>
+#include <str_error.h>
 #include <async.h>
 #include <stdio.h>
@@ -170,5 +171,5 @@
 	rc = ddf_fun_bind(fun_a);
 	if (rc != EOK) {
-		ddf_msg(LVL_ERROR, "Failed binding function 'a'. (%d)", rc);
+		ddf_msg(LVL_ERROR, "Failed binding function 'a': %s", str_error(rc));
 		goto error;
 	}
Index: uspace/drv/intctl/icp-ic/icp-ic.c
===================================================================
--- uspace/drv/intctl/icp-ic/icp-ic.c	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
+++ uspace/drv/intctl/icp-ic/icp-ic.c	(revision c1694b6b243b360b5f1fbf0629b5e7d4f7f4a515)
@@ -41,4 +41,5 @@
 #include <ddf/log.h>
 #include <errno.h>
+#include <str_error.h>
 #include <ipc/irc.h>
 #include <stdint.h>
@@ -136,5 +137,5 @@
 	rc = ddf_fun_bind(fun_a);
 	if (rc != EOK) {
-		ddf_msg(LVL_ERROR, "Failed binding function 'a'. (%d)", rc);
+		ddf_msg(LVL_ERROR, "Failed binding function 'a': %s", str_error(rc));
 		goto error;
 	}
Index: uspace/drv/intctl/obio/obio.c
===================================================================
--- uspace/drv/intctl/obio/obio.c	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
+++ uspace/drv/intctl/obio/obio.c	(revision c1694b6b243b360b5f1fbf0629b5e7d4f7f4a515)
@@ -47,4 +47,5 @@
 #include <ddi.h>
 #include <errno.h>
+#include <str_error.h>
 #include <inttypes.h>
 #include <ipc/irc.h>
@@ -138,5 +139,5 @@
 	rc = ddf_fun_bind(fun_a);
 	if (rc != EOK) {
-		ddf_msg(LVL_ERROR, "Failed binding function 'a'. (%d)", rc);
+		ddf_msg(LVL_ERROR, "Failed binding function 'a': %s", str_error(rc));
 		goto error;
 	}
Index: uspace/drv/platform/sun4v/sun4v.c
===================================================================
--- uspace/drv/platform/sun4v/sun4v.c	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
+++ uspace/drv/platform/sun4v/sun4v.c	(revision c1694b6b243b360b5f1fbf0629b5e7d4f7f4a515)
@@ -41,4 +41,5 @@
 #include <ddf/log.h>
 #include <errno.h>
+#include <str_error.h>
 #include <ops/hw_res.h>
 #include <ops/pio_window.h>
@@ -228,5 +229,5 @@
 	rc = sysinfo_get_value("niagara.inbuf.address", &paddr);
 	if (rc != EOK) {
-		ddf_msg(LVL_ERROR, "niagara.inbuf.address not set (%d)", rc);
+		ddf_msg(LVL_ERROR, "niagara.inbuf.address not set: %s", str_error(rc));
 		return rc;
 	}
@@ -236,5 +237,5 @@
 	rc = sysinfo_get_value("niagara.outbuf.address", &paddr);
 	if (rc != EOK) {
-		ddf_msg(LVL_ERROR, "niagara.outbuf.address not set (%d)", rc);
+		ddf_msg(LVL_ERROR, "niagara.outbuf.address not set: %s", str_error(rc));
 		return rc;
 	}
Index: uspace/lib/block/block.c
===================================================================
--- uspace/lib/block/block.c	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
+++ uspace/lib/block/block.c	(revision c1694b6b243b360b5f1fbf0629b5e7d4f7f4a515)
@@ -52,4 +52,5 @@
 #include <stdio.h>
 #include <stacktrace.h>
+#include <str_error.h>
 #include <offset.h>
 #include <inttypes.h>
@@ -925,6 +926,6 @@
 	int rc = bd_read_blocks(devcon->bd, ba, cnt, buf, size);
 	if (rc != EOK) {
-		printf("Error %d reading %zu blocks starting at block %" PRIuOFF64
-		    " from device handle %" PRIun "\n", rc, cnt, ba,
+		printf("Error %s reading %zu blocks starting at block %" PRIuOFF64
+		    " from device handle %" PRIun "\n", str_error_name(rc), cnt, ba,
 		    devcon->service_id);
 #ifndef NDEBUG
@@ -952,6 +953,6 @@
 	int rc = bd_write_blocks(devcon->bd, ba, cnt, data, size);
 	if (rc != EOK) {
-		printf("Error %d writing %zu blocks starting at block %" PRIuOFF64
-		    " to device handle %" PRIun "\n", rc, cnt, ba, devcon->service_id);
+		printf("Error %s writing %zu blocks starting at block %" PRIuOFF64
+		    " to device handle %" PRIun "\n", str_error_name(rc), cnt, ba, devcon->service_id);
 #ifndef NDEBUG
 		stacktrace_print();
Index: uspace/lib/c/generic/elf/elf_load.c
===================================================================
--- uspace/lib/c/generic/elf/elf_load.c	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
+++ uspace/lib/c/generic/elf/elf_load.c	(revision c1694b6b243b360b5f1fbf0629b5e7d4f7f4a515)
@@ -53,5 +53,5 @@
  * @param file File handle 
  * @param info Place to store ELF program information
- * @return EOK on success or non-zero error code
+ * @return EOK on success or an error code
  */
 int elf_load(int file, elf_info_t *info)
Index: uspace/srv/bd/file_bd/file_bd.c
===================================================================
--- uspace/srv/bd/file_bd/file_bd.c	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
+++ uspace/srv/bd/file_bd/file_bd.c	(revision c1694b6b243b360b5f1fbf0629b5e7d4f7f4a515)
@@ -48,4 +48,5 @@
 #include <stdint.h>
 #include <errno.h>
+#include <str_error.h>
 #include <stdbool.h>
 #include <task.h>
@@ -134,6 +135,6 @@
 	rc = loc_service_register(device_name, &service_id);
 	if (rc != EOK) {
-		printf("%s: Unable to register device '%s'.\n",
-		    NAME, device_name);
+		printf("%s: Unable to register device '%s': %s.\n",
+		    NAME, device_name, str_error(rc));
 		return rc;
 	}
@@ -141,5 +142,5 @@
 	rc = loc_category_get_id("disk", &disk_cat, IPC_FLAG_BLOCKING);
 	if (rc != EOK) {
-		printf("%s: Failed resolving category 'disk'.\n", NAME);
+		printf("%s: Failed resolving category 'disk': %s\n", NAME, str_error(rc));
 		return rc;
 	}
@@ -147,6 +148,6 @@
 	rc = loc_service_add_to_cat(service_id, disk_cat);
 	if (rc != EOK) {
-		printf("%s: Failed adding %s to category.",
-		    NAME, device_name);
+		printf("%s: Failed adding %s to category: %s",
+		    NAME, device_name, str_error(rc));
 		return rc;
 	}
Index: uspace/srv/bd/rd/rd.c
===================================================================
--- uspace/srv/bd/rd/rd.c	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
+++ uspace/srv/bd/rd/rd.c	(revision c1694b6b243b360b5f1fbf0629b5e7d4f7f4a515)
@@ -48,4 +48,5 @@
 #include <stdbool.h>
 #include <errno.h>
+#include <str_error.h>
 #include <async.h>
 #include <fibril_synch.h>
@@ -179,5 +180,5 @@
 	ret = loc_server_register(NAME);
 	if (ret != EOK) {
-		printf("%s: Unable to register driver (%d)\n", NAME, ret);
+		printf("%s: Unable to register driver: %s\n", NAME, str_error(ret));
 		return false;
 	}
Index: uspace/srv/bd/sata_bd/sata_bd.c
===================================================================
--- uspace/srv/bd/sata_bd/sata_bd.c	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
+++ uspace/srv/bd/sata_bd/sata_bd.c	(revision c1694b6b243b360b5f1fbf0629b5e7d4f7f4a515)
@@ -41,4 +41,5 @@
 #include <devman.h>
 #include <errno.h>
+#include <str_error.h>
 #include <stdio.h>
 #include <str.h>
@@ -251,5 +252,5 @@
 	rc = loc_server_register(NAME);
 	if (rc < 0) {
-		printf(NAME ": Unable to register driver.\n");
+		printf(NAME ": Unable to register driver: %s.\n", str_error(rc));
 		return rc;
 	}
@@ -257,4 +258,5 @@
 	rc = get_sata_disks();
 	if (rc != EOK) {
+		// TODO: log the error
 		return rc;
 	}
@@ -262,5 +264,5 @@
 	rc = loc_category_get_id("disk", &disk_cat, IPC_FLAG_BLOCKING);
 	if (rc != EOK) {
-		printf("%s: Failed resolving category 'disk'.\n", NAME);
+		printf("%s: Failed resolving category 'disk': %s.\n", NAME, str_error(rc));
 		return rc;
 	}
@@ -271,5 +273,5 @@
 		rc = loc_service_register(name, &disk[i].service_id);
 		if (rc != EOK) {
-			printf(NAME ": Unable to register device %s.\n", name);
+			printf(NAME ": Unable to register device %s: %s\n", name, str_error(rc));
 			return rc;
 		}
@@ -277,6 +279,6 @@
 		rc = loc_service_add_to_cat(disk[i].service_id, disk_cat);
 		if (rc != EOK) {
-			printf("%s: Failed adding %s to category.",
-			    NAME, disk[i].dev_name);
+			printf("%s: Failed adding %s to category: %s.",
+			    NAME, disk[i].dev_name, str_error(rc));
 			return rc;
 		}
Index: uspace/srv/bd/vbd/disk.c
===================================================================
--- uspace/srv/bd/vbd/disk.c	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
+++ uspace/srv/bd/vbd/disk.c	(revision c1694b6b243b360b5f1fbf0629b5e7d4f7f4a515)
@@ -38,4 +38,5 @@
 #include <block.h>
 #include <errno.h>
+#include <str_error.h>
 #include <io/log.h>
 #include <label/empty.h>
@@ -456,5 +457,5 @@
 	if (rc != EOK) {
 		log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering callback "
-		    "for disk discovery (%d).", rc);
+		    "for disk discovery: %s.", str_error(rc));
 		return rc;
 	}
@@ -1124,5 +1125,5 @@
 	if (rc != EOK) {
 		log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering "
-		    "service %s (%d).", name, rc);
+		    "service %s: %s.", name, str_error(rc));
 		free(name);
 		free(part);
Index: uspace/srv/bd/vbd/vbd.c
===================================================================
--- uspace/srv/bd/vbd/vbd.c	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
+++ uspace/srv/bd/vbd/vbd.c	(revision c1694b6b243b360b5f1fbf0629b5e7d4f7f4a515)
@@ -36,4 +36,5 @@
 #include <async.h>
 #include <errno.h>
+#include <str_error.h>
 #include <io/log.h>
 #include <ipc/services.h>
@@ -69,5 +70,5 @@
 	rc = loc_server_register(NAME);
 	if (rc != EOK) {
-		log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering server (%d).", rc);
+		log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering server: %s.", str_error(rc));
 		return EEXIST;
 	}
@@ -75,5 +76,5 @@
 	rc = loc_service_register(SERVICE_NAME_VBD, &ctl_sid);
 	if (rc != EOK) {
-		log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering service (%d).", rc);
+		log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering service: %s.", str_error(rc));
 		return EEXIST;
 	}
Index: uspace/srv/clipboard/clipboard.c
===================================================================
--- uspace/srv/clipboard/clipboard.c	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
+++ uspace/srv/clipboard/clipboard.c	(revision c1694b6b243b360b5f1fbf0629b5e7d4f7f4a515)
@@ -29,4 +29,5 @@
 #include <async.h>
 #include <errno.h>
+#include <str_error.h>
 #include <fibril_synch.h>
 #include <ipc/services.h>
@@ -188,5 +189,5 @@
 	rc = loc_server_register(NAME);
 	if (rc != EOK) {
-		printf("%s: Failed registering server. (%d)\n", NAME, rc);
+		printf("%s: Failed registering server: %s\n", NAME, str_error(rc));
 		return rc;
 	}
@@ -194,5 +195,5 @@
 	rc = loc_service_register(SERVICE_NAME_CLIPBOARD, &svc_id);
 	if (rc != EOK) {
-		printf("%s: Failed registering service. (%d)\n", NAME, rc);
+		printf("%s: Failed registering service : %s\n", NAME, str_error(rc));
 		return rc;
 	}
Index: uspace/srv/devman/main.c
===================================================================
--- uspace/srv/devman/main.c	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
+++ uspace/srv/devman/main.c	(revision c1694b6b243b360b5f1fbf0629b5e7d4f7f4a515)
@@ -42,4 +42,5 @@
 #include <stdio.h>
 #include <errno.h>
+#include <str_error.h>
 #include <stdbool.h>
 #include <fibril_synch.h>
@@ -318,5 +319,5 @@
 	int rc = log_init(NAME);
 	if (rc != EOK) {
-		printf("%s: Error initializing logging subsystem.\n", NAME);
+		printf("%s: Error initializing logging subsystem: %s\n", NAME, str_error(rc));
 		return rc;
 	}
@@ -329,21 +330,29 @@
 	rc = async_create_port(INTERFACE_DDF_DRIVER,
 	    devman_connection_driver, NULL, &port);
-	if (rc != EOK)
-		return rc;
+	if (rc != EOK) {
+		printf("%s: Error creating DDF driver port: %s\n", NAME, str_error(rc));
+		return rc;
+	}
 	
 	rc = async_create_port(INTERFACE_DDF_CLIENT,
 	    devman_connection_client, NULL, &port);
-	if (rc != EOK)
-		return rc;
+	if (rc != EOK) {
+		printf("%s: Error creating DDF client port: %s\n", NAME, str_error(rc));
+		return rc;
+	}
 	
 	rc = async_create_port(INTERFACE_DEVMAN_DEVICE,
 	    devman_connection_device, NULL, &port);
-	if (rc != EOK)
-		return rc;
+	if (rc != EOK) {
+		printf("%s: Error creating devman device port: %s\n", NAME, str_error(rc));
+		return rc;
+	}
 	
 	rc = async_create_port(INTERFACE_DEVMAN_PARENT,
 	    devman_connection_parent, NULL, &port);
-	if (rc != EOK)
-		return rc;
+	if (rc != EOK) {
+		printf("%s: Error creating devman parent port: %s\n", NAME, str_error(rc));
+		return rc;
+	}
 	
 	async_set_fallback_port_handler(devman_forward, NULL);
@@ -357,5 +366,5 @@
 	rc = service_register(SERVICE_DEVMAN);
 	if (rc != EOK) {
-		log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering as a service.");
+		log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering as a service: %s", str_error(rc));
 		return rc;
 	}
Index: uspace/srv/fs/cdfs/cdfs.c
===================================================================
--- uspace/srv/fs/cdfs/cdfs.c	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
+++ uspace/srv/fs/cdfs/cdfs.c	(revision c1694b6b243b360b5f1fbf0629b5e7d4f7f4a515)
@@ -41,4 +41,5 @@
 #include <ns.h>
 #include <errno.h>
+#include <str_error.h>
 #include <stdio.h>
 #include <libfs.h>
@@ -83,5 +84,5 @@
 	    &cdfs_libfs_ops);
 	if (rc != EOK) {
-		printf("%s: Failed to register file system (%d)\n", NAME, rc);
+		printf("%s: Failed to register file system: %s\n", NAME, str_error(rc));
 		return rc;
 	}
Index: uspace/srv/fs/exfat/exfat.c
===================================================================
--- uspace/srv/fs/exfat/exfat.c	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
+++ uspace/srv/fs/exfat/exfat.c	(revision c1694b6b243b360b5f1fbf0629b5e7d4f7f4a515)
@@ -43,4 +43,5 @@
 #include <async.h>
 #include <errno.h>
+#include <str_error.h>
 #include <task.h>
 #include <stdio.h>
@@ -95,5 +96,5 @@
 
 err:
-	printf(NAME ": Failed to register file system (%d)\n", rc);
+	printf(NAME ": Failed to register file system: %s\n", str_error(rc));
 	return rc;
 }
Index: uspace/srv/fs/fat/fat.c
===================================================================
--- uspace/srv/fs/fat/fat.c	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
+++ uspace/srv/fs/fat/fat.c	(revision c1694b6b243b360b5f1fbf0629b5e7d4f7f4a515)
@@ -43,4 +43,5 @@
 #include <async.h>
 #include <errno.h>
+#include <str_error.h>
 #include <task.h>
 #include <stdio.h>
@@ -95,5 +96,5 @@
 	
 err:
-	printf(NAME ": Failed to register file system (%d)\n", rc);
+	printf(NAME ": Failed to register file system: %s\n", str_error(rc));
 	return rc;
 }
Index: uspace/srv/fs/locfs/locfs.c
===================================================================
--- uspace/srv/fs/locfs/locfs.c	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
+++ uspace/srv/fs/locfs/locfs.c	(revision c1694b6b243b360b5f1fbf0629b5e7d4f7f4a515)
@@ -44,4 +44,5 @@
 #include <async.h>
 #include <errno.h>
+#include <str_error.h>
 #include <task.h>
 #include <libfs.h>
@@ -87,5 +88,5 @@
 	    &locfs_libfs_ops);
 	if (rc != EOK) {
-		printf("%s: Failed to register file system (%d)\n", NAME, rc);
+		printf("%s: Failed to register file system: %s\n", NAME, str_error(rc));
 		return rc;
 	}
Index: uspace/srv/fs/mfs/mfs.c
===================================================================
--- uspace/srv/fs/mfs/mfs.c	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
+++ uspace/srv/fs/mfs/mfs.c	(revision c1694b6b243b360b5f1fbf0629b5e7d4f7f4a515)
@@ -44,4 +44,5 @@
 #include <async.h>
 #include <errno.h>
+#include <str_error.h>
 #include <task.h>
 #include <stdio.h>
@@ -97,5 +98,5 @@
 
 err:
-	printf(NAME ": Failed to register file system (%d)\n", rc);
+	printf(NAME ": Failed to register file system: %s\n", str_error(rc));
 	return rc;
 }
Index: uspace/srv/fs/tmpfs/tmpfs.c
===================================================================
--- uspace/srv/fs/tmpfs/tmpfs.c	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
+++ uspace/srv/fs/tmpfs/tmpfs.c	(revision c1694b6b243b360b5f1fbf0629b5e7d4f7f4a515)
@@ -46,4 +46,5 @@
 #include <async.h>
 #include <errno.h>
+#include <str_error.h>
 #include <stdio.h>
 #include <task.h>
@@ -89,5 +90,5 @@
 	    &tmpfs_libfs_ops);
 	if (rc != EOK) {
-		printf(NAME ": Failed to register file system (%d)\n", rc);
+		printf(NAME ": Failed to register file system: %s\n", str_error(rc));
 		return rc;
 	}
Index: uspace/srv/fs/udf/udf.c
===================================================================
--- uspace/srv/fs/udf/udf.c	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
+++ uspace/srv/fs/udf/udf.c	(revision c1694b6b243b360b5f1fbf0629b5e7d4f7f4a515)
@@ -41,4 +41,5 @@
 #include <async.h>
 #include <errno.h>
+#include <str_error.h>
 #include <task.h>
 #include <libfs.h>
@@ -96,5 +97,5 @@
 	
 err:
-	log_msg(LOG_DEFAULT, LVL_FATAL, "Failed to register file system (%d)", rc);
+	log_msg(LOG_DEFAULT, LVL_FATAL, "Failed to register file system: %s", str_error(rc));
 	return rc;
 }
Index: uspace/srv/locsrv/locsrv.c
===================================================================
--- uspace/srv/locsrv/locsrv.c	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
+++ uspace/srv/locsrv/locsrv.c	(revision c1694b6b243b360b5f1fbf0629b5e7d4f7f4a515)
@@ -47,4 +47,5 @@
 #include <stdlib.h>
 #include <str.h>
+#include <str_error.h>
 #include <ipc/loc.h>
 #include <assert.h>
@@ -1529,11 +1530,15 @@
 	int rc = async_create_port(INTERFACE_LOC_SUPPLIER,
 	    loc_connection_supplier, NULL, &port);
-	if (rc != EOK)
+	if (rc != EOK) {
+		printf("%s: Error while creating supplier port: %s\n", NAME, str_error(rc));
 		return rc;
+	}
 	
 	rc = async_create_port(INTERFACE_LOC_CONSUMER,
 	    loc_connection_consumer, NULL, &port);
-	if (rc != EOK)
+	if (rc != EOK) {
+		printf("%s: Error while creating consumer port: %s\n", NAME, str_error(rc));
 		return rc;
+	}
 	
 	/* Set a handler of incomming connections */
@@ -1542,6 +1547,8 @@
 	/* Register location service at naming service */
 	rc = service_register(SERVICE_LOC);
-	if (rc != EOK)
+	if (rc != EOK) {
+		printf("%s: Error while registering service: %s\n", NAME, str_error(rc));
 		return rc;
+	}
 	
 	printf("%s: Accepting connections\n", NAME);
Index: uspace/srv/logger/main.c
===================================================================
--- uspace/srv/logger/main.c	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
+++ uspace/srv/logger/main.c	(revision c1694b6b243b360b5f1fbf0629b5e7d4f7f4a515)
@@ -72,11 +72,15 @@
 	int rc = async_create_port(INTERFACE_LOGGER_CONTROL,
 	    connection_handler_control, NULL, &port);
-	if (rc != EOK)
+	if (rc != EOK) {
+		printf("%s: Error while creating control port: %s\n", NAME, str_error(rc));
 		return rc;
+	}
 	
 	rc = async_create_port(INTERFACE_LOGGER_WRITER,
 	    connection_handler_writer, NULL, &port);
-	if (rc != EOK)
+	if (rc != EOK) {
+		printf("%s: Error while creating writer port: %s\n", NAME, str_error(rc));
 		return rc;
+	}
 	
 	rc = service_register(SERVICE_LOGGER);
Index: uspace/srv/net/dhcp/dhcp.c
===================================================================
--- uspace/srv/net/dhcp/dhcp.c	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
+++ uspace/srv/net/dhcp/dhcp.c	(revision c1694b6b243b360b5f1fbf0629b5e7d4f7f4a515)
@@ -39,4 +39,5 @@
 #include <byteorder.h>
 #include <errno.h>
+#include <str_error.h>
 #include <fibril_synch.h>
 #include <inet/addr.h>
@@ -370,5 +371,5 @@
 	if (rc != EOK) {
 		log_msg(LOG_DEFAULT, LVL_ERROR,
-		    "Error creating IP address %s (%d)", "dhcp4a", rc);
+		    "Error creating IP address %s: %s", "dhcp4a", str_error(rc));
 		return rc;
 	}
@@ -380,5 +381,5 @@
 		if (rc != EOK) {
 			log_msg(LOG_DEFAULT, LVL_ERROR, "Error creating "
-			    "default route %s (%d).", "dhcpdef", rc);
+			    "default route %s: %s.", "dhcpdef", str_error(rc));
 			return rc;
 		}
@@ -389,5 +390,5 @@
 		if (rc != EOK) {
 			log_msg(LOG_DEFAULT, LVL_ERROR, "Error setting "
-			    "nameserver address (%d))", rc);
+			    "nameserver address: %s)", str_error(rc));
 			return rc;
 		}
Index: uspace/srv/net/dhcp/main.c
===================================================================
--- uspace/srv/net/dhcp/main.c	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
+++ uspace/srv/net/dhcp/main.c	(revision c1694b6b243b360b5f1fbf0629b5e7d4f7f4a515)
@@ -36,4 +36,5 @@
 #include <async.h>
 #include <errno.h>
+#include <str_error.h>
 #include <io/log.h>
 #include <inet/inetcfg.h>
@@ -69,5 +70,5 @@
 	rc = loc_server_register(NAME);
 	if (rc != EOK) {
-		log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering server (%d).", rc);
+		log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering server: %s.", str_error(rc));
 		return EEXIST;
 	}
@@ -76,5 +77,5 @@
 	rc = loc_service_register(SERVICE_NAME_DHCP, &sid);
 	if (rc != EOK) {
-		log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering service (%d).", rc);
+		log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering service: %s.", str_error(rc));
 		return EEXIST;
 	}
Index: uspace/srv/net/dnsrsrv/dnsrsrv.c
===================================================================
--- uspace/srv/net/dnsrsrv/dnsrsrv.c	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
+++ uspace/srv/net/dnsrsrv/dnsrsrv.c	(revision c1694b6b243b360b5f1fbf0629b5e7d4f7f4a515)
@@ -36,4 +36,5 @@
 #include <async.h>
 #include <errno.h>
+#include <str_error.h>
 #include <io/log.h>
 #include <ipc/dnsr.h>
@@ -68,5 +69,5 @@
 	rc = loc_server_register(NAME);
 	if (rc != EOK) {
-		log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering server (%d).", rc);
+		log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering server: %s.", str_error(rc));
 		transport_fini();
 		return EEXIST;
@@ -76,5 +77,5 @@
 	rc = loc_service_register(SERVICE_NAME_DNSR, &sid);
 	if (rc != EOK) {
-		log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering service (%d).", rc);
+		log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering service: %s.", str_error(rc));
 		transport_fini();
 		return EEXIST;
Index: uspace/srv/net/dnsrsrv/transport.c
===================================================================
--- uspace/srv/net/dnsrsrv/transport.c	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
+++ uspace/srv/net/dnsrsrv/transport.c	(revision c1694b6b243b360b5f1fbf0629b5e7d4f7f4a515)
@@ -36,4 +36,5 @@
 #include <adt/list.h>
 #include <errno.h>
+#include <str_error.h>
 #include <fibril_synch.h>
 #include <inet/addr.h>
@@ -199,5 +200,5 @@
 		    req_size);
 		if (rc != EOK) {
-			log_msg(LOG_DEFAULT, LVL_DEBUG, "Error %d sending message", rc);
+			log_msg(LOG_DEFAULT, LVL_DEBUG, "Error sending message: %s", str_error(rc));
 			goto error;
 		}
Index: uspace/srv/net/ethip/ethip_nic.c
===================================================================
--- uspace/srv/net/ethip/ethip_nic.c	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
+++ uspace/srv/net/ethip/ethip_nic.c	(revision c1694b6b243b360b5f1fbf0629b5e7d4f7f4a515)
@@ -39,4 +39,5 @@
 #include <stdbool.h>
 #include <errno.h>
+#include <str_error.h>
 #include <fibril_synch.h>
 #include <inet/iplink_srv.h>
@@ -280,5 +281,5 @@
 	free(data);
 
-	log_msg(LOG_DEFAULT, LVL_DEBUG, "ethip_nic_received() done, rc=%d", rc);
+	log_msg(LOG_DEFAULT, LVL_DEBUG, "ethip_nic_received() done, rc=%s", str_error_name(rc));
 	async_answer_0(callid, rc);
 }
@@ -328,5 +329,5 @@
 	if (rc != EOK) {
 		log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering callback for NIC "
-		    "discovery (%d).", rc);
+		    "discovery: %s.", str_error(rc));
 		return rc;
 	}
@@ -357,5 +358,5 @@
 	log_msg(LOG_DEFAULT, LVL_DEBUG, "ethip_nic_send(size=%zu)", size);
 	rc = nic_send_frame(nic->sess, data, size);
-	log_msg(LOG_DEFAULT, LVL_DEBUG, "nic_send_frame -> %d", rc);
+	log_msg(LOG_DEFAULT, LVL_DEBUG, "nic_send_frame -> %s", str_error_name(rc));
 	return rc;
 }
Index: uspace/srv/net/inetsrv/inet_link.c
===================================================================
--- uspace/srv/net/inetsrv/inet_link.c	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
+++ uspace/srv/net/inetsrv/inet_link.c	(revision c1694b6b243b360b5f1fbf0629b5e7d4f7f4a515)
@@ -37,4 +37,5 @@
 #include <stdbool.h>
 #include <errno.h>
+#include <str_error.h>
 #include <fibril_synch.h>
 #include <inet/iplink.h>
@@ -114,5 +115,5 @@
 	log_msg(LOG_DEFAULT, LVL_DEBUG, "call inet_recv_packet()");
 	rc = inet_recv_packet(&packet);
-	log_msg(LOG_DEFAULT, LVL_DEBUG, "call inet_recv_packet -> %d", rc);
+	log_msg(LOG_DEFAULT, LVL_DEBUG, "call inet_recv_packet -> %s", str_error_name(rc));
 	free(packet.data);
 
Index: uspace/srv/net/inetsrv/inetsrv.c
===================================================================
--- uspace/srv/net/inetsrv/inetsrv.c	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
+++ uspace/srv/net/inetsrv/inetsrv.c	(revision c1694b6b243b360b5f1fbf0629b5e7d4f7f4a515)
@@ -38,4 +38,5 @@
 #include <async.h>
 #include <errno.h>
+#include <str_error.h>
 #include <fibril_synch.h>
 #include <io/log.h>
@@ -105,5 +106,5 @@
 	rc = loc_server_register(NAME);
 	if (rc != EOK) {
-		log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering server (%d).", rc);
+		log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering server: %s.", str_error(rc));
 		return EEXIST;
 	}
@@ -112,5 +113,5 @@
 	rc = loc_service_register(SERVICE_NAME_INET, &sid);
 	if (rc != EOK) {
-		log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering service (%d).", rc);
+		log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering service: %s.", str_error(rc));
 		return EEXIST;
 	}
Index: uspace/srv/net/loopip/loopip.c
===================================================================
--- uspace/srv/net/loopip/loopip.c	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
+++ uspace/srv/net/loopip/loopip.c	(revision c1694b6b243b360b5f1fbf0629b5e7d4f7f4a515)
@@ -38,4 +38,5 @@
 #include <async.h>
 #include <errno.h>
+#include <str_error.h>
 #include <inet/iplink_srv.h>
 #include <inet/addr.h>
@@ -251,11 +252,13 @@
 	int rc = log_init(NAME);
 	if (rc != EOK) {
-		printf("%s: Failed to initialize logging.\n", NAME);
+		printf("%s: Failed to initialize logging: %s.\n", NAME, str_error(rc));
 		return rc;
 	}
 	
 	rc = loopip_init();
-	if (rc != EOK)
-		return rc;
+	if (rc != EOK) {
+		printf("%s: Failed to initialize loopip: %s.\n", NAME, str_error(rc));
+		return rc;
+	}
 	
 	printf("%s: Accepting connections.\n", NAME);
Index: uspace/srv/net/nconfsrv/iplink.c
===================================================================
--- uspace/srv/net/nconfsrv/iplink.c	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
+++ uspace/srv/net/nconfsrv/iplink.c	(revision c1694b6b243b360b5f1fbf0629b5e7d4f7f4a515)
@@ -37,4 +37,5 @@
 #include <stdbool.h>
 #include <errno.h>
+#include <str_error.h>
 #include <fibril_synch.h>
 #include <inet/dhcp.h>
@@ -181,5 +182,5 @@
 	if (rc != EOK) {
 		log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering callback for IP link "
-		    "discovery (%d).", rc);
+		    "discovery: %s.", str_error(rc));
 		return rc;
 	}
Index: uspace/srv/net/nconfsrv/nconfsrv.c
===================================================================
--- uspace/srv/net/nconfsrv/nconfsrv.c	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
+++ uspace/srv/net/nconfsrv/nconfsrv.c	(revision c1694b6b243b360b5f1fbf0629b5e7d4f7f4a515)
@@ -38,4 +38,5 @@
 #include <async.h>
 #include <errno.h>
+#include <str_error.h>
 #include <fibril_synch.h>
 #include <inet/dhcp.h>
@@ -80,5 +81,5 @@
 	rc = loc_server_register(NAME);
 	if (rc != EOK) {
-		log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering server (%d).", rc);
+		log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering server: %s.", str_error(rc));
 		return EEXIST;
 	}
@@ -86,5 +87,5 @@
 	rc = loc_service_register(SERVICE_NAME_NETCONF, &sid);
 	if (rc != EOK) {
-		log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering service (%d).", rc);
+		log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering service: %s.", str_error(rc));
 		return EEXIST;
 	}
Index: uspace/srv/net/slip/slip.c
===================================================================
--- uspace/srv/net/slip/slip.c	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
+++ uspace/srv/net/slip/slip.c	(revision c1694b6b243b360b5f1fbf0629b5e7d4f7f4a515)
@@ -37,4 +37,5 @@
 #include <stdio.h>
 #include <stdint.h>
+#include <stdlib.h>
 #include <loc.h>
 #include <inet/addr.h>
@@ -43,4 +44,5 @@
 #include <io/log.h>
 #include <errno.h>
+#include <str_error.h>
 #include <task.h>
 
@@ -108,5 +110,5 @@
 		if (rc != EOK) {
 			log_msg(LOG_DEFAULT, LVL_ERROR,
-			    "chardev_write() returned %d", rc);
+			    "chardev_write() -> %s", str_error_name(rc));
 			slip_send_pending = 0;
 			break;
@@ -213,5 +215,5 @@
 		if (rc != EOK) {
 			log_msg(LOG_DEFAULT, LVL_ERROR,
-			    "char_dev_read() returned %d", rc);
+			    "char_dev_read() -> %s", str_error_name(rc));
 		}
 
@@ -285,5 +287,5 @@
 		if (rc != EOK) {
 			log_msg(LOG_DEFAULT, LVL_ERROR,
-			    "iplink_ev_recv() returned %d", rc);
+			    "iplink_ev_recv() -> %s", str_error_name(rc));
 		}
 	}
Index: uspace/srv/net/tcp/service.c
===================================================================
--- uspace/srv/net/tcp/service.c	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
+++ uspace/srv/net/tcp/service.c	(revision c1694b6b243b360b5f1fbf0629b5e7d4f7f4a515)
@@ -37,4 +37,5 @@
 #include <async.h>
 #include <errno.h>
+#include <str_error.h>
 #include <inet/endpoint.h>
 #include <inet/inet.h>
@@ -1095,5 +1096,5 @@
 	rc = tcp_conn_recv_impl(client, conn_id, data, size, &rsize);
 	if (rc != EOK) {
-		log_msg(LOG_DEFAULT, LVL_DEBUG, "tcp_conn_recv_wait_srv - recv_impl failed rc=%d", rc);
+		log_msg(LOG_DEFAULT, LVL_DEBUG, "tcp_conn_recv_wait_srv - recv_impl failed rc=%s", str_error_name(rc));
 		async_answer_0(callid, rc);
 		async_answer_0(iid, rc);
Index: uspace/srv/taskmon/taskmon.c
===================================================================
--- uspace/srv/taskmon/taskmon.c	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
+++ uspace/srv/taskmon/taskmon.c	(revision c1694b6b243b360b5f1fbf0629b5e7d4f7f4a515)
@@ -150,6 +150,6 @@
 	int rc = loc_server_register(NAME);
 	if (rc != EOK) {
-		printf("%s: Failed registering server (%d).\n",
-		    NAME, rc);
+		printf("%s: Failed registering server: %s.\n",
+		    NAME, str_error(rc));
 		return -1;
 	}
@@ -158,6 +158,6 @@
 	rc = loc_service_register(SERVICE_NAME_CORECFG, &sid);
 	if (rc != EOK) {
-		printf("%s: Failed registering service (%d).\n",
-		    NAME, rc);
+		printf("%s: Failed registering service: %s.\n",
+		    NAME, str_error(rc));
 		return -1;
 	}
Index: uspace/srv/test/chardev-test/main.c
===================================================================
--- uspace/srv/test/chardev-test/main.c	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
+++ uspace/srv/test/chardev-test/main.c	(revision c1694b6b243b360b5f1fbf0629b5e7d4f7f4a515)
@@ -29,4 +29,5 @@
 #include <async.h>
 #include <errno.h>
+#include <str_error.h>
 #include <io/chardev_srv.h>
 #include <ipc/services.h>
@@ -112,5 +113,5 @@
 	rc = loc_server_register(NAME);
 	if (rc != EOK) {
-		printf("%s: Failed registering server. (%d)\n", NAME, rc);
+		printf("%s: Failed registering server.: %s\n", NAME, str_error(rc));
 		return rc;
 	}
@@ -130,5 +131,5 @@
 	rc = loc_service_register(SERVICE_NAME_CHARDEV_TEST_SMALLX, &smallx_svc_id);
 	if (rc != EOK) {
-		printf("%s: Failed registering service. (%d)\n", NAME, rc);
+		printf("%s: Failed registering service.: %s\n", NAME, str_error(rc));
 		return rc;
 	}
@@ -136,5 +137,5 @@
 	rc = loc_service_register(SERVICE_NAME_CHARDEV_TEST_LARGEX, &largex_svc_id);
 	if (rc != EOK) {
-		printf("%s: Failed registering service. (%d)\n", NAME, rc);
+		printf("%s: Failed registering service.: %s\n", NAME, str_error(rc));
 		return rc;
 	}
@@ -142,5 +143,5 @@
 	rc = loc_service_register(SERVICE_NAME_CHARDEV_TEST_PARTIALX, &partialx_svc_id);
 	if (rc != EOK) {
-		printf("%s: Failed registering service. (%d)\n", NAME, rc);
+		printf("%s: Failed registering service.: %s\n", NAME, str_error(rc));
 		return rc;
 	}
Index: uspace/srv/vfs/vfs.c
===================================================================
--- uspace/srv/vfs/vfs.c	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
+++ uspace/srv/vfs/vfs.c	(revision c1694b6b243b360b5f1fbf0629b5e7d4f7f4a515)
@@ -44,4 +44,5 @@
 #include <async.h>
 #include <errno.h>
+#include <str_error.h>
 #include <stdio.h>
 #include <stdbool.h>
@@ -122,7 +123,9 @@
 	port_id_t port;
 	rc = async_create_port(INTERFACE_PAGER, vfs_pager, NULL, &port);
-	if (rc != EOK)
+	if (rc != EOK) {
+		printf("%s: Cannot create pager port: %s\n", NAME, str_error(rc));
 		return rc;
-		
+	}
+
 	/*
 	 * Set a connection handling function/fibril.
@@ -141,5 +144,5 @@
 	rc = service_register(SERVICE_VFS);
 	if (rc != EOK) {
-		printf("%s: Cannot register VFS service\n", NAME);
+		printf("%s: Cannot register VFS service: %s\n", NAME, str_error(rc));
 		return rc;
 	}
Index: uspace/srv/volsrv/part.c
===================================================================
--- uspace/srv/volsrv/part.c	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
+++ uspace/srv/volsrv/part.c	(revision c1694b6b243b360b5f1fbf0629b5e7d4f7f4a515)
@@ -37,4 +37,5 @@
 #include <stdbool.h>
 #include <errno.h>
+#include <str_error.h>
 #include <fibril_synch.h>
 #include <io/log.h>
@@ -271,5 +272,5 @@
 	if (rc != EOK) {
 		log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering callback "
-		    "for partition discovery (%d).", rc);
+		    "for partition discovery: %s.", str_error(rc));
 		return rc;
 	}
Index: uspace/srv/volsrv/volsrv.c
===================================================================
--- uspace/srv/volsrv/volsrv.c	(revision 9eb1ff5d8638a1ce98e59a7f0b7a667dc2e02a0a)
+++ uspace/srv/volsrv/volsrv.c	(revision c1694b6b243b360b5f1fbf0629b5e7d4f7f4a515)
@@ -36,4 +36,5 @@
 #include <async.h>
 #include <errno.h>
+#include <str_error.h>
 #include <io/log.h>
 #include <ipc/services.h>
@@ -70,5 +71,5 @@
 	rc = loc_server_register(NAME);
 	if (rc != EOK) {
-		log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering server (%d).", rc);
+		log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering server: %s.", str_error(rc));
 		return EEXIST;
 	}
@@ -77,5 +78,5 @@
 	rc = loc_service_register(SERVICE_NAME_VOLSRV, &sid);
 	if (rc != EOK) {
-		log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering service (%d).", rc);
+		log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering service: %s.", str_error(rc));
 		return EEXIST;
 	}
