conn_argv[2] = "establish";
for (i = 0; i < argc; i++)
conn_argv[i + 3] = argv[i];
- err = handle_cmd(state, II_NETDEV, conn_argc, conn_argv);
+ err = handle_cmd(state, id, conn_argc, conn_argv);
free(conn_argv);
if (err)
return err;
__usage_cmd(cmd, "\t", full);
}
}
+ printf("\nCommands that use the netdev ('dev') can also be given the\n"
+ "'wdev' instead to identify the device.\n");
printf("\nYou can omit the 'phy' or 'dev' if "
"the identification is unique,\n"
"e.g. \"iw wlan0 info\" or \"iw phy0 info\". "
continue;
if (cmd->parent != sectcmd)
continue;
- if (cmd->idby != command_idby)
+ /*
+ * ignore mismatch id by, but allow WDEV
+ * in place of NETDEV
+ */
+ if (cmd->idby != command_idby &&
+ !(cmd->idby == CIB_NETDEV &&
+ command_idby == CIB_WDEV))
continue;
if (strcmp(cmd->name, command))
continue;
cmd = sectcmd;
if (argc && !cmd->args)
return 1;
- if (cmd->idby != command_idby)
+ if (cmd->idby != command_idby &&
+ !(cmd->idby == CIB_NETDEV && command_idby == CIB_WDEV))
return 1;
if (!cmd->handler)
return 1;
int err;
link_argv[0] = argv[0];
- err = handle_cmd(state, II_NETDEV, 3, link_argv);
+ err = handle_cmd(state, id, 3, link_argv);
if (err)
return err;
station_argv[0] = argv[0];
station_argv[3] = bssid_buf;
- return handle_cmd(state, II_NETDEV, 4, station_argv);
+ return handle_cmd(state, id, 4, station_argv);
}
TOPLEVEL(link, NULL, 0, 0, CIB_NETDEV, handle_link,
"Print information about the current link, if any.");
int i;
for (i = 0; i < argc - 2 - (dump_argc - 3); i++)
trig_argv[i + 3] = argv[i + 2 + (dump_argc - 3)];
- err = handle_cmd(state, II_NETDEV, trig_argc, trig_argv);
+ err = handle_cmd(state, id, trig_argc, trig_argv);
free(trig_argv);
if (err)
return err;
}
dump_argv[0] = argv[0];
- return handle_cmd(state, II_NETDEV, dump_argc, dump_argv);
+ return handle_cmd(state, id, dump_argc, dump_argv);
}
TOPLEVEL(scan, "[-u] [freq <freq>*] [ies <hex as 00:11:..>] [ssid <ssid>*|passive]", 0, 0,
CIB_NETDEV, handle_scan_combined,