z3ntu / lpac-libqmi-wrapper

lpac + libqmi = <3
MIT License
2 stars 0 forks source link

MBIM support / How to test it? #1

Open stich86 opened 5 months ago

stich86 commented 5 months ago

hi @z3ntu,

what's the current status of the project? I've two Foxconn modules (T77W968 and T99W175) that have embedded eSIM, but no AT commands to use with LPAC, so only way is to send APDU thru QMI.

Is it working for you?

Thanks!

z3ntu commented 5 months ago
stich86 commented 5 months ago

so you changes are not into main libqmi? there is an already built qmicli?

z3ntu commented 5 months ago

The merge request from libqmi is not yet merged unfortunately, you'll need to build the patched version that contains the new QMI commands.

stich86 commented 5 months ago

do you have a subset of needed package to compile under Debian? Thanks :)

z3ntu commented 5 months ago

You can patch the libqmi source package https://packages.debian.org/source/sid/libqmi and build that one.

I can't really tell you how to how exactly though, but there should be plenty of guides online how to do that - how to patch and compile a Debian package.

stich86 commented 5 months ago

ok was able to compile using ninja and meson installing these packets on Debian:

sudo apt install libglib2.0-dev libgudev-1.0-dev gtk-doc-tools libqmi-glib-dev libmbim-glib-dev help2man meson gobject-introspection libgirepository1.0-dev

do you think that can be compiled easly on OpenWrt? This will be very useful to use inside a portable router.. but don't know if we can use standard "patch" mode of OpenWrt for you work

stich86 commented 5 months ago

so i've changed Makefile to download you git branch on OpenWrt, it seems to compile (checking the below logs), but doing a strings on qmicli binary, i don't see the new commands:

