cmd_wl.h File Reference

#include "console.h"

Go to the source code of this file.

Functions

cmd_state_t cmd_connect (int argc, char *argv[], void *ctx)
cmd_state_t cmd_delpass (int argc, char *argv[], void *ctx)
cmd_state_t cmd_power (int argc, char *argv[], void *ctx)
cmd_state_t cmd_psconf (int argc, char *argv[], void *ctx)
cmd_state_t cmd_scan (int argc, char *argv[], void *ctx)
cmd_state_t cmd_setkey (int argc, char *argv[], void *ctx)
cmd_state_t cmd_setpass (int argc, char *argv[], void *ctx)
cmd_state_t cmd_status (int argc, char *argv[], void *ctx)


Function Documentation

cmd_state_t cmd_connect ( int  argc,
char *  argv[],
void *  ctx 
)

Definition at line 57 of file cmd_wl.c.

References CMD_DONE, join_argv(), printk(), and wl_cm_set_network().

Referenced by wl_init_complete_cb().

00058 {
00059         struct wl_ssid_t ssid;
00060         char desired_ssid[WL_SSID_MAX_LENGTH];
00061         int len = 0;
00062         
00063         if (argc < 2) {
00064                 printk("usage: connect <ssid>\n");
00065                 return CMD_DONE;
00066         }
00067         
00068         len = join_argv(desired_ssid, sizeof desired_ssid, argc - 1, argv + 1);
00069         if (0 == len) {
00070                 return CMD_DONE;
00071         }
00072 
00073         memcpy(ssid.ssid, desired_ssid, len);
00074         ssid.len = len;
00075         wl_cm_set_network(&ssid, NULL);
00076         return CMD_DONE;
00077 }

cmd_state_t cmd_delpass ( int  argc,
char *  argv[],
void *  ctx 
)

Referenced by wl_init_complete_cb().

cmd_state_t cmd_power ( int  argc,
char *  argv[],
void *  ctx 
)

Definition at line 199 of file cmd_wl.c.

References CMD_DONE, and printk().

Referenced by wl_init_complete_cb().

00200 {
00201         const char *usage = "usage: powersave <on|off>\n";
00202         
00203         if (argc < 2) {
00204                 printk(usage);
00205                 return CMD_DONE;
00206         }
00207         
00208         if (!strcmp(argv[1], "on")) {
00209                 if (wl_enable_ps() != WL_SUCCESS) {
00210                         printk("could not enable power save\n");
00211                         return CMD_DONE;
00212                 }
00213                 return CMD_DONE;
00214         }
00215         else if(!strcmp(argv[1], "off")) {
00216                 if (wl_disable_ps() != WL_SUCCESS) {
00217                         printk("could not disable power save\n");
00218                         return CMD_DONE;
00219                 }
00220                 return CMD_DONE;
00221         }
00222 
00223         printk(usage);
00224         return CMD_DONE;
00225 }

cmd_state_t cmd_psconf ( int  argc,
char *  argv[],
void *  ctx 
)

Definition at line 232 of file cmd_wl.c.

References CMD_DONE, and printk().

Referenced by wl_init_complete_cb().

00233 {
00234         const char *usage = 
00235                 "usage: psconf <use_ps_poll>      (0/1       default 0)\n" \
00236                 "              <traffic_timeout>  ([ms]      default 10)\n" \
00237                 "              <ps_delay>         ([ms]      default 5000)\n"\
00238                 "              <rx_all_dtim>      (0/1       default 1)\n"\
00239                 "              <listen_interval>  ([beacons] default 20)\n";
00240         
00241         uint8_t use_ps_poll;
00242         uint32_t traffic_timeout;
00243         uint32_t ps_delay;
00244         uint8_t rx_all_dtim;
00245         uint16_t listen_interval;
00246         
00247         if (argc < 6) {
00248                 printk(usage);
00249                 return CMD_DONE;
00250         }
00251         
00252         use_ps_poll = atoi(argv[1]);
00253         traffic_timeout = atoi(argv[2]);
00254         ps_delay = atoi(argv[3]);
00255         rx_all_dtim = atoi(argv[4]);
00256         listen_interval = atoi(argv[5]);
00257 
00258         if (use_ps_poll > 1) {
00259                 printk(usage);
00260                 return CMD_DONE;
00261         }
00262 
00263         if (rx_all_dtim > 1) {
00264                 printk(usage);
00265                 return CMD_DONE;
00266         }
00267 
00268         if (wl_conf_ps(use_ps_poll, traffic_timeout, ps_delay,
00269                        rx_all_dtim, listen_interval) != WL_SUCCESS)
00270                 printk("configuration failed\n");
00271         
00272         return CMD_DONE;
00273 }

