From: Daichi Ueura Date: Mon, 13 Jul 2015 15:31:21 +0000 (+0900) Subject: Android: Make wpa_cli work on wifi.interface without extra params X-Git-Tag: hostap_2_5~213 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=884c649e261357289683430daec99617aa9e04a0;p=thirdparty%2Fhostap.git Android: Make wpa_cli work on wifi.interface without extra params Currently wpa_cli connects to global control interface if -i/-p parameters are not specified. wpa_cli on global control interface is not useful since the prefix like "IFNAME=wlan0 " needs to be added to some commands like "IFNAME=wlan0 scan". And, specifying -i/-p parameters every time is annoying. To improve efficiency of debugging, this patch enables to make wpa_cli work without extra parameters. If you still want to connect to global control interface, the following command can be used instead: $ wpa_cli -g@android:wpa_wlan0 (or -gwlan0) Signed-off-by: Daichi Ueura --- diff --git a/wpa_supplicant/Android.mk b/wpa_supplicant/Android.mk index 818aad03b..791f857ef 100644 --- a/wpa_supplicant/Android.mk +++ b/wpa_supplicant/Android.mk @@ -39,7 +39,7 @@ endif # Use Android specific directory for control interface sockets L_CFLAGS += -DCONFIG_CTRL_IFACE_CLIENT_DIR=\"/data/misc/wifi/sockets\" -L_CFLAGS += -DCONFIG_CTRL_IFACE_DIR=\"/data/system/wpa_supplicant\" +L_CFLAGS += -DCONFIG_CTRL_IFACE_DIR=\"/data/misc/wifi/sockets\" # Use Android specific directory for wpa_cli command completion history L_CFLAGS += -DCONFIG_WPA_CLI_HISTORY_DIR=\"/data/misc/wifi\" diff --git a/wpa_supplicant/wpa_cli.c b/wpa_supplicant/wpa_cli.c index dbe653c2b..042ba76bb 100644 --- a/wpa_supplicant/wpa_cli.c +++ b/wpa_supplicant/wpa_cli.c @@ -4180,18 +4180,17 @@ static char * wpa_cli_get_default_ifname(void) { char *ifname = NULL; +#ifdef ANDROID + char ifprop[PROPERTY_VALUE_MAX]; + if (property_get("wifi.interface", ifprop, NULL) != 0) { + ifname = os_strdup(ifprop); + printf("Using interface '%s'\n", ifname ? ifname : "N/A"); + } +#else /* ANDROID */ #ifdef CONFIG_CTRL_IFACE_UNIX struct dirent *dent; DIR *dir = opendir(ctrl_iface_dir); if (!dir) { -#ifdef ANDROID - char ifprop[PROPERTY_VALUE_MAX]; - if (property_get("wifi.interface", ifprop, NULL) != 0) { - ifname = os_strdup(ifprop); - printf("Using interface '%s'\n", ifname); - return ifname; - } -#endif /* ANDROID */ return NULL; } while ((dent = readdir(dir))) { @@ -4235,6 +4234,7 @@ static char * wpa_cli_get_default_ifname(void) } wpa_ctrl_close(ctrl); #endif /* CONFIG_CTRL_IFACE_NAMED_PIPE */ +#endif /* ANDROID */ return ifname; }