MBPL SDK building on mips64eb

Hello team,

I am trying to build the MBPL source (MBPL_SDK_R47_ENG4-lite.src.tar) for a montavista platform with cpu = mips64eb. Do we need any changes in the slqscompile.mak file? and other files?

currently I can see below lines.

ifeq ($(CPU),mipseb)
CROSS_COMPILE := $(HOME)/toolchain/mips/bin/mips-linux-gnu-

INCLUDE += -I$(HOME)/toolchain/mips/mips-linux-gnu/libc/usr/include

CFLAGS += -EB
#default mips toolchain from Sourcery does not support sscanf
CFLAGS += -D OS_NO_SSCANF
#define mips toochain from Sourcery does not support backtrace
CFLAGS += -D NO_BACKTRACE
endif

Regards

Simon

Yes, you need to change those lines to point to your toolchain

Thank you. Is this target, ifeq ($(CPU),mipseb) valid for 64 bit? In that case I can just modify the toolchain and CROSS_COMPILE to montavista.

if you compare arm 32 bit and 64 bit, other than pointing to correct toolchain path, the only difference is to add CFLAGS:

# arm 32-bit compiler does not support eventfd.
ifeq ($(CPU),arm)
	#CFLAGS += -D_GNU_SOURCE -D_XOPEN_SOURCE=500 -D__USE_UNIX98
	CFLAGS += -D EVENT_FD_UNSUPPORTED -D_GNU_SOURCE -Wno-missing-field-initializers
endif

I think you can make some test and see if the compiled binary can be run in your platform

Hi,

I am building for mipseb in yocto. Can any one please share the bitbake recipe to build the SDK and Sample qmi commtecion manager?

do you have the toolchain of your yocto?
If yes, you can point the slqscompile.mak to the toolchain of your yocto

Yes I, did that but failing the Sample Application under SampleApps (lite-qmi-connectionmanager)

logs_build.txt (15.8 KB)

. Below is the changes I did and the .a files generated. some of the .a files still shows size 8 and the SampleApplication is not able to build. Please see attachement with logs.

I am not quite sure why you have some libraries in 8 bytes file size
I tried to take liblite-mbim.a as example in the prebuilt library folder, it shows it should have 290578 bytes


owner@ubuntu:~/QMI/MBPL/MBPL_SDK_R44_ENG5-lite.bin$ find ./ -name "liblite-mbim.a"
./lite-mbim/lib/hostx86_64/liblite-mbim.a
./lite-mbim/lib/arm/liblite-mbim.a
./lite-mbim/lib/arm64linaro/liblite-mbim.a
./lite-mbim/lib/arm64/liblite-mbim.a
./lite-mbim/lib/hosti686/liblite-mbim.a
./lite-mbim/lib/rpi/liblite-mbim.a
./lite-mbim/lib/mipsel/liblite-mbim.a
./lite-mbim/lib/mipseb/liblite-mbim.a
owner@ubuntu:~/QMI/MBPL/MBPL_SDK_R44_ENG5-lite.bin$ ls -l ./lite-mbim/lib/mipseb/liblite-mbim.a
-rw-rw-r-- 1 owner owner 290578 May 24  2025 ./lite-mbim/lib/mipseb/liblite-mbim.a

BTW, in your log, in line 151, it shows


