Routers supporting Cradlepoint "Router Applications" exist in one of two modes:
Standard (or Deployment) Mode:
- Once your code is tested and correctly bundled in the required TAR/GZIP archive format, then you can deploy it to an NCM group. Much the same way as NCM downloads firmware in bulk, NCM downloads the code archive. When the archive is received, the Router firmware will delete any existing Router Application, then unpack, validate, and launch the new code.
- As the name suggests, you place the router into "Developer Mode" to allow direct local Python development. You will also need to enable [ TODO LINK: Syslog logging], as that is the only way you can see any results or errors from your code. When in developer mode, you can use Secure Copy (SCP) to directly transfer the TAR/GZIP archive to the router, which then unpacks, validates, and launches the new code.
The steps below explain how to enable "Developer Mode".
Ensure Router has the correct level of firmware
- The minimum NCOS level required is 6.1.0 (2016-03-18). Upload your NCOS Versions via NCM or other means of your choice. Make sure the Router reboots at least once after the NCOS change, plus consider doing a factory reset of the Router.
Ensure the Router is not in any group
- You remove the Router from any group by moving it to the parent account. The screenshot below shows:
- The target Router is selected by checking the box in the device list.
- The MOVE command is selected to pop-up the dialog shown.
- The parent account is selected, instead of any group (Note: the group name '1600-sdk' is a user assigned name - the 'sdk' term means nothing.)
- You may want to reboot after removing from the group - the next step is the most reliable if the Router has been freshly restarted.
Add to the list of developer mode Routers
- Select the new "Tools" selection on the left.
- Make sure the "Enabled" check box is checked (not shown in image at right - is near the top). For those who never want any loadable code to be allowed, unchecking this option causes an account-wide ban on the use of Router Applications. Any existing apps will be stopped and purged.
- Click the lower "Add", which pops up a dialog showing all Routers eligible for Developer Mode, which means:
- They are not in any group.
- They are a supported model and firmware combination.
- Select the router to add, then click "Save"
- If you receive a error about disconnecting, power-cycle the Router, and once it reconnects and is stable - try again.
Manually reboot the Router
If the addition succeeded, you'll see the Router now listed in the Developer Mode list.
- It shows the "reboot required" icon - the most reliable reboot is a physical power cycle.
- Once the Router reaches steady-state, then use SSH to check the Router API "status/system/sdk" data - or use the STATUS command in the MAKE file. See: SDK's make.py documentation
For now, ignore the Available Router Apps section
The upper list is your account's collection of deployment-ready Router Applications. It is NOT used during development. During development, you directly Secure-Copy the archive to the Router.
Frequently Asked Questions
If I move the router between accounts, does it fall out of dev mode?
No and Yes.
- Unregistering the router from your account doesn't affect Developer Mode.
- Adding it to a new account won't immediately affect developer mode, but the first reboot will force Developer Mode to match the new account's configuration.
- Also, adding to a group or removing from a group both disables Developer Mode and purges any SDK content.