cmd_state_t cmd_scan ( int  argc,
char *  argv[],
void *  ctx 
)

Definition at line 42 of file cmd_wl.c.

References CMD_DONE, and print_network_list().

Referenced by wl_init_complete_cb().

00043 {
00044         /* Note that the scan results presented will
00045          * be from the last scan, not this one.
00046          */
00047         wl_scan();
00048         print_network_list();
00049         return CMD_DONE;
00050 }

cmd_state_t cmd_setkey ( int  argc,
char *  argv[],
void *  ctx 
)

Definition at line 307 of file cmd_wl.c.

References ascii_to_key(), CMD_DONE, and printk().

Referenced by wl_init_complete_cb().

00308 {
00309         int idx, len;
00310         char key[13];
00311         struct wl_mac_addr_t bssid;
00312         const char *usage = "usage: setkey <key_idx (0-3)> <key in hex>\n\t "\
00313                 "or: setkey none\n";
00314 
00315         memset(&bssid.octet, 0xff, sizeof bssid.octet);
00316         if (argc == 2 && strcmp(argv[1], "none") == 0) {
00317                 printk("Deleting WEP keys\n");
00318                 wl_set_auth_mode(AUTH_MODE_OPEN_SYSTEM);
00319                 wl_delete_wep_key(0, &bssid);
00320                 wl_delete_wep_key(1, &bssid);
00321                 wl_delete_wep_key(2, &bssid);
00322                 wl_delete_wep_key(3, &bssid);
00323                 return CMD_DONE;
00324         }
00325         if (argc < 3) {
00326                 printk(usage);
00327                 return CMD_DONE;
00328         }
00329         idx = atoi(argv[1]);
00330         len = ascii_to_key(key, argv[2]);
00331         if (0 == len || idx > 3 || idx < 0 || (idx == 0 && *argv[1] != '0')) {
00332                 printk(usage);
00333                 return CMD_DONE;
00334         }
00335         if (len != 5 && len != 13) {
00336                 printk(" WEP key must be 10 (WEP-40) or 26 (WEP-104) digits\n");
00337                 return CMD_DONE;
00338         }
00339         wl_add_wep_key(idx, len, key, &bssid);
00340         wl_set_auth_mode(AUTH_MODE_SHARED_KEY);
00341         wl_set_default_wep_key(idx);
00342 
00343         return CMD_DONE;
00344 }

cmd_state_t cmd_setpass ( int  argc,
char *  argv[],
void *  ctx 
)

Referenced by wl_init_complete_cb().

cmd_state_t cmd_status ( int  argc,
char *  argv[],
void *  ctx 
)

Definition at line 163 of file cmd_wl.c.

References CMD_DONE, ip2str(), mac2str(), print_network(), and printk().

Referenced by wl_init_complete_cb().

00164 {
00165         struct wl_network_t* net;
00166         uint8_t mac[WL_MAC_ADDR_LENGTH];
00167 
00168         printk("wl_api version " WL_API_RELEASE_NAME "\n");
00169         /* print mac address */
00170         if (wl_get_mac_addr(mac) != WL_SUCCESS) {
00171                 printk("failed to get mac address\n");
00172                 return CMD_DONE;
00173         }
00174         printk("hw addr: %s\n", mac2str(mac));
00175 
00176         /* print network info */
00177         net = wl_get_current_network();
00178         printk("link status: "); 
00179         if (!net) { 
00180                 printk("down\n");
00181                 return CMD_DONE;
00182         }
00183         print_network(net);
00184         
00185         /* print ip address */
00186         if (netif_is_up(netif_default))
00187                 printk("ip addr: %s\n", ip2str(netif_default->ip_addr));
00188         else
00189                 printk("ip addr: none\n");
00190 
00191         return CMD_DONE;
00192 }


Generated on Fri Feb 19 02:24:07 2010 for AVR32 - H&D by  doxygen 1.5.5