**Project: RVLink MV2400 Custom Control API (skyweave.lua)** This repository contains `skyweave.lua`, a custom CGI application written in Lua for the OpenWrt-based RVLink MV2402 roof-mounted internet unit. The primary goal is to achieve direct, programmatic control over the MV2402's networking functionalities, independent of the original indoor controller unit (RV2458). **Key Features & Objectives:** * Bypass indoor unit orchestration by disabling proprietary services (`wtpd`, `heart_beat`). * Implement a Lua CGI API (`skyweave.lua`) for: * Wi-Fi client (STA) connection management (SSID, BSSID, encryption, key). * Wi-Fi scanning using `iwinfo`. * Retrieval of system logs (raw and parsed with SHA256 hashes). * Fetching detailed network and system status (replicating `guide_config`, live IP/DNS/gateway, etc.). * Utilize standard OpenWrt tools (`uci`, `logread`, `iwinfo`, `ubus`, shell commands) for backend operations. * Based on reverse engineering insights from the original `webmgnt` C firmware (analyzed with Ghidra). * Facilitates advanced WAN management, failover, and integration with downstream routers like MikroTik. **Prerequisites & Setup on MV2400:** * **`opkg` Configuration:** The default `opkg.conf` on the MV2402 likely needs to be updated to point to valid OpenWrt Chaos Calmer 15.05 package repositories (e.g., `http://archive.openwrt.org/chaos_calmer/15.05/ar71xx/generic/packages/`) to enable package installation. * **Essential Packages:** After fixing `opkg`, install the following: * `lua`: The Lua interpreter. * `uhttpd`: OpenWrt's web server, to run Lua CGI scripts. * `sha256sum`: For generating SHA256 hashes (part of `coreutils-sha256sum` or `coreutils` depending on the feed) if not already present. * **JSON Library:** This project uses a pure Lua JSON library (`rxi/json.lua`). The `json.lua` file needs to be manually placed in a Lua library path on the device, typically `/usr/lib/lua/`. This project empowers users with enhanced control and automation capabilities for the RVLink system.