on 09-06-2015 08:38 PM - edited on 09-12-2022 07:55 AM by Alexander Stevenson
Cisco IOx Development Guide
The Cisco IOx DevNet home page is https://developer.cisco.com/site/iox/. It covers the technical overview of IOx and how to develop applications for IOx. For details, please check the following:
1. Why IOx:
Please refer to https://developer.cisco.com/site/iox/docs/#introduction-to-iox
2. What is IOx:
Please refer to https://developer.cisco.com/site/iox/docs/#introduction-to-iox.
3. Get started with application development for IOx:
Please refer to https://developer.cisco.com/site/iox/docs/. It covers all the details for IOx introduction, IOx Quick start, IOx SDK, IOx applications development guide and examples, ioxclient tool, Troubleshooting, FAQ, etc. Please make sure to read all the documents before you start to develop applications for Cisco IOx.
4. IOx application development lifecycle:
5. Video of Getting Started with Cisco IOx:
From the DevNet Create 2020 archive: IOx Application Hosting on Industrial IoT Networks
The video show you how to get started with Cisco IOx. It covers the below topics. Video Link
6. IOx Resource Downloads:
Go to https://developer.cisco.com/docs/iox/#!iox-resource-downloads or IOx Downloads Links from CCO . It includes all the related links for IOx 1.x such as IOS Bundle, IOXVM, Fog Director, ioxclient, IOx SDK, etc. Please notify you need a CCO account to download the related software. If you have no CCO, please send mail to "ipg-partner-eng-support@@@external.cisco.com" and "iox-support@@@cisco.com" for request so that we could provide you a specific space from devnet.
7. Troubleshooting Guide:
Please go to FAQ tab in https://developer.cisco.com/site/iox/docs/#frequently-asked-questions-faq.
8. Developer Resources:
9. Platform Support Matrix
This page summarizes the capabilities and features of IOx on supported platforms based on the latest software release at the time of publishing - https://developer.cisco.com/docs/iox/#!platform-support-matrix/platform-support-matrix
Newest IOx Nodes
The IE3400, IR1800, IR8100, IR1101, IC3000 are the newest IOx nodes on the market.
Product Overviews:
Original IOx Nodes
For legacy, proven IOx Industrial Routers, mainly there are ISR 819(C819), CGR1120/1240, and IR829/809. Here list the main OS and hardware(CPU, Memory, Flash storage) information for them.
Please see the details from the post of Cisco IOx Nodes (ISR819/CGR1120/1240/IR829/809/IR910) Hardware and Software Specification
Cisco IR829/809
1. IR829/809 Hardware Installation Guide:
Cisco 829 Industrial Integrated Services Routers have a compact form factor, integrated 9-32 VDC power input, and multimode 3G and 4G LTE wireless WAN and WLAN connections. With it, you can rapidly deploy a wide variety of Internet of Things (IoT) solutions, including fleet management, mass transit, and remote asset monitoring. IR829 and IR809 are using the same architecture. The main difference between IR829 and IR809 is the support of WiFi, POE, the number of GE ports, etc. For the Hardware Installation Guide, please refer to Cisco IR829 Industrial Integrated Services Router Hardware Installation Guide - Cisco.
2. IR829/809 IOx Installation and Configuration:
Before you install or upgrade your bundle image, you need to configure IR829 for network access. For detailed IOx configuration guide, please refer to the post: https://developer.cisco.com/docs/iox/#!ir-800-series-platform-information or IOx Configuration on IR829
For the image install or upgrade, you may get the new bundle from Cisco. Here are the steps for installing IR829 new bundle as an example:
IR800# copy scp://userid@scpServerIp/ir800-universalk9-bundle.SPA.156-1.T1.bin flash:
IR800# bundle install flash:ir800-universalk9-bundle.SPA.156-1.T1.bin
IR800# write memory
IR800# reload
3. IR829/809 Guest OS Installation and Upgrade
There is the Guest OS installed by default. You don't need to install a new one. However if you have to install a new one, you may get the new Guest OS image from Cisco and install it on the flash of IR829/809. Here are the steps as an example.
IR800# copy scp://userid@scpServerIp//ir829/ir800-ioxvm-1.0.0.4-T.bin flash:
IR800# guest-os 1 stop
IR800# guest-os 1 image uninstall
IR800# guest-os 1 image install flash:ir800-ioxvm-1.0.0.4-T.bin verify
IR800# guest-os 1 start
It is also possible to install the Guess OS image from the bundle with the option of "exclude HV-IOS". For example: "bundle install flash:ir800-universalk9-bundle.SPA.156-3.M1.bin exclude HV-IOS".
4. IR829/809 IOx PaaS Application Development and Deployment:
IR829/809 is using a dual-core Intel processor with X86 architecture (64bit). It has 2GB DDR3 memory, and 8GB flash memory (4GB usable). Cisco provides the IOx SDK and IOx Sandbox for application development. IR829/809 IOx and IOx Sandbox support the PaaS and Container Style applications including Java, Python, LXC applications. Please refer to IOx Application Development Concepts for details.
Cisco provides the IOx Sandbox to simulate the IOx environment if you have no physical IR829, and IOx SDK for IOx application development. Please make sure to use the same version of 1.1.0 for IOx SDK, Fog Director, and IOx Sandbox, or there may be some non-compatibility for some older version.
Once the applications are development and its packages are created, Cisco provides the IOx Local Manager or Fog Director for applications installation. IOx Local Manager is for the specific IOx node while IOx Fog Director is central management for applications and devices.
Here are the application development examples for IOx, and it covers all the above details as example:
5. LXC Application Development On IR829/809 IOx:
Please refer to LXC Applicaton Development on Cisco IR829 IOx.pdf. It needs the new version (1.1 and later) of IOx SDK and IR829 IOx images. And you may refer to https://developer.cisco.com/site/iox/docs/#overview (Go to IOx App Tutorials) for PaaS, LXC, and Docker application development as well.
6. Docker Application Development on IR829/809 IOx:
From the version of IOx 1.2, Cisco IOx supports Docker. Please refer to https://developer.cisco.com/site/iox/docs/#overview (Go to "IOx App Tutorials"). Please note it may need to add the TAG for the specific images when you are trying to package docker apps. For details, please refer to ioxclient : error packaging docker style apps when tag is omitted..
7. IR829/809 Serial Interface Configuration:
From the version of 15.6, IR829 could support serial interfaces. Please make sure to upgrade your IR829 to a recent version.
The serial interface configuration for IR829/809 is quite similar with CGR1000. For details, please refer to the post of Accessing Serial Interface on IR829 through GOS. Here is an example for RS232 configure the first serial interface of IR829.
interface Async0
no ip address
encapsulation relay-line
line 1
transport preferred none
transport input all
stopbits 1
speed 115200
relay line 1 1/5
For RS485, you need to set the media-type as rs485 for the SERIAL 0. Please note, the SERIAL 0 supports RS-232 and RS-485 (DCE), and SERIAL 1 supports RS-232 (DTE) only.
interface Async0
no ip address
encapsulation relay-line
half-duplex
media-type rs485
6. How to set the static IP address for PaaS/LXC/Docker style applications?
Please refer to the post of How to set Static IP address to PaaS/LXC.
Cisco IE4000
1. Cisco IE4000 Hardware Installation Guide:
Please refer to Cisco IE 4000 Switch Hardware Installation Guide - Cisco
2. Cisco IE4000 IOx support:
Cisco IE4000 supports IOx now. You may download the related package (such as "IOX COMPUTE PLATFORM FIRMWARE WITH IOS BUNDLE") from CCO. And you may refer to https://developer.cisco.com/site/iox/docs/#ie-4000-series (Go to Platforms --> IE4K Platforms) for how to enable/configure IOx on IE4000.
3. Application Develop on Cisco IE4000 IOx:
Please refer to https://developer.cisco.com/site/iox/docs/#ie-4000-series (Go to Platforms --> IE4K Platforms for how to enable/configure IOx on IE4000, and go to App Development --> Native Demo Apps --> Build and Install (Select the target machine to build this application for "YOCTO_MACHINE ?= ie4k") for IE4000 IOx app development).
IoT Operations Dashboard / Edge Device Manager, IOx Local Manager and Fog Director
1. Cisco IoT Operations Dashboard / Edge Device Manager
IoT Operations Dashboard (IoT OD) is an easy-to-use, modular toolset, which helps operations teams to deliver and remotely manage industrial IoT securely, flexibly, and at scale - https://www.cisco.com/c/en/us/products/cloud-systems-management/iot-operations-dashboard/index.html
Edge Device Manager is a secure, cloud native, scalable tool to provision, manage and monitor IoT network devices. It as also a core service in Cisco IoT used to manage industrial network devices such as IR1101, IR829, IR809, and IR807. Customers can bring new devices online with Zero Touch Deployment (ZTD) and easily manage them remotely with this service, for software upgrades, monitoring, and troubleshooting - https://developer.cisco.com/docs/iotod/#!requirements-and-release-notes-overview/overview
2. IOx Local Manager User Guide:
IOx Local Manager comes once the Cisco IOx device is installed and configured successfully. It only applies for the device itself. For Fog Director, it could manage the IOx applications and many IOx devices at the same time but you need to install it separately in a server.
Please refer to Cisco IOx Local Manager Reference Guide, Release 1.1 - Cisco. It may apply for both IR829 IOx and IOx Sandbox.
To access the Local Manager of IR829/809 and ISR819, you need to configure the user in Cisco IOS with "privilege 15". For example, "username cisco privilege 15 password 0 cisco".
3. Use English version of Chrome to access IOx Local Manager:
To access the Local Manager of C819 or IR829, the Local Manager UI may not be prompted successfully due to a non-English version of Chrome. Please try to use an English version of Chrome to access Local Manager. You may set Chrome to ENGLISH version as following setting.
Settings -> Show advanced settings -> Language and inputs settings -> Add English (United States) -> Display Google Chrome in this language
4. ioxclient:
ioxclient is a tool for the developer. Please go to "IOxclient Reference" of "IOx Application Development Concepts" for details.
To access IR829/809 and ISR819, you need to configure the user in Cisco IOS with "privilege 15". For example, "username cisco privilege 15 password 0 cisco".
5. Fog Director Installation and Configuration:
Download the OVA version of Fog Director 1.1.0 from Cisco. Please refer to Cisco Fog Director Reference Guide, Release 1.1 - Cisco for how to install, configure and use Fog Director (formerly App Manager).
Cisco IOx Service
IOx Services infrastructure provides framework for developing micro services that can offer off the shelf capabilities to the IOx application developers like below.
For details, please refer to https://developer.cisco.com/docs/iox/#iox-services-architecture.
Cisco IOx Service Developer Guide:
Please refer to https://developer.cisco.com/site/iox/docs/#cisco-iox-services-developer-guide for details.
Having some issues with an image update. IR829 going from ir800-universalk9-mz.SPA.155-3.M to ir800-universalk9-bundle.SPA.156-2.T. Here's what is happening:
DALABCRS15WAN01A#bund install flash:/ir800-universalk9-bundle.SPA.156-2.T.bin
Installing bundle image: /ir800-universalk9-bundle.SPA.156-2.T.bin.....................................................................................................................
updating Hypervisor image..
%Error copy from scp://*:*@127.1.3.1//vds_system/bundle/ir800-hv.srp.SPA.0.37 to bootstrap:ir800-hv.srp.SPA.0.37
Failed to install hypervisor image!
Can't really find anything that addresses this issue - or logs that might tell me what's going on. I have stopped the Guest OS and retried, no luck.
Hi Brett,
I am not seeing this particular issue, but I followed the instructions at the tail end of IOx Configuration on IR829. to success. Did you happen to uninstall the image as well or just stop it?
Good suggestion. As I was not using the Guest OS at the moment, I went ahead and gave uninstalling it a shot. Unfortunately, I'm still having the same issue. The OS image bundle install fails when it tries to deploy the hypervisor.
Also, in case it comes up, running at privilege level 15.
Hi Brett,
Do you have enough spaces in IR829 flash? It is better to have 500MB free of spaces when you are trying to upgrade a new bundle image. Hope it helps.
Thanks,
Steve
Thank you for the suggestion. I did consider drive space, but did not know about the recommended minimum. However, I do have plenty of space available:
994918400 bytes total (766115840 bytes free)
If I were to try to debug the install, what debug might I want to enable?
Hi Brett,
I am trying to get how to debug it from team, and back to you.
Meanwhile, you may try to upgrade it to 156-1 first.
I have narrowed it down to something in my config. If I clear the config and do the bundle install, it works. I now need to narrow down what is conflicting.
Just a follow up here - the issue was related to SSH configuration on the device. Here is the offending line -
ip ssh source-interface Loopback0
Enabling ssh on the Loopback0 interface causes the bundle install to fail.
Hi Steve,
To access the GPS data from the 829 I need to install the following packages
- iox-gps-service-1.0.0.tar
- iox-core-services-1.0.0.tar
These are available at the following links:
https://communities.cisco.com/docs/DOC-72306 - contains the Core services tar.
https://communities.cisco.com/docs/DOC-71736 - GPS alpha release tar
But when I try to access these using my CCO login, it says that I am not authorized. Is there any additional permissions required to access these pages.
Thanks,
Bala
Only the authorized Cisco solution partners could access the above links.
Are there updated files for the CGOS to IOS Migration for the CGR1000? Tried with the below file set and it is NOT working.
sh version on the CGR output:
Software
BIOS: version 12 Production
BIOS: date 06/27/2012
CPLD: version 20
loader: version N/A
kickstart: version 5.2(1)CG4(5)
system: version 5.2(1)CG4(5)
kickstart image file is: bootflash:///cgr1000-uk9-kickstart.5.2.1.CG4.5.SPA.bi
n
kickstart compile time: 1/15/2016 15:00:00 [01/15/2016 18:38:59]
system image file is: bootflash:///cgr1000-uk9.5.2.1.CG4.5.SPA.bin
system compile time: 1/15/2016 15:00:00 [01/15/2016 18:47:14]
Hardware
Cisco CGR1240 weather-proof, 4 CGM slots for AMI and DA ID FTX2118G02H
Intel(R) Atom(TM) CPU E640 with 1020092 kB of memory.
Processor Board ID FOC21126JYN
Device name: CGRFTX2118G02H
bootflash: 1062985 kB
Kernel uptime is 0 day(s), 13 hour(s), 25 minute(s), 42 second(s)
plugin
Core Plugin, Ethernet Plugin
CGRFTX2118G02H#
Please see below error:
CGRFTX2118G02H# load migration_copy
Loading plugin version 5.2(1)CG4(5)
###############################################################
Warning: debug-plugin is for engineering internal use only!
For security reason, plugin image has been deleted.
###############################################################
Successfully loaded migration plugin!!!
Start NXOS/NXT migration
Verifying hypervisor image...
Hypervisor signature verification was successful
Verifying IOS image...
Unzip IOS image...
Starting image verification
IOS signature verification was successful
Set autoboot values...
Upgrading BIOS...
display_bios_prom_type: INFO - get_boot_rom_select() returned: 3
display_bios_prom_type: INFO - bios_prom->size = 2
display_bios_prom_type: INFO - bios_prom->opcode_addr = 2667577344
display_bios_prom_type: INFO - bios_prom->control = 48
display_bios_prom_type: INFO - reg_val1 = 32
display_bios_prom_type: INFO - reg_val2 = 186
display_bios_prom_type: INFO - reg_val3 = 23
*** Error: BIOS PROM ID1 = 0xba is not supported
Running BIOS version is: display_bios_prom_type: INFO - get_boot_rom_select() returned: 3
display_bios_prom_type: INFO - bios_prom->size = 2
display_bios_prom_type: INFO - bios_prom->opcode_addr = 2667577344
display_bios_prom_type: INFO - bios_prom->control = 48
display_bios_prom_type: INFO - reg_val1 = 32
display_bios_prom_type: INFO - reg_val2 = 186
display_bios_prom_type: INFO - reg_val3 = 23
*** Error: BIOS PROM ID1 = 0xba is not supported
Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: