Compatibility

Supported hardware

What the Vonode node runs on, and which cellular modules it works with. Every entry says how we know: tested on real hardware, or supported by the code but not tested yet.

TestedValidated by the Vonode team on real hardware. The features tested are marked per model.
CompatibleSame module family or named in the node's model tables, or only one function tried. Not fully tested on hardware.
PlannedNot supported yet. Planned for a later release.
Not supportedKnown not to work, or outside what the node is built for.

Host computer

The node runs on a Linux computer that stays on. Requirements by processor architecture:

amd64

64-bit x86 (x86-64)

Supported
Operating system
Debian 12, Ubuntu 22.04 or later, or Fedora, with systemd (package requirements)
Install path
systemd package (recommended for this release); Docker Compose coming soon
System packages
Full iproute2 (ip -V prints iproute2), kernel drivers option and qmi_wwan, /dev/net/tun for Wi-Fi calling
Modem access
Root access; ModemManager stopped and disabled
Network
TCP port 2222 (default) reachable from the phone, through a port forward or a VPN
Example hardware
Intel N100 mini PC, used thin client or NUC; 2 GB RAM and 4 GB disk are enough for the node
Verified platform
Ubuntu 22.04, amd64

Not supported: Docker Desktop on macOS or Windows, and virtual machines without USB pass-through.

arm64

64-bit ARM (aarch64)

Planned (1.3.1)
Operating system
To be confirmed
Install path
Docker Compose with a multi-architecture image (planned for 1.3.1)
System packages
To be confirmed
Modem access
To be confirmed
Network
To be confirmed
Example hardware
Raspberry Pi 4 and 5, RK3588 boards (to be confirmed)
Verified platform
Not tested yet

The current packages stop on hosts that are not x86-64. arm64 hosts and multi-architecture Docker images are planned for node software 1.3.1; this column will be updated then.

Cellular modules

The node drives Qualcomm-based modules over USB through their serial (AT) and QMI interfaces. One node takes up to five modules.

Tested features (DJI Cellular module): SMS over the cellular network and over Wi-Fi calling; Wi-Fi calling registration, incoming and outgoing calls with two-way audio, hold and resume; eSIM profile switching; mobile data connection. Calls over the cellular network have not been confirmed on any module yet.
ModuleStatusVerified platform SMSCellular callsWi-Fi calling eSIMMobile dataNotes
DJI Cellular moduleQuectel EG25-G inside · switch the USB identity once Testedamd64 · Ubuntu 22.04TestedNot supportedTestedPartly testedTested Two units tested. SMS: received over the cellular network, sent and received over Wi-Fi calling. Cellular calls: not supported; calls work over Wi-Fi calling. eSIM: profile switching on a removable eUICC card; profile download not tested yet. See Using a DJI Cellular module below.
Quectel EG25-GUSB 2c7c:0125 CompatibleNot testedIn code, not testedIn code, not testedIn code, not testedIn code, not testedIn code, not tested The same module as inside the tested DJI unit, but not tested on its own yet.
Quectel EC25EC25-E, -AF, -AU, -J and other regional variants CompatibleNot testedIn code, not testedIn code, not testedIn code, not testedIn code, not testedIn code, not tested Same USB ID family as the EG25-G. Buy the variant for your country's bands.
Quectel EC20USB 2c7c:0125 family Compatibleamd64 · Ubuntu 22.04In code, not testedPartly testedIn code, not testedIn code, not testedIn code, not tested One module was tried for cellular calls: USB audio could be switched on, but a call with two-way audio has not been confirmed. Other functions not tested.
Quectel EC21 and EG21LTE Cat 1 CompatibleNot testedIn code, not testedIn code, not testedIn code, not testedIn code, not testedIn code, not tested Named in the node's model tables.
Quectel EM05, EM06 and EG06M.2 and Mini PCIe LTE CompatibleNot testedIn code, not testedIn code, not testedIn code, not testedIn code, not testedIn code, not tested Named in the node's model tables. Needs an adapter with USB and a SIM slot.
Quectel RM500Q5G · M.2 CompatibleNot testedIn code, not testedIn code, not testedIn code, not testedIn code, not testedIn code, not tested 5G behaviour not characterised yet. Needs an M.2-to-USB 3 adapter with a SIM slot.

