This plugin implements support for old Qualcomm SoCs like the MSM8916 or the MSM8974, where: * control ports are available via RPMSG channels exported as devices e.g. with rpmsgexport: https://github.com/andersson/rpmsgexport * network ports are exposed by the bam-dmux kernel driver: https://github.com/msm8916-mainline/linux/commits/bam-dmux Adding support for newer Qualcomm SoCs (e.g. QRTR+IPA) could be done in a similar way on this very same plugin. This plugin is the first and only one that implements support for a modem device that is "built in" the system, as opposed to external modems that may be available via USB or PCI. The ID_MM_PHYSDEV_UID based udev tags provided by the plugin provide the logic to bind all the SoC ports together in the same modem object, and therefore ID_MM_PHYSDEV_UID should not be used by users to override the ones set by the plugin. All "rpmsg[0-9]*" ports that are considered part of the modem are flagged as candidate, ignoring the parent "rpmsg_ctrl[0-9]*" ports on purpose. This setup therefore assumes that the channels have been exported already as devices (e.g. using rpmsgexport). libqmi 1.27.2 is required to support the "WDS Bind Data Port" message.
156 lines
4.5 KiB
YAML
156 lines
4.5 KiB
YAML
image: gcc
|
|
|
|
stages:
|
|
- build
|
|
|
|
before_script:
|
|
- apt update || true
|
|
- apt -y install autoconf automake libtool libglib2.0-dev libgudev-1.0-dev libgettextpo-dev autopoint xsltproc dbus autoconf-archive gettext
|
|
|
|
build-no-qmi:
|
|
stage: build
|
|
only:
|
|
- master
|
|
- merge_requests
|
|
- tags
|
|
- schedules
|
|
script:
|
|
- git clone --depth 1 https://gitlab.freedesktop.org/mobile-broadband/libmbim.git
|
|
- pushd libmbim
|
|
- NOCONFIGURE=1 ./autogen.sh
|
|
- ./configure --prefix=/usr
|
|
- make
|
|
- make install
|
|
- popd
|
|
- NOCONFIGURE=1 ./autogen.sh
|
|
- ./configure --prefix=/tmp/build-no-qmi --disable-gtk-doc --without-qmi
|
|
- make
|
|
- make check
|
|
- make install
|
|
|
|
build-no-mbim:
|
|
stage: build
|
|
only:
|
|
- master
|
|
- merge_requests
|
|
- tags
|
|
- schedules
|
|
script:
|
|
- git clone --depth 1 https://gitlab.freedesktop.org/mobile-broadband/libqmi.git
|
|
- pushd libqmi
|
|
- NOCONFIGURE=1 ./autogen.sh
|
|
- ./configure --prefix=/usr --disable-mbim-qmux --enable-collection=basic
|
|
- make
|
|
- make install
|
|
- popd
|
|
- NOCONFIGURE=1 ./autogen.sh
|
|
- ./configure --prefix=/tmp/build-no-mbim --disable-gtk-doc --without-mbim
|
|
- make
|
|
- make check
|
|
- make install
|
|
|
|
build-no-qmi-no-mbim:
|
|
stage: build
|
|
only:
|
|
- master
|
|
- merge_requests
|
|
- tags
|
|
- schedules
|
|
script:
|
|
- NOCONFIGURE=1 ./autogen.sh
|
|
- ./configure --prefix=/tmp/build-no-qmi-no-mbim --disable-gtk-doc --without-qmi --without-mbim
|
|
- make
|
|
- make check
|
|
- make install
|
|
|
|
build-qmi-newest-commands:
|
|
stage: build
|
|
only:
|
|
- master
|
|
- merge_requests
|
|
- tags
|
|
- schedules
|
|
script:
|
|
- git clone --depth 1 https://gitlab.freedesktop.org/mobile-broadband/libqmi.git
|
|
- pushd libqmi
|
|
- NOCONFIGURE=1 ./autogen.sh
|
|
- ./configure --prefix=/usr --disable-mbim-qmux --enable-collection=basic
|
|
- make
|
|
- make install
|
|
- popd
|
|
- NOCONFIGURE=1 ./autogen.sh
|
|
- ./configure --prefix=/tmp/build-qmi-newest-commands --disable-gtk-doc --without-mbim CFLAGS="-DWITH_NEWEST_QMI_COMMANDS"
|
|
- make
|
|
- make check
|
|
- make install
|
|
|
|
build-single-plugins:
|
|
stage: build
|
|
only:
|
|
- schedules
|
|
script:
|
|
- git clone --depth 1 https://gitlab.freedesktop.org/mobile-broadband/libmbim.git
|
|
- pushd libmbim
|
|
- NOCONFIGURE=1 ./autogen.sh
|
|
- ./configure --prefix=/usr
|
|
- make
|
|
- make install
|
|
- popd
|
|
- git clone --depth 1 https://gitlab.freedesktop.org/mobile-broadband/libqmi.git
|
|
- pushd libqmi
|
|
- NOCONFIGURE=1 ./autogen.sh
|
|
- ./configure --prefix=/usr --enable-mbim-qmux --enable-collection=basic
|
|
- make
|
|
- make install
|
|
- popd
|
|
- NOCONFIGURE=1 ./autogen.sh
|
|
- for plugin in generic altair-lte anydata broadmobi cinterion
|
|
dell dlink fibocom foxconn gosuncn haier huawei iridium
|
|
linktop longcheer mbm motorola mtk nokia nokia-icera
|
|
novatel novatel-lte option option-hso pantech
|
|
qcom-soc quectel samsung sierra-legacy sierra simtech
|
|
telit thuraya tplink ublox via wavecom x22x zte; do
|
|
./configure --prefix=/usr --disable-gtk-doc --disable-all-plugins --enable-plugin-$plugin;
|
|
make;
|
|
make clean;
|
|
done
|
|
|
|
build-default:
|
|
stage: build
|
|
only:
|
|
- master
|
|
- branches
|
|
- merge_requests
|
|
- tags
|
|
- schedules
|
|
- pushes
|
|
script:
|
|
- apt -y install gtk-doc-tools libglib2.0-doc gobject-introspection libgirepository1.0-dev libsystemd-dev libpolkit-gobject-1-dev valac
|
|
- git clone --depth 1 https://gitlab.freedesktop.org/mobile-broadband/libmbim.git
|
|
- pushd libmbim
|
|
- NOCONFIGURE=1 ./autogen.sh
|
|
- ./configure --prefix=/usr
|
|
- make
|
|
- make install
|
|
- popd
|
|
- git clone --depth 1 https://gitlab.freedesktop.org/mobile-broadband/libqmi.git
|
|
- pushd libqmi
|
|
- NOCONFIGURE=1 ./autogen.sh
|
|
- ./configure --prefix=/usr --enable-mbim-qmux --enable-collection=basic
|
|
- make
|
|
- make install
|
|
- popd
|
|
- NOCONFIGURE=1 ./autogen.sh
|
|
- ./configure --prefix=/usr --enable-gtk-doc --with-polkit=strict --with-suspend-resume=systemd --with-systemdsystemunitdir=/lib/systemd/system
|
|
- make
|
|
- make check
|
|
- make install
|
|
- make distcheck
|
|
- sha256sum $CI_PROJECT_NAME-*.tar.xz | awk '{print $1;}' > pkg_hash.txt
|
|
artifacts:
|
|
name: "$CI_PROJECT_NAME-$CI_COMMIT_SHORT_SHA"
|
|
paths:
|
|
- /builds/$CI_PROJECT_ROOT_NAMESPACE/$CI_PROJECT_NAME/$CI_PROJECT_NAME-*.tar.xz
|
|
- /builds/$CI_PROJECT_ROOT_NAMESPACE/$CI_PROJECT_NAME/pkg_hash.txt
|
|
expire_in: 2 days
|