add documentation for rnode provisioning
This commit is contained in:
30
README.md
30
README.md
@@ -39,6 +39,36 @@ The following list of devices are supported:
|
|||||||
|
|
||||||
- RAK4631
|
- RAK4631
|
||||||
|
|
||||||
|
## What is needed to set up a new RNode?
|
||||||
|
|
||||||
|
> Note: This is a technical overview of how the RNode device provisioning works.
|
||||||
|
> Most of this is taken care of by the code base, and this section just makes it easier to understand what is going on.
|
||||||
|
|
||||||
|
To set up a new RNode device, you will need to do a few things;
|
||||||
|
|
||||||
|
- Obtain supported hardware, such as a RAK4631
|
||||||
|
- Obtain an RNode firmware file
|
||||||
|
- Put your device into DFU mode
|
||||||
|
- Flash the firmware file
|
||||||
|
- Provision the EEPROM
|
||||||
|
|
||||||
|
Once the firmware is flashed to the device, you will need to provision the EEPROM;
|
||||||
|
|
||||||
|
- Set firmware hash in eeprom
|
||||||
|
- Collect device info
|
||||||
|
- `product`
|
||||||
|
- `model`
|
||||||
|
- `hardware_revision`
|
||||||
|
- `serial_number`
|
||||||
|
- `made` (unix timestamp of device creation)
|
||||||
|
- Write device info to eeprom
|
||||||
|
- Create an MD5 checksum of the device info
|
||||||
|
- Write 16 byte device info checksum to eeprom
|
||||||
|
- Sign device info checksum with signing key to use as signature
|
||||||
|
- Write 128 byte signature to eeprom
|
||||||
|
- Write `ROM.INFO_LOCK_BYTE` to `ROM.ADDR_INFO_LOCK` in eeprom
|
||||||
|
- Read eeprom and validate checksums and signatures to ensure all is correct
|
||||||
|
|
||||||
## TODO
|
## TODO
|
||||||
|
|
||||||
- support configuring eeprom with device signatures and firmware hashes
|
- support configuring eeprom with device signatures and firmware hashes
|
||||||
|
|||||||
Reference in New Issue
Block a user