Autonomo 4 - Operational insights (Internal)
Insights on troubleshooting
Wi-FI
The Asset that Autonomo is being installed on MUST have a Wi-Fi adaptor and it must be enabled.
During installation, Wi-Fi or Ethernet MUST be connected so that the Asset created on the Troverlo platform can be auto-provisioned.
Autonomo requires the Microsoft Wi-Fi Direct Virtual Adapter to operate (ie it is used to control the scan and beacon management).
You can check if the device has Wi-FI in several ways, here are the two easiest:
- Click on the start windows key and type "cmd," click on "run as an administrator"
- At the command prompt enter either of these two options shown (NOTE: I marked out all my device MAC and IP addresses (DNS, Physical Address, DHCP)
For Wi-Fi specific issues, generate a WLAN report using the following command in Command Prompt (run as administrator):
netsh wlan show wlanreport
This command generates an HTML report containing logs of the last three days, including information about wireless sessions and activities. The report is saved by default to C:\ProgramData\Microsoft\Windows\WlanReport\wlan-report-latest.html5.
This gives a wealth of information about the adaptor including the above info.
Autonomo operational background info
- Autonomo can be installed and registered (auto-provisioning) if there is an Ethernet OR a Wi-Fi connection, but the device must have a Wi-Fi chipset (Adaptor) as the MAC address is required to do the registration.
- Autonomo is a virtual Tag Reader - meaning it runs a service (no interface) and can run in scan mode or beacon mode (see modes)
- The Autonomo Service can be seen in the Service Manager
- The Troverlo Autonomo Service starts automatically, it then launches 2 applications.
- Troverlo Autonomo Health
- Troverlo Autonomo Wifi Agent
- MQTT is used for inter-process communications between the 2 applications on the Asset in the v4.x release. In the v2.x release MQTT was used to publish observations and statistics from Autonomo to the Troverlo platform.
- Troverlo Autonomo Health application that is started by Autonomo service has several threads that are focused on the following activities
- The Autonomo Broker thread handles the registration of subscribers used for inter-process (apps) communication between the Health and the Wifi applications.
- The Autonomo Connect Monitor thread checks connectivity to the internet by pinging randomly 30 public APIs, manage debuounce (if lose connection, will check more frequenctly again, if still no connection, will try few more times) and communincates degrading, lose of connectivity or reconnection to the other threads and to the Wifi Manager application.
-
- The Autonomo Health thread conducts Asset registration (auto-provisioning) and monitors the health of the other Wifi Manager Application as well as its 7 threads.
- The Autonomo Observations thread handles observation window timing, receives and buffers the Wifi scan data from the Autonomo Wifi Agent application and posts observation to the Session Manager thread.
- The Autonomo Platform Manager thread acquires 9 key elements that describe the Asset from the Asset's OS .
- Hostname
- Serial Number
- OS details
- Wi-Fi chipset details
- Device ID
- Provisioning ID
- Make
- Model
- Current Active User
- The Autonomo Session Manager thread handles the posting and response of Observations to the Troverlo platform at the end of an observation window.
- The Autonomo Token Manager thread handles token request and response and freshes the toke at appropriate times.
- The Autonomo Wifi Agent Client thread
- The Autonomo Wifi Agent that is started by Troverlo Autonomo Health application and has several threads that are focused on the following activities:
- Discovers the TagID (MAC address), and manages the beacon via the Wi-Fi Direct virtual adaptor.
- If there is no connection, the Wifi Agent app will start beaconing, so the Asset will be detected by an Observation Endpoint (OE).
- Manages the and scanner and then publishes this information to the Observation Parser via the Autonomo Broker.
- If there is a connection via either Ethernet OR Wi-fi, the Wifi Agent app will scan for APs (Access Points), Troverlo Tags (mimicking an AP), or Autonomo (virtual tag that acts like an AP using Wi-Fi Direct). Then it will publish observations to the Observation Engine app via the Autonomo MQTT Broker based on a configured observation window (default is 5 min).
- The Wi-Fi adaptor on the Asset must be enabled for Autonomo Wifi Agent app to beacon or scan.
- Discovers the TagID (MAC address), and manages the beacon via the Wi-Fi Direct virtual adaptor.
- Configuration for the apps can be defined in config.json (see a section below in this article that gives more details) found in `\program files\troverlo\autonomo directory. With the v3.x release, this is now an optional file (it is not put on Asset with the installation) that must be created.
- The Windows Location Service is NOW is set to on by Autonomo - turning it off on the Asset will cause Windows to not allow Wifi Scanning.
- Autonomo gets its location via geolocation algorithms on the Troverlo platform using the APs detected in a Wifi scan.
- Tags are what are detected by an Observation Endpoint (OE)
- The MAC address is used as our TagID, the unique identifier in the Troverlo platform for both virtual (Autonomo) and physical tags.
- No tag (virtual or physical) will ever connect with another device, we only advertise as an AP so we can be discovered by OE devices.
- Tags are associated with a unique Asset.
Autonomo Modes
- “Active”
- Autonomo operates as an Observation Endpoint and there is a desire to track this device as an Asset.
- Autonomo will post Wi-Fi scan data for all detected APs and other Troverlo Assets (if any) within an observation window and will include its own ID in the post.
- Can publish or receive Action Commands.
- This is the default.
- “OESR” – Observation Endpoint Self-reporting
- Autonomo operates as an Observation Endpoint and there is a desire to track this device as an Asset.
- Autonomo in this mode will ONLY post Wi-Fi scan data about itself, Assets and APs when other Troverlo Assets are detected within an observation window.
- Never advertises its location.
- Can publish, but cannot receive Action Commands.
- “OE” – Observation Endpoint
- Autonomo operates as an Observation Endpoint and there is NOT a desire to track this device as an Asset.
- Autonomo in this mode will ONLY post Wi-Fi scan data that contains Troverlo Assets and APs when other Troverlo Assets are detected within an observation window.
- Never advertises its location.
- Can publish, but cannot receive Action Commands.
See more details on How Autonomo mode works here.
How does the Current Account User feature work?
How does the Action Command feature work?
- Online Target Asset
- Offline Target Asset and Publisher Assets
What are all the files installed with Autonomo?
- Please see this wiki for details -> Description of Autonomo Files.
- This wiki is only accessible internally.
- We can create a KB if we find that customers need this info - Let Mark Arrington know.
Gathering Logs for Troubleshooting
- We are now using Windows Event Viewer to capture log information to be used by Troverlo personnel for debugging and diagnostics.
- When logs are needed from a customer - ask them to go to the ~\windows\system32w\winevt\logs folder.
- Find the "Troverlo Autonomo.evtx" and copy it to another folder.
- There may be times that additional event viewer files will be needed, such as the System or Application log, to conduct diagnostics.
- These logs show many things from the OS - such as error/warnings from hardware, OS and applications; Antivirus updates; log in/out; change of power (battery to/from power); installation of OS and Applications; services starting, machine going to sleep/waking up, etc
- These logs are in the same location as our Troverlo Autonomo.evtx file ie ~\windows\system32w\winevt\logs folder.
- In another folder, select the files copied, then right-click and select "send to compressed folder" to zip the file.
- Windows will NOT allow the creation of a zip file in the ~\windows\system32w\winevt\logs folder...this is why we are copying them to another folder.
- Zip will reduce the file by about 90%, as these logs are all text.
- These logs will NEVER be small enough to email, so the customer will have to put the zip file on drop-box to share the log file.
- Find the "Troverlo Autonomo.evtx" and copy it to another folder.
- For more details on how to read logs - go to Autonomo 4 - How do I read the logs? (internal) for an overview of log sources, log views, and how to turn on debug sources. It will also show briefly how to find and filter in Windows Event Viewer, how to refresh (and why), how to save to alternative formats and how to load saved evtx files into the event viewer.
- For more details on how to turn on debug loging go to Autonomo 4 - How do to turn on debug logging - internal
- References
- For more technical depth, please click on this link.
- https://troverlo.atlassian.net/wiki/spaces/TROVERLO/pages/535953409/C+Autonomo+Windows+Event+Logging+-+v.+3.0.12
- Over time this will be built out to have "recommended actions."
- This data comes from the code, so it is auto-generated to keep it accurate.
- https://troverlo.atlassian.net/wiki/spaces/TROVERLO/pages/535953409/C+Autonomo+Windows+Event+Logging+-+v.+3.0.12
- These are for internal consumption only, they describe each log entry by each log source.
- For more technical depth, please click on this link.
If testing on non-production environment
See this KB - https://support.troverlo.com/knowledge-base/how-i-setup-autonomo-to-run-on-different-environment-than-production-internal-for-testing
Comprehensive Config.json w defaults for v3.x
With this release, a default Config.json will NOT be provided with the installation. We don't want, nor do we expect the customer to know of its existence or to change things.
There are however many options that can be put into the file to tweak and change the behavior of Autonomo on a single device.
This Wiki shows the "defaults" that are currently hardcoded into Autonomo that Config.json COULD override if configured on the Asset - Config.json parms for Autonomo 4
Please do NOT publish/share this with customers or partners.
Please obtain approval from Mark Arrington, VP of Product before changes are made to a customer's assets.
Service Mgt (start, stop, restart, auto/manual)
- If a change to the config.json is required, you will need to restart the Autonomo service to read it (ie we only look for the config.json file on the start of the service).
- To find this tool, click on the Windows key and type "services", click on "run as an administrator"
- Stop the "Autonomo" Service to update any configuration changes or to stop the applications (There are 6)
Other wiki links that might be helpful
There is a lot of overlap with these and other KB, but they may give you some insights to better support the customer and connect dots:
@@@@MARK -> UPDATE ALL THESE LINKS....*****
- How do I change the environment Autonomo will use ?
- How do I install Autonomo ?
- How do I make sure Autonomo and Windows Service are installed?
- How do I make sure Windows Service its running?
- How do I make sure the components are running?
- How do I uninstall Autonomo ?
- How can I see the logs for the components?
- How do I make sure Autonomo and Windows Service are uninstalled?