UF896 - Qualcomm MSM8916 LTE router ~384MiB RAM/2.4GiB flash, Android: OpenWrt?

This is defined by the software (kernel) running on the stick. But I don't know further details since I have not tinkered with USB gadget mode on Linux devices yet.

So maybe the stock firmware already supports that the stick acts as modem mode.

You were asking for

and as far as I know, OpenWrt does not support out of the box to be used as a modem. So might be that you can use the stick straight away as a modem if you plug it to any router, but if you flash an OpenWrt based system on the stick you might need to do some configuration on the stick itself. (But of course, have much more power to customise the behaviour of the stick.)

I start wondering, if you just mixed up "OpenWrt on the stick" with "OpenWrt on the AR150", and you mean an OpenWrt for the AR150 which can drive the stick with it's stock firmware (not OpenWrt) as a modem?

Sorry, my english is not good anymore. What I would like to do is to use this dongle with stock firmware on it in my AR-150 with OpenWRT, all that expectant that one day will be a stable OpenWRT firmware for this dongle (in order to use it alone without use in combo with ar-150)

1 Like

Your modem has failed and entered recovery mode. Flash the firmware according to the type of modem written on the board

  1. All necessary drivers for USB-OTG mode are present in the monolithic kernel in the default config.
  2. When compiling the firmware, I used the default config of your repository for this modem, including Luci.
  3. To switch to OpenWRT, you must first change the location and name of the partition by running the flash.bat script from the universal image https://github.com/OpenStick/OpenStick/releases/download/v1/base-generic.zip
  4. After installing the universal image, you need to flash the commands
    fastboot flash boot boot.img
    fastboot flash rootfs rootfs.img
    after renaming the ...boot.bin and ...system.bin files from the compiled firmware to boot.img and rootfs.img.
  5. Rebooting the device after flashing with the fastboot reboot command
    you need to go to Openwrt and flash ...sysupgrade.bin from the web interface.
  6. Do not forget that you can restore your modem by shorting 1 and 6 PINs on the board.
    Moreover, if the SIM is not inserted, then you will enter the EDL mode, and if the SIM is inserted, then you will enter the fastboot mode.
1 Like

Still, can you tell me which is the specific module here? I don't have a usable UF896 anymore.

It turns out to be an "UFI6735W_V1.1" according to the printing on the board, and power by a MediaTek MT6735V, probably with 2 GB flash and 128 MiB RAM:

So technically a really different thing than the UF896 that we are talking about here.

I made a → new thread.

However, the "UFI6735W_V1.1" seems to have better LTE connectivity according to preliminary tests. I need to compare with my Huawei E3372 stick at places with bad reception.

Does anyone has a link to purchase a UF896 with good LTE antennas/ reception, with internal shielding in place, optional with microSD slot, and with EU frequencies?

→ Here is a ASR1802S based device. Preliminary search seemed that theoretically there is Linux support for it, but does anyone know how far a route this would be?

First of all: Thank you for your awesome work.

I am still struggling to get the 4g-modem to work.
The steps i did:

  • i built and installed the image as you described in your readme
  • i discovered that no web-if (aka LUCI) was installed
  • i reconfigured and rebuilt the image
  • i installed the resulting sysupgrade (not again rootfs and bootfs)

The modem gives several error messages, that are not necessarily related:

  • Luci (under "network") says " Error: Modem bearer teardown in progress."
  • "mmcli -m 0 " says "Status: failed, failed reason: SIM missing"

I tested different sim cards, neither did work. I also searched for any means to deactivate SIM detection, to force the modem to talk to the SIM, but did not find anything.
I also installed picocom, but i struggled to find any serial interface where AT-commands could be sent to the modem.

It is necessary to find out the GPIO for powering up the SIM card of this modem. And add it to DTB, DTS source files.

can you please upload your changes to the sources of @dreieck ?
preferably to github...

Change GPIO power of SIM card in file:

/ https://github.com/kirdesde/Handsomemod/blob/uf896/target/linux/msm89xx/files/arch/arm64/boot/dts/qcom/msm8916-uf896.dts /

Change SIM_EN and SIM_SEL

Hi Sorine, Thanks for the process. This is great.
I cannot reach out your repository located at https://xfl.jp/lnvXp6. 404 page not found. Could you see what's going on please

1 Like

i am not quite sure what i should do here...

                sim_sel {
                        label = "sim:sel";
                        gpios = <&msmgpio 2 GPIO_ACTIVE_HIGH>;
                        default-state = "on";

                sim_en {
                        label = "sim:en";
                        gpios = <&msmgpio 1 GPIO_ACTIVE_HIGH>;
                        default-state = "on";

is this correct? Or should i change the GPIO of sim_sel and sim_en ? (sim_en = 2; sim_sel = 1)

Need to try. The fact is that modems come with different radio modules, depending on the number of bands. For example, the SIM works for the author and he has 1,3,5 bands. With you, the SIM part of the SIM does not even turn on. This is an example with me with bands 1,3,7,20 and European. First try changing the AT modes with commands. To do this, enable debug in MM.
Edit vi /usr/sbin/ModemManager-wrapper
/usr/sbin/ModemManager "$@" 1>/dev/null 2>/dev/null &
/usr/sbin/ModemManager --debug "$@" 1>/dev/null 2>/dev/null &
and restart router.
Man mmcli -m 0 --command=


"mmcli -m 0 " says "Status: failed, failed reason: SIM missing"

I had this problem too. Before you start messing with GPIOs try just power cycling
the sim card :
in adb or ssh
/etc/init.d/modemmanager stop
qmicli -d /dev/modem --uim-sim-power-off=1
qmicli -d /dev/modem --uim-sim-power-on=1
/etc/init.d/modemmanager start
mmcli -m 0 -e
mmcli -m 0

i struggled to find any serial interface where AT-commands could be sent to the modem.


1 Like

Hello Guys,
I bought this Qualcomm MSM8916 LTE Dongle, but it is not working on the OpenWrt router (installed in Raspberry Pi 4B).
I also have a ZTE dongle which got easily detected on the router but this one is not getting detected by the router.
I noticed that when I connect this dongle to OpenWrt, it shows a MAC address for 2 seconds and then disconnected. But it's working fine on Windows PC as RNDIS.
Can someone guide me on what to do to get it to work with OpenWrt?

which stock OS version have you installed?. As I do have the Chinese ones and opkg cannot download and install the qmicli necessary packages. Tx

1 Like

I compiled from kirdes's git fork, but added some configs. Guess i must have added
can you not find qmi-utils through opkg

Hello Rob

I understand the message I posted in response is wrongly formated

Here is the log I got

/sbin # /etc/init.d/modemmanager stop
/sbin # qmicli -d /dev/modem --uim-sim-power-off=1
[/dev/modem] Successfully performed SIM power off
/ # qmicli -d /dev/modem --uim-sim-power-on=1
error: could not power on SIM: QMI protocol error (3): 'Internal'
/ # /etc/init.d/modemmanager start
/ # mmcli -m 0 -e
error: couldn't find modem
/ # mmcli -m 0 -e
error: couldn't enable the modem: 'GDBus.Error:org.freedesktop.ModemManager1.Error.Core.WrongState: modem in failed state'

Hoping thru mail you will get something readeable.


Hi, I cannot manage to get the LTE up and running. Still I have " Modem bearer teardown in progress."
or it says "Status: failed, failed reason: SIM missing".
Have you changed anything when building up the UFI003?
Could you share some tech outputs please - for instance : mmcli - m 0, ps, opkg list-installed, dmesg, fdisk -x. So i can compare with I have. Thanks