From ee16f3794ff473fc6802476c442e7ee281882e50 Mon Sep 17 00:00:00 2001 From: 7u83 <7u83@mail.ru> Date: Sat, 20 Aug 2022 21:00:46 +0200 Subject: [PATCH] Improved debugging --- src/cw/capwap_strings_elem.c | 2 +- src/cw/conn.c | 12 +++-- src/cw/conn_send_msg.c | 35 +++++++++++++ src/cw/cw_dbg_set_level.c | 4 +- src/cw/dbg.c | 78 +++++++++------------------- src/cw/dbg.h | 91 ++++++++++++++++----------------- src/cw/dbg_strings.c | 12 +++-- src/cw/message.c | 15 +++--- src/cw/msgset.h | 3 +- src/mod/capwap/capwap_actions.c | 8 ++- src/mod/cisco/cisco_actions.c | 6 ++- src/wtp/cisco.ckv | 38 +++++--------- 12 files changed, 157 insertions(+), 147 deletions(-) diff --git a/src/cw/capwap_strings_elem.c b/src/cw/capwap_strings_elem.c index 45d0eb75..5ad014c3 100644 --- a/src/cw/capwap_strings_elem.c +++ b/src/cw/capwap_strings_elem.c @@ -32,7 +32,7 @@ struct cw_StrListElem capwap_strings_elem[] = { {CAPWAP_ELEM_ECN_SUPPORT, "ECN Support"}, {CAPWAP_ELEM_IDLE_TIMEOUT, "Idle Timeout"}, {CW_ELEM_IMAGE_DATA, "Image Data"}, - {CW_ELEM_IMAGE_IDENTIFIER, "Image Identifier"}, + {CAPWAP_ELEM_IMAGE_IDENTIFIER, "Image Identifier"}, {CW_ELEM_IMAGE_INFORMATION, "Image Information"}, {CW_ELEM_INITIATE_DOWNLOAD, "Initiate Download"}, {CAPWAP_ELEM_LOCATION_DATA, "Location Data"}, diff --git a/src/cw/conn.c b/src/cw/conn.c index ad39856b..942c8a7e 100644 --- a/src/cw/conn.c +++ b/src/cw/conn.c @@ -474,9 +474,10 @@ static int process_elements(struct cw_Conn *conn, uint8_t * rawmsg, int len, elems_ptr = cw_get_msg_elems_ptr(msg_ptr); - - cw_dbg(DBG_MSG_PARSING, "*** Parsing message of type %d - (%s) ***", - message->type, message->name); +/* if (cw_dbg_is_level(DBG_ELEM_IN)){ + cw_dbg(DBG_MSG_PARSING, "Parsing message of type %d - (%s)", + message->type, message->name); + }*/ memset(¶ms,0,sizeof(struct cw_ElemHandlerParams)); @@ -493,6 +494,7 @@ static int process_elements(struct cw_Conn *conn, uint8_t * rawmsg, int len, params.msgdata = message; params.msgset=conn->msgset; params.conn = conn; + params.dbg_level = DBG_ELEM_IN; cw_decode_elements(¶ms,elems_ptr, elems_len); @@ -502,8 +504,8 @@ static int process_elements(struct cw_Conn *conn, uint8_t * rawmsg, int len, if (params.mand_found) cw_check_missing_mand(message, params.mand_found,conn->msgset->handlers_by_key); - cw_dbg(DBG_MSG_PARSING, "*** End parsing message of type %d (%s) ***", - message->type, message->name); +// cw_dbg(DBG_MSG_PARSING, "*** End parsing message of type %d (%s) ***", +// message->type, message->name); if (params.mand_found) mavl_destroy(params.mand_found); diff --git a/src/cw/conn_send_msg.c b/src/cw/conn_send_msg.c index b0f7af28..23dd48e9 100644 --- a/src/cw/conn_send_msg.c +++ b/src/cw/conn_send_msg.c @@ -14,6 +14,41 @@ int conn_send_msg(struct cw_Conn * conn, uint8_t *rawmsg) packetlen = cw_get_hdr_msg_total_len(rawmsg); cw_dbg_msg(DBG_MSG_OUT, conn,rawmsg, packetlen,(struct sockaddr*)&conn->addr); + { + int type; + uint8_t *msgptr; + msgptr = rawmsg + cw_get_hdr_msg_offset(rawmsg); + struct cw_MsgData * msg; + type = cw_get_msg_type(msgptr); + msg = cw_msgset_get_msgdata(conn->msgset,type); + uint8_t *elems_ptr; + + int offset = cw_get_hdr_msg_offset(rawmsg); + + uint8_t *msg_ptr = rawmsg + offset; + int elems_len = cw_get_msg_elems_len(msg_ptr); + elems_ptr = cw_get_msg_elems_ptr(msg_ptr); + cw_Cfg_t * cfg = cw_cfg_create(); + + struct cw_ElemHandlerParams params; + memset(¶ms,0,sizeof(struct cw_ElemHandlerParams)); + + params.cfg=cfg; + params.msgset=conn->msgset; + params.msgdata=msg; + params.mand_found = mavl_create_conststr(); + params.dbg_level = DBG_ELEM_OUT; + + cw_decode_elements( ¶ms, elems_ptr,elems_len); + cw_cfg_destroy(cfg); + if (params.mand_found){ + cw_check_missing_mand(msg, params.mand_found,conn->msgset->handlers_by_key); + mavl_destroy(params.mand_found); + } + + } + + /* Zyxel doesn't count msg element length from diff --git a/src/cw/cw_dbg_set_level.c b/src/cw/cw_dbg_set_level.c index 426a553d..a67025ee 100644 --- a/src/cw/cw_dbg_set_level.c +++ b/src/cw/cw_dbg_set_level.c @@ -18,9 +18,9 @@ void cw_dbg_set_level (int level, int on) break; default: if (on) - cw_dbg_opt_level |= (1 << (level)); + cw_dbg_opt_level |= (level); else - cw_dbg_opt_level &= (0xffffffff) ^ (1 << (level)); + cw_dbg_opt_level &= (0xffffffff) ^ (level); } } diff --git a/src/cw/dbg.c b/src/cw/dbg.c index 205bcbd3..50a15b3f 100644 --- a/src/cw/dbg.c +++ b/src/cw/dbg.c @@ -79,7 +79,7 @@ static struct cw_StrListElem theme0[] = { {DBG_PKT_ERR, ANSI_RED}, {DBG_ELEM_ERR, ANSI_RED}, - {DBG_SUBELEM, ANSI_BBLACK}, +// {DBG_SUBELEM, ANSI_BBLACK}, {DBG_DTLS, ANSI_MAGENTA ANSI_BOLD}, {DBG_DTLS_DETAIL, ANSI_MAGENTA}, {DBG_DTLS_BIO, ANSI_BMAGENTA}, @@ -94,7 +94,7 @@ static struct cw_StrListElem theme0[] = { {DBG_MOD, ANSI_WHITE}, {DBG_CFG_DMP, ANSI_BCYAN }, - + {CW_STR_STOP, ""} }; @@ -117,22 +117,22 @@ static struct cw_StrListElem color_off[] = { */ static struct cw_StrListElem prefix[] = { - {DBG_INFO, " Info -"}, - {DBG_PKT_IN, " Pkt IN -"}, - {DBG_PKT_OUT, " Pkt Out -"}, - {DBG_MSG_IN, " Msg IN -"}, - {DBG_MSG_OUT, " Msg Out -"}, + {DBG_INFO, "Info -"}, + {DBG_PKT_IN, "Pkt IN -"}, + {DBG_PKT_OUT, "Pkt Out -"}, + {DBG_MSG_IN, "Msg In - "}, + {DBG_MSG_OUT, "Msg Out - "}, - {DBG_ELEM_IN, " Msg Element -"}, - {DBG_ELEM_OUT, " Msg Element -"}, + {DBG_MSG_PARSING, "" }, + {DBG_ELEM_IN, " Msg Element -"}, + {DBG_ELEM_OUT, " Msg Element -"}, - {DBG_MSG_ERR, " Msg Error -"}, - {DBG_PKT_ERR, " Pkt Error -"}, - {DBG_ELEM_ERR, " Elem Error -"}, - {DBG_RFC, " RFC -"}, - {DBG_SUBELEM, " Sub-Element - "}, - {DBG_DTLS, " DTLS - "}, - {DBG_DTLS_DETAIL, " DTLS - "}, + {DBG_MSG_ERR, " Msg Error -"}, + {DBG_PKT_ERR, " Pkt Error -"}, + {DBG_ELEM_ERR, " Elem Error -"}, + {DBG_RFC, " RFC -"}, + {DBG_DTLS, "DTLS - "}, + {DBG_DTLS_DETAIL, "DTLS - "}, {DBG_WARN, " Warning - "}, {DBG_MOD, " Mod - "}, {DBG_STATE, " STATEMACHINE - "}, @@ -142,6 +142,7 @@ static struct cw_StrListElem prefix[] = { {DBG_X, "XXXXX - "}, + {CW_STR_STOP, ""} }; @@ -183,10 +184,13 @@ const char *get_dbg_color_ontext(int level) int cw_dbg_is_level(int level) { - if (level >= DBG_ALL ){ + if (level > 1 && (level &1)) return 1; - } - return (cw_dbg_opt_level & (1<= DBG_ALL ){ + return 1; + }*/ + return (cw_dbg_opt_level & (level)); } @@ -197,11 +201,11 @@ static void cw_dbg_vlog_line(struct cw_LogWriter * writer, char fbuf[512]; if ( writer->colored){ - sprintf(fbuf,"DBG: %s%s %s%s%s", + sprintf(fbuf,"DBG: %s%s%s%s%s", prefix_color,prefix,textcolor,format,DBG_CLR_OFF); } else{ - sprintf(fbuf,"DBG: %s %s", + sprintf(fbuf,"DBG: %s%s", prefix,format); } @@ -421,38 +425,6 @@ void cw_dbg_elem(int level, struct cw_Conn *conn, int msg, -void cw_dbg_ktv_dump(mavl_t ktv, uint32_t dbglevel, - const char *header, const char *prefix, const char *footer ) -{ - char value[500]; - struct cw_Val * data; - mavliter_t it; - const struct cw_Type * type; - - if (header != NULL) - cw_dbg (dbglevel, header); - - mavliter_init(&it,ktv); - - mavliter_foreach(&it){ - - data = mavliter_get(&it); - type = data->type; - type->to_str(data,value,0); - - cw_dbg(dbglevel,"%s%s :%s: %s",prefix,data->key,type->get_type_name(data), value); - } - - if (footer != NULL) - cw_dbg (dbglevel, footer); - -} - - - - - - diff --git a/src/cw/dbg.h b/src/cw/dbg.h index eaa40d5f..471840fd 100644 --- a/src/cw/dbg.h +++ b/src/cw/dbg.h @@ -47,93 +47,88 @@ * Debug levels */ enum cw_dbg_levels{ - /** Show headers of incomming CAPWAP packets */ - DBG_PKT_IN=0, - - /** Show headers of outgoing CAPWAP packets */ - DBG_PKT_OUT, + /** Show headers of incomming/outgoing CAPWAP packets */ + DBG_PKT_IN = (1<<0), + DBG_PKT_OUT = (1<<1), /** Incomming CAPWAP packets with errors, wich would usually silently discarded */ - DBG_PKT_ERR, + DBG_PKT_ERR = (1<<2), - /** Dump content of incomming packets */ - DBG_PKT_DMP, + /** Dump content of packets */ + DBG_PKT_DMP = (1<<3), - /** Display incomming CAPWAP/LWAPP messages */ - DBG_MSG_IN, + /** Display incomming/outgoing CAPWAP/LWAPP messages */ + DBG_MSG_IN = (1<<4), + DBG_MSG_OUT = (1<<5), - /** Display outgoing CAPWAP/LWAPP messages */ - DBG_MSG_OUT, - - DBG_MSG_DMP, + /** Show hex-dump of messages */ + DBG_MSG_DMP = (1<<6), /** Message errors */ - DBG_MSG_ERR, + DBG_MSG_ERR = (1<<7), - /** Show message elements in incomming messages */ - DBG_ELEM_IN, - - /** Show message elements assembled for outgoing messages */ - DBG_ELEM_OUT, + /** Show message elements in incomming/outgoing messages */ + DBG_ELEM_IN = (1<<8), + DBG_ELEM_OUT = (1<<9), /** Show message element details */ - DBG_ELEM_DETAIL, + DBG_ELEM_DETAIL = (1<<10), /** Error in msg elements */ - DBG_ELEM_ERR, - - /** Show subelements */ - DBG_SUBELEM, - - /** Show dump of subelements */ - DBG_SUBELEM_DMP, + DBG_ELEM_ERR = (1<<11), /** hex dump elements */ - DBG_ELEM_DMP, + DBG_ELEM_DMP = (1<<12), /** General infos, like CAPWAP state */ - DBG_INFO, + DBG_INFO = (1<<13), /** Misc. warnings */ - DBG_WARN, + DBG_WARN = (1<<14), /** RFC related */ - DBG_RFC, + DBG_RFC = (1<<15), /** DTLS related messages */ - DBG_DTLS, + DBG_DTLS = (1<<16), /** DTLS BIOs in/out */ - DBG_DTLS_BIO, + DBG_DTLS_BIO = (1<<17), /** Dump DTLS BIO i/o */ - DBG_DTLS_BIO_DMP, + DBG_DTLS_BIO_DMP = (1<<18), /** Show DTLS Details */ - DBG_DTLS_DETAIL, + DBG_DTLS_DETAIL = (1<<19), - DBG_CFG_DMP, + DBG_CFG_DMP = (1<<20), - DBG_CFG_SET, + DBG_CFG_SET = (1<<21), /** Debug Mods */ - DBG_MOD, + DBG_MOD = (1<<22), - DBG_STATE, /**msgset; params.msgdata=msg; params.mand_found = mavl_create_conststr(); - + params.dbg_level = DBG_ELEM_OUT; cw_decode_elements( ¶ms, elems_ptr,elems_len); cw_cfg_destroy(cfg); @@ -184,8 +184,8 @@ int cw_compose_message(struct cw_Conn *conn, uint8_t * rawout) cw_check_missing_mand(msg, params.mand_found,conn->msgset->handlers_by_key); mavl_destroy(params.mand_found); } - - printf ("----------------------------------- end redecode -----------------------------\n"); +*/ +// printf ("----------------------------------- end redecode -----------------------------\n"); } @@ -249,8 +249,9 @@ int cw_decode_element(struct cw_ElemHandlerParams *params, int proto, return -1; } - cw_dbg_elem(DBG_ELEM_IN, NULL, params->msgdata->type, handler, - data, len); + if (!handler->flags) + cw_dbg_elem(params->dbg_level, NULL, params->msgdata->type, handler, + data, len); if (handler->get == NULL) { cw_log(LOG_ERR, "No get method defined for %d %s", handler->id, diff --git a/src/cw/msgset.h b/src/cw/msgset.h index 8d77377b..a17fb7c4 100644 --- a/src/cw/msgset.h +++ b/src/cw/msgset.h @@ -33,6 +33,7 @@ struct cw_ElemHandlerParams { mlist_t unrecognized; // cw_Val_t * elem; char * debug_details; + uint32_t dbg_level; cw_Cfg_t * cfg; cw_Cfg_t * cfg_list[10]; }; @@ -57,7 +58,7 @@ struct cw_ElemHandler { int (*mkkey)(const char *pkey, uint8_t*data, int len, char *dst); int (*patch)(uint8_t *dst, void *data ); void * param; - + uint8_t flags; }; diff --git a/src/mod/capwap/capwap_actions.c b/src/mod/capwap/capwap_actions.c index aa68cc98..1f38628c 100644 --- a/src/mod/capwap/capwap_actions.c +++ b/src/mod/capwap/capwap_actions.c @@ -166,7 +166,13 @@ static struct cw_ElemHandler handlers[] = { NULL, /* type */ "vendor_specific_payload", /* Key */ capwap_in_vendor_specific_payload, /* get */ - NULL /* put */ + NULL, /* put */ + NULL, /* mkkey*/ + NULL, /* patch*/ + NULL, /* param */ + 1 /* flags */ + + } , { diff --git a/src/mod/cisco/cisco_actions.c b/src/mod/cisco/cisco_actions.c index 6faa3283..b4d98c18 100644 --- a/src/mod/cisco/cisco_actions.c +++ b/src/mod/cisco/cisco_actions.c @@ -947,7 +947,11 @@ static struct cw_ElemHandler handlers70[] = { NULL, /* type */ "cisco_spam_vendor_specific", /* Key */ cisco_in_spam_vendor_specific, /* get */ - NULL /* put */ + NULL, /* put */ + NULL, + NULL, + NULL, /* param */ + 1 } , { diff --git a/src/wtp/cisco.ckv b/src/wtp/cisco.ckv index 515c04f6..9a155675 100644 --- a/src/wtp/cisco.ckv +++ b/src/wtp/cisco.ckv @@ -2,21 +2,13 @@ # This file is igenerated by WAT # If you edit this, your cahnges might be overwritten # -ac-name-with-index.0: -ac-name-with-index.1: -ac-name-with-index.2: capwap-local-ip-address: 192.168.0.13 capwap-timers/echo-interval: 30 capwap-timers/max-discovery-interval: 10 capwap/ac-name: -capwap/image-identifier/identifier: .x0600c704 -capwap/image-identifier/vendor-id: 4232704 cisco-8011-assoc-limit/enable: false cisco-8011-assoc-limit/interval: 500 cisco-8011-assoc-limit/limit: 25 -cisco/ac-ip-addr-with-index.0: 0.0.0.0 -cisco/ac-ip-addr-with-index.1: 0.0.0.0 -cisco/ac-ip-addr-with-index.2: 0.0.0.0 cisco/ap-backup-software-version: .x00000000 cisco/ap-dtls-data-cfg/cabable: true cisco/ap-dtls-data-cfg/enabled: false @@ -47,18 +39,15 @@ cisco/ap-static-ip-addr/gateway: 192.168.0.1 cisco/ap-static-ip-addr/netmask: 255.255.255.0 cisco/ap-static-ip-addr/unknown: 0.0.0.0 cisco/ap-sub-mode: 0 -cisco/ap-telnet-ssh/ssh: true -cisco/ap-telnet-ssh/telnet: true +cisco/ap-telnet-ssh/ssh: false +cisco/ap-telnet-ssh/telnet: false cisco/ap-uptime/current-uptime: 84 cisco/ap-uptime/last-uptime: 1 -cisco/ap-username-and-password/802.1x-credentials/option: 2 -cisco/ap-username-and-password/802.1x-credentials/password: -cisco/ap-username-and-password/802.1x-credentials/username: cisco/ap-username-and-password/login-credentials/enable-password: $1$qve.$obrsuC2vFk5/TepRMiMxa. cisco/ap-username-and-password/login-credentials/option: 1025 cisco/ap-username-and-password/login-credentials/password: $1$MX4t$F19wCuY8yN5jBD7g2Qutr/ cisco/ap-username-and-password/login-credentials/username: admin -cisco/cisco-discovery-protocol/data: 0 +cisco/cisco-discovery-protocol/data: 513 cisco/cisco-discovery-protocol/enabled: false cisco/elem132: .x0100000000 cisco/loghost-config/last-joined-ap: None @@ -72,8 +61,8 @@ cisco/mwar-addr/address: 192.168.0.14 cisco/mwar-addr/mwar-type: 0 cisco/mwar-addr/unknown: 0 cisco/reset-button-state: true -cisco/rouge-and-mss/enable: true -cisco/rouge-and-mss/tcp-adjust-mss: 1363 +cisco/rouge-and-mss/enable: false +cisco/rouge-and-mss/tcp-adjust-mss: 0 cisco/rouge-detection/rest: .x0000000a cisco/rouge-detection/rouge-detection: true cisco/sig-toogle: true @@ -86,7 +75,7 @@ cisco/wtp-board-data/card-revision: 0 cisco/wtp-board-data/ethernet-mac-address: .xc47d4f3af8a6 cisco/wtp-board-data/options/ant-type: 1 cisco/wtp-board-data/options/ap-type: 1 -cisco/wtp-board-data/options/failover-priority: 1 +cisco/wtp-board-data/options/failover-priority: 0 cisco/wtp-board-data/options/flex-connect: 1 cisco/wtp-board-data/wtp-model-hi: 0 cisco/wtp-board-data/wtp-model-lo: 0 @@ -127,7 +116,6 @@ radio.0/cisco/lwelem27: .x00000000000000000000000000000000000000000000000000 radio.0/cisco/lwelem28: .x0303020202000000000000000000000000000000000000000000313f01 radio.0/cisco/lwelem29: .x00010000000000000200001400 radio.0/cisco/lwelem48: .x01055a0101a6c405b06432b03232 -radio.0/cisco/lwelem55: .x000000000000000000000000 radio.0/cisco/lwelem9: .x0100000000000000000000000000000000 radio.0/cisco/mac-operation/fragmentation-threshold: 2346 radio.0/cisco/mac-operation/long-retry: 4 @@ -169,7 +157,7 @@ radio.0/wlan.1/add-wlan/scan-defer-time: 100 radio.0/wlan.1/add-wlan/session-timout: 1800 radio.0/wlan.1/add-wlan/ssid: tubeC radio.0/wlan.1/add-wlan/wep-encryption: false -radio.0/wlan.1/add-wlan/wep-key: .x038c4ffcda555c6a10126ffb70 +radio.0/wlan.1/add-wlan/wep-key: .x68f4ae11b1b5b53d3cba571b50 radio.0/wlan.1/add-wlan/wep-key-index: 1 radio.0/wlan.1/add-wlan/wlan-capability: 1073 radio.0/wlan.1/add-wlan/wlan-id: 1 @@ -186,7 +174,7 @@ radio.0/wlan.13/add-wlan/scan-defer-time: 100 radio.0/wlan.13/add-wlan/session-timout: 1800 radio.0/wlan.13/add-wlan/ssid: SuperSSID radio.0/wlan.13/add-wlan/wep-encryption: false -radio.0/wlan.13/add-wlan/wep-key: .x038c4ffcda555c6a10126ffb70 +radio.0/wlan.13/add-wlan/wep-key: .x68f4ae11b1b5b53d3cba571b50 radio.0/wlan.13/add-wlan/wep-key-index: 1 radio.0/wlan.13/add-wlan/wlan-capability: 1057 radio.0/wlan.13/add-wlan/wlan-id: 13 @@ -204,7 +192,7 @@ radio.1/cisco/antenna-payload/unknown: 3 radio.1/cisco/channel-power: .x0808102408221c16100a04fefe2808221c16100a04fefe2c08221c16100a04fefe3008221c16100a04fefe3408221c16100a04fefe3808221c16100a04fefe3c08221c16100a04fefe4008221c16100a04fefe6408221c16100a04fefe6808221c16100a04fefe6c08221c16100a04fefe7008221c16100a04fefe7408221c16100a04fefe8408221c16100a04fefe8808221c16100a04fefe8c08221c16100a04fefe radio.1/cisco/elem145: .x01 radio.1/cisco/elem15/cfg-type: 1 - global -radio.1/cisco/elem15/channel: 140 +radio.1/cisco/elem15/channel: 116 radio.1/cisco/elem15/rest: .x07ffffffce010001 radio.1/cisco/elem153: .x00 radio.1/cisco/elem156: .x020100 @@ -235,7 +223,7 @@ radio.1/cisco/multi-domain-capability/number-of-channels: 4 radio.1/cisco/multi-domain-capability/reserved: 1 radio.1/cisco/tx-power-levels: .x070011000e000b000800050002ffff0000 radio.1/cisco/tx-power/cfg-type: 1 - global -radio.1/cisco/tx-power/current-tx-power: 6 +radio.1/cisco/tx-power/current-tx-power: 1 radio.1/cisco/wtp-radio-config/beacon-period: 100 radio.1/cisco/wtp-radio-config/bss-id: .x04fe7f499b90 radio.1/cisco/wtp-radio-config/cfg-period: 4 @@ -262,7 +250,7 @@ radio.1/wlan.1/add-wlan/scan-defer-time: 100 radio.1/wlan.1/add-wlan/session-timout: 1800 radio.1/wlan.1/add-wlan/ssid: tubeC radio.1/wlan.1/add-wlan/wep-encryption: false -radio.1/wlan.1/add-wlan/wep-key: .xd3f088160e08fa1438ce106965 +radio.1/wlan.1/add-wlan/wep-key: .x47067708e07287af779e30c94a radio.1/wlan.1/add-wlan/wep-key-index: 1 radio.1/wlan.1/add-wlan/wlan-capability: 17 radio.1/wlan.1/add-wlan/wlan-id: 1 @@ -279,7 +267,7 @@ radio.1/wlan.13/add-wlan/scan-defer-time: 100 radio.1/wlan.13/add-wlan/session-timout: 1800 radio.1/wlan.13/add-wlan/ssid: SuperSSID radio.1/wlan.13/add-wlan/wep-encryption: false -radio.1/wlan.13/add-wlan/wep-key: .xd3f088160e08fa1438ce106965 +radio.1/wlan.13/add-wlan/wep-key: .x47067708e07287af779e30c94a radio.1/wlan.13/add-wlan/wep-key-index: 1 radio.1/wlan.13/add-wlan/wlan-capability: 1 radio.1/wlan.13/add-wlan/wlan-id: 13 @@ -289,7 +277,7 @@ radio.255/admin-state: 1 - enabled radio.255/operational-state/cause: Normal radio.255/operational-state/state: enabled session-id: .x4a230869 -statistics-timer: 2502 +statistics-timer: 180 wtp-board-data/board-id: .x0000 wtp-board-data/mac-address: .x0800276edf58 wtp-board-data/model-no: "AIR-LAP1142N-E-K9 "