Index: network-manager-1.4.2/src/platform/nm-linux-platform.c
===================================================================
--- network-manager-1.4.2.orig/src/platform/nm-linux-platform.c
+++ network-manager-1.4.2/src/platform/nm-linux-platform.c
@@ -587,8 +587,13 @@ _linktype_read_devtype (const char *ifna
 	                NM_ASSERT_VALID_PATH_COMPONENT (ifname));
 	nm_assert (strlen (uevent) < sizeof (uevent) - 1);
 
-	if (!g_file_get_contents (uevent, &contents, NULL, NULL))
+	if (!g_file_get_contents (uevent, &contents, NULL, NULL)) {
+		if (!g_file_test (uevent, G_FILE_TEST_EXISTS)) {	
+			_LOG2T ("platform-linux: %s() return NULL because %s not existed",
+				   __func__, uevent);
+		}
 		return NULL;
+	}
 	for (cont = contents; cont; cont = end) {
 		end = strpbrk (cont, "\r\n");
 		if (end)
@@ -643,6 +648,10 @@ _linktype_get_type (NMPlatform *platform
 		        || !g_strcmp0 (kind, obj->link.kind))) {
 			nm_assert (obj->link.kind == g_intern_string (obj->link.kind));
 			*out_kind = obj->link.kind;
+			_LOGT ("platform-linux: %s() return cached type %d (%s) for %s",
+				   __func__,
+				   obj->link.type, nm_link_type_to_string(obj->link.type),
+				   ifname);
 			return obj->link.type;
 		}
 	}
@@ -724,8 +733,14 @@ _linktype_get_type (NMPlatform *platform
 		}
 
 		/* Fallback for drivers that don't call SET_NETDEV_DEVTYPE() */
-		if (wifi_utils_is_wifi (ifname))
+		if (wifi_utils_is_wifi (ifname)) {
+			_LOGT ("platform-linux: %s() wifi_utils_is_wifi() thinks %s is a WiFi device",
+				   __func__, ifname);
 			return NM_LINK_TYPE_WIFI;
+		} else {	
+			_LOGT ("platform-linux: %s() wifi_utils_is_wifi() do not think %s is a WiFi device",
+				   __func__, ifname);
+		}
 
 		if (arptype == ARPHRD_ETHER) {
 			/* Misc non-upstream WWAN drivers.  rmnet is Qualcomm's proprietary
@@ -742,8 +757,11 @@ _linktype_get_type (NMPlatform *platform
 			 * prevent future virtual network drivers from being treated as Ethernet
 			 * when they should be Generic instead.
 			 */
-			if (!kind && !devtype)
+			if (!kind && !devtype) {
+				_LOGT ("platform-linux: %s() both kind and devtype NULL, return NM_LINK_TYPE_ETHERNET for %s",
+					   __func__, ifname);
 				return NM_LINK_TYPE_ETHERNET;
+			}
 			/* The USB gadget interfaces behave and look like ordinary ethernet devices
 			 * aside from the DEVTYPE. */
 			if (!g_strcmp0 (devtype, "gadget"))
