diff --git a/README.md b/README.md index 821e83a..ab2a41c 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,24 @@ -# skyweave +**Project: RVLink MV2400 Custom Control API (skyweave.lua)** -Custom Lua CGI-based API for direct control of the RVLink MV2402 (OpenWrt) roof-mounted internet unit. Aims to bypass the indoor controller, enabling independent WAN management, Wi-Fi client connections, status monitoring, and advanced network integration (e.g., with MikroTik). Involves reverse engineering of OEM firmware and utilization of standard OpenWrt utilities. \ No newline at end of file +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. \ No newline at end of file