- Product Overview
- Initial Configuration
- Cellular Interface Modules
- IR829 AP803 Access Point Module
- Configuring Virtual-LPWA
- Alarms
- Guest Operating System (Guest OS) Installation and Configuration
- WAN Monitoring
- Ignition Power Management
- Licensing and Security
- mSATA SSD as Additional Storage
- Client Information Signaling Protocol (CISP)
- Dot1x Supplicant Support on the L2 interface
- Network Management Solutions
Guest Operating System (Guest OS) Installation and Configuration
This chapter details Guest Operating System (Guest OS) installation for the Cisco IR800.
- Guest Operating System Overview
- Prerequisites
- Guidelines and Limitations
- Default Settings
- Installation and Upgrade
- Configuring Cisco IOS
- Configuring Guest OS
- Configuring Network Address Translation (NAT)
- Troubleshooting
- Related Documentation
Guest Operating System Overview
The IR800 supports a Hypervisor architecture to support user-specified operating systems within an independent Virtual Machine (VM).
When you install the IR800 IOS software bundle (image) on the router, the image automatically installs the supported Guest OS (Cisco IOS and Linux OS) instance(s). You can use the Linux Guest OS running on a VM on the IR800 to run applications.
The following example shows connectivity of Guest OS and Cisco IOS. A virtual interface managed by Cisco IOS provides network connectivity to Guest OS. Cisco IOS forwards traffic from Guest OS through regular IP forwarding mechanisms.

