The documentation set for this product strives to use bias-free language. For the purposes of this documentation set, bias-free is defined as language that does not imply discrimination based on age, disability, gender, racial identity, ethnic identity, sexual orientation, socioeconomic status, and intersectionality. Exceptions may be present in the documentation due to language that is hardcoded in the user interfaces of the product software, language used based on RFP documentation, or language that is used by a referenced third-party product. Learn more about how Cisco is using Inclusive Language.
This document describes how to configure and troubleshoot Hyperlocation in Connected Mobile Experiences (CMX).
Cisco recommends that you have knowledge of the Hyperlocation depoyment guide.
The information in this document is based on these software and hardware versions:
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, ensure that you understand the potential impact of any command.
This document helps troubleshoot Fast Locate and Hyperlocation when they do not work as expected.
Hyperlocation is a Cisco feature which enhances the location accuracy. You can read more about this feature in the Hyperlocation Deployment Guide.
Hyperlocation uses the data about the client's (RSSI level) and Angle of Arrival (AoA) provided by the Access Point (AP).
In order to use the hyperlocation, you must have a hyperlocation (Wireless Security and Monitor/WSM) module with a Halo antenna. The Halo antenna has 32 antennas inside and can detect where the probe/packet arrived from apart from the Received Signal Strength Indication (RSSI) information, which makes the location more precise. More information can be found here.
Also, Hyperlocation is a feature that can be enabled only when CMX is installed on the 3365 Mobility Services Engine (MSE) Physical Appliance or the High-End Virtual Applicances.
Refer to Table 3. of the CMX datasheet to check the Hardware Guidelines.
If you are not sure of the running specs on the Virtual Appliance, you can issue one of these commands:
cmxos inventory cmxos verify
WLC - Wireless LAN Controller
AoA - Angle of Arrival
CMX - Connected Mobile Experience
AP - Access Point
NMSP - Network Mobility Service Protocol
SNMP - Simple Network Management Protocol
GUI - Graphical User Interface
CLI - Command Line Interface
ICMP - Internet Control Message Protocol
HTTP - Hyper Text Transfer Protocol
RSSI - Received signal strength indication
NTP - Network Time Protocol
MAC - Media Access Control
WSM - Wireless Security and Monitoring module
Step 1. Enable Hyperlocation on WLC.
In order to enable the Hyperlocation on WLC, use this command line:
(Cisco Controller) >config advanced hyperlocation enable
It is also possible to enable the Hyperlocation in the WLC GUI:
Navigate to Wireless > Access Points > Global configuration > Enable Hyperlocation (checkbox).
Step 2. Enable Hyperlocation on the CMX.
In order to enable the Hyperlocation in the CMX, log in to the GUI and perform this step:
Navigate to System > (Gear Icon) > Location Setup > Enable Hyperlocation (Checkbox) as shown in this image.
This also enables Fast Locate (i.e. location based on data frames), so it is to be enabled as long as you have (non-hyperlocation) monitor mode APs or radios or with the hyperlocation module. There are various parameters related to location service, which you can tweak. You can find more information here; link.
Step 3. Verify Hyperlocation on WLC.
In order to verify if the Hyperlocation is enabled on the WLC:
(Cisco Controller) >show advanced hyperlocation summary Hyperlocation.................................... UP Hyperlocation NTP Server......................... 10.48.39.33 Hyperlocation pak-rssi Threshold................. -70 Hyperlocation pak-rssi Trigger-Threshold......... 10 Hyperlocation pak-rssi Reset-Threshold........... 8 Hyperlocation pak-rssi Timeout................... 3 AP Name Ethernet MAC Slots Hyperlocation ---------------- ------------------- ------- ------------ AP78ba.f99f.3c24 78:ba:f9:9d:a6:e0 3 UP
Step 4. Check if the Hyperlocation module is detected on the AP.
(Cisco Controller) >show ap inventory ? <Cisco AP> Enter the name of the Cisco AP. all Displays inventory for all Cisco APs (Cisco Controller) >show ap inventory all Inventory for AP78ba.f99f.3c24 NAME: "AP3700" , DESCR: "Cisco Aironet 3700 Series (IEEE 802.11ac) Access Point" PID: AIR-CAP3702I-E-K9, VID: V03, SN: FCW1915N9YJ NAME: "Dot11Radio2" , DESCR: "802.11N XOR Radio" PID: AIR-RM3010L-E-K9 , VID: V01, SN: FOC19330ASB MODULE NAME: "Hyperlocation Module w/Antenna" ,DESCR: "Advanced Security Module (.11acW1) w/Ant" PID: AIR-RM3010L-E-K9 ,VID: V01 ,SN: FOC19330ASB ,MaxPower: 2000mW
(Cisco Controller) >show ap module summary all AP Name External Module Type ------------------- ----------------------- AP78ba.f99f.3c24 Hyperlocation Module w/Antenna
Note: It is not possible to detect if the halo antenna is connected to the hyperlocation module. You need to physically verify that.
Step 5. Verify Hyperlocation on the AP.
ap#show capwap client rcb -------OUTPUT OMITTED---------- Nexthop MAC Address : 0014.f15f.f7ca HYPERLOCATION ADMIN STATE : 1 WLC GATEWAY MAC : 00:14:F1:5F:F7:CA WLC HYPERLOCATION SRC PORT : 9999 BLE Module State : ENABLED MSE IP[0] : 10.48.71.21 MSE PORT[0] : 2003 -------OUTPUT OMITTED----------
The access point is the one that sends the AoA messages to the CMX which is forwarded through the WLC. Ensure that the MSE IP mentioned is the one you want to use as only one MSE IP is supported on APs.
Ensure that WLC GATEWAY MAC is the gateway MAC address of the WLC, if CMX and the WLC are not in the same subnet.
Otherwise, WLC GATEWAY MAC is the CMX MAC address.
Step 6. Verify Hyperlocation on CMX.
First step is to verify if all the services are running on CMX. The highlighted ones are used by the Hyperlocation feature.
[cmxadmin@avitosin-1 ~]$ cmxctl status Done The nodeagent service is currently running with PID: 19316 +----------------+---------------+---------+----------------+ | Host | Service | Status | Uptime (HH:mm) | +----------------+---------------+---------+----------------+ | avitosin-1.mse | Analytics | Running | 1 days, 02:14 | +----------------+---------------+---------+----------------+ | avitosin-1.mse | Cache_6378 | Running | 1 days, 02:15 | +----------------+---------------+---------+----------------+ | avitosin-1.mse | Cache_6379 | Running | 1 days, 02:14 | +----------------+---------------+---------+----------------+ | avitosin-1.mse | Cache_6380 | Running | 1 days, 02:14 | +----------------+---------------+---------+----------------+ | avitosin-1.mse | Cache_6381 | Running | 1 days, 02:14 | +----------------+---------------+---------+----------------+ | avitosin-1.mse | Cache_6382 | Running | 1 days, 02:14 | +----------------+---------------+---------+----------------+ | avitosin-1.mse | Cache_6383 | Running | 1 days, 02:14 | +----------------+---------------+---------+----------------+ | avitosin-1.mse | Cache_6385 | Running | 1 days, 02:14 | +----------------+---------------+---------+----------------+ | avitosin-1.mse | Cassandra | Running | 1 days, 02:15 | +----------------+---------------+---------+----------------+ | avitosin-1.mse | Confd | Running | 1 days, 02:14 | +----------------+---------------+---------+----------------+ | avitosin-1.mse | Configuration | Running | 1 days, 02:13 | +----------------+---------------+---------+----------------+ | avitosin-1.mse | Connect | Running | 1 days, 02:13 | +----------------+---------------+---------+----------------+ | avitosin-1.mse | Consul | Running | 1 days, 02:15 | +----------------+---------------+---------+----------------+ | avitosin-1.mse | Database | Running | 1 days, 02:15 | +----------------+---------------+---------+----------------+ | avitosin-1.mse | Haproxy | Running | 1 days, 02:14 | +----------------+---------------+---------+----------------+ | avitosin-1.mse | Hyperlocation | Running | 1 days, 02:12 | +----------------+---------------+---------+----------------+ | avitosin-1.mse | Influxdb | Running | 1 days, 02:14 | +----------------+---------------+---------+----------------+ | avitosin-1.mse | Iodocs | Running | 1 days, 02:14 | +----------------+---------------+---------+----------------+ | avitosin-1.mse | Location | Running | 1 days, 02:13 | +----------------+---------------+---------+----------------+ | avitosin-1.mse | Matlabengine | Running | 1 days, 02:12 | +----------------+---------------+---------+----------------+ | avitosin-1.mse | Metrics | Running | 1 days, 02:14 | +----------------+---------------+---------+----------------+ | avitosin-1.mse | Nmsplb | Running | 0 days, 01:47 | +----------------+---------------+---------+----------------+ | avitosin-1.mse | Qlesspyworker | Running | 1 days, 02:14 | +----------------+---------------+---------+----------------+
Step 7. Verify if the CMX receives the AoA information from the WLC.
tcpdump -i eth0 dst port 2003 -w aoa3.pcap
The wireshark capture proves that the CMX receives the AoA information as shown in the image.
Step 8. Verify the map/physical AP deployment.
It is very important to ensure that the arrow on the AP is configured to point in the actual direction on the map, otherwise location accuracy can be off. It is not technically required to have all APs of a floor have their arrows point in the same direction, but heavily recommended to avoid any mistake in the map (for example in case of AP replacement, it is very easy to forget to reconfigure the antenna orientation).
It is important to understand that the accuracy can only be as expected when the client is detected simultaneously by 4 APs with a RSSI better than -75dbm. If for some physical reason, some areas do not fulfill these requirements, the accuracy shall be less than expected.
Use this section in order to confirm that your configuration works properly.
The verification procedure is already covered in the Configure section where applicable.
This section provides information you can use in order to troubleshoot your configuration.
In this section, CMX specific scenarios are discussed. If any firewalls exists between the WLC and CMX, you need to open these ports:
Scenario 1. The hyperlocation is enabled on the CMX and is not enabled on the WLC.
In this case there is no AoA messages sent from the WLC to CMX. Enable the Hyperlocation in on WLC and check if CMX receives the AoA messages on port 2003 from the WLC.
Scenario 2. The WLC does not synchronize with CMX, but it is reachable.
In this case check the Network Time Protocol (NTP) configurations on both the CMX and WLC (check the date)
Run the command # show capwap client rcb on the AP to see this:
Nexthop MAC Address : 0014.f15f.f7ca HYPERLOCATION ADMIN STATE : 1 WLC GATEWAY MAC : 00:14:F1:5F:F7:CA WLC HYPERLOCATION SRC PORT : 9999 BLE Module State : ENABLED Remote Machine's IP : 0.0.0.0