Aruba Apps

Reply
Aruba Employee
Posts: 4
Registered: ‎01-16-2013

ALE 1.X Client Location Debugging Tips and Hacks

[ Edited ]

Hello Everyone,

                          Please find the  below  Client Location Troubleshooting Steps. This can be used in

ALE 1.0, 1.1,1.2 and  1,3 versions. 

 

 

Debug Steps for ALE Client Location

 

  1. Healthy check of ALE server, make sure all services are up and running:

[root@ale ~]# /etc/init.d/locationserver status

Checking license_server...              Running with pid 23443.

Checking ls.py...                                Running with pid 23460.

Checking webconfig.fcgi...              Running with pid 23503.

Checking ls_analytics.py...             Running with pid 23486.

[root@ale ~]# /etc/init.d/ale-webapps status

Checking Redis server:                  Running with pid 4288.

Checking Redis server:                  Running with pid 4327.

Checking Redis server:                  Running with pid 4366.

Checking Redis server:                  Running with pid 4405.

Checking Redis server:                  Running with pid 4444.

Checking nbapi-0.0.1-SNAPSHOT.jar:      Running with pid 12900.

[root@ale ~]# /etc/init.d/meridian-tunnel status

Checking wstunnel-0.0.1-SNAPSHOT.jar:   Running with pid 15108

15109.

From ALE CLI, make sure configured controller is showing up as Enabled:

[root@ale ~]# ls_cli.py

lscli>

lscli> getcontrollers

======================================================

#  Controller IP         Enabled        AMON Thread Number 

======================================================

0  10.11.0.10             Yes   0

1  10.11.0.11             No    1

2  10.73.16.50           No    2

======================================================

Other useful CLI cmds to check maps/aps: campus_show, floor_show, ap_show

                    ALE configure file:  /opt/ale/etc/locationserver.conf

 

                        openssl s_client  - connect location.meridianapps.com:443

 

  1. Note the mac address of the client under test.

 

  1. Use ls_analytics.py/uicli.py to monitor the client location.

   

  1. From ALE home (/opt/ale/home) directory, start ls_analytics.py and run uiserver start

   

[root@ale home]# ls_analytics.py -h 1000

location-analytics>uiserver start

 

  1. In another ALE home window, start uicli.py

[root@ale home]# uicli.py

Launching UI CLI

 

  1. Static add the client mac address: (you can add as many as you want here)

Syntax is : static_add device_name mac_address x y floor_id

uicli> static_add ipod 60:a4:4c:e5:77:c0 190.94 166.07 floor_1.building_1344

ipod is in static

[u'60:a4:4c:e5:77:c0']

 

note: the x y value is usually the ground truth of the client, but in case of testing moving client, you can give destination ground truth or if you don't know, just type some reasonable x y

 

  1. RUN feed_ploc start from uicli

[root@ale home]# feed_ploc start

 

  1. Check ls_analytics.py window, if location is calculated, there should be continuously location calculated and printed to the terminal:

           

location-analytics>

Starting to process feed tcp://localhost:8989

PLoc Worker started

*** out of seq: exp 0 found 119454

2014-04-01 14:01:00 mac=60:a4:4c:e5:77:c0 x=182.50 y=192.50 v1=45 r1=6c:f3:7f:ec:06:c0 v2=40 r2=6c:f3:7f:eb:e1:e0 v3=38 r3=6c:f3:7f:ec:04:60, n=4.00, k=48.00, ts=2014-04-01-14:01:36 latency=35.679225 max=35.679225

[(5, '100.00')]

2014-04-01 14:01:10 mac=60:a4:4c:e5:77:c0 x=187.50 y=192.50 v1=50 r1=6c:f3:7f:ec:06:c0 v2=41 r2=6c:f3:7f:eb:e1:e0 v3=41 r3=6c:f3:7f:eb:4a:60, n=4.00, k=48.00, ts=2014-04-01-14:01:46 latency=35.465411 max=-35.465411

[(5, '100.00')]

2014-04-01 14:01:21 mac=60:a4:4c:e5:77:c0 x=187.50 y=192.50 v1=51 r1=6c:f3:7f:ec:06:c0 v2=47 r2=6c:f3:7f:eb:4a:60 v3=43 r3=6c:f3:7f:eb:e1:e0, n=4.00, k=48.00, ts=2014-04-01-14:01:56 latency=34.898509 max=34.898509

[(5, '100.00')]

2014-04-01 14:01:31 mac=60:a4:4c:e5:77:c0 x=217.50 y=172.50 v1=47 r1=6c:f3:7f:eb:4a:60 v2=44 r2=6c:f3:7f:ec:06:c0 v3=39 r3=6c:f3:7f:eb:e1:e0, n=4.00, k=48.00, ts=2014-04-01-14:02:06 latency=34.270515 max=34.270515

[(5, '100.00')]

2014-04-01 14:01:42 mac=60:a4:4c:e5:77:c0 x=217.50 y=172.50 v1=47 r1=6c:f3:7f:eb:4a:60 v2=45 r2=6c:f3:7f:ec:06:c0 v3=43 r3=6c:f3:7f:eb:e1:e0, n=4.00, k=48.00, ts=2014-04-01-14:02:16 latency=33.759013 max=33.759013

