This commit adds support for a dual-band AX1800 wall plug manufactured by Shenzhen Century Xinyang Tech Co., Ltd. CPU: Mediatek MT7621A (2 cores, 4 threads) RAM: 256i MiB DDR3 (Samsung K4B2G1646F-BCNB) ROM: 16 MiB SPI NOR (Winbond W25Q128JVPQ) Wired: one gigabit RJ45 port (with green/yellow non-GPIO LEDs) WiFi: Mediatek MT7905DAN + MT7975DN (DBDC 2x 2T2R) Ant.: four 2 dBi external antennas (two 2.4GHz, two 5 GHz) GPIO: tri-color status LED (GPIO 13, 14, 16); reset button (GPIO 18) Power: 12V 2-pin JST-XH on main PCB 110/220V AC to 12V1A DC on auxiliary PCB UART: 115200 8n1, SMD pads available on the PCB as J4 pinout is [3v3] (Rx) (Tx) (Gnd) MAC: 1C:BF:CE:xx:xx:xx (2.4 GHz, label) 1C:BF:CE:xx:xx:xx + 1 (ethernet [1]) 1C:BF:CE:xx:xx:xx + 2 (5 GHz) Original firmware is LEDE Reboot 17.01-SNAPSHOT (kernel 4.4.198) with a few custom packages and a non-LuCI web interface. Telnet and SSH are enabled, requiring an unknown root password [2]. Root password is also needed to access the router via UART console, but passwordless telnet can be enabled via a trivial web exploit [3] and then the root password can be removed by editing `/etc/shadow`. Installation: First upload `sysupgrade` binary via web interface at `http://192.168.188.1/settings.shtml` and wait until getting back to the home screen (select network to extend). The installation fails since the original firmware uses `swconfig` and recent versions of OpenWrt use DSA. However, the sysupgrade file is uploaded correctly and stored at `/tmp/upgrade.bin`, so it can be written to flash via the web exploit [4] (both `mtd -r write` and `sysupgrade -Fn` work fine). Passwordless telnet/ssh is not needed for installation. Alternatively, use u-boot menu to load image via TFTP. Notes: - Device model in LEDE is "MediaTek MT7621 RFB (802.11ax,SNOR)". - It is sold under several names, among them are Wodesys WD-R1802U, Fenvi F-AX1802U, and EDUP EP-2971; the Wodesys brand was selected since it is referenced in `/etc/banner` and `/etc/hosts`, and the PCB is marked "WD518A V1.0". - Instead of a standard ethernet transformer, the PCB has a few tiny SMD coils. [1] Original firmware sets ethernet MAC to 1C:BF:CE:E7:62:1D based on offset `0x3fff4` in the Factory partition; since this is the same MAC for all units, whereas WiFi MACs stored at offsets 0x6 and 0xc are unique, it was decided to use <label MAC + 1> for ethernet. [2] root:$1$7rmMiPJj$91iv9LWhfkZE/t7aCBdo.0:18388:0:99999:7::: [3] curl -X POST http://192.168.188.1/cgi-bin/adm.cgi \ -d page=Lang -d langType="en;killall telnetd;telnetd -l /bin/sh" [4] curl -X POST http://192.168.188.1/cgi-bin/adm.cgi \ -d page=Lang -d langType="en;mtd -r write /tmp/upgrade.bin firmware" Signed-off-by: Rani Hod <rani.hod@gmail.com> Link: https://github.com/openwrt/openwrt/pull/15777 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
OpenWrt Project is a Linux operating system targeting embedded devices. Instead of trying to create a single, static firmware, OpenWrt provides a fully writable filesystem with package management. This frees you from the application selection and configuration provided by the vendor and allows you to customize the device through the use of packages to suit any application. For developers, OpenWrt is the framework to build an application without having to build a complete firmware around it; for users this means the ability for full customization, to use the device in ways never envisioned.
Sunshine!
Download
Built firmware images are available for many architectures and come with a package selection to be used as WiFi home router. To quickly find a factory image usable to migrate from a vendor stock firmware to OpenWrt, try the Firmware Selector.
If your device is supported, please follow the Info link to see install instructions or consult the support resources listed below.
An advanced user may require additional or specific package. (Toolchain, SDK, ...) For everything else than simple firmware download, try the wiki download page:
Development
To build your own firmware you need a GNU/Linux, BSD or macOS system (case sensitive filesystem required). Cygwin is unsupported because of the lack of a case sensitive file system.
Requirements
You need the following tools to compile OpenWrt, the package names vary between distributions. A complete list with distribution specific packages is found in the Build System Setup documentation.
binutils bzip2 diff find flex gawk gcc-6+ getopt grep install libc-dev libz-dev
make4.1+ perl python3.7+ rsync subversion unzip which
Quickstart
-
Run
./scripts/feeds update -a
to obtain all the latest package definitions defined in feeds.conf / feeds.conf.default -
Run
./scripts/feeds install -a
to install symlinks for all obtained packages into package/feeds/ -
Run
make menuconfig
to select your preferred configuration for the toolchain, target system & firmware packages. -
Run
make
to build your firmware. This will download all sources, build the cross-compile toolchain and then cross-compile the GNU/Linux kernel & all chosen applications for your target system.
Related Repositories
The main repository uses multiple sub-repositories to manage packages of
different categories. All packages are installed via the OpenWrt package
manager called opkg
. If you're looking to develop the web interface or port
packages to OpenWrt, please find the fitting repository below.
-
LuCI Web Interface: Modern and modular interface to control the device via a web browser.
-
OpenWrt Packages: Community repository of ported packages.
-
OpenWrt Routing: Packages specifically focused on (mesh) routing.
-
OpenWrt Video: Packages specifically focused on display servers and clients (Xorg and Wayland).
Support Information
For a list of supported devices see the OpenWrt Hardware Database
Documentation
Support Community
- Forum: For usage, projects, discussions and hardware advise.
- Support Chat: Channel
#openwrt
on oftc.net.
Developer Community
- Bug Reports: Report bugs in OpenWrt
- Dev Mailing List: Send patches
- Dev Chat: Channel
#openwrt-devel
on oftc.net.
License
OpenWrt is licensed under GPL-2.0