Skip to content

Quick Start Guide

Welcome to the OpenStick community! This guide takes you through the fundamental workflow of taking a stock Qualcomm MSM8916 4G LTE USB modem and transforming it into a hackable Linux device.


flowchart LR
Step1["1. Identify Board<br/>(Check eMMC vs NAND)"] --> Step2["2. Backup Partitions<br/>(Save IMEI & QCN)"]
Step2 --> Step3["3. Flash LK2ND<br/>(Secondary Bootloader)"]
Step3 --> Step4["4. Install OS<br/>(Debian / postmarketOS / OpenWrt)"]

Before plugging in your device or flashing any images, pop open the plastic snap-on cover and inspect the circuit board:

  • Check the board model silkscreen (e.g., UFI001B_MB_V02, UFI003, UZ801_V2.2).
  • Confirm whether your flash chip is eMMC (black BGA chip with pins underneath) or NAND (rectangular chip with visible side legs). eMMC has first-class mainline Linux support.
  • 👉 Read the full Device Identification Guide to match your exact revision.

Step 2: Extract & Save Your Calibration Data

Section titled “Step 2: Extract & Save Your Calibration Data”

Connect your device to a computer. Use Qualcomm EDL mode or adb root access to dump your partition table and modem calibration partitions:

  • modemst1
  • modemst2
  • fsg
  • fsc

Store these files safely in cloud storage or a secondary drive.

Install the necessary developer tools on your host computer:

  • fastboot and adb (Android platform tools)
  • edl.py (Qualcomm Emergency Download Mode programmer tool)
  • Qualcomm 9008 USB drivers (Windows) or standard udev rules (Linux/macOS)
  • 👉 See Essential Tools Setup.

Step 4: Flash Your Operating System of Choice

Section titled “Step 4: Flash Your Operating System of Choice”

Choose the operating system suited for your project:

  • Debian (OpenStick Base): Best for general Linux workloads, Python scripts, Docker containers, and servers.
  • postmarketOS: Upstream alpine-based mainline Linux distribution with regular security updates.
  • OpenWrt: Ideal for turning your dongle into a full-featured travel router, Wi-Fi hotspot, or VPN client.

Once booted into Linux, your dongle connects to your computer over USB with full Ethernet networking (192.168.68.1). You can:

  1. ssh user@192.168.68.1 to access a full Bash terminal.
  2. Run standard apt update && apt install packages.
  3. Configure cellular internet with mmcli / NetworkManager.
  4. Host web apps, run automation bots, or build home automation nodes.