blob: c0325c017cf37d91dcf05cc99768b8ea514ce45d [file] [log] [blame]
developerfd40db22021-04-29 10:08:25 +08001/* Copyright (C) 2021 Mediatek Inc. */
2#define _GNU_SOURCE
3
developerfd40db22021-04-29 10:08:25 +08004#include <net/if.h>
5
6#include "mt76-vendor.h"
7
developerfd40db22021-04-29 10:08:25 +08008static const char *progname;
developer175704f2021-06-22 17:33:53 +08009struct unl unl;
developerfd40db22021-04-29 10:08:25 +080010
11void usage(void)
12{
13 static const char *const commands[] = {
developerdbc43572021-06-23 17:20:30 +080014 "set csi ctrl=<opt1>,<opt2>,<opt3>,<opt4> (macaddr=<macaddr>)",
15 "set csi interval=<interval (us)>",
16 "dump csi <packet num> <filename>",
developere53f0872021-07-23 11:13:49 +080017
18 "set amnt <index>(0x0~0xf) <mac addr>(xx:xx:xx:xx:xx:xx)",
19 "dump amnt <index> (0x0~0xf or 0xff)"
developerfd40db22021-04-29 10:08:25 +080020 };
21 int i;
22
23 fprintf(stderr, "Usage:\n");
24 for (i = 0; i < ARRAY_SIZE(commands); i++)
25 printf(" %s wlanX %s\n", progname, commands[i]);
26
27 exit(1);
28}
29
developerfd40db22021-04-29 10:08:25 +080030int main(int argc, char **argv)
31{
developer175704f2021-06-22 17:33:53 +080032 const char *cmd, *subcmd;
33 int if_idx, ret = 0;
developerfd40db22021-04-29 10:08:25 +080034
35 progname = argv[0];
developer175704f2021-06-22 17:33:53 +080036 if (argc < 4)
developerfd40db22021-04-29 10:08:25 +080037 usage();
38
developer175704f2021-06-22 17:33:53 +080039 if_idx = if_nametoindex(argv[1]);
40 if (!if_idx) {
developerfd40db22021-04-29 10:08:25 +080041 fprintf(stderr, "%s\n", strerror(errno));
42 return 2;
43 }
44
45 cmd = argv[2];
developer175704f2021-06-22 17:33:53 +080046 subcmd = argv[3];
47 argv += 4;
48 argc -= 4;
developerfd40db22021-04-29 10:08:25 +080049
developer175704f2021-06-22 17:33:53 +080050 if (!strncmp(cmd, "dump", 4)) {
51 if (!strncmp(subcmd, "csi", 3))
52 ret = mt76_csi_dump(if_idx, argc, argv);
developere53f0872021-07-23 11:13:49 +080053 else if (!strncmp(subcmd, "amnt", 4))
54 ret = mt76_amnt_dump(if_idx, argc, argv);
developer175704f2021-06-22 17:33:53 +080055 } else if (!strncmp(cmd, "set", 3)) {
56 if (!strncmp(subcmd, "csi", 3))
57 ret = mt76_csi_set(if_idx, argc, argv);
developere53f0872021-07-23 11:13:49 +080058 else if (!strncmp(subcmd, "amnt", 4))
59 ret = mt76_amnt_set(if_idx, argc, argv);
developer175704f2021-06-22 17:33:53 +080060 } else {
developerfd40db22021-04-29 10:08:25 +080061 usage();
developer175704f2021-06-22 17:33:53 +080062 }
developerfd40db22021-04-29 10:08:25 +080063
64 return ret;
65}