In this example, number 1 is the interface being used on the router and number 2 is the interface on the Linux OS.
For the Cisco IR809, 1 is Gigabit Ethernet 2 and 2 is Eth 0.
For the Cisco IR829, 1 is Gigabit Ethernet 5 and 2 is Eth 0
Additionally, the Virtual Machine Linux has a virtual console, and two virtual serial ports.
Prerequisites
Router must be running Cisco IOS 15.6(2)T or higher.
![]() Note | The IOXVM image delivered in the IOS bundle may not be the most recent. Check Cisco.com for the latest version at: http://software.cisco.com/download/cart.html?imageGuId=F51FECDC2E4FE5814715000B44317E5500EB47C5&i=rs |
Guidelines and Limitations
-
The bundled Guest OS delivered with 15.6(2)T is based on Yocto Linux Project 1.8 Reference Distro, with basic services enabled:
-
IPv4/IPv6
-
DHCP
-
NTP
-
AAA (Radius)
-
Python 2.7
-
Basic debugging tools (tcpdump, top, etc)
-
bash
-
-
Serial relay for Guest OS control of the Serial Interface
-
Async 0 and Async 1 respectively reserve line 1/5 and 1/6 to relay serial data to the corresponding Guest OS /dev/ttyS1 and /dev/ttyS2
-
![]() Note | Prior to 15.6(3)M, Serial Interface parameters needed to be set through IOS. 15.6(3)M allows setting the parameters directly from the Guest OS, through standard Linux commands. |
-
You must configure Cisco IOS to provide Guest OS connectivity.
![]() Note | There is an IOXVM image more recent than IOS bundle, (IOXVM 1.0.4) available on Cisco.com |
Default Settings
The bundled Linux Guest OS:
-
Uses DHCP to acquire the IPv4 address.
-
Does not have a default root password.
-
Uses IPv6 stateless auto-configuration to get an IPv6 address.
![]() Note | Without an IPv6 address set on both GXX and ETH0, the Guest OS will never get displayed as registered under show iox host list detail. GXX is defined as GI5 on the IR829 and GI2 on the IR809. |
Installation and Upgrade
By default, IR800s ship with a software bundle that includes the latest versions of all of the required images such as Cisco IOS, Guest OS, and Hypervisor.
![]() Note | Before performing a bundle installation, shutdown the Guest OS. Performing a bundle installation on a device with an active Guest OS may result in it not functioning upon reboot. |
Use the following procedure to upgrade your router to the latest software bundle. It can take several minutes for the router to upgrade and install all of the images (Hypervisor, Cisco IOS, and Guest OS).
DETAILED STEPS
| Step 1 |
Copy the bundle image to the IR800 IOS flash partition using scp or sftp.
Example bundle name: ir800-universalk9-bundle.SPA.<VERSION> | ||||||||
| Step 2 |
Enter the following commands at the IR800 prompt:
|
Configuring Cisco IOS
This section describes how to configure the Cisco IOS VM to provide network connectivity to the Guest OS VM.
Guest OS connects to the network through a virtual Network Interface Card (VNIC) provided by the Hypervisor. Network attributes such as IP address, Default gateway, DNS server (as shown in the Configuring DHCP Pool section) on the interface are statically configured or configured for DHCP to dynamically obtain IP addresses. Guest OS network connectivity is only through Cisco IOS, using the virtual network interface provided by the Hypervisor. Network attributes such as IP address, can be configured statistically or dynamically, and are obtained from Cisco IOS using DHCP requests. The bundled Linux Guest OS is configured to use DHCP.
This section outlines the task to configure a Cisco IOS DHCP pool to provision the Linux Guest OS with an IP address, and an external Ethernet interface in Cisco IOS to allow the Guest OS network connectivity.
This section includes the following topics:
- Configuring the IR800 Ethernet Interface
- Configuring Guest OS GigabitEthernet on Cisco IOS
- Enabling Virtual Guest OS Console
Configuring the IR800 Ethernet Interface
You must enable one of the external Ethernet interfaces on the IR800 to provide network connectivity. For details on interface configuration refer to the Cisco 800 Series Integrated Services Routers Software Configuration Guide: http://www.cisco.com/c/en/us/td/docs/routers/access/800/software/configuration/guide/SCG800Guide.html
![]() Note | The IR809 uses Gigabit Ethernet 2, and the IR829 uses Gigabit Ethernet 5. |
IPv6 Gigabit Ethernet
On Guest OS, IPv6 is enabled by default. The following example configuration uses IPv6 on Guest OS, where Guest OS is automatically assigned an IPv6 address on the Cisco IOS interface GigabitEthernet 5.
|
Command |
Purpose |
|---|---|
|
ipv6 unicast-routing |
Enables unicast routing. |
|
ipv6 cef |
Enables cef. |
|
interface GigabitEthernet 5 |
Set the internal virtual interface that connects to the Linux Guest OS. |
|
ipv6 address autoconfig |
Sets the IPv6 address. |
|
ipv6 enable |
Enables IPv6. |
Enabling IPv4 Gigabit Ethernet
![]() Note | Configuring an IPv4 address on a Gigabit port is not a required part of configuring the Guest OS. However, IOS interfaces must be set to enable external devices to communicate with the Guest-OS through IOS. |
To enable an external Gigabit Ethernet IPv4 interface on the IR800 to provide network connectivity, enter the following commands:
|
Command |
Purpose |
|---|---|
|
config terminal |
Enters global configuration mode. |
|
interface gig 0 |
Configures an IPv4 address on Gigabit Ethernet interface 0, and enters interface configuration mode. |
|
ip address 10.1.2.1 255.255.255.0 |
Sets the IP address and subnet mask for Gigabit Ethernet interface 0. |
|
no shutdown |
Enables the Gigabit Ethernet interface. |
Configuring DHCP Pool
To configure a local DHCP pool, enter the following commands, one per line:
![]() Note | The subnet used for the local DHCP pool must be reachable externally. If you cannot allocate the whole subnet to Guest OS, use a NAT-based configuration. See Configuring Network Address Translation (NAT). |
|
Command |
Purpose |
|---|---|
|
config terminal |
Enters global configuration mode. |
|
ip dhcp pool gospool |
Names the local DHCP pool. |
|
network 10.1.2.0 255.255.255.0 |
Sets the network address. |
|
default-router 10.1.2.1 |
Sets the router address. |
|
domain-name utility.com |
Sets the subnet address. |
|
dns-server 10.1.1.1 |
Sets the DNS server address. |
|
lease 5 |
Sets the duration of the IP address lease to five days. |
Configuring Guest OS GigabitEthernet on Cisco IOS
The Guest OS Ethernet port (eth0) connects to a GigabitEthernet interface on Cisco IOS. The IR829 uses GigabitEthernet 5, and the IR809 uses GigabitEthernet 2.
To configure the GigabitEthernet interface with the default gateway address of the DHCP pool, enter the following commands:
![]() Note | IPv6 must always be enabled on the GigabitEthernet interface. |
![]() Note | The IR809 uses Gigabit Ethernet 2, and the IR829 uses Gigabit Ethernet 5. |
|
Command |
Purpose |
|---|---|
|
interface GigabitEthernet 5 |
Sets the internal virtual interface that connects to the Linux Guest OS. |
|
ipv6 enable |
Enables IPv6. |
|
ipv6 address autoconfig |
Sets the IPv6 address. |
|
ipv4 address 10.1.2.1 255.255.255.0 |
Sets the IPv4 address. |
|
no shutdown |
Enables the Ethernet interface, changing its state from administratively down to administratively up. |
VDS Configuration
![]() Note | There exists a condition where the IR800 could display slow performance if the Guest OS is consuming too many CPU resources. This should only be done under the recommendation of Cisco or an authorized partner. 4G performance may be impacted if changed without proper guidelines. |
By default, Guest OS gets 50% of one of the cores of the CPU. The following command allows you to change the percentage of CPU allocation to VDS out of 100. The rest will go to Guest OS. In the situation where you don't use the Guest OS, the CPU can be allocated 90% to VDS.
For Example:
IR800>en IR800#config t Enter configuration commands, one per line. End with CNTL/Z. IR800(config)#iox hypervisor ? sched-policy percentage of CPU ticks to VDS IR800(config)#iox hypervisor sched-policy ? 10 VDS 10% Guest OS 90% 20 VDS 20% Guest OS 80% 30 VDS 30% Guest OS 70% 40 VDS 40% Guest OS 60% 50 VDS 50% Guest OS 50% 60 VDS 60% Guest OS 40% 70 VDS 70% Guest OS 30% 80 VDS 80% Guest OS 20% 90 VDS 90% Guest OS 10% IR800(config)#iox hypervisor sched-policy 90
Enabling Virtual Guest OS Console
For heightened security, the Guest OS console is disabled by default. To enable the Guest OS console, enter the following commands:
|
Command |
Purpose |
|---|---|
|
config terminal |
Enters global configuration mode. |
|
line 1/4 |
Specifies line 1/4 for configuration and enters line configuration collection mode. |
|
transport input all |
Defines which protocols to use to connect to a specific line of the router. |
Configuring Guest OS
This section describes how to set the root password for Guest OS and enable SSH access. By default, SSH is disabled in Guest OS. This section describes the steps to reverse-Telnet into Guest OS, and enable SSH access.
- Starting Guest OS
- Accessing Virtual Guest OS Console
- Setting the Root Password
- Enabling Remote SSH Access
Starting Guest OS
By default, Guest OS starts after installation. To manually start the Guest OS, enter the following commands:
|
Command |
Purpose |
|---|---|
|
show iox host list detail |
Displays OS: RUNNING if Guest OS is already running. If it is, go to Accessing Virtual Guest OS Console. |
|
guest-os 1 start |
Starts Guest OS. |
During start up, Guest OS sends a DHCP request and is assigned an IP address from the local DHCP pool and an IPv6 address through IPv6 stateless auto-configuration. Guest OS is then configured with a hostname and sync time from IOS.
![]() Note | It can take a few minutes for the Guest OS to start. |
Accessing Virtual Guest OS Console
The Guest OS console is accessible at port 2070 on any Cisco IOS interface. Use the following commands to access the Linux Guest OS console from Cisco IOS.
![]() Note | You must first enable the Guest OS console as described in Enabling Virtual Guest OS Console. |
|
Command |
Purpose |
|---|---|
|
telnet 10.1.2.1 2070 |
Accesses the Virtual Guest OS console. This uses the IP address of the Gigabit Ethernet 5 port. The following is the example result: |
EXAMPLE
Poky 9.0 (Yocto Project 1.4 Reference Distro) 1.4 qemux86 ttyS0 qemux86 login: root root@qemux86:~#
Setting the Root Password
Guest OS does not have a default root password. To set a root password, at the GOS prompt enter the following command.
![]() Note | You must set a root password before turning on SSH access. |
|
Command |
Purpose |
|---|---|
|
[GOS] # passwd |
Runs the following UNIX password script. Enter your desired password at the prompt. |
EXAMPLE
Changing password for user root. New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully. [GOS]#
An alternate method for changing the root password from the IOS CLI is shown in the following example:
IR800#iox host exec "resetpw cisco" IR800-GOS-1 Password reset successfully.
Enabling Remote SSH Access
By default, SSH access is disabled to prevent unauthorized access to Guest OS. To enable SSH server on the guest OS:
| Step 1 |
Launch the vi editor to edit the sshd_config file: Example: vi /etc/ssh/sshd_config | ||
| Step 2 |
Set the PermitRootLogin and PasswordAuthentication parameters to yes.
Example: PermitRootLogin yes PasswordAuthentication yes PermitEmptyPasswords no | ||
| Step 3 |
Restart SSHD: Example: [GOS]# /etc/init.d/sshd stop Stopping sshd: [ OK ] [GOS]# /etc/init.d/sshd start Starting sshd: [ OK ] [GOS]# | ||
| Step 4 |
From the IOS command line, enter the following: Example: IR800#iox host exec enablessh IR800-GOS-1 ssh enabled successfully. You now have remote SSH access to Guest OS. |
Configuring Network Address Translation (NAT)
The following example configuration uses NAT for Guest OS network connectivity, where:
-
10.1.1.0 is the externally reachable subnet.
-
10.1.1.131 is the external IP address made available for Guest OS access.
-
192.168.1.0 is the private subnet created for Guest OS to Cisco IOS connectivity. This is not directly reachable outside the IR800.
-
The IP address acquired by Guest OS through IOS local DHCP pool is 192.168.1.2. This address can be obtained using show iox host list details command from IOS.
![]() Note | This example shows outgoing communications. For incoming communications, proper port mapping will be required. |
ip dhcp pool gospool network 192.168.1.0 255.255.255.0 default-router 192.168.1.1 domain-name utility.com dns-server 10.1.1.1 lease 5 interface gig 5 ip nat inside ip address 192.168.1.1 255.255.255.0 ipv6 enable no shutdown interface gig 0 ip nat outside ip address 10.1.1.5 255.255.255.0 no shutdown ip nat inside source static 192.168.1.2 10.1.1.131 ! End of configuration IR800#sh ip nat trans Pro Inside global Inside local Outside local Outside global tcp 10.1.1.131:22 192.168.1.2:22 10.1.1.3:53649 10.1.1.3:53649 tcp 10.1.1.131:60100 192.168.1.2:60100 10.1.1.3:22 10.1.1.3:22 --- 10.1.1.131 192.168.1.2 --- ---
For more information about NAT, please see the Configuring Network Address Translation: Getting Started Guide.
http://www.cisco.com/c/en/us/support/docs/ip/network-address-translation-nat/13772-12.html
- IR800 Guest-OS USB Access from IOS
- IR800 IOS SCP From/To Guest-OS USB Storage
- New for IOS 15.6(1)T
- New for IOS 15.6(3)M
IR800 Guest-OS USB Access from IOS
IR800 IOS releases don’t support an external USB storage directly accessible from IOS. However, it is possible to mount an external USB storage on the IR800 Guest-OS, then use it from IOS through SCP
Plug an external USB storage, wait for its recognition.
Edit “/etc/fstab” to add the new sdc1 drive, then mount it.
root@IR800-GOS-1:# vi /etc/fstab Rootfs / auto defaults 1 1 Proc /proc proc defaults 0 0 devpts /dev/pts devpts mode=0620,gid=5 0 0 usbdevfs /proc/bus/usb usbdevfs noauto 0 0 tmpfs /var/volatile tmpfs defaults 0 0 tmpfs /media/ram tmpfs defaults 0 0 /dev/sdc1 /mnt/sdc1 auto defaults 0 0
Example of no USB storage recognized
root@IR800-GOS-1:~# ls /dev/sd* /dev/sda /dev/sda1 /dev/sdb
Example of USB storage recognized
root@IR800-GOS-1:~# ls /dev/sd* /dev/sda /dev/sda1 /dev/sdb /dev/sdc /dev/sdc1 root@IR800-GOS-1:/etc# fdisk -l /dev/sdc Disk /dev/sdc: 1993 MB, 1993342976 bytes, 3893248 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Device Boot Start End Blocks Id System /dev/sdc1 2 3893247 1946623 b W95 FAT32
Mount the drive
root@IR800-GOS-1:/etc# mount –a
Check that the drive is correctly seen
root@IR800-GOS-1:/etc# df -H /dev/sdc1 Filesystem Size Used Avail Use% Mounted on /dev/sdc1 2.0G 869k 2.0G 1% /mnt/sdc1
Create a symbolic link in order to get the device directory (or subdirectory if created) associated to the SSH login
root@IR800-GOS-1:# ln -s /mnt/sdc1 ~/testUSB
Show a long listing of the testUSB directory which displays the symbolic link
root@IR800-GOS-1:~# ls -l testUSB lrwxrwxrwx 1 root root 9 Oct 13 18:00 testUSB -> /mnt/sdc1 root@IR800-GOS-1:~#
Now you can use the “test” directory to transfer files from and to the IR800 IOS.
IR800 IOS SCP From/To Guest-OS USB Storage
Now that the USB device is available to the Guest OS, you can copy files to and from it.
IR800#copy ir800-universalk9-mz.SPA.155-3.M0ascp://10.15.15.2/testUSB/ir800-universalk9-mz.SPA.155-3.M0a Address or name of remote host [10.15.15.2]? Destination username [IR800]? root Destination filename [testUSB/ir800-universalk9-mz.SPA.155-3.M0a]? Writing testUSB/ir800-universalk9-mz.SPA.155-3.M0a Password: Sink: C0644 62083137 ir800-universalk9-mz.SPA.155-3.M0a !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 62083137 bytes copied in 51.640 secs (1202230 bytes/sec) IR800#copy scp://10.15.15.2/testUSB/hosts flash: Source username [IR800]? root Destination filename [hosts]? Password: Sending file modes: C0755 44 hosts ! 44 bytes copied in 13.930 secs (3 bytes/sec)
New for IOS 15.6(1)T
Guest OS enhancements include:
-
Cisco distribution is based on Yocto Project 1.8 Reference Distro, with basic services enabled:
-
IPv4/IPv6
-
DHCP
-
NTP
-
AAA (Radius)
-
Python 2.7
-
Basic debugging tools (tcpdump, top, etc)
-
bash
-
-
Serial relay for Guest OS control of the Serial Interface
-
Async 0 and Async 1 respectively reserve line 1/5 and 1/6 to relay serial data to the corresponding Guest OS /dev/ttyS1 and /dev/ttyS2
-
New for IOS 15.6(3)M
USB Support
Previous to 15.6(3)M, the USB devices, which are connected to external USB port could be emulated on the Guest OS through OHCI mode only. With this feature Hypervisor will be enhanced to support EHCI emulation to Guest OS.
Serial Device Configuration
Previously, the Guest OS could not configure the physical serial port on the device. The serial port configuration (e.g. baud rate change) of the serial port needed to be done in IOS.
With 15.6(3)M, hypervisor and IOS are enhanced so that if the Guest OS changes the virtual serial port configuration, it notifies IOS, and IOS applies the configuration to the physical serial port.
Command line changes consist of the following:
-
A new option is appended to allow the baudrate, databits, stopbits and parity propagation from Guest OS. If "propagation" is present, the control parameters will be passed from Guest OS to IOS physical port. Otherwise it functions as before.
-
The serial port control parameters included in the propagation are: baudrate, databits, stopbits and parity.
relay line <linex> <liney> [propagation]
Serial Relay Configuration
IR800#conf term Enter configuration commands, one per line. End with CNTL/Z. IR800(config)#inter asyn 0 IR800(config-if)# encap relay-line IR800(config-if)# end IR800(config)# line 1 IR800(config-line)# transport input all IR800(config-line)# IR800(config)# relay line 1 1/5 propagation IR800# show line 1/5 Guest OS output for /dev/tty
GOS is installed through the IOX bundle install process and can be started/stopped and upgraded from IOS CLI
Verification for digitally-signed GOS image distributed via Cisco DevNet must be installed using the guest-os image install command only.
Memory Allocation Optimization
Improvements have been made in the memory allocation optimization between VDS, IOS and GOS on the IR800. Previously, the 2GB RAM was allocated as follows:
-
VDS: 512MB
-
IOS: 512MB
-
Guest OS: 725MB
-
Remainder: used by hypervisor (e.g. device share memory)
Now with optimization, the VDS memory was reduced to give at least 1GB to the Guest OS.
Troubleshooting
To determine common causes of configuration failure, enter the following commands:
|
Command |
Purpose |
|---|---|
|
Guest OS Commands: |
|
|
ifconfig eth0 |
Checks if Guest OS is assigned an IP address. The following is example output: |
eth0 Link encap:Ethernet HWaddr 02:00:03:f1:cd:05 inet addr:10.1.2.2 Bcast:0.0.0.0 Mask:255.255.255.248 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:2 errors:0 dropped:0 overruns:0 frame:0 TX packets:5 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:684 (684.0 B) TX bytes:894 (894.0 B) [GOS]# |
|
|
netstat -r |
Displays the Guest OS route table. The following is example output: |
Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface default 10.1.2.1 0.0.0.0 UG 0 0 0 eth0 10.1.2.0 * 255.255.255.0 U 0 0 0 eth0 [GOS]# |
|
|
IOS Commands: |
|
|
show ip arp |
Verifies that Cisco IOS learned Guest OS ARP mapping.The following is example output: |
Protocol Address Age (min) Hardware Addr Type Interface Internet 10.1.1.1 - 0022.bdef.c562 ARPA GigabitEthernet0 Internet 10.1.2.1 - 0022.bdef.c569 ARPA GigabitEthernet2 Internet 10.1.2.2 112 0022.bdef.c56d ARPA GigabitEthernet2 IR800# |
|
|
show ipv6 neighbor |
Verifies that Cisco IOS learned Guest OS IPv6 neighbor address.The following is example output: |
IPv6 Address Age Link-layer Addr State Interface FE80::1FF:FE90:8B05 0 0200.0190.8b05 REACH Gi2 |
|
|
show platform guest-os |
Guest-OS started |
Guest OS status: Installation: Cisco-GOS,version-1.28 State: RUNNING IR800# |
|
|
show iox host list detail |
Guest-OS started, normal operation |
IOX Server is running. Process ID: 319
Count of hosts registered: 1
Host registered:
===============
IOX Server Address: FE80::76A2:E6FF:FEFD:6A6C; Port: 22222
Link Local Address of Host: FE80::1FF:FE90:8B05
IPV4 Address of Host: 10.15.15.2
IPV6 Address of Host: fe80::1ff:fe90:8b05
Client Version: 0.1
Session ID: 1
OS Nodename: IR809-GOS-1
Host Hardware Vendor: Cisco Systems, Inc.
Host Hardware Version: 1.0
Host Card Type: not implemented
Host OS Version: 1.28
OS status: RUNNING
Interface Hardware Vendor: None
Interface Hardware Version: None
Interface Card Type: None
Applications Registered:
=======================
Count of applications registered by this host: 0
IR800#
|
|
|
show iox host list detail |
Guest-OS started but no IPv6 address set-up on the GI2 interface |
IOX Server is running. Process ID: 319
Count of hosts registered: 0
IOX Server Address: 0.0.0.0; Port: 22222
IR800#
|
|
Checking Connectivity
Use standard Linux tools (for example, ping and traceroute) to check Guest OS connectivity.
Related Documentation
![]() Note | While some of these references do not apply directly to the Cisco IR800 series of Industrial Routers, they may serve as a source of addition information. |
For information on supporting systems referenced in this guide, refer to the following documentation on Cisco.com:
DevNet documentation on IOx. Provides an overview as well as details on the IR800 series by scrolling down the left hand side:
https://developer.cisco.com/site/iox/documents/developer-guide/?ref=overview
Cisco Fog Director Reference Guide:
IOx Reference Guide:
Release Notes:
Other Sources:
Cisco IOS IP Application Services Command Reference

Feedback