Skip to content

Releases: GNATN/ONOD

HotFix

06 Oct 11:31
Compare
Choose a tag to compare
HotFix Pre-release
Pre-release
  • fixed the Dashboard not updating

Build #3

06 Oct 09:45
Compare
Choose a tag to compare
Build #3 Pre-release
Pre-release

Build #3

Introduction

The team has been busy pushing out new features and further developing existing ones. Below will outline what build 2 has implement including, improvements. known bugs and the future.

Description

Features

  • The Dashboard Page
    With this build we have introduced a new tab! This tab will allow users to view all graphs associated with each node to quickly access the nodes current performance in the network

thedashboard

  • Node Wireless Scan Page - Analytical Graph
    With this build we have introduced a new graph to the Wireless Scan Page! This graph will allow users to view Wireless Scan snapshots and graph them in a way will show interference clearly.

angraph

legend

  • Node Wireless RSSI Tab
    With this build we have introduced a new tab to the status page! This graph will allow users to view the Received Signal Strength Indication Tab from all given nodes.

rssi

  • Hide Graphs
    With this build we have implemented a feature that allows the user to hide a graph so that the user can see the graphs that matter to them.

hidefun

  • Tool-tips/Alerts/Pop overs
    With this feature we have been able to populate the User Interface with tool tips, alerts and pop-overs that informs the user with information about how to use the page or display any error that may be happening.

tooltips
ealert

  • Client side live host-names
    With this build we have implemented a feature that updates the host names of all the graphs titles with the real node host name.

hostname

  • Announcer
    This build includes a script that will update a JSON log file that will show all nodes in the mesh that are running the logger. This intern updates a client side interface that allows the user to swap between nodes that are running the logger.

lol

Improvements

  • Server-side log management (hard-constraints and cleaning)
    With this build we have implemented a feature that actively controls the logger's hard limits on what the file size the total logs can write too, this can be configed per build and edited server side. Increasing stability.
  • Robustness/stability
    With this build we hunted and killed many bugs and have placed some error handling throughout the program to stop critical failure, though we intend to further this. This build also includes stabilization of other browsers; other then chrome. While this software currently works best in chrome. You should be able to operate this in later versions of Firefox and Internet Explorer.

TODO

  • Informational Text
  • More Error-handling
  • store logs on external device

There will be a wiki up to support all these features. Shorty

Remember.

Feedback is wanted!

v0.25: HotFix:

28 Sep 01:04
Compare
Choose a tag to compare
v0.25: HotFix: Pre-release
Pre-release

HotFix:

  • Added analyical Graph to the Wireless Scan Page
  • Added robustness to the Dispatcher
  • Fixed a bug with the jquery and modal callbacks with Firefox and IE

Build #2

22 Sep 15:16
Compare
Choose a tag to compare
Build #2 Pre-release
Pre-release

Build #2

Introduction

This build cycle was a big one! The team has been busy pushing out new features and further developing existing ones. Below will outline what build 2 has implement including, improvements. known bugs and the future.

Description

Features

  • Bootstrap 3.0 migration
    In this feature, we have moved completely over to the new bootstrap 3.0, and with it formalized the layout.
    bt3 0

  • Node Wireless Scan Page
    With this build we have introduced a new tab! This tab will allow users to view wireless Scan snapshots of their node's wireless environment
    wscan
  • Resizing of graphs and tab content
    With this build we have implemented a feature that allows the graphs to self organize, on the size of the window they are currently in.
    hscreen
    fscreen
  • Client-Side Logger Configuration Modal
    With this feature you will be able to configure the logger that is running on the node! From what log files you wish to make, to settings on how you want the logger to operate. We put this to you, to config the logger the way you want.
    modal
  • host file
    This build also includes a feature that allow the node's name to be dynamically updated based on the node's mac address, allowing easy reading for any user.
{
"a2:18:6b:0d:7b:c7": {hName: "TP-4", iface: "bat0"},
"f8:1a:67:90:fb:70": {hName: "TP-4", iface: "wlan0"},
"fa:1a:67:90:fb:71": {hName: "TP-4", iface: "wlan0-1"},
"f8:1a:67:90:fb:6f": {hName: "TP-4", iface: "eth0"},
"f8:1a:67:90:fb:71": {hName: "TP-4", iface: "eth1"},
"f8:1a:67:de:2b:5e": {hName: "Node-4", iface: "wlan0"},
"f8:1a:67:de:2b:5d": {hName: "Node-4", iface: "eth0"},
"fa:1a:67:de:2b:5e": {hName: "Node-4", iface: "wlan0-1"},
"36:3c:37:f3:02:a8": {hName: "Node-4", iface: "bat0"},
"f8:1a:67:de:2b:5f": {hName: "Node-4", iface: "eth1"},
"f8:1a:67:7c:d3:9d": {hName: "Node-3", iface: "eth1"},
"62:9a:91:d5:3b:00": {hName: "Node-3", iface: "bat0"},
"fa:1a:67:7c:d3:9c": {hName: "Node-3", iface: "wlan0-1"},
"f8:1a:67:7c:d3:9b": {hName: "Node-3", iface: "eth0"},
"f8:1a:67:7c:d3:9c": {hName: "Node-3", iface: "wlan0"},
"32:20:be:a9:19:a8": {hName: "Node-2", iface: "bat0"},
"fa:1a:67:90:ed:c8": {hName: "Node-2", iface: "wlan0-1"},
"f8:1a:67:90:ed:c7": {hName: "Node-2", iface: "eth0"},
"f8:1a:67:90:ed:c9": {hName: "Node-2", iface: "eth1"},
"f8:1a:67:90:ed:c8": {hName: "Node-2", iface: "wlan0"}
}
  • Announcer
    This build includes a script that will update a JSON log file that will show all nodes in the mesh that are running the logger. This will allow us in the feature to let the user swap between nodes.
{"hosts":[
{"ipaddr":"192.168.15.4","hostname":"TP-4"},
{"ipaddr":"192.168.15.6","hostname":"Node-3"}
]}

Improvements

  • Dropped Encoder Dependency
    We have dropped the dkjson library dependency in this build. Lowering our storage requirement footprint.
  • Logger operating footprint
    In this build we were able to significantly lower the CPU and Memory footprint, due to reworking the way we generate our logs.
  • Log Size Reduction
    We also pruned what we put in each log file to minimize the size of the file.
  • Robustness/stability
    With this build we hunted and killed many bugs and have placed some error handling throughout the program to stop critical failure, though we intend to further this. This build also includes stabilization of other browsers; other then chrome. While this software currently works best in chrome. You should be able to operate this in later versions of Firefox and Internet Explorer.

Backlog

  • Hide button for graphs
  • Client side updating the host-name
  • Node Neighbourhood (Dashboard)
  • Node Wireless RSSI Tab
  • Sorting graphs by a metric

TODO

  • Section to allow to you switch between nodes that are running the logging tool
  • Tooltips
  • Alerts
  • Informational Text
  • Channel Analyser graph
  • Server-side log management (hard-constraints and cleaning)
  • More Error-handling
  • store logs on external device

Wish List

These features that may not be finished and are not critical to the project's success.

  • Tab for Packet Loss
  • Node Lag Graph
  • Link Quantity Graph
  • Hop Penalty and the OGM interval in the footer
  • Minstrel log

Log Files

These are the formate examples of the the log file s that we currently use. These are currently subject to change, and there may be additional logs added in the future

Associate List

{"items":[
{"time":"Sun Sep 22 15:03:57 2013","data":{"FA:1A:67:DE:2B:5E":{"noise":-95,"signal":-7},"FA:1A:67:7C:D3:9C":{"noise":-95,"signal":-13},"FA:1A:67:90:FB:71":{"noise":-95,"signal":-82}}},
{"time":"Sun Sep 22 15:04:05 2013","data":{"FA:1A:67:DE:2B:5E":{"noise":-95,"signal":-11},"FA:1A:67:7C:D3:9C":{"noise":-95,"signal":-16},"FA:1A:67:90:FB:71":{"noise":-95,"signal":-82}}},
{"time":"Sun Sep 22 15:04:12 2013","data":{"FA:1A:67:DE:2B:5E":{"noise":-95,"signal":-13},"FA:1A:67:7C:D3:9C":{"noise":-95,"signal":-16},"FA:1A:67:90:FB:71":{"noise":-95,"signal":-83}}},
{"time":"Sun Sep 22 15:04:19 2013","data":{"FA:1A:67:DE:2B:5E":{"noise":-95,"signal":-8},"FA:1A:67:7C:D3:9C":{"noise":-95,"signal":-15},"FA:1A:67:90:FB:71":{"noise":-95,"signal":-85}}},
...
{"time":"Sun Sep 22 15:04:26 2013","data":{"FA:1A:67:DE:2B:5E":{"noise":-95,"signal":-8},"FA:1A:67:7C:D3:9C":{"noise":-95,"signal":-13},"FA:1A:67:90:FB:71":{"noise":-95,"signal":-83}}},
{"time":"Sun Sep 22 15:04:34 2013","data":{"FA:1A:67:DE:2B:5E":{"noise":-95,"signal":-11},"FA:1A:67:7C:D3:9C":{"noise":-95,"signal":-15},"FA:1A:67:90:FB:71":{"noise":-95,"signal":-83}}}
]}

Batman Scores

{"items":[
{"time":"Sun Sep 22 15:03:57 2013","originNodes":[["FA:1A:67:7C:D3:9C",0.860,255],["FA:1A:67:DE:2B:5E",0.730,254],["FA:1A:67:90:FB:71",0.450,212]]},
{"time":"Sun Sep 22 15:04:05 2013","originNodes":[["FA:1A:67:7C:D3:9C",0.200,255],["FA:1A:67:DE:2B:5E",0.050,254],["FA:1A:67:90:FB:71",0.810,215]]},
{"time":"Sun Sep 22 15:04:12 2013","originNodes":[["FA:1A:67:7C:D3:9C",0.380,255],["FA:1A:67:DE:2B:5E",0.140,255],["FA:1A:67:90:FB:71",0.120,242]]},
{"time":"Sun Sep 22 15:04:19 2013","originNodes":[["FA:1A:67:7C:D3:9C",0.610,255],["FA:1A:67:DE:2B:5E",0.400,255],["FA:1A:67:90:FB:71",0.480,250]]},
{"time":"Sun Sep 22 15:04:26 2013","originNodes":[["FA:1A:67:7C:D3:9C",0.820,255],["FA:1A:67:DE:2B:5E",0.580,255],["FA:1A:67:90:FB:71",0.820,248]]},
...
{"time":"Sun Sep 22 15:04:34 2013","originNodes":[["FA:1A:67:7C:D3:9C",0.100,255],["FA:1A:67:DE:2B:5E",0.840,255],["FA:1A:67:90:FB:71",0.220,251]]},
{"time":"Sun Sep 22 15:04:41 2013","originNodes":[["FA:1A:67:7C:D3:9C",0.390,255],["FA:1A:67:DE:2B:5E",0.240,255],["FA:1A:67:90:FB:71",1.510,251]]}
]}

Wireless Scan Log

{"items":[
{"time":"Sun Sep 22 15:03:57 2013","wScan":[{"signal":-76,"quality_max":70,"ssid":"vt-mesh","encryption":"None","channel":1,"bssid":"02:CA:FF:EE:BA:BE","mode":"Ad-Hoc","quality":34},{"signal":-77,"quality_max":70,"ssid":"VT-SECN-AP","encryption":"WPA PSK (TKIP)","channel":1,"bssid":"F8:1A:67:DE:2B:5E","mode":"Master","quality":33},{"signal":-85,"quality_max":70,"ssid":"VT-SECN-AP","encryption":"WPA PSK (TKIP)","channel":1,"bssid":"F8:1A:67:7C:D3:9C","mode":"Master","quality":25},{"signal":-84,"quality_max":70,"ssid":"VT-SECN-AP","encryption":"WPA PSK (TKIP)","channel":1,"bssid":"F8:1A:67:90:FB:70","mode":"Master","quality":26},{"signal":-56,"quality_max":70,"ssid":"HomeNet","encryption":"WPA2 PSK (CCMP)","channel":6,"bssid":"D4:A0:2A:31:12:AA","mode":"Master","quality":54},{"signal":-89,"quality_max":70,"ssid":"ComedyCentral","encryption":"WPA2 PSK (CCMP)","channel":1,"bssid":"44:D8:84:69:B6:8D","mode":"Master","quality":21}]},
{"time":"Sun Sep 22 15:04:05 2013","wScan":[{"signal":-72,"quality_max":70,"ssid":"vt-mesh","encryption":"None","channel":1,"bssid":"02:CA:FF:EE:BA:BE","mode":"Ad-Hoc","quality":38},{"signal":-83,"quality_max":70,"ssid":"VT-SECN-AP","encryption":"WPA PSK (TKIP)","channel":1,"bssid":"F8:1A:67:DE:2B:5E","mode":"Master","quality":27},{"signal":-81,"quality_max":70,"ssid":"VT-SECN-AP","encryption":"WPA PSK (TKIP)","channel":1,"bssid":"F8:1A:67:7C:D3:9C","mode":"Master","quality":29},{"signal":-82,"quality_max":70,"ssid":"VT-SECN-AP","encryption":"WPA PSK (TKIP)","channel":1,"bssid":"F8:1A:67:90:FB:70","mode":"Master","quality":28},{"signal":-55,"quality_max":70,"ssid":"HomeNet","encryption":"WPA2 PSK (CCMP)","channel":6,"bssid":"D4:A0:2A:31:12:AA","mode":"Master","quality":55},{"signal":-88,"quality_max":70,"ssid":"ComedyCentral","encryption":"WPA2 PSK (CCMP)","channel":1,"bssid":"44:D8:84:69:B6:8D","mode":"Master","quality":22}]},
{"time":"Sun Sep 22 15:04:12 2013","wScan":[{"signal":-70,"quality_max":70,"ssid":"vt-mesh","encryption":"None","channel":1,"bssid":"02:CA:FF:EE:BA:BE","mode":"Ad-Hoc","quality":40},{"signal":-62,"quality_max":70,"ssid":"VT-SECN-AP","encryption":"WPA PSK (TKIP)","channel":1,"bssid":"F8:1A:67:DE:2B:5E","mode":"Master","quality":48},{"signal":-84,"quality_max":70,"ssid":"VT-SECN-AP","encryption":"WPA PSK (TKIP)","channel":1,"bssid":"F8:1A:67:7C:D3:9C","mode":"Master","quality":26},{"signal":-85,"quality_max":70,"ssid":"VT-SECN-AP","encryption":"WPA PSK (TKIP)","channel":1,"bssid":"F8:1A:67:90:FB:70","mode":"Master","quality":25},{"signal":-55,"quality_max":70,"ssid":"HomeNet","encryption"...
Read more

HotFixs

10 Sep 23:53
Compare
Choose a tag to compare
HotFixs Pre-release
Pre-release
v0.11

Removed bootstrap dev .css files

Build 1

08 Sep 14:56
Compare
Choose a tag to compare
Build 1 Pre-release
Pre-release

ONOD

Open Node Observation Deck

For you guys to use this on your router will need the below packages:

uhttpd-mod-lua - it's used to allow tthe front end to send commands to the uhttpd server to start the logger
lua
libiwinfo-lua - Used to poll data from the router
To install those packages, you should be able to use it opkg update & opkg install .

you will also need to reinstall uhttp AFTER uhttpd-mod-lua has been installed. You can do this by opkg install uhttpd --force-reinstall. you won't lose your configuration of the uhttpd server it just needs to be restalled so the lua binds to the uhttpd server.

https://github.com/GNATN/ONOD.git

What's not in here?

Configure menu for changing the settings of the logger, currently you can only start or stop the logger to run forever and scans every 5 seconds. ( Build two)
Wireless Scan tab did not get re factored in time for build one (will be in build two!) + we are waiting for the bar graph!
Obviously other tabs will be in build two.
Alfred generated host names. (plus being able to edit them, Possibly build two, probably build three)

Known issues

Because this is build 1, there still some bugs in the system that we are sorting out. Build One is just a initial taste tester of the system, and to get it in the hands of as many people as possible.

Currently there is a memory leak in firefox, so it's best to not use firefox to the view the status page currently, though if you think you can hunt down the leak, that would be great. But we hope to kill it by build two.
Graphs don't rescale to the change of the browser window. (Build Two)
Error handling of the tab switching when in between graph updates, it should stop you. But we need to make that a little more robust (YAY for ajax).
Logger still requires pruning of the actual log.
As always, feedback is welcome!
Josh.