Linux Connectivity Script

Connect to the Internet using 3G modems on Linux

Sakis3g — a script that creates Internet connections through USB and Bluetooth 3G modems. Works across most Linux distributions. Frequently used on Raspberry Pi and BeagleBone Black.

Requires the ppp package. Runs via GUI or command line.

A graphite pencil sketch of a terminal window on a dark desktop, showing command-line text with a blinking cursor, monospaced lettering, soft graphite shading, and a calm technical mood.
Compatible with most USB & Bluetooth 3G modems
Raspberry Pi
BeagleBone Black

The Challenge

Getting online with a 3G modem on Linux can be frustrating

Many users struggle with modem detection, APN configuration, and unreliable connections — especially on single-board computers.

Sakis3g simplifies the entire process into a single, reliable script.

  • ✕
    Modem not detected

    USB and Bluetooth modems often fail to register without the right probing sequence.

  • ✕
    Confusing APN setup

    Manually entering carrier APN details is error-prone and poorly documented.

  • ✕
    Dropped connections

    Without keep-alive logic, 3G links drop silently, breaking remote and headless setups.

  • ✕
    Missing ppp dependency

    The ppp package is required but not always pre-installed, causing cryptic failures.

The Solution

One script, multiple ways to connect

Sakis3g adapts to your workflow — whether you prefer a graphical interface or the command line.

Interactive GUI

Launch with ./sakis3g --interactive for a guided menu-driven experience.

Beginner-friendly

+

Command Line

Pass parameters directly for scripting and automated deployments.

Power users

+

Keep Alive

Built-in features help maintain the connection active over long periods.

Headless & remote

Capabilities

What Sakis3g handles for you

From modem detection to connection establishment, the script covers the full pipeline.

Modem Probing

Automatically detects USB and Bluetooth 3G modems across most hardware.

Works with the majority of modem chipsets.

APN Configuration

Guides you through selecting the correct APN settings for your carrier.

Interactive mode prompts for each option.

PPP Handling

Manages the ppp daemon — just ensure the ppp package is installed first.

Install with: sudo apt-get install ppp

Connection Keep-Alive

Monitors the link and works to keep it active during extended sessions.

Ideal for Raspberry Pi and headless setups.

Cross-Distro Support

Instructions and script behavior are designed to work on most Linux distributions.

Tested across common Debian and RPM-based systems.

Lightweight & Portable

A single downloadable archive — unzip, make executable, and run.

No complex build process required.

Quick Start

Get connected in four steps

The instructions presented here should work on most Linux distributions.

01

Install ppp

Run sudo apt-get install ppp to ensure the required package is present.

One-time setup
02

Download & Extract

Get the package, unzip it, and make the script executable with chmod +x.

Single archive
03

Launch Interactively

Run ./sakis3g --interactive and follow the on-screen prompts.

GUI or terminal
04

Select Modem & APN

Choose your modem from the detected list and configure the APN settings.

Connected

Use Cases

Where Sakis3g fits

The script has found a home in several common scenarios.

Single-Board Computers

Raspberry Pi and BeagleBone Black users rely on Sakis3g for cellular connectivity in remote and IoT projects.

Sakis3g is frequently used in devices such as Raspberry Pi and BeagleBone Black.
Field & Mobile Setups

Laptops and portable Linux machines use Sakis3g to get online where Wi-Fi is unavailable.

The software works with most USB and Bluetooth modems, making it versatile for mobile connectivity.
Headless Servers

Command-line mode and keep-alive features suit unattended systems that need persistent 3G links.

The script can be used via a graphical user interface or through command lines.

Sakis3g at a glance

A focused tool with a clear purpose.

1script

Single, self-contained download

2interfaces

GUI and command-line modes

USB&BT

USB and Bluetooth modem support

1dependency

Only the ppp package required

Support the Project

Help keep Sakis3g going

If this script has helped you get connected, consider supporting its continued development.

Open-source tool Community-driven No licensing fees

Common Questions

Frequently asked

What is Sakis3g?›
Sakis3g is a script that creates an Internet connection using 3G modems. It works with most USB and Bluetooth modems and is frequently used on devices such as Raspberry Pi and BeagleBone Black.
What do I need before running it?›
The ppp package must be installed. On Debian-based systems, run sudo apt-get install ppp. Then download the Sakis3g package, unzip it, and make it executable.
Does it work on my Linux distribution?›
The instructions provided should work on most Linux distributions. If you encounter issues, you can post a comment on the site.
Can I use it without a graphical interface?›
Yes. The script can be used via a graphical user interface or through command lines, making it suitable for both desktop and headless environments.

Getting a 3G modem working on Linux can be surprisingly difficult, especially when you are relying on graphical network managers that do not always recognise mobile broadband hardware. Sakis3g removes that friction by providing a lightweight script that handles modem detection, APN configuration, and connection setup from a single executable. It works across most Linux distributions and does not require a desktop environment, making it ideal for headless machines and minimal installations where simplicity and reliability matter most.

Sakis3g is frequently used on single-board computers such as the Raspberry Pi and the BeagleBone Black, where lightweight connectivity solutions are essential. These small devices often run stripped-down operating systems without the full network management stacks found on desktop Linux. By relying on a straightforward script rather than a heavy daemon, Sakis3g keeps resource usage low while providing a dependable way to bring a 3G modem online, whether for remote sensing, IoT projects, or portable field computing.

The script supports two main modes of operation: an interactive terminal-based interface and a command-line mode suitable for scripting and automation. In interactive mode, users are guided step by step through modem selection, APN entry, and connection establishment. For advanced users, the command-line mode allows all parameters to be supplied as arguments, making it possible to integrate Sakis3g into startup scripts, cron jobs, or custom monitoring workflows without any manual intervention.

Compatibility is one of the strongest points of Sakis3g. It works with a wide variety of USB and Bluetooth 3G modems from different manufacturers, handling the quirks of modem detection and modeswitching automatically. The script includes built-in logic for resetting stubborn USB devices and switching modems out of CD-ROM mode, two common pain points that often prevent mobile broadband hardware from being recognised correctly by the operating system.

Before running Sakis3g, users need to ensure that the ppp package is installed on their system, as it provides the underlying Point-to-Point Protocol support required for mobile data connections. The script itself is distributed as a compressed archive that can be downloaded, unzipped, and made executable with a single chmod command. There are no complex dependencies to resolve and no compilation steps, which keeps the barrier to entry low even for users who are relatively new to Linux.

Once a connection is established, maintaining it can be just as important as creating it. Many users pair Sakis3g with a companion tool that monitors link health and automatically restores connectivity if the connection drops. This combination is especially valuable in unattended deployments where a lost connection could mean hours of downtime. Together, these tools provide a resilient mobile broadband solution that quietly keeps remote Linux machines connected to the internet.