[(5, '100.00')]

 

  1. From uicli window, type location_show will give you nicer output, including RSSI/Radio, accuracy etc

uicli> location_show

*** Needed to change config on uiserver

 

ipod (15,15):

        mac=60:a4:4c:e5:77:c0 x=217.50 y=172.50 loc=Floor_1.Building_1344.Sunnyvale_CA. err=209 ts=2014-04-01-14:03:56 v1=47 r1=6c:f3:7f:eb:4a:60 v2=45 r2=6c:f3:7f:ec:06:c0 v3=38 r3=6c:f3:7f:eb:e1:e0 n=4.00 k=48.00 actual=8.33

        mac=60:a4:4c:e5:77:c0 x=187.50 y=192.50 loc=Floor_1.Building_1344.Sunnyvale_CA. err=208 ts=2014-04-01-14:03:46 v1=48 r1=6c:f3:7f:ec:06:c0 v2=45 r2=6c:f3:7f:eb:4a:60 v3=40 r3=6c:f3:7f:ec:04:60 n=4.00 k=48.00 actual=8.12

        mac=60:a4:4c:e5:77:c0 x=192.50 y=197.50 loc=Floor_1.Building_1344.Sunnyvale_CA. err=208 ts=2014-04-01-14:03:36 v1=48 r1=6c:f3:7f:ec:06:c0 v2=45 r2=6c:f3:7f:eb:4a:60 v3=41 r3=6c:f3:7f:eb:e1:e0 n=4.00 k=48.00 actual=9.59

        mac=60:a4:4c:e5:77:c0 x=182.50 y=192.50 loc=Floor_1.Building_1344.Sunnyvale_CA. err=209 ts=2014-04-01-14:03:26 v1=47 r1=6c:f3:7f:eb:4a:60 v2=47 r2=6c:f3:7f:ec:06:c0 v3=39 r3=6c:f3:7f:ec:04:60 n=4.00 k=48.00 actual=8.46

        mac=60:a4:4c:e5:77:c0 x=187.50 y=192.50 loc=Floor_1.Building_1344.Sunnyvale_CA. err=207 ts=2014-04-01-14:03:16 v1=49 r1=6c:f3:7f:ec:06:c0 v2=47 r2=6c:f3:7f:eb:4a:60 v3=39 r3=6c:f3:7f:ec:04:60 n=4.00 k=48.00 actual=8.12

 

  1. If you don't get locations in step 3, there are several places to check.

 

  1. On controller, check if APs are receiving probes from the client

(alpo) #show ap virtual-beacon-report client-mac 60:a4:4c:e5:77:c0

 

Client not in known station table:60:a4:4c:e5:77:c0

 

Client MAC:60:a4:4c:e5:77:c0

Current association :None

Steer attempts/Success:0/0

Client Device Type:Unknown

Current state :Steerable

Current Time :Apr  1 13:09:25 2014

 

STA Beacon Report

-----------------

AP                       IP address   Radio              ESSID             Signal (dBm)  Last update      Add time         Channel/Clients  Flag

--                       ----------   -----              -----             ------------  -----------      --------         ---------------  ----

1344-1-AP07              10.6.66.36   6c:f3:7f:ec:04:60  ethersphere-wpa2  -58           Mar  3 11:11:46  Mar  3 11:03:44  11/3              S

1344-1-AP11              10.6.66.62   6c:f3:7f:ec:11:00  ethersphere-wpa2  -79           Mar  3 11:11:44  Mar  3 11:03:44  11/1              S

1344-1-AP01              10.6.66.58   6c:f3:7f:ec:0f:c0  ethersphere-wpa2  -67           Mar  3 11:11:46  Mar  3 11:03:44  1/0               S

1344-2-AP09              10.6.98.155  6c:f3:7f:e7:60:00  ethersphere-wpa2  -79           Mar  3 11:11:45  Mar  3 11:03:44  11/1              S

1344-1-AP08              10.6.66.56   6c:f3:7f:ec:08:60  ethersphere-wpa2  -78           Mar  3 11:11:43  Mar  3 11:03:44  6/0               S

1344-1-AP03              10.6.66.35   6c:f3:7f:eb:4a:60  ethersphere-wpa2  -51           Mar  3 11:11:41  Mar  3 11:03:45  11/3              S

1344-1-AP04              10.6.66.61   6c:f3:7f:eb:e1:e0  ethersphere-wpa2  -60           Mar  3 11:11:43  Mar  3 11:03:45  1/2               S

1344-2-AP07              10.6.98.154  6c:f3:7f:e7:47:40  ethersphere-wpa2  -74           Mar  3 11:11:43  Mar  3 11:03:45  1/1               S

 

            pick the AP from the above list and run the following cmd:

(alpo) # show ap arm client-match probe-report ap-name 1344-1-AP07  | include 60:a4:4c:e5:77:c0

