return NULL;
eth = (void *) &ifr.ifr_hwaddr.sa_data;
- snprintf(str, len, "%s%02X_%02X_%02X_%02X_%02X_%02X",
+ snprintf(str, len, "%s%02x%02x%02x%02x%02x%02x",
prefix ? prefix : "",
eth->ether_addr_octet[0],
eth->ether_addr_octet[1],
enum connman_device_type devtype = CONNMAN_DEVICE_TYPE_UNKNOWN;
enum connman_device_mode mode = CONNMAN_DEVICE_MODE_UNKNOWN;
struct connman_device *device;
- gchar *addr, *name, *devname;
+ char *addr, *name, *devname, *ident = NULL;
DBG("type %d index %d", type, index);
sk = socket(PF_INET, SOCK_DGRAM, 0);
- if (g_str_has_prefix(devname, "bnep") == TRUE)
+ if (g_str_has_prefix(devname, "vmnet") == TRUE ||
+ g_str_has_prefix(devname, "vboxnet") == TRUE) {
+ connman_info("Ignoring network interface %s", devname);
devtype = CONNMAN_DEVICE_TYPE_UNKNOWN;
- else if (g_str_has_prefix(devname, "wmx") == TRUE)
+ } else if (g_str_has_prefix(devname, "bnep") == TRUE)
devtype = CONNMAN_DEVICE_TYPE_UNKNOWN;
- else if (g_str_has_prefix(devname, "vmnet") == TRUE)
+ else if (g_str_has_prefix(devname, "wmx") == TRUE)
devtype = CONNMAN_DEVICE_TYPE_UNKNOWN;
- else if (g_str_has_prefix(devname, "vboxnet") == TRUE)
+ else if (stat(wimax_path, &st) == 0 && (st.st_mode & S_IFDIR))
devtype = CONNMAN_DEVICE_TYPE_UNKNOWN;
else if (stat(bridge_path, &st) == 0 && (st.st_mode & S_IFDIR))
devtype = CONNMAN_DEVICE_TYPE_UNKNOWN;
- else if (stat(wimax_path, &st) == 0 && (st.st_mode & S_IFDIR))
- devtype = CONNMAN_DEVICE_TYPE_UNKNOWN;
else if (ioctl(sk, SIOCGIWNAME, &iwr) == 0)
devtype = CONNMAN_DEVICE_TYPE_WIFI;
else
break;
case CONNMAN_DEVICE_TYPE_ETHERNET:
mode = CONNMAN_DEVICE_MODE_TRANSPORT_IP;
+ ident = index2ident(index, NULL);
break;
case CONNMAN_DEVICE_TYPE_WIFI:
case CONNMAN_DEVICE_TYPE_WIMAX:
mode = CONNMAN_DEVICE_MODE_NETWORK_SINGLE;
+ ident = index2ident(index, NULL);
break;
case CONNMAN_DEVICE_TYPE_BLUETOOTH:
mode = CONNMAN_DEVICE_MODE_NETWORK_MULTIPLE;
connman_device_set_index(device, index);
connman_device_set_interface(device, devname);
+ if (ident != NULL) {
+ connman_device_set_ident(device, ident);
+ g_free(ident);
+ }
+
connman_device_set_string(device, "Address", addr);
g_free(devname);