Contents

Introduction

Prerequisites

Requirements

Components Used

Background Information

Acronyms Used

Configure

Verify

Troubleshoot

Related Information

Introduction

This document describes how to configure and troubleshoot Hyperlocation in Connected Mobile Experiences (CMX).

Prerequisites

Requirements

Cisco recommends that you have knowledge of the Hyperlocation depoyment guide.

Components Used

The information in this document is based on these software and hardware versions:

- CMX 10.2.3-34

- WLC 2504 / 8.2.130.0

- AIR-CAP3702I-E-K9

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.

Background Information

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

Acronyms Used

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

Configure

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.

Verify

Use this section in order to confirm that your configuration works properly.

The verification procedure is already covered in the Configure section where applicable.

Troubleshoot

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:

- 16113 Network Mobility Services Protocol (NMSP)

- 2003 AoA (The AP encapsulates the AoA packet inside Capwap towards the WLC, therefore port 2003 has to be open between the WLC and CMX)

- 80 HTTP

- 443 HTTPS

- Internet Control Message Protocol (ICMP)

- 161, 162 Simple Network Management Protocol (SNMP)

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

Related Information

- Check the CMX Hyperlocation Troubleshooting checklist - . If all of these steps do not point to the problem, visit cisco support forums for help (the outputs presented in this document and checklist definitely helps you narrow down your problem on the forums) or open a TAC support request.

- Technical Support & Documentation - Cisco Systems