cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
51811
Views
48
Helpful
11
Comments
Steve Zhang
Cisco Employee
Cisco Employee

Getting Started with Cisco IOx

 

IOx.png

 

 
 

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:

IOx App Dev Lifecycle.png

 

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

  • What is Cisco IOx?
  • Use cases of IoT Edge Compute
  • High-level architecture of IOx
  • IoT Gateways with Cisco IOx
  • Demo: Deploy IOx application on IR1101 using Local Manager

 

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

 

 

Cisco IOx Nodes

 

Newest IOx Nodes

The IE3400, IR1800, IR8100, IR1101, IC3000 are the newest IOx nodes on the market.

 

Product Overviews:

IE3400IE3400

IR1800IR1800

IR8100IR8100

IC3000IC3000

 

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.

  • ISR819(C819) uses a PowerPC processor,
  • CGR1120/1240 use an Intel X86 32bit processor,
  • IR829/809 use an Intel X86 64bit dual-core processor,
  • IE4000 use a PowerPC processor.

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.

  • IOx Sandbox: refer to IOx Sandbox to use the IOx Sandbox on Cisco DevNet.

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.

  • Build a Protocol handler that can support all types of devices that communicate using the specific device protocol. Example of a protocol could be modbus, DNP3, CANBUS, profinet etc.,
  • Reduce the data to the cloud by applying filters and aggregation primitives and reduce data before being sent to cloud/data center applications.
  • Analyze the data at the edge using rule engines and facilitate local decision making in case of connectivity failures to cloud or data center.
  • Store and forward data to avoid data loses during connectivity failures

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.

 

 

Comments
brettkugler
Level 4
Level 4

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.

mikemaas
Level 5
Level 5

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?

brettkugler
Level 4
Level 4

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.

Steve Zhang
Cisco Employee
Cisco Employee

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

brettkugler
Level 4
Level 4

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?

Steve Zhang
Cisco Employee
Cisco Employee

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.

brettkugler
Level 4
Level 4

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.

brettkugler
Level 4
Level 4

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.

balakrishna9
Community Member

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

Steve Zhang
Cisco Employee
Cisco Employee

Only the authorized Cisco solution partners could access the above links.

odealya.price
Level 4
Level 4

Are there updated files for the CGOS to IOS Migration for the CGR1000? Tried with the below file set and it is NOT working.

  1. IOX system image: cgr1000-universalk9-mz.SPA.156-3.M3
  2. Migration image: cgr1000-uk9-migration.5.2.1.CG4.4.5.SSA.gbin
  3. Hypervisor image:  cgr1000-hv.srp.SPA.2.0.12

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

Getting Started

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:

Quick Links