Router Setup & Prerequisites
Relevant source files
The following files were used as context for generating this wiki page:
LuCI Mobile requires specific software modules and configurations on an OpenWrt router to function correctly. This page outlines the necessary dependencies, configuration steps, and security requirements to establish a connection between the mobile application and the target hardware.
LuCI Mobile communicates with routers using the LuCI RPC (Remote Procedure Call) protocol. It enables remote management tasks such as monitoring throughput, managing wireless networks, and configuring firewall rules directly from a mobile device.
Sources: README.md:16-30, fastlane/metadata/android/en-US/full_description.txt:1-5
Required Software Modules
The target router must run OpenWrt with the LuCI web interface enabled. You must install additional Remote Procedure Call (RPC) and wireless information modules to provide the data feeds required for the dashboard and client lists.
Installation via Package Manager
Use the following commands on your OpenWrt router to install the necessary modules:
# Using opkg
opkg update
opkg install rpcd-mod-luci rpcd-mod-iwinfo
# Using apk (for newer OpenWrt versions)
apk update
apk add rpcd-mod-luci rpcd-mod-iwinfo
# Restart the RPC daemon
/etc/init.d/rpcd restart
Sources: README.md:92-105
Verifying RPC Availability
After installation, verify that the RPC objects are accessible via the ubus command-line tool on the router:
ubus list luci-rpc
ubus call luci-rpc getNetworkDevices '{}'
Sources: README.md:107-111
Network & Connectivity Requirements
The mobile device must have a valid network route to the router's IP address. This typically requires being on the same local Wi-Fi network or using a VPN for remote access.
Connectivity Setup Flow
This diagram illustrates the connection process between the app and the router.
Sources: README.md:113-118, PRIVACY_POLICY.md:11-13
uhttpd Optimization
If the dashboard remains empty or times out despite LuCI working in a browser, the router's web server (uhttpd) may be stalling on parallel RPC requests. You can limit uhttpd to one request at a time to improve stability:
uci set uhttpd.main.max_requests=1
uci commit uhttpd
/etc/init.d/uhttpd restart
Sources: README.md:120-128
Security and Credentials
LuCI Mobile uses the standard OpenWrt administrator credentials for authentication. Secure communication is handled via HTTP or HTTPS protocols.
Credential Handling
- Storage: Credentials (IP, username, and password) are stored locally on the device using
flutter_secure_storage. - Encryption: Data is protected via industry-standard encryption on the mobile device.
- Privacy: Credentials are never transmitted to third-party or external servers; communication occurs strictly between the app and the router.
Sources: PRIVACY_POLICY.md:11-25, README.md:46-48
HTTPS and Certificates
- HTTPS Support: The app supports secure HTTPS connections.
- Self-Signed Certificates: The app prompts you to trust self-signed certificates. You must verify the certificate fingerprint against your router before accepting.
Sources: README.md:129, PRIVACY_POLICY.md:33-35
Router Configuration Metadata
The app expects certain UCI (Unified Configuration Interface) structures to be present to display system information correctly.
| Component | UCI Section | Key Fields | Description |
|---|---|---|---|
| System | system | hostname, timezone | Defines the router identity and local time. |
| Board | N/A (RPC) | model, release, kernel | Provides hardware and OS version details. |
| Time | timeserver | enabled, server | Configures NTP synchronization. |
Sources: assets/mock/uci_system.json:4-18, assets/mock/system_board.json:2-12
Summary
Successful setup requires an OpenWrt router equipped with rpcd-mod-luci and rpcd-mod-iwinfo. You must ensure the mobile device has network access to the router and use valid administrator credentials. For environments with self-signed certificates, manual verification of the fingerprint is mandatory to maintain connection security.