AIOC (All-In-One-Cable) Setup Guide for AllStarLink

Last Updated: June 2026

This guide covers the configuration of the AIOC for use with AllStarLink nodes.

There are two methods to configure this device. We recommend Option 1 (USBRadio) for most users, as it maintains the device's native identity and allows for easier parameter adjustments.

Phase 1: Choose your Configuration Tool

To configure parameters like the Virtual COS (VCOS) timer or change USB IDs for CM108 emulation, you can use either our visual web utility or the native Linux command line tool.

  • Method A: Web Utility (Recommended - Easiest): Unplug the AIOC from your node, connect it to your desktop/laptop browser (Chrome or Edge), and manage settings visually at flash.na6d.com.
  • Method B: Command Line Utility (Advanced): Run Python scripts directly on your AllStarLink node over SSH/Terminal. See the Advanced: Install the AIOC-Util section below.

Option 1: USBRadio Mode (Recommended)

This is the preferred setup. It allows you to use the AIOC "as-is" without flashing the USB ID, while still allowing you to tweak internal parameters using the utility you just installed.

Step 1.1: Configure AIOC Parameters

Using the Web Flasher (Method A)

  1. Head to flash.na6d.com in a Chromium browser.
  2. Connect your AIOC, locate the configuration panel, and adjust your VCOS Timer (e.g., 1500 ms).
  3. Click Save Permanently to AIOC.

Using the Node Command Line (Method B)

If you prefer to setup over command line, use the aioc-util command. See the Advanced: Install the AIOC-Util section below. While in USBRadio mode, you can still use the aioc-util script to adjust the Virtual COS (VCOS) timer or other settings.

Example: Set VCOS to 1500ms With your virtual environment activated:

python aioc-util.py --vcos-timctrl 1500 --store

Step 1.2: Configure AllStarLink

  1. Identify the Device: Ensure the AIOC is identified in your asterisk configuration. Edit /etc/asterisk/res_usbradio.conf and ensure the proper USB ID is set (default is 1209:7388).
  2. Run asl-menu Configuration:
    • Device Type: usbradio (Menu path: 2 > A1 > N4 > I2)
    • Duplex Type: 1 (Menu path: 2 > A1 > N5)
  3. Update usbradio.conf Settings: Edit the channel configuration file (Menu path: 6 > H). The following settings are recommended (tested on Puxing PX-888):
    • rxboost = 0
    • rxsqhyst = 500
    • carrierfrom = usbinvert
    • ctcssfrom = no
    • rxdemod = speaker
    • txprelim = no
    • invertptt = no

Option 2: CM108 Emulation Mode

This mode sets the AIOC to emulate a standard CM108 sound chip to use the SimpleUSB channel driver.

⚠️ Warning: Once switched to CM108 emulation, the aioc-util script will no longer work to change settings. To revert or change settings later, you will have to re-flash the firmware (see Troubleshooting & Firmware below).

Using the Web Flasher (Method A)

  1. Go to flash.na6d.com
  2. In the configuration options, select CM108 Emulation, adjust your VCOS settings to 1500 (or whatever you prefer), and write the changes. The device will reboot into emulation mode.

Using the Node Command Line (Method B)

Run the Configuration Command: With the virtual environment activated, run the following to set the USB ID and VCOS timer simultaneously:

python aioc-util.py --set-usb 0x0d8c 0x000c --vcos-timctrl 1500 --store --reboot

Expected Output: The script will confirm the new USBID (000c0d8c), store the settings, and reboot the device.

Advanced: Install the AIOC-Util

If you choose not to use the web flasher tool and want to configure the AIOC directly on the node, over the command line, you must install the necessary tools to communicate with the AIOC. This utility allows you to adjust settings like the Virtual COS (VCOS) timer.

  1. Install System Dependencies: Run the following command on your node (SSH or Terminal) to install Python, Git, and DFU utilities: sudo apt install git python3-venv dfu-util

  2. Download and Set Up the Utility: You can download the script directly using wget. We will also create a virtual environment to keep your system clean.
    # Create a directory and enter it
    mkdir aioc-util && cd aioc-util
    
    # Download the script
    wget https://raw.githubusercontent.com/hrafnkelle/aioc-util/main/aioc-util.py
    
    # Create and activate a Python virtual environment
    python3 -m venv venv 
      
    source venv/bin/activate
    
    # Install the required library
    pip install hid
    

Note: Whenever you need to use this tool in the future, you must navigate to this folder (cd aioc-util) and run source venv/bin/activate first.


Troubleshooting & Firmware Updates

If you need to update the AIOC firmware or recover a device (for example, if you are stuck in CM108 mode and need to reset parameters), the easiest solution is to plug it into a laptop/desktop and use flash.na6d.com to flash or clear settings.

If you are working entirely via the command line on your Linux node, you can update manually using `dfu-util`:

1. Download Firmware

Download the latest firmware binary (.bin file) from the official AIOC GitHub Releases page:

2. Re-Flash the Device

Run the dfu-util command below. (Note: Replace aioc-fw-1.4.1.bin with the actual filename you downloaded).

sudo dfu-util -a 0 -s 0x08000000:leave -D aioc-fw-1.4.1.bin
  • If the first attempt fails: The device usually enters DFU mode automatically after a failed attempt. Simply run the command a second time.
  • Success: Look for "File downloaded successfully" and a progress bar reaching 100%.