Configure and Verify IOx on Cisco Catalyst 9100 Family of Access Points

View IOx application details, status, and logs on the AP

Learn about how to verify the device information, storage space available on access points, IOx application's status, port details, and application hosting logs on Cisco Catalyst 9100 Family of Access Points.

This section contains configuration and verification commands for access points.

Connect to Applications Running on the AP

The connect IOx application command connects to applications running on the Cisco Catalyst 9100 Family of Access Points. This command is only supported on an AP SSH session where it consoles into the Docker container:

AP# connect iox application

    Apps running on the AP:

    1.app1
    2.app2

    Select the App to console into [1,2]:2

    Connected to domain app2

    root@APA03D:~#               <<<<<<<<<<<<<<<<<<<<<< app console

View Device Information

The show inventory command displays information of the following devices:

  • Cisco Catalyst 9100 Series Access Point
  • Devices connected to this access point via USB
AP# show inventory 
NAME: C9130AX, DESCR: Cisco Catalyst 9130AX Series Access Point
PID: C9130AXI-B , VID: V01, SN: FJC240511KH


Entity Name         : USB Module
Detected            : Yes
Status              : Enabled
Product ID          : ea60
Vendor ID           : 10c4
Manufacturer        : Silicon Labs
Description         : CP2102N USB to UART Bridge Controller
Serial Number       : 0cd351d9f35
Max Power           : 100 mA

Enable AP to Load Drivers for a USB Dongle

After the USB dongle is plugged into the AP, you can see the USB device details using the show inventory CLI output. The AP requires the PID, VID, and VER information of the inserted USB dongle to configure and load its drivers. You can retrieve the dongle information as shown below.

AP#show logging | i usb 
Nov 30 15:23:59 kernel: [11/30/2022 15:23:59.0299] usb 1-1: new full-speed USB device number 2 using xhci-hcd 
Nov 30 15:23:59 kernel:  SUBSYSTEM=usb 
Nov 30 15:23:59 kernel:  DEVICE=+usb:1-1 
Nov 30 15:23:59 DevNet[3083]: New device detected: usb_device 403/6001/600 
Nov 30 15:23:59 kernel: [11/30/2022 15:23:59.1899] usbcore: registered new interface driver usbserial 
Nov 30 15:23:59 kernel: [11/30/2022 15:23:59.1999] usbcore: registered new interface driver ftdi_sio 
Nov 30 15:23:59 kernel:  SUBSYSTEM=usb 
Nov 30 15:23:59 kernel:  DEVICE=+usb:1-1:1.0 
Nov 30 15:23:59 kernel: [11/30/2022 15:23:59.1999] usb 1-1: Detected FT232RL 
Nov 30 15:23:59 kernel:  SUBSYSTEM=usb 
Nov 30 15:23:59 kernel: [11/30/2022 15:23:59.1999] usb 1-1: FTDI USB Serial Device converter now attached to ttyUSB0 
Nov 30 15:23:59 kernel:  SUBSYSTEM=usb 
Nov 30 15:23:59 kernel: [*11/30/2022 15:23:59.2081] usbserial: USB Serial support registered for FTDI USB Serial Device 
Nov 30 15:23:59 /usr/bin/nolan-monitor.sh: ADD serial_usb 
Nov 30 15:23:59 kernel: [*11/30/2022 15:23:59.2250] /usr/bin/nolan-monitor.sh: ADD serial_usb 
Nov 30 15:23:59 DevNet[3083]: New device detected: usb_interface ff/ff 
AP#

If the displayed results are not similar to the above-shown example, disable and enable the USB port.

AP#test usb disable 
AP#test usb enable 

Once the USB port is re-enabled, run the command show logging | i usb to get the PID, VID, and VER of the USB dongle. After obtaining the dongle details, configure the AP to load drivers for the device. Currently, AP supports cdc-acm, ftdi_sio, and cp210x drivers.

Note: The AP loads the cdc-acm driver automatically. Hence, if the USB dongle requires a cdc-acm driver, then you do not need to configure the AP to load drivers for the dongle.

AP#test usb load module 
  WORD  kernel module to load. cdc-acm, cp210x, and ftdi-sio are valid values. 
cm66ssr#test usb load module ftdi-sio 
  vendor-id  vendor id (VID) of USB 
cm66ssr#test usb load module ftdi-sio vendor-id 403 
  product-id  product id (PID) of USB 
cm66ssr#test usb load module ftdi-sio vendor-id 403 product-id 6001 
  version  version (VER) of USB 
cm66ssr#test usb load module ftdi-sio vendor-id 403 product-id 6001 version 600 
  <cr> 
cm66ssr#test usb load module ftdi-sio vendor-id 403 product-id 6001 version 600 
cm66ssr#show usb list 
PID/VID/VER         : Module 
10c4/ea60/100       : cp210x 
02/02               : cdc-acm 
403/6001/600        : ftdi-sio 
User Added 
403/6001/600        : ftdi-sio 
AP# 

Once the AP is configured to load the driver for the USB module, load the driver for the USB dongle by running the following commands to create the required serial device for the USB dongle on the AP:

AP#test usb disable 
AP#test usb enable 

Note: This driver configuration is persistent when the AP reloads. However, if the AP is running software version earlier to 17.9.x, then you must run test usb load module command at every AP reload.

Check Storage Available on AP

If you receive an error related to insufficient space, run the following access point commands to view the available storage on your Cisco Catalyst 9100 Series Access Point.

