openwrt/target/linux
Marcin Gajda 700c47a5f6 ipq40xx: Add support ZTE MF18A
Light and small router ( In Poland operators sells together with MC7010 outdoor modem to provide WIFI inside home).
Device specification

SoC Type: Qualcomm IPQ4019
RAM: 256 MiB
Flash: 128 MiB SPI NAND (Winbond W25N01GV)
ROM: 2MiB SPI Flash (GD25Q16)
Wireless 2.4 GHz (IP4019): b/g/n, 2x2
Wireless 5 GHz (QCA9982): a/n/ac, 3x3
Ethernet: 2xGbE (WAN/LAN1, LAN2)
USB ports: No
Button: 2 (Reset/WPS)
LEDs: 3 external leds: Power (blue) , WiFI (blue and red), SMARTHOME (blue and red) and 1 internal (blue) -- NOTE: Power controls all external led (if down ,all others also not lights even signal is up)
Power: 5VDC, 2,1A via USB-C socket
Bootloader: U-Boot
On board ZWave and Zigbee (EFR32 MG1P232GG..)  modules ( not supported by orginal software )
Installation

 1.Open MF18A case by ungluing rubber pad under the router and unscrew screws, and connect to serial console port,
   with the following pinout, starting from pin 1, which is the topmost pin when the board is upright (reset button on the bottom) :

    VCC (3.3V). Do not use unless you need to source power for the converer from it.
    TX
    RX
    GND

    Default port configuration in U-boot as well as in stock firmware is 115200-8-N-1.

 2.Place OpenWrt initramfs image for the device on a TFTP in the server's root. This example uses Server IP: 192.168.0.2

 3.Connect TFTP server to RJ-45 port (WAN/LAN1).

 4.Power on MF18A , stop in u-Boot (using ESC button) and run u-Boot commands:
    setenv serverip 192.168.0.2
    setenv ipaddr 192.168.0.1
    set fdt_high 0x85000000
    tftpboot 0x84000000 openwrt-ipq40xx-generic-zte_mf18a-initramfs-fit-zImage.itb
    bootm 0x84000000

 5.Please make backup of original partitions, if you think about revert to stock, specially mtd8 (Web UI) and mtd9 (rootFS). Use /tmp as temporary storage and do:

WEB PARITION

cat /dev/mtd8 > /tmp/mtd8.bin
scp /tmp/mtd8.bin root@YOURSERVERIP:/
rm /tmp/mtd8.bin
ROOT PARITION

cat /dev/mtd9 > /tmp/mtd9.bin
scp /tmp/mtd9.bin root@YOURSERVERIP:/
rm /tmp/mtd9.bin

If you are sure ,that you want to flash openwrt, from uBoot, before bootm, clean rootfs partition with command:
nand erase 0x1800000 0x1D00000

 6.Login via ssh or serial and remove stock partitions (default IP 192.168.1.1):
ubiattach -m 9 # it could return error if ubi was attached before or rootfs part was erased before
ubirmvol /dev/ubi0 -N ubi_rootfs # it could return error if rootfs part was erased before
ubirmvol /dev/ubi0 -N ubi_rootfs_data # some devices doesn't have it

 7. Install image via :
sysupgrade -n /tmp/openwrt-ipq40xx-generic-zte_mf18a-squashfs-sysupgrade.bin

previously wgeting bin. Sometimes it could print ubi attach error, but please ignore it if process goes forward.

Back to Stock (!!! need original dump taken from initramfs !!!) -------------

Place mtd8.bin and mtd9.bin initramfs image for the device on a TFTP in the server's root. This example uses Server IP: 192.168.0.2
Connect serial console (115200,8n1) to serial console connector .
Connect TFTP server to RJ-45 port (WAN/LAN1).
rename mtd8.bin to web.img and mtd9.bin to root_uImage_s
Stop in u-Boot (using ESC button) and run u-Boot commands:
This will erase Web and RootFS:
nand erase 0x1000000 0x800000
nand erase 0x1800000 0x1D00000

This will restore RootFS:
tftpboot 0x84000000 root_uImage_s
nand erase 0x1800000 0x1D00000
nand write 0x84000000 0x1800000 0x1D00000

This will restore Web Interface:
tftpboot 0x84000000 web.img
nand erase 0x1000000 0x800000
nand write 0x84000000 0x1000000 0x800000

After first boot on stock firwmare, do a factory reset. Push reset button for 5 seconds so all parameters will be reverted to the one printed on label on bottom of the router

