https://github.com/the-modem-distro/pinephone_modem_sdk Skip to content Toggle navigation Sign up * Product + Actions Automate any workflow + Packages Host and manage packages + Security Find and fix vulnerabilities + Codespaces Instant dev environments + Copilot Write better code with AI + Code review Manage code changes + Issues Plan and track work + Discussions Collaborate outside of code Explore + All features + Documentation + GitHub Skills + Blog * Solutions For + Enterprise + Teams + Startups + Education By Solution + CI/CD & Automation + DevOps + DevSecOps Case Studies + Customer Stories + Resources * Open Source + GitHub Sponsors Fund open source developers + The ReadME Project GitHub community articles Repositories + Topics + Trending + Collections * Pricing Search or jump to... Search code, repositories, users, issues, pull requests... Search [ ] Clear Search syntax tips Provide feedback We read every piece of feedback, and take your input very seriously. [ ] [ ] Include my email address so I can be contacted Cancel Submit feedback Saved searches Use saved searches to filter your results more quickly Name [ ] Query [ ] To see all available qualifiers, see our documentation. Cancel Create saved search Sign in Sign up You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. {{ message }} the-modem-distro / pinephone_modem_sdk Public * Notifications * Fork 52 * Star 462 Pinephone Modem SDK: Tools to build your own bootloader, kernel and rootfs License GPL-3.0 license 462 stars 52 forks Star Notifications * Code * Issues 62 * Pull requests 3 * Actions * Projects 0 * Wiki * Security * Insights More * Code * Issues * Pull requests * Actions * Projects * Wiki * Security * Insights the-modem-distro/pinephone_modem_sdk This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. kirkstone Switch branches/tags [ ] Branches Tags Could not load branches Nothing to show {{ refName }} default View all branches Could not load tags Nothing to show {{ refName }} default View all tags Name already in use A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch? Cancel Create 5 branches 68 tags Code * Local * Codespaces * Clone HTTPS GitHub CLI [https://github.com/t] Use Git or checkout with SVN using the web URL. [gh repo clone the-mo] Work fast with our official CLI. Learn more about the CLI. * Open with GitHub Desktop * Download ZIP Sign In Required Please sign in to use Codespaces. Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Launching Xcode If nothing happens, download Xcode and try again. Launching Visual Studio Code Your codespace will open once ready. There was a problem preparing your codespace, please try again. Latest commit @Biktorgj Biktorgj Yocto should not exist here ... 44cbd2a May 6, 2023 Yocto should not exist here 44cbd2a Git stats * 290 commits Files Permalink Failed to load latest commit information. Type Name Latest commit message Commit time docs [docs] Add internal network example March 20, 2023 07:27 licenses Update licenses for 0.7.3 February 27, 2023 11:37 tools [WIP] Add support for other SoCs March 9, 2023 11:40 .gitignore Add support for signing images and make full-system bootable images. July 12, 2022 11:45 .gitmodules Add new recipes to the rootfs config February 25, 2023 09:27 LICENSE Create LICENSE September 13, 2021 22:37 Makefile [WIP] Add support for other SoCs March 9, 2023 11:40 README.md Update to 0.7.4 March 1, 2023 08:10 init.sh Update Makefile and init scripts. July 13, 2022 08:39 View code [ ] Pinephone Modem SDK (nearly) Free custom firmware for your Pinephone's modem! Latest release: Version 0.7.4 Supported devices: Current Status: Features not available on stock firmware: TODO (in no particular order) Related Repositories Documentation Donations README.md Pinephone Modem SDK (nearly) Free custom firmware for your Pinephone's modem! This repository contains everything you need to make your own Modem userspace for your Pinephone. Latest release: Version 0.7.4 Supported devices: * Pinephone * Pinephone Pro * EG25-G connected via USB audio * Flashing guide * Recommended settings for this firmware * Build your own * Returning back to stock * Having issues? Check out if the issue is already documented or create a new one * We also have a Matrix room! Current Status: * LK Bootloader: Working + On reset, the bootloader enters into fastboot mode automatically for 5 seconds, and boots normally unless instructed to stay (leave the command fastboot oem stay running while rebooting the modem to make it stop at fastboot). + Custom fastboot commands: + fastboot reboot-bootloader: Reboot to fastboot + fastboot oem stay: Stay in fastboot instead of booting normally + fastboot oem reboot-recovery: Reboot to recovery mode * CAF Kernel: Working * Audio: Working Check out recommended settings for your phone * SMS: Working * GPS: Working * Sleep / Power management: Working (New current measurement and profiling required after latest changes) * System images: + root_fs: Default system image. Includes a minimal root filesystem and one application replacing the entire Qualcomm / Quectel stack. Some functions may not yet functional + recovery_fs: Minimal bootable image to be flashed into the recovery partitions to retrieve logs and make changes to the root image * Custom AT Commands: Please see this document Features not available on stock firmware: * Signal tracking support (beta): Get notified whenever your modem changes towers, check against the OpenCellid database, and make it shutdown when it connects to an unknown cell * Network data export as csv files * Set a reminder on the modem and it will call you back and speak the message you sent it (perfect for boring meetings!) * Call recording support (manual or automatic) * Cell broadcast relay to the host as SMS * Internal call and SMS support + Functionality is added on every release, check out the document for available commands * Optional persistent storage: By default an unexpected shutdown can't mess your modem + If you want to keep logs after reboot, you can enable persistent storage * SMS logging capability: It can log every message you send or receive * Automatic time synchronization from the carrier into the userspace * Minimum clock frequency is set to 100Mhz, either awake or sleeping (stock is 800MHz awake and 400Mhz sleep), making the modem run cooler * Different sampling rates available at runtime without requiring a reboot (missing companion app in the pinephone to make use of them) * 0 binary blobs in the userspace. Only closed source running on the modem are TZ Kernel and ADSP firmware TODO (in no particular order) 1. [WIP] Find and fix the last remaining USB port reset cause(s) 2. [Testing] Fix audio when doing conferences (audio is cut off when hanging up the first call) 3. [WIP] Internal SMS functionality (Working reliably with ModemManager and in testing with oFono): * Can send and receive messages to/from the modem * Modem will answer to the number: +22 33 44 55 66 77 * Send "help" for a list of commands or check the docs 4. [WIP] Internal call ability (Working with ModemManager / testing with oFono): * Can accept outgoing calls or automatically call you when requested from the chat (send "call me" or "call me in X" -seconds- to make it call you) * TTS support: While in call, send an SMS to the modem and it will speak the response back Contribution is always welcome! Feel free to share any issue or something that you think may be interesting to have! Related Repositories This project depends on the following repositories: * LK2nd fork with a few patches * Downstream 3.18.140 Kernel based on CAF * Forked meta-qcom repository * The Yocto Project * Quectel EG25 firmware repo Documentation I'm really bad at documentation, but you have some docs here Donations If you want, you can buy me a coffee ko-fi/liberapay About Pinephone Modem SDK: Tools to build your own bootloader, kernel and rootfs Resources Readme License GPL-3.0 license Stars 462 stars Watchers 36 watching Forks 52 forks Report repository Releases 65 0.7.4: Dirty Patching (let's try again...) Latest Mar 1, 2023 + 64 releases Packages 0 No packages published Contributors 24 * @Biktorgj * @Ferenc- * @CodePhase * @kkeijzer * @victor-gj * @khimaros * @DylanVanAssche * @gled-rs * @hooger * @tiol11 * @bgkillas + 13 contributors Languages * Python 80.9% * C 9.8% * Makefile 3.1% * Shell 3.0% * Roff 1.8% * PHP 1.2% * C++ 0.2% Footer (c) 2023 GitHub, Inc. Footer navigation * Terms * Privacy * Security * Status * Docs * Contact GitHub * Pricing * API * Training * Blog * About You can't perform that action at this time.