Using a DJI Cellular module

The DJI Cellular module contains a Quectel EG25-G. Out of the box it reports a DJI USB ID (2ca3:4006) that the standard Linux drivers do not recognise. Switch its USB identity to Quectel's once, and the node treats it like an EG25-G. The modules in our hardware tests are DJI Cellular modules switched this way.

2ca3:4006 → AT+QCFG="usbcfg" → 2c7c:0125 USB ID 2ca3:4006 USB ID 2c7c:0125 AT+QCFG="usbcfg" AT+CFUN=1,1
Illustration: the one-time switch changes only the USB ID that the module reports.

Read this before you send any command

  • These commands change only the module's USB identity. They do not change the IMEI, the firmware or any radio settings.
  • After the change, the module may not work in DJI devices until you restore the original identity. It may affect the warranty. You do this at your own risk.
  • Never change a module's IMEI. In many countries it is illegal.
  1. Make the AT port appear

    Plug the module into the Linux host. In DJI mode the standard serial driver does not bind by itself, so load it and add the DJI ID for this session. The module then shows several ttyUSB ports.

    $ sudo modprobe option
    $ echo 2ca3 4006 | sudo tee /sys/bus/usb-serial/drivers/option1/new_id
    $ ls /dev/ttyUSB*
  2. Open the AT port

    The AT port is usually /dev/ttyUSB2, but the number depends on your system: it is the port that answers OK when you type AT. Use any serial terminal, such as picocom, minicom or screen (picocom: exit with Ctrl-A, then Ctrl-X).

    $ sudo picocom -b 115200 /dev/ttyUSB2
    AT
  3. Switch to the Quectel identity

    Type these two commands in the serial terminal. The second one restarts the module; the new identity survives power cycles.

    AT+QCFG="usbcfg",0x2C7C,0x0125,1,1,1,1,1,0,0
    AT+CFUN=1,1
  4. Check the result

    After the restart, lsusb should list 2c7c:0125 (Quectel). The node's setup script now detects the module.

    $ lsusb | grep -i -E '2c7c|2ca3'

Restore the DJI identity

To use the module in a DJI device again, open the AT port the same way and send these commands. Afterwards lsusb lists 2ca3:4006 again.

AT+QCFG="usbcfg",0x2CA3,0x4006,1,1,1,1,1,0,0
AT+CFUN=1,1

Commands adapted from wlzh/dji-4g-vohive-mac, licensed under CC BY 4.0. Changes: rewritten as steps for an interactive serial terminal, with the driver binding, the AT port search and the lsusb check added.

DJI is a trademark of SZ DJI Technology Co., Ltd.; Quectel is a trademark of Quectel Wireless Solutions Co., Ltd.; Vonode is not affiliated with or endorsed by DJI or Quectel.

SIM cards and carriers

  • Remove the SIM PIN beforehand, in a phone. Physical SIM cards work as they are.
  • The modules have no built-in eSIM. For eSIM profiles, put a removable eUICC card (an “eSIM card”) in the module's SIM slot.
  • Wi-Fi calling must be enabled on your plan by your carrier, exactly as for a phone. The module must register on the cellular network with that SIM at least once.
  • Vonode cannot promise that a particular carrier or plan works. Carrier support depends on the carrier's network and the plan.

Not supported

  • USB dongles that only present a network card (HiLink, RNDIS-only or ECM-only firmware). The node needs the module's serial and QMI ports.
  • Modules not based on a Qualcomm chipset, including Quectel series not listed above.
  • Modules from other vendors have not been tested. Several features use Quectel-specific AT commands.
  • OpenWrt routers, Docker Desktop on macOS or Windows, and virtual machines without USB pass-through.
  • ARM hosts in this release: planned for 1.3.1, see the arm64 column above.
Last updated 8 October 2026.Is your module not listed? Email support@vonode.cc.