SHELL= flock /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/tmp/.libqmi-0~apdu.tar.zst.flock -c '              echo "Checking out files from the git repository..."; mkdir -p /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/tmp/dl && cd /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/tmp/dl && rm -rf libqmi-0~apdu && [ \! -d libqmi-0~apdu ] && git clone  https://gitlab.freedesktop.org/lucaweiss/libqmi.git libqmi-0~apdu && (cd libqmi-0~apdu && git checkout apdu) && export TAR_TIMESTAMP=`cd libqmi-0~apdu && git log -1 --format='\''@%ct'\''` && echo "Generating formal git archive (apply .gitattributes rules)" && (cd libqmi-0~apdu && git config core.abbrev 8 && git archive --format=tar HEAD --output=../libqmi-0~apdu.tar.git) && tar --ignore-failed-read -C libqmi-0~apdu -f libqmi-0~apdu.tar.git -r .git .gitmodules 2>/dev/null && rm -rf libqmi-0~apdu && mkdir libqmi-0~apdu && tar -C libqmi-0~apdu -xf libqmi-0~apdu.tar.git && (cd libqmi-0~apdu && git submodule update --init --recursive --  && rm -rf .git .gitmodules) && echo "Packing checkout..." &&     tar --numeric-owner --owner=0 --group=0 --mode=a-s --sort=name ${TAR_TIMESTAMP:+--mtime="$TAR_TIMESTAMP"} -c libqmi-0~apdu | zstd -T0 --ultra -20 -c > /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/tmp/dl/libqmi-0~apdu.tar.zst && mv /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/tmp/dl/libqmi-0~apdu.tar.zst /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/dl/ && rm -rf libqmi-0~apdu;     '
Checking out files from the git repository...
Cloning into 'libqmi-0~apdu'...
remote: Enumerating objects: 16445, done.
remote: Counting objects: 100% (4216/4216), done.
remote: Compressing objects: 100% (639/639), done.
remote: Total 16445 (delta 3762), reused 3829 (delta 3537), pack-reused 12229
Receiving objects: 100% (16445/16445), 4.82 MiB | 5.32 MiB/s, done.
Resolving deltas: 100% (12542/12542), done.
branch 'apdu' set up to track 'origin/apdu'.
Switched to a new branch 'apdu'
Generating formal git archive (apply .gitattributes rules)
Packing checkout...
touch /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/.prepared_c83019796667adf653f53298fbac4c22_6664517399ebbbc92a37c5bb081b5c53_check
. /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/include/shell.sh; zstdcat /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/dl/libqmi-0~apdu.tar.zst | tar -C /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/.. -xf -
[ ! -d ./src/ ] || cp -fpR ./src/. /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu
touch /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/.prepared_c83019796667adf653f53298fbac4c22_6664517399ebbbc92a37c5bb081b5c53
rm -f /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/.configured_*
rm -f /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/target-aarch64_cortex-a53_musl/stamp/.libqmi_installed
/home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/host/bin/sed -e "s|@CC@|'/home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/host/bin/gcc',|" -e "s|@CXX@|'/home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/host/bin/g++',|" -e "s|@PKGCONFIG@|/home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/host/bin/pkg-config|" -e "s|@CMAKE@|/home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/host/bin/cmake|" -e "s|@PYTHON@|/home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/host/bin/python3|" -e "s|@CFLAGS@|'-O2', '-I/home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/host/include', '-I/home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/hostpkg/include', '-I/home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/target-aarch64_cortex-a53_musl/host/include', '-I/home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/host/include', '-I/home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/hostpkg/include', '-I/home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/target-aarch64_cortex-a53_musl/host/include',|" -e "s|@CXXFLAGS@|'-I/home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/host/include', '-I/home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/hostpkg/include', '-I/home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/target-aarch64_cortex-a53_musl/host/include',|" -e "s|@LDFLAGS@|'-L/home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/host/lib', '-L/home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/hostpkg/lib', '-L/home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/target-aarch64_cortex-a53_musl/host/lib',|" -e "s|@PREFIX@||" < /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/host/lib/meson/openwrt-native.txt.in > /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/openwrt-native.txt
/home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/host/bin/sed -e "s|@CC@|'aarch64-openwrt-linux-musl-gcc',|" -e "s|@CXX@|'aarch64-openwrt-linux-musl-g++',|" -e "s|@LD@|'bfd',|" -e "s|@AR@|aarch64-openwrt-linux-musl-gcc-ar|" -e "s|@STRIP@|aarch64-openwrt-linux-musl-strip|" -e "s|@NM@|aarch64-openwrt-linux-musl-gcc-nm|" -e "s|@PKGCONFIG@|/home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/host/bin/pkg-config|" -e "s|@CMAKE@|/home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/host/bin/cmake|" -e "s|@PYTHON@|/home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/host/bin/python3|" -e "s|@CFLAGS@|'-Os', '-pipe', '-mcpu=cortex-a53', '-fno-caller-saves', '-fno-plt', '-fhonour-copts', '-fmacro-prefix-map=/home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu=libqmi-0~apdu', '-ffunction-sections', '-fdata-sections', '-Wformat', '-Werror=format-security', '-fstack-protector', '-D_FORTIFY_SOURCE=1', '-Wl,-z,now', '-Wl,-z,relro', '-fno-merge-all-constants', '-fmerge-constants', '-I/home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/toolchain-aarch64_cortex-a53_gcc-13.2.0_musl/usr/include', '-I/home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/toolchain-aarch64_cortex-a53_gcc-13.2.0_musl/include', '-I/home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/toolchain-aarch64_cortex-a53_gcc-13.2.0_musl/include/fortify',|" -e "s|@CXXFLAGS@|'-Os', '-pipe', '-mcpu=cortex-a53', '-fno-caller-saves', '-fno-plt', '-fhonour-copts', '-fmacro-prefix-map=/home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu=libqmi-0~apdu', '-ffunction-sections', '-fdata-sections', '-Wformat', '-Werror=format-security', '-fstack-protector', '-D_FORTIFY_SOURCE=1', '-Wl,-z,now', '-Wl,-z,relro', '-fno-merge-all-constants', '-fmerge-constants', '-ffunction-sections', '-fdata-sections', '-I/home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/toolchain-aarch64_cortex-a53_gcc-13.2.0_musl/usr/include', '-I/home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/toolchain-aarch64_cortex-a53_gcc-13.2.0_musl/include', '-I/home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/toolchain-aarch64_cortex-a53_gcc-13.2.0_musl/include/fortify',|" -e "s|@LDFLAGS@|'-L/home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/toolchain-aarch64_cortex-a53_gcc-13.2.0_musl/usr/lib', '-L/home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/toolchain-aarch64_cortex-a53_gcc-13.2.0_musl/lib', '-fuse-ld=bfd', '-Wl,--gc-sections', '-znow', '-zrelro',|" -e "s|@ARCH@|"aarch64"|" -e "s|@CPU@|"generic"|" -e "s|@ENDIAN@|little|" < /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/host/lib/meson/openwrt-cross.txt.in > /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/openwrt-cross.txt
/home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/host/bin/python3 /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/host/bin/meson.py  setup --buildtype plain --native-file /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/openwrt-native.txt --cross-file /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/openwrt-cross.txt -Ddefault_library=both -Dudev=false -Dintrospection=false -Dman=false -Dbash_completion=false -Db_lto=true -Dmbim_qmux=true -Dqrtr=true -Dcollection=basic /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/openwrt-build /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/openwrt-build/..
The Meson build system
Version: 1.3.2
Source dir: /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu
Build dir: /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/openwrt-build
Build type: cross build
Project name: libqmi
Project version: 1.35.2
C compiler for the host machine: aarch64-openwrt-linux-musl-gcc (gcc 13.2.0 "aarch64-openwrt-linux-musl-gcc (OpenWrt GCC 13.2.0 r25869-12b2cb2ec3f1) 13.2.0")
C linker for the host machine: aarch64-openwrt-linux-musl-gcc ld.bfd 2.40.0
C compiler for the build machine: /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/host/bin/gcc (gcc 12.2.0 "gcc (Debian 12.2.0-14) 12.2.0")
C linker for the build machine: /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/host/bin/gcc ld.bfd 2.40
Build machine cpu family: x86_64
Build machine cpu: x86_64
Host machine cpu family: aarch64
Host machine cpu: generic
Target machine cpu family: aarch64
Target machine cpu: generic
Program python3 found: YES (/home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/host/bin/python3)
Program /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/build-aux/qmi-codegen/qmi-codegen found: YES (/home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/build-aux/qmi-codegen/qmi-codegen)
Program /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/build-aux/qmi-mkenums found: YES (/home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/build-aux/qmi-mkenums)
Compiler for C supports arguments -Wno-unused-parameter: YES
Compiler for C supports arguments -Wno-cast-function-type: YES
Compiler for C supports arguments -Wno-packed: YES
Compiler for C supports arguments -Wno-deprecated-declarations: YES
Found pkg-config: YES (/home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/host/bin/pkg-config) 2.1.1
Run-time dependency glib-2.0 found: YES 2.74.7
Run-time dependency gio-unix-2.0 found: YES 2.74.7
Run-time dependency gio-2.0 found: YES 2.74.7
Run-time dependency gobject-2.0 found: YES 2.74.7
Run-time dependency mbim-glib found: YES 1.30.0
Run-time dependency qrtr-glib found: YES 1.2.2
Configuring qmi-version.h using configuration
Compiler for C supports arguments -Wno-empty-body: YES
Compiler for C supports arguments -Wno-sign-compare: YES
Compiler for C supports arguments -Wno-switch-default: YES
Configuring qmi-network using configuration
Configuring config.h using configuration
Build targets in project: 59

libqmi 1.35.2

  Build
    compiler             : gcc
    cflags               : -Wno-unused-parameter
                           -Wno-cast-function-type
                           -Wno-packed
    Documentation        : false
    bash completion      : false
    gobject introspection: false
    man pages            : false
    fuzzer               : false

  System paths
    prefix               : /usr
    udev base directory  : disabled

  Features
    QMI over MBIM        : true
    QMI over QRTR        : true
    QMI username         : no (root)
    rmnet support        : true

  User defined options
    Cross files          : /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/openwrt-cross.txt
    Native files         : /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/openwrt-native.txt
    buildtype            : plain
    default_library      : both
    b_lto                : true
    bash_completion      : false
    collection           : basic
    introspection        : false
    man                  : false
    mbim_qmux            : true
    qrtr                 : true
    udev                 : false

Found ninja-1.11.1 at /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/host/bin/ninja
touch /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/.configured_a17fb5ef857664f03cd0ce37cc5ea591
rm -f /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/.built
touch /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/.built_check
MAKEFLAGS="" /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/host/bin/ninja  -j1 -C /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/openwrt-build
ninja: Entering directory `/home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/openwrt-build'
[170/170] Linking target utils/swi-update
DESTDIR="/home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install" MAKEFLAGS="" /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/host/bin/ninja  -j1 -C /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/openwrt-build install
ninja: Entering directory `/home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/openwrt-build'
[0/1] Installing files.
Installing src/libqmi-glib/generated/qmi-error-types.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing src/libqmi-glib/generated/qmi-enum-types.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing src/libqmi-glib/generated/qmi-flag-types.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing src/libqmi-glib/generated/qmi-flags64-types.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing src/libqmi-glib/generated/qmi-atr.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing src/libqmi-glib/generated/qmi-dms.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing src/libqmi-glib/generated/qmi-dpm.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing src/libqmi-glib/generated/qmi-dsd.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing src/libqmi-glib/generated/qmi-ims.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing src/libqmi-glib/generated/qmi-imsa.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing src/libqmi-glib/generated/qmi-imsp.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing src/libqmi-glib/generated/qmi-fox.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing src/libqmi-glib/generated/qmi-gas.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing src/libqmi-glib/generated/qmi-gms.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing src/libqmi-glib/generated/qmi-loc.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing src/libqmi-glib/generated/qmi-nas.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing src/libqmi-glib/generated/qmi-oma.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing src/libqmi-glib/generated/qmi-pbm.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing src/libqmi-glib/generated/qmi-pdc.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing src/libqmi-glib/generated/qmi-pds.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing src/libqmi-glib/generated/qmi-qos.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing src/libqmi-glib/generated/qmi-sar.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing src/libqmi-glib/generated/qmi-ssc.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing src/libqmi-glib/generated/qmi-uim.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing src/libqmi-glib/generated/qmi-voice.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing src/libqmi-glib/generated/qmi-wda.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing src/libqmi-glib/generated/qmi-wds.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing src/libqmi-glib/generated/qmi-wms.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing src/libqmi-glib/libqmi-glib.so.5.10.0 to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/lib
Installing src/libqmi-glib/libqmi-glib.a to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/lib
Installing src/qmicli/qmicli to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/bin
Installing src/qmi-proxy/qmi-proxy to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/libexec
Installing src/qmi-firmware-update/qmi-firmware-update to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/bin
Installing /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/src/libqmi-glib/qmi-errors.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/src/libqmi-glib/qmi-device.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/src/libqmi-glib/qmi-enums.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/src/libqmi-glib/qmi-enums-dms.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/src/libqmi-glib/qmi-enums-dsd.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/src/libqmi-glib/qmi-enums-fox.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/src/libqmi-glib/qmi-enums-gas.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/src/libqmi-glib/qmi-enums-imsa.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/src/libqmi-glib/qmi-enums-imsp.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/src/libqmi-glib/qmi-enums-loc.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/src/libqmi-glib/qmi-enums-nas.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/src/libqmi-glib/qmi-enums-oma.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/src/libqmi-glib/qmi-enums-pbm.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/src/libqmi-glib/qmi-enums-pdc.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/src/libqmi-glib/qmi-enums-pds.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/src/libqmi-glib/qmi-enums-qos.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/src/libqmi-glib/qmi-enums-sar.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/src/libqmi-glib/qmi-enums-uim.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/src/libqmi-glib/qmi-enums-voice.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/src/libqmi-glib/qmi-enums-wda.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/src/libqmi-glib/qmi-enums-wds.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/src/libqmi-glib/qmi-enums-wms.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/src/libqmi-glib/qmi-enums-ssc.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/src/libqmi-glib/qmi-enums-private.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/src/libqmi-glib/qmi-flags64-dms.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/src/libqmi-glib/qmi-flags64-dsd.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/src/libqmi-glib/qmi-flags64-loc.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/src/libqmi-glib/qmi-flags64-nas.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/src/libqmi-glib/qmi-flags64-wds.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/src/libqmi-glib/libqmi-glib.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/src/libqmi-glib/qmi-client.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/src/libqmi-glib/qmi-message-context.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/src/libqmi-glib/qmi-message.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/src/libqmi-glib/qmi-proxy.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/src/libqmi-glib/qmi-utils.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/src/libqmi-glib/qmi-compat.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/openwrt-build/src/libqmi-glib/qmi-version.h to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib
Installing /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/openwrt-build/meson-private/qmi-glib.pc to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/lib/pkgconfig
Installing /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/openwrt-build/utils/qmi-network to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/bin
Installing symlink pointing to libqmi-glib.so.5.10.0 to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/lib/libqmi-glib.so.5
Installing symlink pointing to libqmi-glib.so.5 to /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/lib/libqmi-glib.so
touch /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/.built
rm -rf /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/.pkgdir/libqmi.installed /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/.pkgdir/libqmi
mkdir -p /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/.pkgdir/libqmi
install -d -m0755 /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/.pkgdir/libqmi/usr/lib /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/.pkgdir/libqmi/usr/libexec
cp -fpR /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/lib/libqmi*.so.* /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/.pkgdir/libqmi/usr/lib/
install -m0755 /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/libexec/qmi-proxy /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/.pkgdir/libqmi/usr/libexec/
touch /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/.pkgdir/libqmi.installed
mkdir -p /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/target-aarch64_cortex-a53_musl/root-mediatek/stamp
SHELL= flock /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/tmp/.root-copy.flock -c 'cp -fpR /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/.pkgdir/libqmi/. /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/target-aarch64_cortex-a53_musl/root-mediatek/'
touch /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/target-aarch64_cortex-a53_musl/root-mediatek/stamp/.libqmi_installed
removed '/home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/bin/packages/aarch64_cortex-a53/packages/libqmi_0~apdu-r1_aarch64_cortex-a53.ipk'
mkdir -p /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/bin/targets/mediatek/filogic/packages /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-aarch64_cortex-a53/libqmi/CONTROL /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/target-aarch64_cortex-a53_musl/pkginfo
install -d -m0755 /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-aarch64_cortex-a53/libqmi/usr/lib /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-aarch64_cortex-a53/libqmi/usr/libexec
cp -fpR /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/lib/libqmi*.so.* /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-aarch64_cortex-a53/libqmi/usr/lib/
install -m0755 /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/libexec/qmi-proxy /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-aarch64_cortex-a53/libqmi/usr/libexec/
find /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-aarch64_cortex-a53/libqmi -name 'CVS' -o -name '.svn' -o -name '.#*' -o -name '*~'| xargs -r rm -rf
export CROSS="aarch64-openwrt-linux-musl-"  NO_RENAME=1 ; NM="aarch64-openwrt-linux-musl-nm" STRIP="/home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/host/bin/sstrip -z" STRIP_KMOD="/home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/scripts/strip-kmod.sh" PATCHELF="/home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/host/bin/patchelf" /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/scripts/rstrip.sh /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-aarch64_cortex-a53/libqmi
rstrip.sh: /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-aarch64_cortex-a53/libqmi/usr/libexec/qmi-proxy: executable
rstrip.sh: /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-aarch64_cortex-a53/libqmi/usr/lib/libqmi-glib.so.5.10.0: shared object
(cd /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-aarch64_cortex-a53/libqmi/CONTROL; ( echo "$CONTROL"; printf "Description: "; echo "$DESCRIPTION" | sed -e 's,^[[:space:]]*, ,g'; ) > control; chmod 644 control; ( echo "#!/bin/sh"; echo "[ \"\${IPKG_NO_SCRIPT}\" = \"1\" ] && exit 0"; echo "[ -s "\${IPKG_INSTROOT}/lib/functions.sh" ] || exit 0"; echo ". \${IPKG_INSTROOT}/lib/functions.sh"; echo "default_postinst \$0 \$@"; ) > postinst; ( echo "#!/bin/sh"; echo "[ -s "\${IPKG_INSTROOT}/lib/functions.sh" ] || exit 0"; echo ". \${IPKG_INSTROOT}/lib/functions.sh"; echo "default_prerm \$0 \$@"; ) > prerm; chmod 0755 postinst prerm;  )
install -d -m0755 /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/bin/packages/aarch64_cortex-a53/packages
/home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/host/bin/fakeroot /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/host/bin/bash /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/scripts/ipkg-build -m "" /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-aarch64_cortex-a53/libqmi /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/bin/packages/aarch64_cortex-a53/packages
Packaged contents of /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-aarch64_cortex-a53/libqmi into /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/bin/packages/aarch64_cortex-a53/packages/libqmi_0~apdu-r1_aarch64_cortex-a53.ipk
removed '/home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/bin/packages/aarch64_cortex-a53/packages/qmi-utils_0~apdu-r1_aarch64_cortex-a53.ipk'
mkdir -p /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/bin/targets/mediatek/filogic/packages /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-aarch64_cortex-a53/qmi-utils/CONTROL /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/target-aarch64_cortex-a53_musl/pkginfo
install -d -m0755 /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-aarch64_cortex-a53/qmi-utils/usr/bin
install -m0755 /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/bin/qmicli /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-aarch64_cortex-a53/qmi-utils/usr/bin/
install -m0755 /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/bin/qmi-network /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-aarch64_cortex-a53/qmi-utils/usr/bin/
install -m0755 /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/bin/qmi-firmware-update /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-aarch64_cortex-a53/qmi-utils/usr/bin/
find /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-aarch64_cortex-a53/qmi-utils -name 'CVS' -o -name '.svn' -o -name '.#*' -o -name '*~'| xargs -r rm -rf
export CROSS="aarch64-openwrt-linux-musl-"  NO_RENAME=1 ; NM="aarch64-openwrt-linux-musl-nm" STRIP="/home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/host/bin/sstrip -z" STRIP_KMOD="/home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/scripts/strip-kmod.sh" PATCHELF="/home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/host/bin/patchelf" /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/scripts/rstrip.sh /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-aarch64_cortex-a53/qmi-utils
rstrip.sh: /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-aarch64_cortex-a53/qmi-utils/usr/bin/qmicli: executable
rstrip.sh: /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-aarch64_cortex-a53/qmi-utils/usr/bin/qmi-firmware-update: executable
(cd /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-aarch64_cortex-a53/qmi-utils/CONTROL; ( echo "$CONTROL"; printf "Description: "; echo "$DESCRIPTION" | sed -e 's,^[[:space:]]*, ,g'; ) > control; chmod 644 control; ( echo "#!/bin/sh"; echo "[ \"\${IPKG_NO_SCRIPT}\" = \"1\" ] && exit 0"; echo "[ -s "\${IPKG_INSTROOT}/lib/functions.sh" ] || exit 0"; echo ". \${IPKG_INSTROOT}/lib/functions.sh"; echo "default_postinst \$0 \$@"; ) > postinst; ( echo "#!/bin/sh"; echo "[ -s "\${IPKG_INSTROOT}/lib/functions.sh" ] || exit 0"; echo ". \${IPKG_INSTROOT}/lib/functions.sh"; echo "default_prerm \$0 \$@"; ) > prerm; chmod 0755 postinst prerm;  )
install -d -m0755 /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/bin/packages/aarch64_cortex-a53/packages
/home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/host/bin/fakeroot /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/host/bin/bash /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/scripts/ipkg-build -m "" /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-aarch64_cortex-a53/qmi-utils /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/bin/packages/aarch64_cortex-a53/packages
Packaged contents of /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-aarch64_cortex-a53/qmi-utils into /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/bin/packages/aarch64_cortex-a53/packages/qmi-utils_0~apdu-r1_aarch64_cortex-a53.ipk
echo "libqmi" >> /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/target-aarch64_cortex-a53_musl/pkginfo/libqmi.default.install
rm -rf /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/tmp/stage-libqmi
mkdir -p /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/tmp/stage-libqmi/host /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/target-aarch64_cortex-a53_musl/packages
install -d -m0755 /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/tmp/stage-libqmi/usr/include
cp -fpR /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/include/libqmi-glib /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/tmp/stage-libqmi/usr/include/
install -d -m0755 /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/tmp/stage-libqmi/usr/lib
cp -fpR /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/lib/libqmi*.so* /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/tmp/stage-libqmi/usr/lib/
install -d -m0755 /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/tmp/stage-libqmi/usr/lib/pkgconfig
cp -fpR /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/lib/pkgconfig/qmi-glib.pc /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/tmp/stage-libqmi/usr/lib/pkgconfig
find /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/tmp/stage-libqmi -name '*.la' | xargs -r rm -f;
if [ -f /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/target-aarch64_cortex-a53_musl/packages/libqmi.list ]; then /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/scripts/clean-package.sh "/home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/target-aarch64_cortex-a53_musl/packages/libqmi.list" "/home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/target-aarch64_cortex-a53_musl"; fi
if [ -d /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/tmp/stage-libqmi ]; then (cd /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/tmp/stage-libqmi; find ./ > /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/tmp/stage-libqmi.files);     SHELL= flock /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/tmp/.staging-dir.flock -c ' mv /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/tmp/stage-libqmi.files /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/target-aarch64_cortex-a53_musl/packages/libqmi.list && cp -fpR /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/tmp/stage-libqmi/* /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/target-aarch64_cortex-a53_musl/; '; fi
rm -rf /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/tmp/stage-libqmi
touch /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/target-aarch64_cortex-a53_musl/stamp/.libqmi_installed
rm -rf /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/.pkgdir/qmi-utils.installed /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/.pkgdir/qmi-utils
mkdir -p /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/.pkgdir/qmi-utils
install -d -m0755 /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/.pkgdir/qmi-utils/usr/bin
install -m0755 /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/bin/qmicli /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/.pkgdir/qmi-utils/usr/bin/
install -m0755 /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/bin/qmi-network /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/.pkgdir/qmi-utils/usr/bin/
install -m0755 /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/ipkg-install/usr/bin/qmi-firmware-update /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/.pkgdir/qmi-utils/usr/bin/
touch /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/.pkgdir/qmi-utils.installed
mkdir -p /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/target-aarch64_cortex-a53_musl/root-mediatek/stamp
SHELL= flock /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/tmp/.root-copy.flock -c 'cp -fpR /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/build_dir/target-aarch64_cortex-a53_musl/libqmi-0~apdu/.pkgdir/qmi-utils/. /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/target-aarch64_cortex-a53_musl/root-mediatek/'
touch /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/target-aarch64_cortex-a53_musl/root-mediatek/stamp/.qmi-utils_installed
echo "qmi-utils" >> /home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/staging_dir/target-aarch64_cortex-a53_musl/pkginfo/libqmi.default.install
make[2]: Leaving directory '/home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt/feeds/packages/libs/libqmi'
time: package/feeds/packages/libqmi/compile#57.62#4.80#47.00
make[1]: Leaving directory '/home/builder/5G_Router/Banana-BPI-R3-Mini/openwrt'

this is the binary:

strings ./staging_dir/target-aarch64_cortex-a53_musl/root-mediatek/usr/bin/qmicli | grep uim-
dms-uim-set-pin-protection
dms-uim-verify-pin
dms-uim-unblock-pin
dms-uim-change-pin
dms-uim-get-pin-status
dms-uim-get-iccid
dms-uim-get-imsi
dms-uim-get-ck-status
dms-uim-unblock-ck
uim-read-transparent
uim-get-card-status
uim-get-slot-status
uim-switch-slot
uim-monitor-slot-status
uim-monitor-refresh-file
uim-monitor-refresh-all
uim-get-configuration
uim-depersonalization
uim-remote-unlock
uim-noop

Here is the Makefile from OpenWrt:

#
# Copyright (C) 2016 Velocloud Inc.
# Copyright (C) 2016 Aleksander Morgado <aleksander@aleksander.es>
#
# This is free software, licensed under the GNU General Public License v2.
#

include $(TOPDIR)/rules.mk

PKG_NAME:=libqmi
#PKG_SOURCE_VERSION:=1.34.0
PKG_SOURCE_VERSION:=apdu
PKG_RELEASE:=1

PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://gitlab.freedesktop.org/lucaweiss/libqmi.git
#PKG_SOURCE_URL:=https://gitlab.freedesktop.org/mobile-broadband/libqmi.git
#PKG_MIRROR_HASH:=05211a43de53b7bf967fe29ca62dbe8332f42748dbfc8d32880cda765d00020c

PKG_BUILD_FLAGS:=gc-sections

PKG_MAINTAINER:=Nicholas Smith <nicholas@nbembedded.com>
PKG_CPE_ID:=cpe:/a:libqmi_project:libqmi

include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/nls.mk
include $(INCLUDE_DIR)/meson.mk

TARGET_CFLAGS += -fno-merge-all-constants -fmerge-constants

define Package/libqmi/config
  source "$(SOURCE)/Config.in"
endef

define Package/libqmi
  SECTION:=libs
  CATEGORY:=Libraries
  DEPENDS:= \
    +glib2 \
    +LIBQMI_WITH_MBIM_QMUX:libmbim \
    +LIBQMI_WITH_QRTR_GLIB:libqrtr-glib
  TITLE:=Helper library to talk to QMI enabled modems
  URL:=https://www.freedesktop.org/wiki/Software/libqmi
  LICENSE:=LGPL-2.0-or-later
  LICENSE_FILES:=COPYING.LIB
endef

define Package/libqmi/description
  Helper library talk to QMI enabled modems.
  Add qmi-utils for extra utilities.
endef

define Package/qmi-utils
  SECTION:=utils
  CATEGORY:=Utilities
  DEPENDS:=+libqmi
  TITLE:=Utilities to talk to QMI enabled modems
  URL:=https://www.freedesktop.org/wiki/Software/libqmi
  LICENSE:=GPL-2.0-or-later
  LICENSE_FILES:=COPYING
endef

define Package/libqmi-utils/description
  Utils to talk to QMI enabled modems
endef

MESON_ARGS += \
        -Dudev=false \
        -Dintrospection=false \
        -Dman=false \
        -Dbash_completion=false \
        -Db_lto=true \
        -Dmbim_qmux=$(if $(CONFIG_LIBQMI_WITH_MBIM_QMUX),true,false) \
        -Dqrtr=$(if $(CONFIG_LIBQMI_WITH_QRTR_GLIB),true,false) \
        -Dcollection=$(if $(CONFIG_LIBQMI_COLLECTION_MINIMAL),minimal\
                    ,$(if $(CONFIG_LIBQMI_COLLECTION_BASIC),basic,full))

define Build/InstallDev
        $(INSTALL_DIR) $(1)/usr/include
        $(CP) \
                $(PKG_INSTALL_DIR)/usr/include/libqmi-glib \
                $(1)/usr/include/

        $(INSTALL_DIR) $(1)/usr/lib
        $(CP) \
                $(PKG_INSTALL_DIR)/usr/lib/libqmi*.so* \
                $(1)/usr/lib/

        $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
        $(CP) \
                $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/qmi-glib.pc \
                $(1)/usr/lib/pkgconfig
endef

define Package/libqmi/install
        $(INSTALL_DIR) \
                $(1)/usr/lib \
                $(1)/usr/libexec

        $(CP) \
                $(PKG_INSTALL_DIR)/usr/lib/libqmi*.so.* \
                $(1)/usr/lib/

        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/libexec/qmi-proxy $(1)/usr/libexec/
endef

define Package/qmi-utils/install
        $(INSTALL_DIR) $(1)/usr/bin
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/qmicli $(1)/usr/bin/
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/qmi-network $(1)/usr/bin/
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/qmi-firmware-update $(1)/usr/bin/
endef

$(eval $(call BuildPackage,libqmi))
$(eval $(call BuildPackage,qmi-utils))

Any ideas? Thanks!

stich86 commented 5 months ago

ok the problem was related to this part:

        -Dcollection=$(if $(CONFIG_LIBQMI_COLLECTION_MINIMAL),minimal\
                    ,$(if $(CONFIG_LIBQMI_COLLECTION_BASIC),basic,full))

to add your commands, collection should be set to "full" on make menuconfig under Libraries\libqmi\Configuration:

image

z3ntu commented 5 months ago

Interesting, wasn't aware you can build a slimmed down version of libqmi.

stich86 commented 5 months ago

so i've tried on T99W175, but got this error (with debug enabled):

./wrapper.py profile list
recv= (printend multiple times)
Exit code: 255

this is an example of output using patched qmicli

qmicli -d /dev/cdc-wdm0 --uim-get-slot-status
[/dev/cdc-wdm0] Successfully got slots status
[/dev/cdc-wdm0] 2 physical slots found:
  Physical slot 1:
     Card status: absent
     Slot status: inactive
  Physical slot 2:
     Card status: present
     Slot status: active
    Logical slot: 1
           ICCID: unknown
        Protocol: uicc
        Num apps: 0
        Is eUICC: yes
             EID: XXXXXX

any idea?

stich86 commented 5 months ago

ok new version seems to use different env instead of using external library, now this is the error:

./wrapper.py chip info
recv={"type":"apdu","payload":{"func":"connect","param":null}}
INFO: Connect
send={"type": "apdu", "payload": {"ecode": 0}}
recv={"type":"apdu","payload":{"func":"logic_channel_open","param":"a0000005591010ffffffff8900000100"}}
INFO: Open channel with AID a0000005591010ffffffff8900000100
+++ LIBQMI EXCEPTION! +++
error: node with id 0 not found in QRTR bus

Command '['qmicli', '-d', 'qrtr://0', '--uim-open-logical-channel=2,a0000005591010ffffffff8900000100']' returned non-zero exit status 1.
+++ LIBQMI EXCEPTION! +++
send={"type": "apdu", "payload": {"ecode": "-1"}}
recv=
Exit code: -11
root@debian:~# ./wrapper.py profile list
recv={"type":"apdu","payload":{"func":"connect","param":null}}
INFO: Connect
send={"type": "apdu", "payload": {"ecode": 0}}
recv={"type":"apdu","payload":{"func":"logic_channel_open","param":"a0000005591010ffffffff8900000100"}}
INFO: Open channel with AID a0000005591010ffffffff8900000100
+++ LIBQMI EXCEPTION! +++
error: node with id 0 not found in QRTR bus

Command '['qmicli', '-d', 'qrtr://0', '--uim-open-logical-channel=2,a0000005591010ffffffff8900000100']' returned non-zero exit status 1.
+++ LIBQMI EXCEPTION! +++
send={"type": "apdu", "payload": {"ecode": "-1"}}
recv=
Exit code: -11

tried to do it manually, but got this error:

qmicli -d /dev/cdc-wdm0 --uim-open-logical-channel=2,a0000005591010ffffffff8900000100
error: open logical channel operation failed: QMI protocol error (94): 'NotSupported'

May be the eUICC is only configurable via MIBM? This module use MIBM to profile eSIM over Windows usually

z3ntu commented 5 months ago

To be honest I'm not really familiar with MBIM, and what this is used for in the whole stack. But according to the last output it seems like the device says that the "open logical channel" command is not supported. So presumably some other way is used to do the same operation?

stich86 commented 5 months ago

For sure Windows using MBIM to provisioning eSIM, but I was supposed to support also QMI, but it doesn't.

For my curiosity, with which module you have you tested it? I've also a Quectel RM502Q-GL that has AT commando to open logical channel, and I should receive Lenovo Thales eSIM in the mid of this week. I'll try both QMI and AT to see if it works.

Another bit: with the latest lpac version (at least in x86 build) the APDU variable to select the backend it's different.

stich86 commented 5 months ago

Seems like that mbimcli already support eSIM commands: https://gitlab.freedesktop.org/mobile-broadband/libmbim/-/tree/main/src?ref_type=heads

Your wrapper can be adapted to use MBIM instead of QMI in a easily way may be...

z3ntu commented 5 months ago

For my curiosity, with which module you have you tested it?

I've only tested this on a Qualcomm-based smartphone with an eSIM chip built-in as one of the SIM slots. I've also ordered a removable eSIM so I'll also test with that once it arrives, but I don't expect any troubles with that.

stich86 commented 5 months ago

For my curiosity, with which module you have you tested it?

I've only tested this on a Qualcomm-based smartphone with an eSIM chip built-in as one of the SIM slots. I've also ordered a removable eSIM so I'll also test with that once it arrives, but I don't expect any troubles with that.

so you have tested it into a rooted Android smartphone? Interesting..

z3ntu commented 5 months ago

No, well kind of. It's a originally Android smartphone but not using Android anymore but postmarketOS using upstream kernel instead of the Qualcomm-patched kernel fork. And essentially replacing the proprietary Qualcomm userland with this.

stich86 commented 5 months ago

so i'm tryting now in MBIM, "open-logical-channel" seems to work (on eSIM slot)

mbimcli -d /dev/cdc-wdm0 --ms-set-uicc-open-channel="application-id=a0000005591010ffffffff8900000100"
Succesfully retrieved open channel info:
      status: 144
     channel: 1
    response: 6F:76:84:10:A0:00:XXXXXX

but close gives error:

mbimcli -d /dev/cdc-wdm0 --ms-set-uicc-close-channel="channel=1"
error: operation failed: Unknown status 0x87430003

That error references to: { 0x87430003, "UICC_INVALID_LOGICAL_CHANNEL"},

Very strange.. do you have some APDU example that I can try to send?

z3ntu commented 5 months ago

For a bit random APDUs I was trying this at some point https://stackoverflow.com/a/17682325/3527128

fairphone-fp4:~/libqmi$ ./builddir/src/qmicli/qmicli -d qrtr://0 --uim-send-apdu=2,1,A0B000000A
Send APDU operation successfully completed: 98 58 22 54 82 00 20 68 82 59 90 00
fairphone-fp4:~/libqmi$ ./builddir/src/qmicli/qmicli -d qrtr://0 --uim-send-apdu=2,1,A0A40000023F00
Send APDU operation successfully completed: 9F 16
fairphone-fp4:~/libqmi$ ./builddir/src/qmicli/qmicli -d qrtr://0 --uim-send-apdu=2,1,A0A40000022FE2
Send APDU operation successfully completed: 9F 0F
fairphone-fp4:~/libqmi$ ./builddir/src/qmicli/qmicli -d qrtr://0 --uim-send-apdu=2,1,A0B000000A
Send APDU operation successfully completed: 98 58 22 54 82 00 20 68 82 59 90 00
stich86 commented 5 months ago

For a bit random APDUs I was trying this at some point https://stackoverflow.com/a/17682325/3527128

fairphone-fp4:~/libqmi$ ./builddir/src/qmicli/qmicli -d qrtr://0 --uim-send-apdu=2,1,A0B000000A
Send APDU operation successfully completed: 98 58 22 54 82 00 20 68 82 59 90 00
fairphone-fp4:~/libqmi$ ./builddir/src/qmicli/qmicli -d qrtr://0 --uim-send-apdu=2,1,A0A40000023F00
Send APDU operation successfully completed: 9F 16
fairphone-fp4:~/libqmi$ ./builddir/src/qmicli/qmicli -d qrtr://0 --uim-send-apdu=2,1,A0A40000022FE2
Send APDU operation successfully completed: 9F 0F
fairphone-fp4:~/libqmi$ ./builddir/src/qmicli/qmicli -d qrtr://0 --uim-send-apdu=2,1,A0B000000A
Send APDU operation successfully completed: 98 58 22 54 82 00 20 68 82 59 90 00

just to understad, LPAC expect response in that hex format? Because mbimcli is printing response in a different way, like status is formatted in decimal instead of hex, and response has : between each byte, so a wrapper like your, with MBIM should reformat text has LPAC expect as stdio

z3ntu commented 5 months ago

Yes IIRC lpac wants a continuous string of hex characters, so e.g. 12345ABC34567. I think the output that I sent above was from an older version of my libqmi MR, now qmicli should also print 98:58:22:54 etc, that's why there's a .replace(":", "") in the wrapper

stich86 commented 5 months ago

@z3ntu can I ask you an example of "open logical channel" output? Needs to understand how to treat the different output of mbimcli

thanks!

stich86 commented 5 months ago

it works!

./wrapper.py notification list
INFO: Connect
INFO: Open channel with AID a0000005591010ffffffff8900000100
INFO: Received LPA data. Printing...
{'payload': {'code': 0,
             'data': [{'iccid': 'XXXXX',
                       'notificationAddress': 'frm.prod.ondemandconnectivity.com',
                       'profileManagementOperation': 'disable',
                       'seqNumber': 2},
                      {'iccid': 'XXXXX',
                       'notificationAddress': 'frm.prod.ondemandconnectivity.com',
                       'profileManagementOperation': 'enable',
                       'seqNumber': 3}],
             'message': 'success'},
 'type': 'lpa'}
INFO: Close channel 01
INFO: Disconnect
Exit code: 0

I was also able to disable and enable profile, next step is tying to deploy a profile :) Main problem was the status (converted in hex) that should be after the response and not before

z3ntu commented 5 months ago

Oh, super cool! Glad it's working!

stich86 commented 5 months ago

Oh, super cool! Glad it's working!

I was able also to download and eSIM profile and used it on Ubuntu :) Now i'll try to clean up the code and the publish on git. Obviously i'll link your report and your copyright because main works is your for the parser, i've just adapted to make it work with mbimcli :)

z3ntu commented 5 months ago

Amazing!

Hopefully I'll have some time to implement the QRTR+QMI support directly in lpac (https://github.com/estkme-group/lpac/issues/41), then hopefully on this it should be simple to base MBIM support on that code, just using libmbim instead of libqrtr+libqmi

stich86 commented 5 months ago

published here: https://github.com/stich86/lpac-libmbim-wrapper/

let me know what do you think ;)

i'll try to test in the next days using a physical eSIM into slot 0 and see if it works or not

z3ntu commented 5 months ago

Looks nice, the code reminds me a lot of this repo :wink:

I've also just noticed that I haven't included any license yet, so just pushed this https://github.com/z3ntu/lpac-libqmi-wrapper/commit/0ff0bb62273bba2a2d530f5eb7863dfda4105528 . Please take this also into your fork.

stich86 commented 5 months ago

Looks nice, the code reminds me a lot of this repo 😉

I've also just noticed that I haven't included any license yet, so just pushed this 0ff0bb6 . Please take this also into your fork.

done

just FYI i've succesfully tested it also on OpenWRT with Quectel module :)

z3ntu commented 5 months ago

FYI: https://github.com/estkme-group/lpac/pull/70

Once this is done, I'm sure you can also easily adapt that to add a MBIM backend to lpac directly to not have a need on the wrapper. All the plumbing including wrapping async APIs is already present.

stich86 commented 5 months ago

i'm not so expert on C, I can ask may be a friend.. needs to see how mbimcli importend libs and so on :D

AndySchroder commented 4 months ago

Based on my testing, the above is not needed for MBIM and the statement below is correct. I can use existing operating system packages for libmbim.

Seems like that mbimcli already support eSIM commands: https://gitlab.freedesktop.org/mobile-broadband/libmbim/-/tree/main/src?ref_type=heads

Your wrapper can be adapted to use MBIM instead of QMI in a easily way may be...

stich86 commented 4 months ago

Based on my testing, the above is not needed for MBIM and the statement below is correct. I can use existing operating system packages for libmbim.

Seems like that mbimcli already support eSIM commands: https://gitlab.freedesktop.org/mobile-broadband/libmbim/-/tree/main/src?ref_type=heads Your wrapper can be adapted to use MBIM instead of QMI in a easily way may be...

it's not needed because MBIM already has UICC commands, but I think this cannot be related to @z3ntu wrapper, that is for QMI and not MBIM ;)

bam80 commented 3 months ago

so i'm tryting now in MBIM, "open-logical-channel" seems to work (on eSIM slot)

mbimcli -d /dev/cdc-wdm0 --ms-set-uicc-open-channel="application-id=a0000005591010ffffffff8900000100"
Succesfully retrieved open channel info:
    status: 144
   channel: 1
  response: 6F:76:84:10:A0:00:XXXXXX

but close gives error:

mbimcli -d /dev/cdc-wdm0 --ms-set-uicc-close-channel="channel=1"
error: operation failed: Unknown status 0x87430003

@stich86 how did you solve it? It's near the same error I get, I just also get response: (null)..

AndySchroder commented 3 months ago

Does https://github.com/stich86/lpac-libmbim-wrapper work for you?

bam80 commented 3 months ago

@AndySchroder no, unfortunately (I had to remove mbimcli --device-open-proxy option to even start it)

AndySchroder commented 3 months ago

That was my original reason for opening https://github.com/stich86/lpac-libmbim-wrapper/issues/4 (-p is the same option), but that original problem kind of went away for me (I'm not sure why) and a more repeatable problem was uncovered that was later resolved in https://github.com/stich86/lpac-libmbim-wrapper/pull/6 .

AndySchroder commented 3 months ago

Also, do you have modem manager running? If not, then the mbim proxy won't be running and that is a situation where the --device-open-proxy won't work if there is no proxy for it to use.

bam80 commented 3 months ago

Also, do you have modem manager running?

I don't. Should I?

that is a situation where the --device-open-proxy won't work if there is no proxy for it to use.

that is the problem I referred to. Has the wrapper been tested without MM at all?

AndySchroder commented 3 months ago

If you want to use the mbim proxy, you either need to have modem manager running or manually start the proxy. I think the wrapper will work without the proxy and without modem manager if you remove the command line option as you suggested.

However, does your modem have a device port for AT commands? If so, that is a much easier native lpac backend to use. The main reason I've been pursuing the mbim wrapper is because the mbim proxy allows modem manager and lpac to both be running at the same time. Otherwise you need to stop modem manager every time you want to access the AT device port with lpac because modem manager locks it up. However, for me, stopping and starting modem manager just to run lpac is highly undesirable.

bam80 commented 3 months ago

However, does your modem have a device port for AT commands?

It doesn't, unfortunately. It does but it has no needed commands for eSIM.

Could you test your setup (what is the modem, btw?) without MM but still via MBIM? After that, could you add your modem to the test table here: https://github.com/stich86/lpac-libmbim-wrapper?tab=readme-ov-file#test-done

Thanks.