Here is the detailed requirement & compatibility specification for WRTune. We designed the app to be โplug-and-playโ compatible with standard OpenWRT environments.
1. Official Firmware Only ๐
For maximum stability and feature compatibility, we highly recommend using official OpenWrt releases.
- Recommended Source: OpenWrt Firmware Selector
- Supported Versions: OpenWrt 24.10.x.
- Why Official? Community-built or vendor-modified โOpenWrt-basedโ firmwares often change internal API paths that WRTune relies on to give you accurate data.
2. Login Philosophy: One Account, Zero Friction ๐
WRTune follows the official OpenWrt administrative standard.
- Username: Must be
root(Default). - Our Design Choice: You will notice there is no โUsernameโ field on our login screen. This is intentional. In line with our philosophy of Simple & Standard, we follow the default OpenWrt setup where
rootis the master administrator. This removes unnecessary configuration steps and gets you into your dashboard faster.
3. Service Dependencies ๐
WRTune communicates with your router using the high-performance ubus (Micro Bus Architecture).
- uhttpd / rpcd: These services must be running (they are enabled by default on 99% of OpenWrt installations).
- Network Access: Your phone must be able to reach the routerโs IP address. This works perfectly over Local Wi-Fi
Pro-Tip: Preparing your Router ๐
Before connecting WRTune for the first time, ensure you have set a strong password for your root account via the LuCI web interface or SSH.
Optional: Advanced Features (Statistics & Management IP) ๐
To unlock the full potential of WRTune (Traffic Statistics, Static IP management, Hostname editing, and detailed System Health), you need to install a monitoring tool and grant permissions.
1. Access Your Router ๐
Log in to your router via SSH (e.g., ssh root@192.168.1.1). This is the most secure way to manage your device directly.
2. Install & Configure Statistics Tools ๐
We use nlbwmon, a lightweight, industry-standard tool for bandwidth monitoring.
# Update package list and install nlbwmon
opkg update
opkg install nlbwmon luci-app-nlbwmon
# Configure nlbwmon to use permanent storage (preserves data after reboot)
/etc/init.d/nlbwmon stop
mkdir -p /usr/lib/nlbwmon
uci set nlbwmon.@nlbwmon[0].database_directory='/usr/lib/nlbwmon'
uci set nlbwmon.@nlbwmon[0].commit_interval='24h'
uci set nlbwmon.@nlbwmon[0].generations='3'
uci commit nlbwmon
# Clean up temporary files and enable the service
rm -rf /var/lib/nlbwmon /tmp/lib/nlbwmon
/etc/init.d/nlbwmon enable
/etc/init.d/nlbwmon start
3. Grant Permissions ๐
Create a comprehensive security rule (ACL) to allow WRTune to visualize stats and manage settings. This script grants permissions for:
/usr/sbin/nlbw: Bandwidth Monitoring (allows fetch data from nlbwmon)./sys/class/thermal/*/temp: Device Temperature (allows reading CPU heat levels)./proc/loadavg: System Load (allows reading CPU usage metrics)./proc/meminfo: Memory Usage (allows reading RAM availability).write->uci & ubus: Configuration Management (allows creating Static IPs, editing Hostnames, and saving settings).
cat <<EOF > /usr/share/rpcd/acl.d/ubus_access.json
{
"ubus_access": {
"description": "WRTune permissions for stats and management",
"read": {
"file": {
"/usr/sbin/nlbw": [ "exec" ],
"/sys/class/thermal/*/temp": [ "read" ],
"/proc/loadavg": [ "read" ],
"/proc/meminfo": [ "read" ]
},
"uci": [ "*" ],
"ubus": { "*" : [ "*" ] }
},
"write": {
"uci": [ "*" ],
"ubus": { "*" : [ "*" ] }
}
}
}
EOF
# Apply the new permissions
/etc/init.d/rpcd restart
4. Re-Login Required ๐
After applying these changes, Log Out and Log In again in the WRTune app to refresh your permissions.
Privacy & Security Guarantee ๐
- Local Processing: WRTune reads the data generated by your router. All analysis and visualization happen locally on your phone.
- No Cloud: Your traffic data is never sent to external servers or developers.
- Open Source Roots: This feature is built on the official nlbwmon package, trusted by the global OpenWrt community.