Original date: Tue, 15 Apr 2025 11:32:36 -0400 This is a cheap (25$) WiFi repeater made by a company called Shenzen-LinChuangXun (LCX) Mine's from Edtiske, but it's likely not a real company and simply a trademark for their amazon (an identical device is listed as "NeaLia"). Therefore, it's branded after the actual OEM (which specializes in networking equipment).
** SPECS: ** - MT7620a SoC w/2.4Ghz 802.11b/g/n - MT7612e WLAN for 5Ghz 802.11ac (WiFi5) - 128MB RAM - 8MB MX25L6406E SPI NOR - UART TXD/RXD, 57600 - 4 antennas (2 FAKE) ** Installation: ** This device ships with CleanWRT (u-boot_mt7620), a fork of pepe2k's ath79 u-boot_mod. Very bizarre. However, this means that it's compatible with OpenWRT sysupgrade. - Hold WPS/Reset button right after connecting to power - Set static IP to 192.168.1.2, netmask 255.255.255.0, gateway 192.168.1.1 - Access CleanWRT page at 192.168.1.1 - Upload sysupgrade.bin file and flash ** TFTP recovery: ** You shouldn't ever need this since CleanWRT's httpd is built into u-boot. However, if for whatever reason (eg. different bootloader) this doesn't work, you'll need the serial console. (57600 baudrate) - Rename the initramfs-kernel.bin to test.bin and serve it via tftp (eg. using tftpd-hpa, serving at /srv/tftp, file in /srv/tftp/test.bin) - Repeat static IP steps from regular CleanWRT method. - Then hold "4" while booting until you dropdown to a console. - Run the command "tftpboot" and then you'll boot into OpenWRT. Now you can run sysupgrade from OpenWRT. ** Extra: ** Stock firmware is unknown and seems to redirect to some suspicious chinese websites. No interaction with it is required to flash OpenWRT, though it may be a future venue for firmware flashing on certain firmwares. Signed-off-by: Rayan Farzaneh <[email protected]> --- .../ramips/dts/mt7620a_lcx_lcx-zj1200-03.dts | 159 ++++++++++++++++++ target/linux/ramips/image/mt7620.mk | 9 + .../mt7620/base-files/etc/board.d/02_network | 1 + 3 files changed, 169 insertions(+) create mode 100644 target/linux/ramips/dts/mt7620a_lcx_lcx-zj1200-03.dts diff --git a/target/linux/ramips/dts/mt7620a_lcx_lcx-zj1200-03.dts b/target/linux/ramips/dts/mt7620a_lcx_lcx-zj1200-03.dts new file mode 100644 index 0000000000..3c7afb892e --- /dev/null +++ b/target/linux/ramips/dts/mt7620a_lcx_lcx-zj1200-03.dts @@ -0,0 +1,159 @@ +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "mt7620a.dtsi" +#include <dt-bindings/input/input.h> +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/leds/common.h> + +/ { + compatible = "lcx,lcx-zj1200-03", "ralink,mt7620a-soc"; + model = "LCX LCX-ZJ1200-03"; + + aliases { + led-boot = &led_power; + led-failsafe = &led_power; + led-running = &led_power; + led-upgrade = &led_power; + }; + + keys { + compatible = "gpio-keys"; + + wps { + label = "wps"; + gpios = <&gpio0 17 GPIO_ACTIVE_LOW>; + linux,code = <KEY_WPS_BUTTON>; + }; + }; + + leds { + compatible = "gpio-leds"; + + led_power: led_internet { + function = LED_FUNCTION_POWER; + label = "green:internet"; + gpios = <&gpio0 0 GPIO_ACTIVE_LOW>; + }; + + led_wlan1 { + function = LED_FUNCTION_WLAN_5GHZ; + label = "green:wlan1"; + gpios = <&gpio0 1 GPIO_ACTIVE_LOW>; + linux,default-trigger = "phy0tpt"; + }; + + led_wlan2 { + function = LED_FUNCTION_WLAN_2GHZ; + label = "green:wlan2"; + gpios = <&gpio0 2 GPIO_ACTIVE_LOW>; + linux,default-trigger = "phy1tpt"; + }; + + }; +}; + +&spi0 { + status = "okay"; + + mx25l6406e@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <50000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; + + macaddr_factory_2e: macaddr@2e { + reg = <0x2e 0x6>; + }; + + eeprom_radio_0: eeprom@0 { + reg = <0x0 0x200>; + }; + + eeprom_radio_8000: eeprom@8000 { + reg = <0x8000 0x200>; + }; + }; + }; + + partition@50000 { + compatible = "denx,uimage"; + label = "firmware"; + reg = <0x50000 0x7a0000>; + }; + + partition@7f0000 { + label = "backup_config"; + reg = <0x7f0000 0x10000>; + read-only; + }; + }; + }; +}; + +ðernet { + pinctrl-names = "default"; + pinctrl-0 = <&rgmii2_pins>, <&ephy_pins>, <&mdio_pins>; + + nvmem-cells = <&macaddr_factory_4>; + nvmem-cell-names = "mac-address"; +}; + +&pcie { + status = "okay"; +}; + +&pcie0 { + mt76@0,0 { + compatible = "mediatek,mt76"; + reg = <0x0000 0 0 0 0>; + nvmem-cells = <&eeprom_radio_8000>; + nvmem-cell-names = "eeprom"; + ieee80211-freq-limit = <5000000 6000000>; + }; +}; + +&gsw { + mediatek,port4-gmac; +}; + +&wmac { + nvmem-cells = <&eeprom_radio_0>; + nvmem-cell-names = "eeprom"; +}; + +&state_default { + gpio { + groups = "i2c", "uartf"; + function = "gpio"; + }; +}; diff --git a/target/linux/ramips/mt7620/base-files/etc/board.d/02_network b/target/linux/ramips/mt7620/base-files/etc/board.d/02_network index 208cb64..1212603 100644 --- a/target/linux/ramips/mt7620/base-files/etc/board.d/02_network +++ b/target/linux/ramips/mt7620/base-files/etc/board.d/02_network @@ -171,6 +171,7 @@ ramips_setup_interfaces() "5:lan" "6@eth0" ucidef_add_switch_attr "switch1" "enable" "false" ;; + lcx,lcx-zj1200-03|\ fon,fon2601|\ vonets,var11n-300) ucidef_add_switch "switch0" \ -- 2.43.0 _______________________________________________ openwrt-devel mailing list [email protected] https://lists.openwrt.org/mailman/listinfo/openwrt-devel
