README.md
last updated on: 2022-10-18.
This repository is a fork of the "uf896
"-branch of "kirdesde/Handsomemod", which itself is based on "HandsomeMod/HandsomeMod".
It is an operating system based on OpenWrt, but with many changes and additions.
As "kirdesde/Handsomemod", this repository too is especially targeted at supporting the UF896 LTE/WiFi routers which come in the form factor of an USB stick. A discussion about this devices with links to further projects can be found here on the OpenWrt forum.
The purpose of this repository is to have a place for my modifications and fixes I apply for the UF896 support.
It is based on OpenWrt 21.02 and heavily modified. It uses a Linux kernel version 5.10.33.
In general, the building instructions from the OpenWrt project apply, but different repositories are used.
To build the firmware for the UF896 from this repository, use the following steps:
- Make sure you have the OpenWrt build requirements fulfilled.
On Arch Linux and Arch based distributions, installing the AUR package "openwrt-devel
" does pull in all needed dependencies. - Clone this repository:
git clone https://github.com/dreirund/Handsomemod-uf896.git
. cd
into the clone:cd Handsomemod-uf896
.- Generate
feeds.conf
from the default:cp feeds.conf.default feeds.conf
. - Make sure that in the
feeds.conf
the following feeds are enabled (note that the "packages
" feed comes from HandsomeMod and not from OpenWrt, and also note the extra "handsomefeed
" feed):(Other feeds might be available as well.)src-git packages https://github.com/HandsomeMod/packages.git src-git luci https://git.openwrt.org/project/luci.git;openwrt-21.02 src-git routing https://git.openwrt.org/feed/routing.git;openwrt-21.02 src-git telephony https://git.openwrt.org/feed/telephony.git;openwrt-21.02 src-git handsomefeed https://github.com/HandsomeMod/handsomefeed.git
- Install packages from the feeds:
./scripts/feeds update -a && ./scripts/feeds install -a
. - Select the default configuration for the
UF896
:make menuconfig
,- Select the following options:
Target System
:Qualcomm Msm89xx Soc
(CONFIG_TARGET_msm89xx=y
),Subtarget
:Msm8916 Soc based Targets
(CONFIG_TARGET_msm89xx_msm8916=y
),Target Profile
:Openstick UF896
(CONFIG_TARGET_msm89xx_msm8916_DEVICE_openstick_uf896=y
),- Select
Save
and thenExit
the configuration (do not do further configurations now).
- Generate default configuration for the selected target:
make defconfig
.
- If you want, configure options to your liking now:
make menuconfig
. - Build the firmware image:
make
.
You can also use example .config
(that is my .config
I use on the device) and example feeds.conf
from the sample/
directory.
For more build options and troubleshooting, refer to the OpenWrt build system usage and other documentation at OpenWrt.org.
(Instructions taken from → here. Not guaranteed to work -- I myself am currently stuck at fastboot erase rootfs
because my device does not has a partition with that name, see → here.)
Carry out the following from a computer where the device is connected to via USB.
Have OpenStick installed (or at least the partitions prepared for it), the images generate here assume that the device has been prepared for OpenStick operating system before!
More detailed instructions on this step hopefully soon.
- Before conneting the device, make sure that there is currently no other device in fastboot mode connected, otherwise you can damage the other device:
fastboot devices
should return nothing. - Connect the device, and check that
fastboot devices
now returns something which looks similar to(The ID can vary).0ec38c91 fastboot
If that is given, proceed:
- Erase boot partition:
fastboot erase boot
- Write boot image:
fastboot flash boot handsomemod-msm89xx-msm8916-openstick_uf896-squashfs-boot.img
- Erase rootfs partition:
fastboot erase rootfs
- Write system image:
fastboot flash rootfs handsomemod-msm89xx-msm8916-openstick_uf896-squashfs-system.img
- Reboot:
fastboot reboot
- "OpenWrt" (HandsomeMod) should boot now (red led is blinking).
- push the sysupgrade image to the device (this is imported, as this sets up the loop device for the rootfs overlay)
(Note:adbd
is part of the handsome feeds utils package, Make sure you haveCONFIG_PACKAGE_android-tools-adbd=y
!)
adb push handsomemod-msm89xx-msm8916-openstick_uf896-squashfs-sysupgrade.bin /tmp
- Execute sysupgrade:
adb shell
sysupgrade /tmp/handsomemod-msm89xx-msm8916-openstick_uf896-squashfs-sysupgrade.bin
- After reboot you should have a working openwrt incl. overlay fs
- Thanks to the usb gadget mode the device has ethernet connectivity over usb
- Please note, it's also part of the handsome feeds utils to setup and activate a default wifi AP (unencrypted). You can disable this after the last reboot (or disable it in the build config)
This is work in progress and might not work as expected. The main work to make this work has been carried out by the upstream projects "kirdesde/Handsomemod" and "HandsomeMod/HandsomeMod", many thanks to them.
HandsomeMod itself (i.e. the code that is directly provided by the HandsomeMod repositories) is licensed under GPL-2.0.
Building a HandsomeMod firmware might pull in other, external software, which might have it's own licensing.
Here to the original README.md
from the upstream repository, as of 2022-08.