openwrt/target/linux
Anton Yu. Ivanusev f65b533e41 ramips: mt7621: add support for Keenetic Viva (KN-1910)
Specification:
SoC: MediaTek MT7621A
RAM: 128M DDR3, Winbond W631GG6MB-12 (DDR3-1600) or Winbond W631GG6MB-11
Flash: 128M, Macronix MX30LF1G18AC-TI (Dual Boot, Parallel-NAND)
Switch: MT7530, 5 ports 1Gbps
WiFi: MT7615DN, 2.4GHz 802.11n and 5GHz 802.11ac
USB: 2 ports USB 2.0
GPIO: 4 buttons (Wi-Fi, Reset, FN1, FN2), 4 LEDs (Power, Internet, FN, Wi-Fi), USB port power controls

LAN: RF-EEPROM + 0x04
WAN: RF-EEPROM + 0x28
2.4 GHz: RF-EEPROM + 0x04
5 GHz: 2.4GHz + 82:00:00:00:00:00

Disassembly:
There are 2 screws at the bottom. After removing the screws, pry the gray plastic part around (it is secured with latches) and remove it.

Serial Interface:
The serial interface can be connected to the 4 pin dots to the left of the radiator.
Pins (from LAN ports to LEDs):
3.3V (do not connect)
TX
RX
GND
Settings: 57600, 8N1

Flashing via OEM recovery software:
1. Download the OEM recovery software from the manufacturer's website
2. Download the firmware image (for OpenWRT it is *-squashfs-factory.bin), rename it to KN-1910_recovery.bin
3. Replace the file in the fw folder OEM recovery software with the file from step 2.
4. Run the OEM recovery software and follow the instructions.

Flashing via TFTP:
1. Connect your PC and router to port 1-4, configure PC interface using IP 192.168.1.2, mask 255.255.255.252
2. Serve the firmware image (for OpenWRT it is *-squashfs-factory.bin) renamed to KN-1910_recovery.bin via TFTP
3. Power up the router while pressing Reset button on the back
4. Release Restart button when Power LED starts blinking

To revert back to OEM firmware:
The return to the OEM firmware is carried out by using the methods described above with the help of the appropriate firmware image.

Keenetic's bootloader supports booting a LZMA compressed kernel but seems to fail if the uncompressed data is larger than a fixed buffer therefore it is safer to use a uimage-lzma-loader. When using OEM bootloader, the firmware image size cannot exceed the size of one OEM «Firmware_x» partition or Kernel + rootFS size.

Signed-off-by: Anton Yu. Ivanusev <ivanusevanton@yandex.ru>
Link: https://github.com/openwrt/openwrt/pull/17381
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-01-13 23:44:01 +01:00
..
airoha kernel: bump 6.6 to 6.6.71 2025-01-12 14:48:54 +01:00
apm821xx apm821xx: fixes WNDAP620 + WNDAP660 sysupgrade failures 2025-01-12 10:19:05 +01:00
archs38 kernel: filter out compiler opts from config 2024-11-17 14:55:16 +01:00
armsr armsr: don't limit kmods to armsr armv8 subtarget 2024-10-29 00:07:55 +01:00
at91 kernel: filter out compiler opts from config 2024-11-17 14:55:16 +01:00
ath79 ath79: teltonika-rut230: add RUT240 model alias 2025-01-12 21:36:04 +01:00
bcm27xx kernel: bump 6.6 to 6.6.70 2025-01-10 13:41:30 +01:00
bcm47xx kernel: filter out compiler opts from config 2024-11-17 14:55:16 +01:00
bcm53xx kernel: bump 6.6 to 6.6.70 2025-01-10 13:41:30 +01:00
bcm4908 kernel: filter out compiler opts from config 2024-11-17 14:55:16 +01:00
bmips generic: move gpio-regmap request/free ops patch from realtek 2025-01-08 18:10:46 +01:00
d1 d1: Use correct module for devices with wifi 2025-01-13 23:38:19 +01:00
gemini kernel: filter out compiler opts from config 2024-11-17 14:55:16 +01:00
generic Revert "kernel: Fix alloc_node_mem_map with ARCH_PFN_OFFSET" 2025-01-10 13:50:30 +01:00
imx kernel: filter out compiler opts from config 2024-11-17 14:55:16 +01:00
ipq40xx ipq40xx: enable WiFi LED for Teltonika RUTX50 2025-01-13 15:28:14 +01:00
ipq806x ipq806x: chromium: Support Chromium "crossystem" GPIO tooling 2025-01-10 11:50:44 +01:00
ixp4xx ixp4xx: Break out mv88e6060 DSA switch to package 2025-01-02 02:30:24 +01:00
kirkwood kirkwood: Make the Marvell DSA switch a module 2024-12-16 22:03:05 +01:00
lantiq lantiq: xrx200_legacy: disable unused phy drivers 2025-01-12 17:54:07 +01:00
layerscape kernel: bump 6.6 to 6.6.64 2024-12-13 21:40:02 +01:00
loongarch64 loongarch64: remove redundant CONFIG_LIST_HARDENED 2024-12-30 13:53:40 +01:00
malta kernel: filter out compiler opts from config 2024-11-17 14:55:16 +01:00
mediatek mediatek: D-Link AQUILA PRO AI M60 A1: Fixed phy6 DTS settings 2025-01-12 20:21:46 +01:00
mpc85xx kernel: bump 6.6 to 6.6.64 2024-12-13 21:40:02 +01:00
mvebu mvebu: Add support for WD Cloud Mirror Gen2 2025-01-12 19:51:42 +01:00
mxs mxs: run kernel_oldconfig 2024-11-23 16:47:53 +01:00
octeon octeon: add kmod-usb-dwc3-octeon to DEFAULT_PACKAGES 2024-12-28 10:36:52 +01:00
omap kernel: filter out compiler opts from config 2024-11-17 14:55:16 +01:00
pistachio kernel: filter out compiler opts from config 2024-11-17 14:55:16 +01:00
qoriq kernel: filter out compiler opts from config 2024-11-17 14:55:16 +01:00
qualcommax qualcommax: ipq60xx: add TP-Link EAP610-Outdoor support 2025-01-12 16:54:51 +01:00
ramips ramips: mt7621: add support for Keenetic Viva (KN-1910) 2025-01-13 23:44:01 +01:00
realtek realtek: switch RTL8231 driver for HPE 1920-16/24G 2025-01-12 17:30:23 +01:00
rockchip rockchip: disable kernel preemption 2025-01-12 13:22:11 +01:00
sifiveu kernel: filter out compiler opts from config 2024-11-17 14:55:16 +01:00
siflower kernel: filter out compiler opts from config 2024-11-17 14:55:16 +01:00
starfive kernel: bump 6.6 to 6.6.70 2025-01-10 13:41:30 +01:00
stm32 stm32: Remove unnecessary kernel options 2024-11-24 22:51:14 +01:00
sunxi kernel: bump 6.6 to 6.6.61 2024-11-16 00:25:14 +01:00
tegra kernel: filter out compiler opts from config 2024-11-17 14:55:16 +01:00
uml uml: fix glibc-static check with GCC14 2024-06-22 22:06:06 +02:00
x86 x86: Deactivate kernel options with extra overhead 2024-11-24 20:03:59 +01:00
zynq kernel: filter out compiler opts from config 2024-11-17 14:55:16 +01:00
Makefile linux: fix missing default packages in profiles.json 2024-11-17 19:29:06 +01:00