{"id":51421920,"url":"https://github.com/firechip/meta-firechip","last_synced_at":"2026-07-05T00:17:25.808Z","repository":{"id":268155909,"uuid":"903449112","full_name":"firechip/meta-firechip","owner":"firechip","description":null,"archived":false,"fork":false,"pushed_at":"2024-12-18T19:29:53.000Z","size":22,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-03-28T15:58:19.890Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/firechip.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-14T16:26:32.000Z","updated_at":"2024-12-18T18:41:30.000Z","dependencies_parsed_at":"2024-12-14T19:23:14.047Z","dependency_job_id":"e1a029c9-4a98-48a6-9353-ebe392e1d0ea","html_url":"https://github.com/firechip/meta-firechip","commit_stats":null,"previous_names":["firechip/meta-firechip"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/firechip/meta-firechip","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/firechip%2Fmeta-firechip","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/firechip%2Fmeta-firechip/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/firechip%2Fmeta-firechip/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/firechip%2Fmeta-firechip/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/firechip","download_url":"https://codeload.github.com/firechip/meta-firechip/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/firechip%2Fmeta-firechip/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35140187,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-04T02:00:05.987Z","response_time":113,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-07-05T00:17:25.214Z","updated_at":"2026-07-05T00:17:25.795Z","avatar_url":"https://github.com/firechip.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Firechip Cellular Connectivity - QMI Stack\n\nThis repository provides Yocto Project recipes and configurations for enabling cellular connectivity using the Qualcomm MSM Interface (QMI) protocol. It supports various cellular modems from different vendors, offering a modular and extensible architecture.\n\n## Overview\n\nThis project aims to simplify the integration of cellular modems into embedded Linux systems built with the Yocto Project. It provides a complete software stack, including:\n\n*   **Core QMI Functionality:** A core library for sending and receiving QMI messages.\n*   **QMI Daemon:** A daemon process that manages communication with the modem and loads modem-specific plugins.\n*   **Modem-Specific Plugins:** Plugins that handle the specific details of communicating with different modem models.\n*   **Kernel Support:** Recipes to ensure the necessary kernel modules and configurations are included in the image.\n*   **Udev Rules:** Udev rules for dynamic device node creation and management.\n\n## Directory Structure\n\n*   `meta-firechip/`: This is the main Yocto layer containing the QMI recipes.\n    *   `conf/`: Layer configuration files (e.g., `layer.conf`).\n    *   `recipes-connectivity/`: Contains the recipes for the QMI stack.\n        *   `qmi-core-module/`: Recipe for the core QMI library.\n        *   `qmi-daemon/`: Recipe for the QMI daemon.\n        *   `qmi-firmware-update-plugin/`: Recipe for a generic firmware update plugin.\n        *   `qmi-wwan/`: Recipe for kernel modules and network configuration.\n        *   `qualcomm/`: Contains recipes for specific Qualcomm-based modems.\n            *   `fibocom/`, `inforce-computing/`, `meig/`, `neoway/`, `quectel/`, `sierra-wireless/`, `simcom/`, `telit/`, `u-blox/`, `variscite/`: Subdirectories for different vendors.\n                *   `vendor/model/`: Subdirectories for specific modem models within each vendor.\n                    *   `70-*.rules`: Udev rules for the modem.\n                    *   `*.bbappend`: BitBake append files for customizing generic recipes.\n                    *   `*-qmi-plugin/`: Subdirectories containing modem-specific QMI plugins.\n                        *   `*.bbappend`: BitBake append files for customizing generic plugin recipes.\n                        *   `CMakeLists.txt`: CMake build files for the plugin.\n                        *   `include/`: Header files for the plugin.\n                        *   `src/`: Source code for the plugin.\n\n## Building\n\nTo build the QMI stack, you need to integrate the `meta-firechip` layer into your Yocto build environment. Then, you can build your image using the standard BitBake command:\n\n```bash\nbitbake \u003cyour-image-name\u003e\n```\n\nMake sure that your kernel configuration includes the necessary options for QMI WWAN support (`CONFIG_USB_NET_QMI_WWAN`).\n\n## Key Components and Their Roles\n\n*   **qmi-core-module:** Provides low-level functions for sending and receiving QMI messages. It does *not* handle QMI message encoding/decoding for specific services.\n*   **qmi-daemon:** A user-space daemon that manages communication with the modem. It loads modem-specific plugins and uses the `qmi-core-module` for QMI communication.\n*   **Modem-Specific Plugins:** These plugins handle the details of communicating with specific modem models, including QMI message encoding/decoding, handling specific QMI services, and implementing modem-specific functionalities.\n*   **qmi-wwan:** Ensures that the necessary kernel modules are included in the image and configures the network interface.\n*   **Udev Rules:** Automatically create consistent device nodes for the modem, regardless of the USB port it's connected to.\n\n## Adding Support for a New Modem\n\nTo add support for a new modem, you typically need to:\n\n1.  Create a new directory under `meta-firechip/recipes-connectivity/qualcomm/\u003cvendor\u003e/\u003cmodel\u003e/`.\n2.  Create udev rules (`70-*.rules`) for the modem.\n3.  Create a modem-specific QMI plugin.\n4.  Create a BitBake recipe for the plugin.\n5.  If needed, create a `.bbappend` file to modify a generic recipe.\n6.  Add any required firmware packages as dependencies.\n\n## Dependencies\n\n*   Yocto Project\n*   GLib\n*   Jansson\n*   Linux kernel with QMI WWAN support (`CONFIG_USB_NET_QMI_WWAN`)\n\n## Contributing\n\nContributions are welcome! Please follow the Firechip project's contribution guidelines.\n\n## Further Information\n\n*   Qualcomm QMI documentation (search online)\n*   u-blox documentation (if using a u-blox modem)\n*   Other modem vendor documentation\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffirechip%2Fmeta-firechip","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffirechip%2Fmeta-firechip","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffirechip%2Fmeta-firechip/lists"}