To view the available storage space within the /tmp directory and other directories on your AP, use the show filesystems command:

AP# show filesystems

Filesystem             Size      Used    Available     Use%    Mounted on

devtmpfs              883.0M         0     883.0M       0%     /dev

/sysroot              885.6M    217.9M     667.7M      25%     /

tmpfs                   1.0M     44.0K     980.0K       4%     /dev/shm

tmpfs                 885.6M         0     885.6M       0%     /run

tmpfs                 885.6M         0     885.6M       0%     /sys/fs/cgroup

/dev/ubivol/part1     371.7M     59.2M     307.7M      16%     /part1

/dev/ubivol/part2     519.4M    305.4M     209.3M      59%     /part2

none                   80.0M      3.2M      76.8M       4%     /tmp

none                    1.0M     44.0K     980.0K       4%     /dev/shm

/dev/loop0              3.9M     36.0K       3.7M       1%     /part2/storage/software/caf/work/repo-lxc/lxc-data/cleanslage

/dev/loop1             52.1M     51.0M       1.1M       98%    /part2/storage/software/caf/work/repo-lxc/cleanslage/rootfs_mnt

To view the total available storage on your access point, use the show flash command:

AP# show flash

Directory of /storage/

total 84K

-rw-r--r--    1 root     root             4 Jul 14 20:51 BOOT_COUNT

-rw-r--r--    1 root     root             4 Jul 14 20:51 BOOT_COUNT.reserve

-rw-r--r--    1 root     root            29 Jul 14 20:51 RELOADED_AT_UTC

drw-r--r--    3 root     root           224 May 19  2019 ap

drwxr-xr-x    2 rsyncuse root           160 Jul 14 20:51 application

-rw-r--r--    1 root     root          5306 Jul 31 18:39 base_capwap_cfg_info

-rw-r--r--    1 root     root             2 Jan 13  2020 boot_debug

-rw-r--r--    1 root     root          1602 Jan 16  2020 cert.pem

-rw-r--r--    1 root     root            18 Apr 15  2019 config

-rw-r--r--    1 root     root          8755 Jul 31 18:39 config.flex

-rw-r--r--    1 root     root             0 Jul 31 18:39 config.flex.mgroup

-rw-r--r--    1 root     root             0 Jul 14 20:51 config.local

-rw-r--r--    1 root     root             0 Feb 27 18:29 config.local_dhcp_nat

-rw-r--r--    1 root     root             0 Nov  4  2019 config.mesh

-rw-r--r--    1 root     root            89 Apr 15  2019 config.mfg

-rw-r--r--    1 root     root            30 Jul 14 20:51 config.mobexp

-rw-r--r--    1 root     root             0 Apr 19 04:21 config.oeap

-rw-r--r--    1 root     root           930 Aug  4 18:34 config.wireless

drwxr-xr-x    2 root     root         14200 Nov  7  2019 cores

-rw-r--r--    1 root     root           225 Jul  9 23:04 last_good_uplink_config

drwxr-xr-x    2 root     root           160 Jan  1  1970 lists

-rw-r--r--    1 root     root           215 Jul 14 20:50 part1_info.ver

-rw-r--r--    1 root     root           216 Jul 10 00:57 part2_info.ver

drwxr-xr-x    2 root     root           304 May 17  2019 pnp

-rw-r--r--    1 root     root          4096 Jul 14 20:57 random_seed

-rw-r--r--    1 root     root             3 Apr 15  2019 rxtx_mode

-rw-r--r--    1 root     root            64 Jul 14 20:57 sensord_CSPRNG

drwxr-xr-x    3 root     root           224 May 26 15:12 software

drwxr-xr-x    2 root     root           648 Apr 15  2019 ssh

drwxr-xr-x    3 support  root           224 Apr 14  2019 support

drwxr-xr-x    2 root     root          5080 Jul 22 05:04 syslogs

-rw-r--r--    1 root     root             1 Jul 14 20:53 wips_adminstate_capwap

---------------------------------------------------------------------------

Filesystem                Size      Used Available Use% Mounted on

/dev/ubivol/part2       519.4M    305.4M    209.4M  59% /part2

View IOx Status and Port

To verify the status of IOx and application hosting on the AP and the port used for IOx application hosting, use the show iox status command on the Cisco Catalyst 9100 series access point:

AP# show iox status
IOx Status             : Enabled
CAF Status             : Up
CAF Token              : 9e054a32-d1ff-464e-aadd-6c5934959310
CAF Port               : 8443

View IOx Application Details

To view details of the IOx application on a Cisco Catalyst 9100 Series Access Point, use the show iox applications command:

AP# show iox applications
Total Number of Apps : 1
--------------------------
App Name : communication_daemon
App Ip : 192.168.11.2
App State : RUNNING
App Token : 0f690ed5-c341-4342-b5f3-7ab39ade8ea1
App Protocol : usb
App Grpc Connection : Down
Rx Pkts From App : 0
Tx Pkts To App : 0
Tx Pkts To Wlc : 0
Tx Data Pkts To DNASpaces : 0
Tx Cfg Resp To DNASpaces : 0
Rx KeepAlive from App : 0
Dropped Pkts : 0
App keepAlive Received On : NA

For details of the various states of an IOx application, go to https://developer.cisco.com/docs/iox/#!application-development-concepts/application-development-concepts.

View Application Hosting Logs

To view IOx application hosting logs, use the show iox applications command on your Cisco Catalyst series wireless access point:

AP# show iox logs