Pre-built OpenWrt packages for Teltonika RUT240 routers running firmware with OpenSSL 3.0.
Teltonika's official repo ships packages compiled against libopenssl1.1 and older libnettle — libraries that don't exist on current RUT240 firmware (RUTX_R_00.07.x). This feed provides correctly compiled replacements built against the OpenSSL 3.0 / libopenssl3 that actually ships on the device.
| Package | Version | Notes |
|---|---|---|
| radsecproxy | 1.11.2-1 | RADIUS proxy for UDP/TLS (RadSec) PATCHED |
| vim-full | 9.0-1 | Vi IMproved — Normal build, replaces busybox vi |
| libncurses6 | 6.4-2 | Terminal handling library (Unicode) |
| terminfo | 6.4-2 | Terminal info database (ncurses) |
| libnettle8 | 3.9.1-1 | GNU crypto library |
| libgmp10 | 6.2.1-1 | GNU Multiple Precision arithmetic library |
This feed is signed with usign. RUT240 firmware verifies package signatures by default.
wget -q -O /etc/opkg/keys/99d9bdd209118a07 \
https://raw.githubusercontent.com/CyB0rgg/rut240-opkg/main/signing.pub
echo "src/gz rut240_community https://cyb0rgg.github.io/rut240-opkg/packages" \
>> /etc/opkg/customfeeds.conf
opkg update
# radsecproxy (RadSec/RADIUS proxy)
opkg install radsecproxy --force-depends --force-overwrite
# vim-full (replaces busybox vi)
opkg install vim-full --force-depends
Why
--force-depends? Teltonika's repo ships broken versions of bothradsecproxyandvim-fullcompiled against libraries that don't exist on current firmware. When opkg sees these broken packages alongside ours, it gets confused during dependency resolution and reports "incompatible architectures" even though both aremips_24kc.--force-dependstells opkg to skip the broken candidates.--force-overwrite(radsecproxy only) handles a shared library conflict with Teltonika's pre-installedlibmosquitto-ssl.
The stock OpenWrt init script for radsecproxy does not include procd_set_param stdout / procd_set_param stderr directives. radsecproxy 1.11.x in foreground mode (-f, required for procd) writes all log output to stderr — even when LogDestination x-syslog:/// is set in the config. Without the procd stderr routing, logs silently go to /dev/null and logread shows nothing.
This package patches the init script to route both stdout and stderr through procd to logd:
procd_set_param stdout 1
procd_set_param stderr 1
After installing, logs are visible via logread | grep radsecproxy.
vim 9.0 will print E1187: Failed to source defaults.vim on startup if no ~/.vimrc exists. The vim-runtime package (2.2 MB) is intentionally not included in this feed to save flash space. Create any .vimrc to suppress the error:
touch ~/.vimrc
Cross-compiled using the OpenWrt 23.05.5 SDK inside a Docker container:
docker run --platform linux/amd64 -v $(pwd)/output:/output debian:bookworm-slim
# Inside container:
apt-get update && apt-get install -y \
build-essential gawk unzip file wget python3 rsync ca-certificates libncurses-dev git
wget https://downloads.openwrt.org/releases/23.05.5/targets/ath79/generic/\
openwrt-sdk-23.05.5-ath79-generic_gcc-12.3.0_musl.Linux-x86_64.tar.xz
tar xf openwrt-sdk-*.tar.xz && cd openwrt-sdk-*
./scripts/feeds update packages base
./scripts/feeds install radsecproxy libopenssl libnettle
make defconfig
make package/feeds/packages/radsecproxy/compile V=s -j1
To build a newer version, edit PKG_VERSION and PKG_HASH in the feed Makefile and remove any stale patches/ that don't apply.
Packages retain their original upstream licenses. This repository is provided as-is for the Teltonika RUT240 community.