- Troubleshooting IoT Services: Controller
- Reprovisioning IoT Services After Failover
- What settings are needed to allow access via NETCONF?
- The global configuration for BLE radio has to be enabled on Wireless Controller. How do I verify the setting?
- For the gRPC connection to work, a streaming token is required on the Wireless Controller. How do I view the token?
- gRPC must be enabled in the access point join profile. How do I verify the join profile has gRPC enabled?
- How do I verify gRPC is up?
- How do I verify that TDL subscriptions are created and are valid?
- Are the TDL subscriptions created and valid?
- What is the TDL status?
- How do I view the current CAPWAP values for an AP?
- How do I view the current TDL values for an AP?
- How do I get the telemetry connection status?
- How do I view IOx AP state and mode?
- How do I view gRPC details?
- How do I view AP BLE configuration details?
- How do I view the current TDL values for AP air quality?
- How do I view the current TDL values for AP temperature and humidity?
Troubleshooting IoT Services: Controller
What settings are needed to allow access via NETCONF?
To enable access via the Network Configuration Protocol (NETCONF), configure the following settings on your wireless controller:
-
Enable the authentication, authorization, and accounting (AAA) new model by entering the following command in the global configuration mode:
aaa new-model
-
Set the default AAA authentication for login to the local user database with the command:
aaa authentication login default local
-
Specify the default AAA authorization for exec (shell access) to use the local user database by using the command:
aaa authorization exec default local
Enter these commands in the global configuration mode of your wireless controller:
wireless controller# configure terminal
wireless controller(config)# aaa new-model
wireless controller(config)# aaa authentication login default local
wireless controller(config)# aaa authorization exec default local
After executing these commands, your wireless controller should be properly configured to allow access through NETCONF using the local user database for authentication and authorization.
The global configuration for BLE radio has to be enabled on Wireless Controller. How do I verify the setting?
This task shows you how to verify if you have enabled BLE radio on the wireless controller at a global configuration level. This is a necessary setting.
Run the command: show running-config | include ap dot15
wireless controller# show running-config | include ap dot15
no ap dot15 shutdown
Verify if the output is no ap dot15 shutdown. This output indicates that the dot15 BLE radios are not shut down.
For the gRPC connection to work, a streaming token is required on the Wireless Controller. How do I view the token?
To establish a functioning gRPC connection, a gRPC streaming token must be present on the wireless controller. To verify the token, execute the show running-config | include ap cisco-dna command on the command on the wireless controller
wireless-controller# show running-config | include ap cisco-dna
ap cisco-dna token 0 eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0aWQiOjE2MjUs
ImNpZCI6Mzc4NTc3ODI1NDI2NzIyNjUwMDAsImVwIjoiMTAuMzAuMTE0LjEwODo4MDAwIiwiaW
F0IjoxNTg1NzA2OTIxfQ.56vXfL1IGrss6TJZDQaWVarAoTWZsIhbe3tGVMEJNYk
The resulting output will display the gRPC streaming token. For example:
ap cisco-dna token 0 <token_string>
Ensure that this token corresponds with the token configured on the access point (AP). You can check the AP's token by running the show cloud connector key authentication command.
Additionally, to examine the encoded information contained in the token, you can input the token into a JWT decoder like the one found at http://jwt.io/. Here is an example of the kind of payload data you might see:
PAYLOAD:DATA
{
"tid": 1625,
"cid": 37857782542672265000,
"ep": "10.30.114.108:8000",
"iat": 1585706921
}
gRPC must be enabled in the access point join profile. How do I verify the join profile has gRPC enabled?
This procedure demonstrates how to enable gRPC in the AP join profile, a necessary configuration.
To view the active settings, run the show running-config | begin ap profile default-ap-profile command.
controller# show running-config | begin ap profile default-ap-profileap profile default-ap-profile
apphost
cisco-dna grpc
description "default ap profile"
mgmtuser username admin password 0 Cisco123! secret 0 Cisco123!
ssh
trapflags ap crash
trapflags ap noradiocards
trapflags ap register
netconf-yang
end
This output reveals the configuration for the default AP profile. Should you require a different profile, apply the command accordingly, replacing default-ap-profile with the desired profile name.
Ensure the configuration includes the line cisco-dna grpc. This line confirms that gRPC is enabled for all access points utilizing this profile.
How do I verify gRPC is up?
To verify whether gRPC is operational, execute the show ap grpc summary command.
This command displays the gRPC connection status for each AP connected to the wireless controller, as shown in the example below:
controller# show ap grpc summary
AP Name AP Mac gRPC Status
-----------------------------------------------------------------------------------
AP_10.2830 04eb.409f.a7e0 Up
AP_02.2898 04eb.409f.ab20 Up
AP_06.28CC 04eb.409f.acc0 Up
AP_08.28E0 04eb.409f.ad60 Up
AP_07.28E4 04eb.409f.ad80 Up
AP_09.28EC 04eb.409f.adc0 Up
AP_01.28F0 04eb.409f.ade0 Up
AP_03.2928 04eb.409f.afa0 Up
AP_05.2934 04eb.409f.b000 Up
AP_04.2938 04eb.409f.b020 Up
Each AP's name, MAC address, and gRPC status are listed. A status of Up indicates that gRPC is active and running for that AP.
.How do I verify that TDL subscriptions are created and are valid?
-
To initiate the process of viewing all current telemetry subscriptions and to check their types and validity statuses, input the command below:
show telemetry ietf subscription all
-
After executing the command, the wireless controller presenst a summarized output of the telemetry subscriptions. Enterprise Data Management (EDM) configures six distinct subscriptions, which you can identify by their numbers ranging from 122 to 127.
Here is a sample of what the command's output might look like:
wireless controller# show telemetry ietf subscription all Telemetry subscription brief ID Type State Filter type ----------------------------------------- 122 Configured Valid tdl-uri 123 Configured Valid tdl-uri 124 Configured Valid tdl-uri 125 Configured Valid transform-name 126 Configured Valid transform-name
The output enumerates each subscription's unique ID, its configuration status, the validity of the state, and the applied filter type.
Are the TDL subscriptions created and valid?
Run the command show telemetry ietf subscription all command on the wireless controller.
The command displays the subscriptions, the subscription type, and if a subscription is valid. IoT Service creates five different subscriptions 122-126.
wireless controller# show telemetry ietf subscription all
Telemetry subscription brief
ID Type State Filter type
--------------------------------------------------------
122 Configured Valid tdl-uri
123 Configured Valid tdl-uri
124 Configured Valid tdl-uri
125 Configured Valid transform-name
126 Configured Valid transform-name
What is the TDL status?
Execute the show telemetry ietf subscription ID receiver command on the wireless controller.
The command presents the status of Telemetry Description Language (TDL) subscriptions.
wireless controller# show telemetry ietf subscription 125 receiver
Telemetry subscription receivers detail:
Subscription ID: 125
Address: 10.22.243.33
Port: 8004
Protocol: cloud-native
Profile:
Connection: 33
State: Connected
Explanation:
The IoT Service manages five distinct subscriptions, with IDs from 122 to 126. For each subscription:
-
Verify that the Address matches the IP address of the Cisco Spaces: Connector.
-
Confirm that the State is Connected
.
How do I view the current CAPWAP values for an AP?
-
Enter the command without any dots in the MAC address of the AP: test platform software database get ewlc_oper/capwap_data;wtp_mac=mac_without_dots
For example:
wireless controller# test platform software database get ewlc_oper/capwap_data;wtp_mac=1cd1e065c340
The output presents a table with various records:
-
Index 0 contains the AP's MAC address, IP address, model, and other static information.
-
The device_detail.static_info section includes the AP's model, memory type, CPU type, and memory size, among other details.
-
The device_detail.wtp_version section includes backup software version, mini iOS version, hardware version, and the current software version that the AP is running.
-
The ap_services section gives details about monitor mode, DHCP server status, and sniffer interface ID.
-
The tag_info section indicates whether the AP has any misconfigured tags.
-
The external_module_data section displays information about any external modules connected to the AP, including product ID and version.
-
The ap_state section displays administrative and operational states of the AP.
-
The ap_mode_data section details the current mode and sub-mode of the AP.
wireless-controller# test platform software database get ewlc_oper/capwap_data;wtp_mac=1cd1e065c340
Table Record Index 0 = {
[0] wtp_mac = 1CD1.E065.C340
[1] ip_addr = 10.22.243.229
[2] name = AP84F1.47B2.B868
[3] device_detail.static_info.board_data.model = C9115AXI-B
[4] device_detail.static_info.board_data.wtp_serial_num = FJC25331LCY
[5] device_detail.static_info.board_data.card_id = 0
[6] device_detail.static_info.board_data.card_rev = 0
[7] device_detail.static_info.board_data.wtp_enet_mac = 84F1.47B2.B868
[8] device_detail.static_info.board_data.ap_sys_info.mem_type = DDR3
[9] device_detail.static_info.board_data.ap_sys_info.cpu_type = ARMv8 Processor rev 0 (v8l)
[10] device_detail.static_info.board_data.ap_sys_info.mem_size = 1971200
[11] device_detail.static_info.board_data_opt.antenna_type = BSN_INT_ANT_AP
[12] device_detail.static_info.board_data_opt.wtp_type = BSN_AP_STANDARD
[13] device_detail.static_info.board_data_opt.remote = true
[14] device_detail.static_info.board_data_opt.join_priority = 1
[15] device_detail.static_info.descriptor_data.max_radio_slots = 2
[16] device_detail.static_info.descriptor_data.radio_slots_in_use = 2
[17] device_detail.static_info.descriptor_data.encryption_capabilities = true
[18] device_detail.static_info.ap_prov.is_universal = false
[19] device_detail.static_info.ap_prov.universal_prime_status = Unprimed
[20] device_detail.static_info.ap_models.model = C9115AXI-B
[21] device_detail.static_info.ap_models.ap_model_short = 9115AXI
[22] device_detail.static_info.num_ports = 1
[23] device_detail.static_info.num_slots = 2
[24] device_detail.static_info.wtp_type = 83
[25] device_detail.static_info.wtp_model_type = 90
[26] device_detail.static_info.ap_capability = [
BRIDGE_MODE_CAPABLE,
CAP_THREE_SPATIAL_STREAMS_CAPABLE,
ANTENNA_SELECTION_RESTRICTED_CAPABLE,
AVC_FNF_CAPABLE,
RXSOP_THRESHOLD_CAPABLE,
FABRIC_CAPABILITY,
BARBADOS_INTERNAL_ANTENNA_SKU_CAPABLE,
REMOTE_LAN_CAPABLE,
DOT11AC_160MHZ_CHANNEL_WIDTH_CAPABLE,
AVC_FNF_FABRIC_CAPABLE,
AP_CTS_CAPABLE,
AP_QCA_SPECTRUM_INTELLIGENCE_CAPABLE,
FIPS_CAPABLE,
IS_DOT1X_PORT_AUTH_CAPABLE,
AP_TRACING_CAPABLE,
AP_WPA3_CAPABLE,
OFFICE_EXTEND_CAPABLE,
ETH2_RLAN_CAPABLE,
AP_MEWLC_CAPABLE,
SNIFFER_MODE_CAPABLE,
ICAP_PARTIAL_PACKET_TRACE_CAPABLE,
ICAP_ANOMALY_DETECTION_CAPABLE,
ICAP_STATISTICS_CAPABLE,
ICAP_FEATURE_CAPABLE,
AP_AWIPS_CAPABLE,
IOX_HARDWARE_CAPABLE,
AUX_CLIENT_INTERFACE_CAPABLE,
CLICKOS_FEATURE_SET,
AP_TRAFFIC_DISTRIBUTION_STATISTICS_CAPABLE
]
[27] device_detail.static_info.remote_lan.num_rlan_ports = 0
[28] device_detail.static_info.remote_lan.rlan_slot_id = 0
[29] device_detail.static_info.remote_lan.rlan_port_can_be_zero = false
[30] device_detail.static_info.is_cisco_ap = true
[31] device_detail.static_info.is_mm_opt = false
[32] device_detail.static_info.ap_image_name =
[33] device_detail.dynamic_info.ap_crash_data.ap_crash_file =
[34] device_detail.dynamic_info.ap_crash_data.ap_radio_2g_crash_file =
[35] device_detail.dynamic_info.ap_crash_data.ap_radio_5g_crash_file =
[36] device_detail.dynamic_info.led_brightness_level = 8
[37] device_detail.dynamic_info.led_state_enabled = true
[38] device_detail.dynamic_info.reset_button_state = false
[39] device_detail.dynamic_info.led_flash_enabled = true
[40] device_detail.dynamic_info.flash_sec = 0
[41] device_detail.dynamic_info.temp_info.degree = 0
[42] device_detail.dynamic_info.temp_info.temp_status = AP_TEMP_STATUS_NORMAL
[43] device_detail.dynamic_info.temp_info.heater_status = AP_TEMP_HEATER_STATUS_BOTH_HEATERS_OFF
[44] device_detail.wtp_version.backup_sw_version.version = 17
[45] device_detail.wtp_version.backup_sw_version.release = 7
[46] device_detail.wtp_version.backup_sw_version.maint = 1
[47] device_detail.wtp_version.backup_sw_version.build = 11
[48] device_detail.wtp_version.backup_sw_version.stringified_ver_info = 17.7.1.11
[49] device_detail.wtp_version.mini_ios_version.version = 0
[50] device_detail.wtp_version.mini_ios_version.release = 0
[51] device_detail.wtp_version.mini_ios_version.maint = 0
[52] device_detail.wtp_version.mini_ios_version.build = 0
[53] device_detail.wtp_version.mini_ios_version.stringified_ver_info =
[54] device_detail.wtp_version.hw_ver.version = 1
[55] device_detail.wtp_version.hw_ver.release = 0
[56] device_detail.wtp_version.hw_ver.maint = 0
[57] device_detail.wtp_version.hw_ver.build = 0
[58] device_detail.wtp_version.hw_ver.stringified_ver_info = 1.0.0.0
[59] device_detail.wtp_version.sw_ver.version = 17
[60] device_detail.wtp_version.sw_ver.release = 3
[61] device_detail.wtp_version.sw_ver.maint = 5
[62] device_detail.wtp_version.sw_ver.build = 43
[63] device_detail.wtp_version.sw_ver.stringified_ver_info = 17.3.5.43
[64] device_detail.wtp_version.boot_ver.version = 1
[65] device_detail.wtp_version.boot_ver.release = 1
[66] device_detail.wtp_version.boot_ver.maint = 2
[67] device_detail.wtp_version.boot_ver.build = 4
[68] device_detail.wtp_version.boot_ver.stringified_ver_info = 1.1.2.4
[69] device_detail.wtp_version.sw_version = 17.3.5.43
[70] ap_lag_enabled = false
[71] ap_location.floor = 0
[72] ap_location.location = default location
[73] ap_services.monitor_mode_opt_type = ENM_MODE_TYPE_NONE
[74] ap_services.ap_dhcp_server.is_dhcp_server_enabled = false
[75] ap_services.sniffer_ap_ifid = 0
[76] tag_info.misconfigured_tag = APMGR_TAGS_CONFIGURED
[77] tag_info.tag_source = EWLC_TAG_SRC_DEFAULT
[78] tag_info.is_ap_misconfigured = false
[79] tag_info.is_policy_tag_misconfigured = false
[80] tag_info.is_site_tag_misconfigured = false
[81] tag_info.is_rf_tag_misconfigured = false
[82] tag_info.is_flex_profile_misconfigured = false
[83] tag_info.is_ap_profile_misconfigured = false
[84] tag_info.is_rf_profile_24_misconfigured = false
[85] tag_info.is_rf_profile_5_misconfigured = false
[86] tag_info.is_ap_tag_registration_done = true
[87] tag_info.resolved_tag_info.resolved_policy_tag = default-policy-tag
[88] tag_info.resolved_tag_info.resolved_site_tag = default-site-tag
[89] tag_info.resolved_tag_info.resolved_rf_tag = default-rf-tag
[90] tag_info.policy_tag_info.policy_tag_name = default-policy-tag
[91] tag_info.site_tag.site_tag_name = default-site-tag
[92] tag_info.site_tag.ap_profile = default-ap-profile
[93] tag_info.site_tag.flex_profile = default-flex-profile
[94] tag_info.rf_tag.rf_tag_name = default-rf-tag
[95] tag_info.rf_tag.dot11a_rf_profile = default_rf_5gh
[96] tag_info.rf_tag.dot11b_rf_profile = default_rf_24gh
[97] tag_info.filter_info.filter_name =
[98] tunnel.preferred_mode = PREFERRED_MODE_IPV4
[99] tunnel.udp_lite = IPV6_CAPWAP_UDPLITE_UNCONFIG
[100] external_module_data.xm_data.is_module_present = false
[101] external_module_data.xm_data.enable = true
[102] external_module_data.xm_data.xm.goodness_field = [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
]
[103] external_module_data.xm_data.xm.numeric_id = 12
[104] external_module_data.xm_data.xm.version = [
0,
0
]
[105] external_module_data.xm_data.xm.product_id = [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
]
[106] external_module_data.xm_data.xm.serial_number = [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
]
[107] external_module_data.xm_data.xm.max_power = 0
[108] external_module_data.xm_data.xm.eeprom_size = [
0,
0,
0,
0
]
[109] external_module_data.xm_data.xm.xm_cookie_version = 0
[110] external_module_data.xm_data.xm.inventory.prod_id = C9115AXI-B
[111] external_module_data.xm_data.xm.inventory.ver_id = 05
[112] external_module_data.xm_data.xm.inventory.serial_num = FJC25331LCY
[113] external_module_data.xm_data.xm.inventory.ent_name = C9115AX
[114] external_module_data.xm_data.xm.inventory.ent_desc = Cisco Catalyst 9115AX Series (IEEE 802.11ax) Access Point
[115] external_module_data.xm_data.xm.module_name =
[116] external_module_data.xm_data.xm.version_string =
[117] external_module_data.xm_data.xm.serial_number_string =
[118] external_module_data.xm_data.xm.product_id_string =
[119] external_module_data.xm_data.xm.module_type =
[120] external_module_data.xm_data.xm.module_description =
[121] external_module_data.xm_data.xm.module_capabilities =
[122] external_module_data.xm_data.xm.module_state =
[123] external_module_data.usb_data.is_module_present = false
[124] external_module_data.usb_data.enable = true
[125] external_module_data.usb_data.xm.goodness_field = [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
]
[126] external_module_data.usb_data.xm.numeric_id = 12
[127] external_module_data.usb_data.xm.version = [
0,
0
]
[128] external_module_data.usb_data.xm.product_id = [
85,
110,
107,
110,
111,
119,
110,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
]
[129] external_module_data.usb_data.xm.serial_number = [
85,
110,
107,
110,
111,
119,
110,
0,
0,
0,
0
]
[130] external_module_data.usb_data.xm.max_power = 0
[131] external_module_data.usb_data.xm.eeprom_size = [
0,
0,
0,
0
]
[132] external_module_data.usb_data.xm.xm_cookie_version = 0
[133] external_module_data.usb_data.xm.inventory.prod_id =
[134] external_module_data.usb_data.xm.inventory.ver_id =
[135] external_module_data.usb_data.xm.inventory.serial_num =
[136] external_module_data.usb_data.xm.inventory.ent_name =
[137] external_module_data.usb_data.xm.inventory.ent_desc =
[138] external_module_data.usb_data.xm.module_name = Unknown
[139] external_module_data.usb_data.xm.version_string = V00
[140] external_module_data.usb_data.xm.serial_number_string = Unknown
[141] external_module_data.usb_data.xm.product_id_string = Unknown
[142] external_module_data.usb_data.xm.module_type = USB Module
[143] external_module_data.usb_data.xm.module_description = Unknown
[144] external_module_data.usb_data.xm.module_capabilities =
[145] external_module_data.usb_data.xm.module_state = Not Detected
[146] external_module_data.usb_override = false
[147] external_module_data.is_ext_module_enabled = false
[148] external_module_data.expansion_module_extended_info.power_sufficient = 0
[149] external_module_data.expansion_module_extended_info.antenna_product_id = [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
]
[150] external_module_data.expansion_module_extended_info.antenna_serial_number = [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
]
[151] external_module_data.expansion_module_extended_info.antenna_prod_ID =
[152] ipv6_joined = 0
[153] wtp_ip_addr = 10.22.243.229
[154] ap_state.ap_admin_state = ENM_ADMINSTATE_ENABLED
[155] ap_state.ap_operation_state = EWLC_ENM_AP_STATE_REG
[156] ap_mode_data.home_ap_enabled = false
[157] ap_mode_data.clear_mode = false
[158] ap_mode_data.ap_sub_mode = AP_SUB_MODE_NONE
[159] ap_mode_data.wtp_mode = EWLC_ENM_SPAM_AP_MODE_LOCAL
[160] ap_mode_data.ap_fabric_data.is_fabric_ap = false
[161] ap_mode_data.ap_fabric_data.lisp_state = EWLC_ENM_LISP_QUERY_NOT_NEEDED
[162] ap_time_info.boot_time = Fri, 05 Aug 2022 06:47:33 +0000
[163] ap_time_info.join_time = Fri, 05 Aug 2022 06:50:13 +0000
[164] ap_time_info.join_time_taken = 159
[165] ap_time_info.last_up_time = 1
[166] country_code = US
[167] ap_security_data.lsc_provision_inprogress = false
[168] ap_security_data.fips_enabled = false
[169] ap_security_data.wlancc_enabled = false
[170] ap_security_data.cert_type = EWLC_CERT_MIC
[171] ap_security_data.lsc_ap_auth_type = EWLC_ENM_LSC_AP_AUTH_CAPWAP_DTLS
[172] num_radio_slots = 2
[173] dart_is_connected = false
[174] dart_is_connected_str = Not Connected
[175] is_master = false
[176] sliding_window.multi_window_support = true
[177] sliding_window.window_size = 1
[178] ap_vlan.vlan_tag_state = VLAN_TAGGING_DISABLED
[179] ap_vlan.vlan_tag_id = 0
[180] capwap_iifid = 2415919114
[181] hyperlocation_data.hyperlocation_method = HYPERLOCATION_METHOD_NONE
[182] hyperlocation_data.per_ap_hl_tlv_rcvd = HYPERLOCATION_AP_TLV_RECEIVED
[183] hyperlocation_data.cmx_ip = null
[184] cdp_enable = true
[185] cdp_cache_index_list.buffer = [
1,
0,
0,
0
]
[186] ap_stationing_type = EWLC_ENM_INDOOR_AP
[187] int_if_num = 0
[188] radio_key = [
{wtp_mac : 1CD1.E065.C340, radio_slot_id : 0},
{wtp_mac : 1CD1.E065.C340, radio_slot_id : 1},
{wtp_mac : 0000.0000.0000, radio_slot_id : 0},
{wtp_mac : 0000.0000.0000, radio_slot_id : 0}
]
[189] reboot_stats.reboots = 9
[190] reboot_stats.ac_initiated = 4
[191] reboot_stats.link_failure = 0
[192] reboot_stats.sw_failure = 0
[193] reboot_stats.hw_failure = 0
[194] reboot_stats.unknown_failure = 0
[195] reboot_stats.reboot_reason = AP_REBOOT_REASON_IMG_UPGRADE
[196] reboot_stats.reboot_types = AP_REBOOT_SPAM_INITIATED
[197] reboot_stats.reboot_type = AP_REBOOT_SPAM_INITIATED
[198] slot_type = [
0,
0,
0,
0
]
[199] mesh_profile_inuse =
[200] mesh_ap_role = ENM_EWLC_AP_ROLE_MESH
[201] wtp_cfg_reval_data.wtp_revalidate = false
[202] wtp_cfg_reval_data.pending_wtp_notifies = 0
[203] me_internal_ap = false
[204] ap_type = AP_TYPE_CAPWAP
[205] is_mewlc_candidate = false
[206] is_invalid_master = false
[207] is_callback_success = false
[208] proxy_info.hostname =
[209] proxy_info.port = 0
[210] proxy_info.no_proxy_list =
[211] grpc_enabled = true
[212] ap_image_size = 0
[213] ap_cur_bytes = 0
[214] image_size_eta = 0
[215] image_size_start_time = Thu, 01 Jan 1970 00:00:00 +0000
[216] image_size_percentage = 0
[217] dual_dfs_capable = false
[218] mdns_group_id = 0
[219] mdns_rule_name =
[220] ap_keepalive_state = true
[221] local_dhcp = false
[222] ipv4_pool.network = 0.0.0.0
[223] ipv4_pool.lease_time = 0
[224] ipv4_pool.netmask = 0.0.0.0
[225] wlc_image_size_eta = 0
[226] wlc_image_size_start_time = Thu, 01 Jan 1970 00:00:00 +0000
[227] wlc_image_size_percentage = 0
[228] matching_ewc_image = false
[229] disconnect_detail.ext_disconnect_reason_capable = false
[230] disconnect_detail.disconnect_reason = UNKOWN
[231] antenna_monitor.support = false
[232] antenna_monitor.enabled = false
[233] antenna_monitor.rssi_fail_threshold = 0
[234] antenna_monitor.weak_rssi = 0
[235] antenna_monitor.detection_time = 0
[236] wtp_ip = 10.22.243.229
}
How do I view the current TDL values for an AP?
-
Execute the command on the wireless controller to retrieve the current configuration for an AP:
test platform software database get ewlc_oper/ble_ltx_ap;ap_mac=<mac-without-dots>
Replace <mac-without-dots> with the actual MAC address of the AP, removing any periods. For example:
wireless controller# test platform software database get ewlc_oper/ble_ltx_ap;ap_mac=04eb409ec3c0
-
The AP's MAC address, without any delimiters.
-
The administrative state of the AP.
-
Details of the scan configuration, including intervals and states.
-
Settings for the iBeacon and Eddystone profiles.
-
Information on viBeacons profiles.
-
Statistics on the types of scans performed.
-
Host device data, such as the name and BLE MAC address.
-
Current feature modes and the operational status of the device.
-
Capabilities of the device, including support for technologies like BLE and Zigbee.
wireless controller# test platform software database get ewlc_oper/ble_ltx_ap;ap_mac=04eb409ec3c0
Table Record Index 0 = {
[0] ap_mac = 04EB.409E.C3C0
[1] admin.state = BLE_LTX_ADMIN_STATE_ON
[2] admin.feedback.state_status = 0
[3] admin.report.last_report_time = Fri, 05 Jun 2020 07:26:18 +0000
[4] admin.report.valid = true
[5] scan_config.interval_sec = 1
[6] scan_config.state = BLE_LTX_SCAN_STATE_ON
[7] scan_config.max_value = 8
[8] scan_config.window_msec = 800
[9] scan_config.filter = BLE_LTX_SCAN_FILTER_ON
[10] scan_config.feedback.interval_sec_status = 0
[11] scan_config.feedback.state_status = 0
[12] scan_config.feedback.max_value_status = 0
[13] scan_config.feedback.window_msec_status = 0
[14] scan_config.feedback.filter_status = 0
[15] scan_config.report.last_report_time = Fri, 05 Jun 2020 07:26:18 +0000
[16] scan_config.report.valid = true
[17] profile_ibeacon.uuid = 00000000-0000-0000-0000-000000000000
[18] profile_ibeacon.major = 0
[19] profile_ibeacon.minor = 0
[20] profile_ibeacon.tx_power = 0
[21] profile_ibeacon.frequency_msec = 0
[22] profile_ibeacon.adv_tx_power = 65
[23] profile_ibeacon.feedback.uuid_status = 0
[24] profile_ibeacon.feedback.major_status = 0
[25] profile_ibeacon.feedback.minor_status = 0
[26] profile_ibeacon.feedback.tx_power_status = 0
[27] profile_ibeacon.feedback.frequency_msec_status = 0
[28] profile_ibeacon.feedback.adv_tx_power_status = 0
[29] profile_ibeacon.report.last_report_time = Fri, 05 Jun 2020 02:18:30 +0000
[30] profile_ibeacon.report.valid = true
[31] profile_eddy_url.url =
[32] profile_eddy_url.feedback.url_status = 0
[33] profile_eddy_url.report.last_report_time = Thu, 01 Jan 1970 00:00:00 +0000
[34] profile_eddy_url.report.valid = false
[35] profile_eddy_uid.namespace =
[36] profile_eddy_uid.instance_id =
[37] profile_eddy_uid.feedback.namespace_status = 0
[38] profile_eddy_uid.feedback.instance_id_status = 0
[39] profile_eddy_uid.report.last_report_time = Thu, 01 Jan 1970 00:00:00 +0000
[40] profile_eddy_uid.report.valid = false
[41] profile_vibeacons.common.interval_msec = 0
[42] profile_vibeacons.common.feedback.interval_msec_status = 0
[43] profile_vibeacons.common.report.last_report_time = Thu, 01 Jan 1970 00:00:00 +0000
[44] profile_vibeacons.common.report.valid = false
[45] profile_vibeacons.vibeacons = [
{beacon_id : 0, uuid : , tx_power : 0, major : 0, minor : 0, adv_tx_power : 0, status : BLE_LTX_VIBEACON_OFF,
feedback.beacon_id_status : 0, feedback.uuid_status : 0, feedback.tx_power_status : 0, feedback.major_status : 0,
feedback.minor_status : 0, feedback.status_status : 0, feedback.adv_tx_power_status : 0, report.last_report_time : Thu, 01 Jan 1970 00:00:00 +0000,
report.valid : false},
{beacon_id : 1, uuid : , tx_power : 0, major : 0, minor : 0, adv_tx_power : 0, status : BLE_LTX_VIBEACON_OFF,
feedback.beacon_id_status : 0, feedback.uuid_status : 0, feedback.tx_power_status : 0, feedback.major_status : 0,
feedback.minor_status : 0, feedback.status_status : 0, feedback.adv_tx_power_status : 0, report.last_report_time : Thu, 01 Jan 1970 00:00:00 +0000,
report.valid : false},
{beacon_id : 2, uuid : , tx_power : 0, major : 0, minor : 0, adv_tx_power : 0, status : BLE_LTX_VIBEACON_OFF,
feedback.beacon_id_status : 0, feedback.uuid_status : 0, feedback.tx_power_status : 0, feedback.major_status : 0,
feedback.minor_status : 0, feedback.status_status : 0, feedback.adv_tx_power_status : 0, report.last_report_time : Thu, 01 Jan 1970 00:00:00 +0000,
report.valid : false},
{beacon_id : 3, uuid : , tx_power : 0, major : 0, minor : 0, adv_tx_power : 0, status : BLE_LTX_VIBEACON_OFF,
feedback.beacon_id_status : 0, feedback.uuid_status : 0, feedback.tx_power_status : 0, feedback.major_status : 0,
feedback.minor_status : 0, feedback.status_status : 0, feedback.adv_tx_power_status : 0, report.last_report_time : Thu, 01 Jan 1970 00:00:00 +0000,
report.valid : false},
{beacon_id : 4, uuid : , tx_power : 0, major : 0, minor : 0, adv_tx_power : 0, status : BLE_LTX_VIBEACON_OFF,
feedback.beacon_id_status : 0, feedback.uuid_status : 0, feedback.tx_power_status : 0, feedback.major_status : 0,
feedback.minor_status : 0, feedback.status_status : 0, feedback.adv_tx_power_status : 0, report.last_report_time : Thu, 01 Jan 1970 00:00:00 +0000,
report.valid : false}
]
[46] profile_vibeacons.report.last_report_time = Thu, 01 Jan 1970 00:00:00 +0000
[47] profile_vibeacons.report.valid = false
[48] scan_counters.total = 0
[49] scan_counters.dna_ltx = 0
[50] scan_counters.system_tlm = 0
[51] scan_counters.event_tlm = 0
[52] scan_counters.regular_tlm = 0
[53] scan_counters.emergency = 0
[54] scan_counters.event_emergency = 0
[55] scan_counters.other = 0
[56] scan_counters.report.last_report_time = Fri, 05 Jun 2020 07:26:18 +0000
[57] scan_counters.report.valid = true
[58] host_data.device_name = Developme
[59] host_data.ble_mac = 806F.B031.E024
[60] host_data.api_version = 1
[61] host_data.fw_version = FF020710
[62] host_data.advertise_count = 0
[63] host_data.uptime_dsec = 10
[64] host_data.active_profile = BLE_LTX_PROFILE_NO_ADV
[65] host_data.report.last_report_time = Fri, 05 Jun 2020 07:26:18 +0000
[66] host_data.report.valid = true
[67] feature_mode.feature = BLE_LTX_FEATURE_ZIGBEE
[68] feature_mode.mode = BLE_LTX_MODE_IOX
[69] feature_mode.report.last_report_time = Fri, 05 Jun 2020 07:26:19 +0000
[70] feature_mode.report.valid = true
[71] device_status.device = BLE_LTX_DEVICE_MSM1
[72] device_status.state = BLE_LTX_DEVICE_STATE_IOX_BLE_MODE
[73] device_status.report.last_report_time = Fri, 05 Jun 2020 07:26:18 +0000
[74] device_status.report.valid = true
[75] capability.ble = true
[76] capability.zigbee = true
[77] capability.thread = false
[78] capability.usb = true
[79] capability.report.last_report_time = Wed, 03 Jun 2020 08:08:20 +0000
[80] capability.report.valid = true
}
How do I get the telemetry connection status?
This procedure shows you how to check the telemetry connection status.
-
Enter the command:
show telemetry internal protocol cloud-native manager <connector-ip-address> 8004 source-address <source-IP-address>
Replace <connector-ip-address> with the IP address of the connector and <source-IP-address> with the source IP address of your wireless controller.
-
In the output displayed, look for the State field to determine the telemetry connection status.
The following is a sample output of the command. The State is CNDP_STATE_CONNECTED and that indicates that the connection is successfully established
wireless controller# show telemetry internal protocol cloud-native manager 10.22.243.53 8004 source-address 10.22.243.52
Telemetry protocol manager stats:
Con str : 10.22.243.53:8004:0:10.22.243.52
Sockfd : 97
Protocol : cloud-native
State : CNDP_STATE_CONNECTED
Table id : 0
Wait Mask :
Connection Retries : 0
Send Retries : 0
Pending events : 0
Session requests : 1
Session replies : 1
Source ip : 10.22.243.52
Bytes Sent : 1121093
Msgs Sent : 17613
Msgs Received : 0
Creation time: : Wed Jun 3 23:16:22:830
Last connected time: : Wed Jun 3 23:16:22:892
Last disconnect time: :
Last error: :
Connection flaps: : 0
Last flap Reason: :
Keep Alive Timeouts: : 0
Last Transport Error : No Error
How do I view IOx AP state and mode?
To view the Bluetooth Low Energy (BLE) state and mode for each AP connected to the wireless controller, you can perform the following steps:
-
On the wireless controller, enter the following command: show ap ble summary
This output provides a summary of each AP's BLE status, indicating whether it is active (Up) and the current BLE mode, which is IOx for all APs in this example.
wireless-controller# show ap ble summary
AP Name BLE AP State BLE mode
----------------------------------------------------------------
AP_10.2830 Up IOx
AP_02.2898 Up IOx
AP_06.28CC Up IOx
AP_08.28E0 Up IOx
AP_07.28E4 Up IOx
AP_09.28EC Up IOx
AP_01.28F0 Up IOx
AP_03.2928 Up IOx
AP_05.2934 Up IOx
AP_04.2938 Up IOx
How do I view gRPC details?
To view detailed gRPC (gRPC Remote Procedure Calls) statistics for a specific Access Point (AP), follow these steps:
-
Run the following command after replacing the <AP Name>: show ap name <AP Name> grpc detail
-
The output provides detailed gRPC statistics for the specified AP.
In this output, the gRPC channel status indicates whether the connection is active (Up). The output also shows various packet statistics such as transmit attempts, transmit failures, packets received, and receive failures.
The following is a sample output of the command: wireless-controller# show ap name ap-name grpc detail gRPC channel status : Up Packets transmit attempts : 818411 Packets transmit failures : 2651788 Packets receive count : 2711 Packets receive failures : 0
How do I view AP BLE configuration details?
To understand the Bluetooth Low Energy (BLE) configuration details for an AP, you can examine the output provided by your wireless controller. Run the following command, and replace <ap-name>.
show ap name <ap-name> ble detail
The command displays the detailed BLE configuration settings for an AP.
wireless-controller# show ap name ap-name grpc detail
Mode report time : 06/25/2020 21:30:54
Mode : Advanced (IOx)
Radio mode : BLE
Admin state report time : 06/25/2020 21:31:14
Admin state : Up
Interface report time : 06/25/2020 21:30:58
Interface : MSM1
Interface state : Open
Type : Integrated
Capability report time : 06/25/2020 21:16:25
Capability : BLE, Zigbee, USB,
Host data report time : 06/25/2020 21:31:14
Host data
Device name : AP_102830
Dot15 Radio MAC : 18:04:ed:c5:02:bc
API version : 256
FW version : 2.7.16
Broadcast count : -1844445184
Uptime : 838860800 deciseconds
Active profile : No Advertisement
Scan Statistics report time : 06/25/2020 21:30:36
Scan statistics
Total scan records : 0
Scan role report time : 06/25/2020 21:31:14
Scan role
Scan state : Enable
Scan interval : 1 seconds
Scan window : 800 milliseconds
Scan max value : 8
Scan filter : Enable
Broadcaster role
Current profile type: iBeacon
Last report time : N/A
UUID : Unknown
Major : Unknown
Minor : Unknown
Transmit power : Unknown
Frequency : Unknown
Advertised transmit power : Unknown
Current profile type: Eddystone URL
Last report time : 06/25/2020 21:27:50
URL : http://dnaspaces.io/edm
Current profile type: Eddystone UID
Last report time : N/A
Namespace : Unknown
Instance id : Unknown
Current profile type: viBeacon
Last report time : N/A
Interval : Unknown
Beacon ID : 0
UUID : Unknown
Major : Unknown
Minor : Unknown
Transmit power : Unknown
Advertised transmit power : Unknown
Enable : Unknown
Beacon ID : 1
UUID : Unknown
Major : Unknown
Minor : Unknown
Transmit power : Unknown
Advertised transmit power : Unknown
Enable : Unknown
Beacon ID : 2
UUID : Unknown
Major : Unknown
Minor : Unknown
Transmit power : Unknown
Advertised transmit power : Unknown
Enable : Unknown
Beacon ID : 3
UUID : Unknown
Major : Unknown
Minor : Unknown
Transmit power : Unknown
Advertised transmit power : Unknown
Enable : Unknown
Beacon ID : 4
UUID : Unknown
Major : Unknown
Minor : Unknown
Transmit power : Unknown
Advertised transmit power : Unknown
Enable : Unknown
Some of the output descriptors are described below:-
Mode Report Time: This timestamp, 06/25/2020 21:30:54, indicates when the AP mode was last reported.
-
Mode: The AP is set to an Advanced (IOx) operational mode.
-
Radio Mode: The radio is operating in BLE mode.
-
Admin State Report Time: As of 06/25/2020 21:31:14, the administrative state of the AP was last reported.
-
Admin State: The AP is currently Up and operational.
-
Interface Report Time: The interface status was last reported on 06/25/2020 21:30:58.
-
Interface: The interface identifier is MSM1.
-
Interface State: The interface is Open for connections.
-
Type: The AP has an Integrated interface type.
-
Capability Report Time: The capabilities were last reported on 06/25/2020 21:16:25.
-
Capability: The AP supports BLE, Zigbee, and USB functionalities.
-
Host Data Report Time: This timestamp, 06/25/2020 21:31:14, shows when the host data was last reported.
-
Host Data: It includes the AP's name AP_102830, its Dot15 radio MAC address 18:04:ed:c5:02:bc, API version 256, firmware version 2.7.16, and other operational details.
-
Scan Statistics Report Time: The scan statistics were last reported on 06/25/2020 21:30:36.
-
Scan Statistics: Indicates no total scan records are available.
-
Scan Role Report Time: The scan role was last reported on 06/25/2020 21:31:14.
-
Scan Role: The AP is set to enable scanning with a 1-second interval and an 800-millisecond window. The maximum value is 8 and the scan filter is enabled.
How do I view the current TDL values for AP air quality?
To view the current Total Dissolved Load (TDL) values for AP air quality, perform the following steps:
-
Run the command to retrieve the TDL values:
test platform software database get-n all ewlc_oper/ap_air_quality
-
The command displays the current TDL values for all APs with air quality sensors. For example:
wireless controller# test platform software database get-n all ewlc_oper/ap_air_quality Table Record Index 0 = { [0] ap_mac = 687D.B45E.E7C0 [1] last_update = Tue, 12 Oct 2021 15:08:19 +0530 [2] rmox_0 = 5.62121e+07 [3] rmox_1 = 6.12815e+06 [4] rmox_2 = 1.26038e+06 [5] rmox_3 = 579564 [6] rmox_4 = 398259 [7] rmox_5 = 280246 [8] rmox_6 = 201467 [9] rmox_7 = 370324 [10] rmox_8 = 680235 [11] rmox_9 = 1.29709e+06 [12] rmox_10 = 3.18129e+06 [13] rmox_11 = 1.06436e+07 [14] rmox_12 = 6.10561e+07 [15] iaq = 1 [16] etoh = 0.0094 [17] eco2 = 400.212 [18] tvoc = 0.0178 }
In this example, the output provides the air quality data for an AP, including the MAC address, last update time, various rmox values, indoor air quality (iaq), ethanol (etoh), equivalent carbon dioxide (eco2), and total volatile organic compounds (tvoc).
How do I view the current TDL values for AP temperature and humidity?
To view the current Total Dissolved Load (TDL) values for AP temperature and humidity, please follow these steps:
-
Execute the command to fetch the TDL values for temperature and humidity: test platform software database get-n all ewlc_oper/ap_temp
-
This command shows the TDL values for all APs equipped with temperature and humidity sensors. For example:
wireless controller# test platform software database get-n all ewlc_oper/ap_temp Table Record Index 0 = { [0] ap_mac = 687D.B45E.E7C0 [1] last_update = Tue, 12 Oct 2021 15:08:19 +0530 [2] temp = 233.382 [3] humidity = 0 }
In this example, the output lists the temperature and humidity values, along with the MAC address of the AP and the last update timestamp.