/home/sbaby/workspace/EM7595-BUILD/06302026/WQAR/tmp/work/mips-mv-linux/sierra-mbplsdk-new-1-r0/SampleApps/lite-qmi-connection-manager/src/main.c:581: undefined reference to `pack_dms_SetPower'

But if you search the library in the prebuilt library folder, the function “pack_dms_SetPower” should appear in lite-qmi/lib/mipseb/liblite-qmi.a.
i don’t know why your complier cannot find this.

owner@ubuntu:~/QMI/MBPL/MBPL_SDK_R44_ENG5-lite.bin$ nm lite-qmi/lib/mipseb/liblite-qmi.a | grep "pack_dms_SetPower"
000025c0 T pack_dms_SetPower
00002648 T unpack_dms_SetPower

I see that the pre-built library has it. But after I build for Monta vista, that library is getting empty. Can you please check if my changes are fine? For the time being I stopped building the SampleApps and only building the SDK. I still see the size of some of the library generated are empty. Attached is the logs.

logs_build.txt (2.4 KB)

Those libraries cannot be built by you directly as you don’t have the full source code of MBPL SDK.
You need to contact distributor to get the full source code of MBPL SDK.

Or you can use the prebuilt libraries to build your application by your toolchain.

I see only issue with building liblite-qmux.a, liblite-fb.a, libdcs.a and liblite-mbim.a. I can see the source code is availabe in the MBPL SDK I am using (MBPL_SDK_R47_ENG4-lite.src.tar.gz)

tmp/work/mips-mv-linux/sierra-mbplsdk-new-1-r0/pkgs/lite-qmux$ ls -ll
total 240
-rw-r–r-- 1 sbaby sbaby 1079 2026-02-27 12:53 Android.bp
-rw-r–r-- 1 sbaby sbaby 10282 2026-02-27 12:53 CtlService.c
-rw-r–r-- 1 sbaby sbaby 6761 2026-02-27 12:53 CtlService.h
-rw-r–r-- 1 sbaby sbaby 14177 2026-02-27 12:53 DirectLayer.c
-rw-r–r-- 1 sbaby sbaby 813 2026-02-27 12:53 DirectLayer.h
-rw-r–r-- 1 sbaby sbaby 1757 2026-02-27 12:53 lite-qmux.mak
-rw-r–r-- 1 sbaby sbaby 15535 2026-02-27 12:53 MbimLayer.c
-rw-r–r-- 1 sbaby sbaby 826 2026-02-27 12:53 MbimLayer.h
-rw-r–r-- 1 sbaby sbaby 25068 2026-02-27 12:53 QmiService.c
-rw-r–r-- 1 sbaby sbaby 17044 2026-02-27 12:53 QmiService.h
-rw-r–r-- 1 sbaby sbaby 3141 2026-02-27 12:53 QmiSyncObject.c
-rw-r–r-- 1 sbaby sbaby 4172 2026-02-27 12:53 QmiSyncObject.h
-rw-r–r-- 1 sbaby sbaby 418 2026-02-27 12:53 QmiTransaction.c
-rw-r–r-- 1 sbaby sbaby 2474 2026-02-27 12:53 QmiTransaction.h
-rw-r–r-- 1 sbaby sbaby 2881 2026-02-27 12:53 QmuxInternal.h
-rw-r–r-- 1 sbaby sbaby 1638 2026-02-27 12:53 QmuxLogging.c
-rw-r–r-- 1 sbaby sbaby 2092 2026-02-27 12:53 QmuxLogging.h
-rw-r–r-- 1 sbaby sbaby 12819 2026-02-27 12:53 QmuxTransport.c
-rw-r–r-- 1 sbaby sbaby 13272 2026-02-27 12:53 QmuxTransport.h
-rw-r–r-- 1 sbaby sbaby 7431 2026-02-27 12:53 qrtr.c
-rw-r–r-- 1 sbaby sbaby 7472 2026-02-27 12:53 qrtr.h
-rw-r–r-- 1 sbaby sbaby 15902 2026-02-27 12:53 QrtrLayer.c
-rw-r–r-- 1 sbaby sbaby 755 2026-02-27 12:53 QrtrLayer.h
-rw-r–r-- 1 sbaby sbaby 16749 2026-02-27 12:53 RouterLayer.c
-rw-r–r-- 1 sbaby sbaby 756 2026-02-27 12:53 RouterLayer.h

tmp/work/mips-mv-linux/sierra-mbplsdk-new-1-r0/pkgs$ cd lite-mbim/
sbaby@71999Simon:~/workspace/EM7595-BUILD/06302026/WQAR/tmp/work/mips-mv-linux/sierra-mbplsdk-new-1-r0/pkgs/lite-mbim$ ls -ll
total 272
-rw-r–r-- 1 sbaby sbaby 923 2026-02-27 12:53 Android.bp
-rw-r–r-- 1 sbaby sbaby 79302 2026-02-27 12:53 BasicConnectDeviceService.c
-rw-r–r-- 1 sbaby sbaby 56054 2026-02-27 12:53 BasicConnectDeviceService.h
-rw-r–r-- 1 sbaby sbaby 1800 2026-02-27 12:53 lite-mbim.mak
-rw-r–r-- 1 sbaby sbaby 498 2026-02-27 12:53 MbimIndicator.c
-rw-r–r-- 1 sbaby sbaby 2712 2026-02-27 12:53 MbimIndicator.h
-rw-r–r-- 1 sbaby sbaby 15624 2026-02-27 12:53 MbimInternal.c
-rw-r–r-- 1 sbaby sbaby 7263 2026-02-27 12:53 MbimInternal.h
-rw-r–r-- 1 sbaby sbaby 279 2026-02-27 12:53 MbimLogging.c
-rw-r–r-- 1 sbaby sbaby 877 2026-02-27 12:53 MbimLogging.h
-rw-r–r-- 1 sbaby sbaby 2992 2026-02-27 12:53 MbimSyncObject.c
-rw-r–r-- 1 sbaby sbaby 4163 2026-02-27 12:53 MbimSyncObject.h
-rw-r–r-- 1 sbaby sbaby 566 2026-02-27 12:53 MbimTransaction.c
-rw-r–r-- 1 sbaby sbaby 2957 2026-02-27 12:53 MbimTransaction.h
-rw-r–r-- 1 sbaby sbaby 52252 2026-02-27 12:53 MbimTransport.c
-rw-r–r-- 1 sbaby sbaby 13196 2026-02-27 12:53 MbimTransport.h

Probably I can copy those binaries from pre-built and try to test.

I was able to build most of the SDK and builded the Sample lit-qmi-connectionmanager with adjusting the makefiles and tools.

/montavista/tools/mips-gnu/bin/mips-montavista-linux-gnu-readelf -d lite-qmi-connection-managermipseb

Dynamic section at offset 0x180 contains 31 entries:
Tag Type Name/Value
0x00000001 (NEEDED) Shared library: [libpthread.so.0]
0x00000001 (NEEDED) Shared library: [libm.so.6]
0x00000001 (NEEDED) Shared library: [libc.so.6]
0x0000000c (INIT) 0x1000c370
0x0000000d (FINI) 0x101062a0
0x00000004 (HASH) 0x100002a0
0x00000005 (STRTAB) 0x10005b44
0x00000006 (SYMTAB) 0x10001ae4
0x0000000a (STRSZ) 23740 (bytes)
0x0000000b (SYMENT) 16 (bytes)
0x70000016 (MIPS_RLD_MAP) 0x1013d1b0
0x00000015 (DEBUG) 0x0
0x00000003 (PLTGOT) 0x1013d310
0x00000011 (REL) 0x1000c09c
0x00000012 (RELSZ) 40 (bytes)
0x00000013 (RELENT) 8 (bytes)
0x70000001 (MIPS_RLD_VERSION) 1
0x70000005 (MIPS_FLAGS) NOTPOT
0x70000006 (MIPS_BASE_ADDRESS) 0x10000000
0x7000000a (MIPS_LOCAL_GOTNO) 28
0x70000011 (MIPS_SYMTABNO) 1030
0x70000012 (MIPS_UNREFEXTNO) 41
0x70000013 (MIPS_GOTSYM) 0x28
0x00000014 (PLTREL) REL
0x00000017 (JMPREL) 0x1000c0c4
0x00000002 (PLTRELSZ) 680 (bytes)
0x70000032 (MIPS_PLTGOT) 0x1013d1b4
0x6ffffffe (VERNEED) 0x1000c00c
0x6fffffff (VERNEEDNUM) 2
0x6ffffff0 (VERSYM) 0x1000b800
0x00000000 (NULL) 0x0

I should be able to test and verify with EM7595 soon.