60:a4:4c:e5:77:c0  36      0      8                     0                        Tue Apr  1 13:11:07 2014

  

  1. Check if ALE is receiving probes from the AMON feed. <Jyothi?>

From controller side, check if amon feed is being sending out:

 (alpo) #show mgmt-server message-counters process stm

 

            you can enable location and amon log from ALE CLI:

            check the id for each compent using ls_log_get

lscli> ls_log_get

main                               id 0   log_level 3

location                         id 1   log_level 3

locplot                           id 2   log_level 3

matrix                            id 3   log_level 3

amon-decoder             id 4   log_level 3

bootstrap                      id 5   log_level 3

mon-parser                   id 6   log_level 3

lcompr                           id 7   log_level 3

iap-dec                          id 8   log_level 3

proto-dec                     id 9   log_level 3

ble-dec                          id 10  log_level 3

rtls-decoder                 id 11  log_level 3

lscli> setloglevel 1,4 4

 

  1. Check the contents of the matrix

dump_sta will give you some information if the ALE has received any RSSI information for the client

If you don't see any radio listed or there are less than 3 radios from 3 different APs, and the TRIG counter not increased, but NOT counter is increased,  it indicates there is not enough fresh RSSI for ALE to do triangulation.

This will need more in-depth debug to check. Possible reasons include AP density not meeting ALE deployment requirement, less than 3 APs in the area, client did not probe etc.

 

If it is caused by AP density, you can enable single-AP location recipe. Refer to ALE 1.2 User Guide on how to do it.

 

lscli> dump_sta | grep -A 20 60:a4:4c:e5:77:c0

S: 60:a4:4c:e5:77:c0 1396387206 1396387006 Floor 1 C: 103 0 STA LOCATED UNASSOC:NIL default:0 15/12 TRIG:35049 NOT:1/Not Enough RSSIs L:1 U:0

        <6c:f3:7f:ec:06:c0, 1344-1-AP05, 6c:f3:7f:c6:c0:6c,  48:2,   0, 1396387247

        <6c:f3:7f:eb:4a:60, 1344-1-AP03, 6c:f3:7f:c6:b4:a6,  47:2,   0, 1396387247

        <6c:f3:7f:eb:e1:e0, 1344-1-AP04, 6c:f3:7f:c6:be:1e,  42:2,   0, 1396387247

        <6c:f3:7f:ec:04:60, 1344-1-AP07, 6c:f3:7f:c6:c0:46,  37:2,   0, 1396387247

        <9c:1c:12:8c:70:20, 1344-2-AP06, 9c:1c:12:c0:c7:02,  35:2,   0, 1396387247

        <6c:f3:7f:ea:39:e0, 1344-1-AP02, 6c:f3:7f:c6:a3:9e,  32:2,   0, 1396387247

        <6c:f3:7f:eb:d2:a0, 1344-1-AP06, 6c:f3:7f:c6:bd:2a,  30:2,   0, 1396387247

        <6c:f3:7f:ec:0f:c0, 1344-1-AP01, 6c:f3:7f:c6:c0:fc,  29:2,   0, 1396387247

        <6c:f3:7f:e7:62:20, 1344-2-AP05, 6c:f3:7f:c6:76:22,  29:2,   0, 1396387247

        <6c:f3:7f:ec:15:a0, 1344-1-AP10, 6c:f3:7f:c6:c1:5a,  25:2,   0, 1396387247

        <6c:f3:7f:eb:e5:20, 1344-2-AP03, 6c:f3:7f:c6:be:52,  23:2,   0, 1396387247

        <6c:f3:7f:e7:47:40, 1344-2-AP07, 6c:f3:7f:c6:74:74,  23:2,   0, 1396387247

        <6c:f3:7f:e7:4d:c0, 1344-2-AP08, 6c:f3:7f:c6:74:dc,  21:2,   0, 1396387247

        <6c:f3:7f:eb:c9:e0, 1344-2-AP02, 6c:f3:7f:c6:bc:9e,  20:2,   0, 1396387247

        <6c:f3:7f:ec:11:00, 1344-1-AP11, 6c:f3:7f:c6:c1:10,  19:2,   0, 1396387247

        <6c:f3:7f:e7:5d:a0, 1344-2-AP01, 6c:f3:7f:c6:75:da,  16:2,   0, 1396387237

        <6c:f3:7f:ec:01:60, 1344-1-AP12, 6c:f3:7f:c6:c0:16,  16:2,   0, 1396387247

        <18:64:72:d7:6c:20, 1344-1-AP09, 18:64:72:c5:76:c2,  13:2,   0, 1396387217

        <6c:f3:7f:ec:08:60, 1344-1-AP08, 6c:f3:7f:c6:c0:86,  13:2,   0, 1396387247

 

  1. Check the logs to see if any clue

logs can be found at /opt/ale/var/log directory, important one is ls.py/current

                /opt/ale/var/log/wstunnel-0.0.1-SNAPSHOT.jar/current

 

 

 

- Akram
Search Airheads
Showing results for 
Search instead for 
Did you mean: