diff options
author | Mike Crute <mcrute@gmail.com> | 2013-09-07 18:44:59 -0400 |
---|---|---|
committer | Mike Crute <mcrute@gmail.com> | 2013-09-07 18:44:59 -0400 |
commit | d2d6bc8887aab1af4768ba893e1c7928df2873e4 (patch) | |
tree | a2e398e88b2cea91806591858e04b6e351d0cffb | |
parent | ef2a2420c9602d36c1d85df09e3f4b0b55203771 (diff) | |
download | ubntmfi-d2d6bc8887aab1af4768ba893e1c7928df2873e4.tar.bz2 ubntmfi-d2d6bc8887aab1af4768ba893e1c7928df2873e4.tar.xz ubntmfi-d2d6bc8887aab1af4768ba893e1c7928df2873e4.zip |
Update inform protocol notes
-rw-r--r-- | inform_protocol.txt | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/inform_protocol.txt b/inform_protocol.txt index f4d9c41..2a846a5 100644 --- a/inform_protocol.txt +++ b/inform_protocol.txt | |||
@@ -1,7 +1,17 @@ | |||
1 | Ubiquiti Inform Protocol | 1 | Ubiquiti Inform Protocol |
2 | ======================== | 2 | ======================== |
3 | 3 | ||
4 | These are just some unstructured notes about the inform protocol at this point. | 4 | The mFi uses the Ubiquiti inform protocol to handle all communications to and |
5 | from the controller. This is the way that it transmits the current state of the | ||
6 | system to the controller (looks like it just sends mca-dump output) as well as | ||
7 | how it receives the instructions from the controller as to what to enable or | ||
8 | disable. | ||
9 | |||
10 | Everything appears to be pull-based, even provisioning. This makes sense with | ||
11 | the cloud controller where the controller has no access to your network. I | ||
12 | haven't documented yet how anything works within the protocol, that's next. | ||
13 | This documents the overall procol itself. | ||
14 | |||
5 | 15 | ||
6 | Packet Structure | 16 | Packet Structure |
7 | ---------------- | 17 | ---------------- |
@@ -26,5 +36,8 @@ device auth key from the database or a master key that is hard coded if the | |||
26 | device hasn't been provisioned yet. The master key is hard coded in the | 36 | device hasn't been provisioned yet. The master key is hard coded in the |
27 | controller code in the DeviceManager class and pretty easy to find. | 37 | controller code in the DeviceManager class and pretty easy to find. |
28 | 38 | ||
39 | On devices running protocol version 1 the encrypted payload is just JSON data. | ||
40 | In version 0 of the protocol the data was key=value pairs separated by | ||
41 | newlines. All of the mFi hardware I have access to uses protocol version 1. | ||
29 | 42 | ||
30 | MASTER_KEY = "ba86f2bbe107c7c57eb5f2690775c712" | 43 | MASTER_KEY = "ba86f2bbe107c7c57eb5f2690775c712" |