As reference was taken MF289F support by Giammarco Marzano stich86@gmail.com and MF286D by Pawel Dembicki paweldembicki@gmail.com

Signed-off-by: Marcin Gajda <mgajda@o2.pl>
2023-01-14 19:19:36 +01:00
..
airoha airoha: disable swconfig 2022-11-27 13:18:29 +01:00
apm821xx kernel: bump 5.10 to 5.10.161 2022-12-24 15:24:18 +01:00
archs38 archs38: enable 5.15 testing kernel 2023-01-13 21:55:58 +01:00
armvirt kernel: disable CONFIG_CPU_LITTLE_ENDIAN in generic config 2022-10-21 13:47:01 +02:00
at91 at91: sam9x,sama5: fix racy SD card image generation 2023-01-11 15:23:18 +01:00
ath25 ath25: add generic subtarget 2022-12-23 19:44:14 +01:00
ath79 ath79: Fix glinet ar300m usb not working 2023-01-14 19:13:42 +01:00
bcm27xx kernel: bump 5.15 to 5.15.87 2023-01-13 22:04:22 +01:00
bcm47xx bcm47xx: replace "Devices-database-update-patch" with upstream patches 2022-12-30 20:03:59 +01:00
bcm53xx kernel: update nvmem subsystem to the latest upstream 2023-01-06 22:08:03 +01:00
bcm63xx kernel: bump 5.15 to 5.15.86 2023-01-03 23:55:45 +01:00
bcm4908 treewide: uniform vendor name for ASUS 2022-11-16 23:30:11 +01:00
bmips kernel: disable CONFIG_CPU_LITTLE_ENDIAN in generic config 2022-10-21 13:47:01 +02:00
gemini gemini: add generic subtarget 2022-12-23 19:44:20 +01:00
generic kernel: bump 5.15 to 5.15.87 2023-01-13 22:04:22 +01:00
imx cypress-nvram: consolidate NVRAM packages 2022-11-16 20:14:13 +01:00
ipq40xx ipq40xx: Add support ZTE MF18A 2023-01-14 19:19:36 +01:00
ipq806x kernel: bump 5.15 to 5.15.87 2023-01-13 22:04:22 +01:00
kirkwood kirkwood: add generic subtarget 2022-12-23 19:44:20 +01:00
lantiq lantiq: xrx200: Fix wifi LED on o2 box 6431 2023-01-11 22:01:56 +01:00
layerscape layerscape: Add CONFIG_NVMEM_LAYERSCAPE_SFP kernel configuration option 2023-01-08 18:51:27 +01:00
malta kernel: disable CONFIG_CPU_LITTLE_ENDIAN in generic config 2022-10-21 13:47:01 +02:00
mediatek mt76: add stand-alone MT7622 firmware package 2023-01-07 17:11:00 +01:00
mpc85xx kernel: backport of changes & helpers 2023-01-07 17:45:17 +01:00
mvebu mvebu: backport upstream patch to fix COMPHY reset 2023-01-11 21:56:36 +01:00
mxs mxs: add generic subtarget 2022-12-23 19:44:20 +01:00
octeon kernel: disable CONFIG_CPU_LITTLE_ENDIAN in generic config 2022-10-21 13:47:01 +02:00
octeontx octeontx: add sqaushfs and ramdisk to features 2023-01-06 19:44:35 +01:00
omap omap: add generic subtarget 2022-12-23 19:44:22 +01:00
oxnas kernel: bump 5.15 to 5.15.86 2023-01-03 23:55:45 +01:00
pistachio pistachio: add generic subtarget 2022-12-23 19:44:22 +01:00
qoriq qoriq: drop unused kernel config 2023-01-09 21:39:45 +02:00
ramips ramips: add support for D-Link DIR-1935 A1 2023-01-14 19:09:56 +01:00
realtek realtek: Follow kernel comment style recommendation 2023-01-13 22:34:16 +01:00
rockchip treewide: update NVMEM symbols 2023-01-07 01:30:31 +01:00
sunxi sunxi: switch to kernel 5.15 2023-01-09 21:39:46 +02:00
tegra tegra: add generic subtarget 2022-12-23 19:44:21 +01:00
uml uml: switch to Kernel 5.15 2022-12-12 09:06:17 +01:00
x86 x86: Add APU6 board support for startup detection 2023-01-11 15:16:53 +01:00
zynq zynq: add 5.15 testing kernel 2023-01-03 20:56:01 +01:00
Makefile build: fix issues with targets installed via feeds 2022-09-27 13:41:12 +02:00