# A DJI 4G Module on Mac, Through Linux

> This community project reroutes a first-generation DJI modem through a UTM Linux VM and VoHive; it is a guide with scripts and bundled artifacts, not a native macOS driver, and its Apple Silicon deployment path is currently incomplete.

_Source: First-party repository for project contents; hardware outcomes are maintainer-reported and were not independently reproduced · 2026-07-26 · 8 min read · Verified against primary sources_

Canonical: https://iyu.app/e/dji-4g-vohive-mac

## The 60-second version

A UTM Linux VM permanently re-identifies a DJI EG25-G modem as a Quectel EC25, then three scripts switch it between VoHive QMI service and macOS ECM data.

**Key points**

- It is a guide plus scripts and archives, not a native macOS driver.
- Intel has a bundled x86_64 fallback; Apple Silicon is blocked without an arm64 VoHive binary while v1.5.5 has no assets.
- The modem belongs to either the VM or Mac, and each rebooting switch interrupts service for about 10-30 seconds.
- Change default credentials, scope sudo, pin SSH hosts, and independently assess the opaque bundled binary.

**Verdict.** A technically coherent Linux bridge with real operational value, but only for users willing to own its hardware modification, binary provenance and handoff constraints.

## Full explainer

> **!** Scope check: this is a community guide with three shell scripts and bundled artifacts. It is not a native macOS driver. Hardware behavior is reported by the project and was not independently reproduced for this article.


### Architecture — Linux is the compatibility layer

The project solves a USB and operating-system mismatch by putting **UTM and a Linux VM** between macOS and the first-generation DJI 4G module. UTM passes the physical USB device into Linux, where Linux serial and QMI facilities can configure the modem and host VoHive. macOS remains the host and browser-facing control point; VoHive itself does not become a Mac application.

- **2ca3:4006** — DJI USB identity before rewriting
- **2c7c:0125** — Quectel EC25 identity after rewriting
- **3** — bundled mode and status scripts

The key operation targets the reported **Quectel EG25-G** inside the DJI module. Linux first exposes its AT serial port, then `AT+QCFG` writes a new VID/PID into the modem's persistent configuration. After reboot, it enumerates as `2c7c:0125`, which lets Linux and VoHive treat it as an EC25-class modem. This is a lasting device-side modification, not a temporary alias supplied by UTM.

> **i** A persistent USB identity rewrite can affect every computer the modem is later connected to. Plan how to restore the original identity before changing hardware you cannot afford to lose.


### Decision gate — Mac architecture and binary availability are separate questions

- **Path:** VM and artifact status on 2026-07-26
- **Apple Silicon:** arm64 Linux via UTM works, but deployment is blocked unless the user supplies an arm64 VoHive binary or upstream restores assets.
- **Intel Mac:** x86_64 Linux via UTM works, and the repository bundles an x86_64 offline backup.
- **Upstream v1.5.5:** The installer expects architecture-specific downloads, but the release API currently lists zero assets.

The README correctly describes VM setup for both Apple Silicon and Intel, but that does not make both deployment paths operational today. The bundled `vohive-backup.tar.gz` contains an x86_64 executable only. Meanwhile, the upstream VoHive v1.5.5 release currently exposes no downloadable assets. An Apple Silicon user therefore needs to obtain and vet an arm64 binary independently, or wait for upstream assets to return.


### Two roles — The modem moves; it is never shared

- **Role:** Mode, owner and result
- **VoHive:** QMI (`usbnet=0`), owned by the Linux VM; VoHive can use modem control and data interfaces.
- **Mac data:** ECM (`usbnet=1`), owned by macOS; the modem appears as a cellular network interface.

The scripts encode an asymmetric handoff. `eg25-to-mac.sh` stops VoHive and asks the modem to enter ECM mode; its reboot causes UTM passthrough to drop, returning the device to macOS. `eg25-to-vohive.sh` must be launched from a **local macOS GUI session**, because `utmctl` communicates with UTM.app there. It attaches the ECM device to Linux, changes it back to QMI, waits through another reboot, attaches it again, and starts VoHive. `eg25-status.sh` inspects ownership and interfaces.

- **10-30 sec** — reported interruption for a mode switch
- **1 owner** — either the VM or macOS at a time
- **2 reattachments** — used in the Mac-to-VoHive script

> **!** Switching is not seamless. The modem reboots, service is interrupted, and ECM mode can consume billable SIM data, including expensive roaming data.


### Risk review — Automation shortcuts become trust decisions

- Replace VoHive's default `admin/admin` credentials immediately.
- Prefer command-scoped sudoers entries over the README's suggested `NOPASSWD: ALL`.
- Replace `StrictHostKeyChecking=no` in the scripts with a managed `known_hosts` entry.
- Treat the bundled precompiled VoHive binary as opaque until independently assessed.
- Confirm SIM plan and roaming charges before enabling macOS ECM data mode.

Observed repository-file SHA-256 values are `48dfd43fb909d33898a494c1bfd48b5caa6085a957361cd5b736f47d65277440` for `vohive-backup.tar.gz` and `409a8864a6310efcafbba3c7f33d10ece832115a166a87e5355803e3caf218f4` for `vohive-release-1.5.5.zip`. Recording them can reveal later changes to those exact files. It cannot prove who built the executable, whether its source corresponds to the binary, or whether it is safe.

> **i** Time-sensitive snapshot: the project repository API showed 751 stars, 316 forks and 8 open issues on 2026-07-26. Popularity is not a security review, and these counts will change.


### Provenance — Verification has a narrow meaning here

This article marks the source verified because the repository is authoritative for **what the project contains and claims**: a guide, three scripts, two archives and its stated workflow. That does not independently validate modem compatibility or operating outcomes. Licensing also needs separation: the README states CC-BY-4.0 for documentation, GitHub's repository API returns a null license field, and bundled upstream scripts and binaries may be governed by different terms.


### Bottom line — Choose the constraints, not just the feature list

The project is most credible as a clear blueprint for routing specialized USB hardware through Linux on a Mac. Intel users have a currently bundled execution path, subject to binary review. Apple Silicon users have the VM architecture but not a complete supplied arm64 path. In either case, proceed only if a permanent identity rewrite, exclusive ownership, brief outages and a self-managed security posture are acceptable.


## Primary sources

- [dji-4g-vohive-mac repository](https://github.com/wlzh/dji-4g-vohive-mac)
- [VoHive v1.5.5 release page](https://github.com/iniwex5/vohive-release/releases/tag/v1.5.5)
- [VoHive v1.5.5 release API](https://api.github.com/repos/iniwex5/vohive-release/releases/tags/v1.5.5)
- [Project repository API metadata](https://api.github.com/repos/wlzh/dji-4g-vohive-mac)

---
_Published by iyu (https://iyu.app) — the day's AI news, checked against primary sources and rewritten in plain language. Free to quote with attribution and a link to the canonical URL._
