openwrt/package/firmware/ipq-wifi
Giammarco Marzano 3e15a54bb0 ipq40xx: Add ZTE MF289F
It's a 4G Cat.20 router used by Vodafone Italy (called Vodafone FWA)
and Vodafone DE\T-Mobile PL (called GigaCube).

Modem is a MiniPCIe-to-USB based on Snapdragon X24,
it supports 4CA aggregation.

There are currently two hardware revisions, which
differ on the 5Ghz radio:

AT1 = QCA9984 5Ghz Radio on PCI-E bus
AT2 = IPQ4019 5Ghz Radio inside IPQ4019 like 2.4Ghz

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:
	(QCA9984): a/n/ac, 4x4 HW REV AT1
	(IPA4019): a/n/ac, 2x2 HW REV AT2
Ethernet: 2xGbE (WAN/LAN1, LAN2)
USB ports: No
Button: 2 (Reset/WPS)
LEDs: 3 external leds: Network (white or red), Wifi, Power and 1 internal (blue)
Power: 12 VDC, 1 A
Connector type: Barrel
Bootloader: U-Boot

Installation
------------
1. Place OpenWrt initramfs image for the device on a TFTP
   in the server's root. This example uses Server IP: 192.168.0.2
2. Connect serial console (115200,8n1) to serial connector
   GND (which is right next to the thing with MF289F MIMO-V1.0), RX, TX
   (refer to this image: https://ibb.co/31Gngpr).
3. Connect TFTP server to RJ-45 port (WAN/LAN1).
4. 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
tftp openwrt-ipq40xx-generic-zte_mf289f-initramfs-fit-zImage.itb
bootm $loadaddr

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

WEB PARITION
--------------------------------------
cat /dev/mtd16 > /tmp/mtd16.bin
scp /tmp/mtd16.bin root@YOURSERVERIP:/
rm /tmp/mtd16.bin

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

6. Login via ssh or serial and remove stock partitions
   (default IP 192.168.0.1):

 # this can return an error, if ubi was attached before
 # or rootfs part was erased before.
ubiattach -m 17

 # it could return error if rootfs part was erased before
ubirmvol /dev/ubi0 -N ubi_rootfs
 # some devices doesn't have it
ubirmvol /dev/ubi0 -N ubi_rootfs_data

7. download and install image via sysupgrade -n
 (either use wget/scp to copy the mf289f's squashfs-sysupgrade.bin
 to the device's /tmp directory)

 sysupgrade -n /tmp/openwrt-...-zte_mf289f-squashfs-sysupgrade.bin

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

Flash Layout

NAND:
mtd8: 000a0000 00020000 "fota-flag"
mtd9: 00080000 00020000 "0:ART"
mtd10: 00080000 00020000 "mac"
mtd11: 000c0000 00020000 "reserved2"
mtd12: 00400000 00020000 "cfg-param"
mtd13: 00400000 00020000 "log"
mtd14: 000a0000 00020000 "oops"
mtd15: 00500000 00020000 "reserved3"
mtd16: 00800000 00020000 "web"
mtd17: 01d00000 00020000 "rootfs"
mtd18: 01900000 00020000 "data"
mtd19: 03200000 00020000 "fota"
mtd20: 0041e000 0001f000 "kernel"
mtd21: 0101b000 0001f000 "ubi_rootfs"

SPI:
mtd0: 00040000 00010000 "0:SBL1"
mtd1: 00020000 00010000 "0:MIBIB"
mtd2: 00060000 00010000 "0:QSEE"
mtd3: 00010000 00010000 "0:CDT"
mtd4: 00010000 00010000 "0:DDRPARAMS"
mtd5: 00010000 00010000 "0:APPSBLENV"
mtd6: 000c0000 00010000 "0:APPSBL"
mtd7: 00050000 00010000 "0:reserved1"

Back to Stock (!!! need original dump taken from initramfs !!!)
-------------
1. Place mtd16.bin and mtd17.bin initramfs image
   for the device on a TFTP in the server's root.
   This example uses Server IP: 192.168.0.2
2. Connect serial console (115200,8n1) to serial console
   connector (refer to the pin-out from above).
3. Connect TFTP server to RJ-45 port (WAN/LAN1).
4. rename mtd16.bin to web.img and mtd17.bin to root_uImage_s
5. Stop in u-Boot (using ESC button) and run u-Boot commands:

This will erase RootFS+Web:
nand erase 0x1000000 0x800000
nand erase 0x1800000 0x1D00000

This will restore RootFS:
tftpboot 0x84000000 ${dir}root_uImage_s
nand erase 0x1800000 0x1D00000
nand write $fileaddr 0x1800000 $filesize

This will restore Web Interface:
tftpboot 0x84000000 ${dir}web.img
nand erase 0x1000000 0x800000
nand write $fileaddr 0x1000000 $filesize

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

Signed-off-by: Giammarco Marzano <stich86@gmail.com>
Reviewed-by: Lech Perczak <lech.perczak@gmail.com>
(Warning: commit message did not conform to UTF-8 - hopefully fixed?,
added description of the pin-out if image goes down, reformatted
commit message to be hopefully somewhat readable on git-web,
redid some of the gpio-buttons & leds DT nodes, etc.)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
(cherry picked from commit 0de6a3339f)

[Backported to 22.03: added DTS to the makefile patch, fixed ipq-wifi
inclusion for MF286D]
Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
2022-11-05 22:49:43 +01:00
..
board-8dev_habanero-dvk.qca4019 ipq40xx: add support for 8devices Habanero DVK 2020-03-09 00:53:50 +01:00
board-aruba_ap-303.qca4019 ipq-wifi: add BDF for Aruba AP-303 2019-12-20 17:48:52 +01:00
board-aruba_ap-365.qca4019 ipq40xx: add Aruba AP-365 specific BDF 2022-06-02 17:01:22 +02:00
board-asus_rt-ac42u.qca4019 ipq40xx: add support for ASUS RT-ACRH17/RT-AC42U 2022-01-15 17:21:01 +01:00
board-asus_rt-ac42u.qca9984 ipq40xx: add support for ASUS RT-ACRH17/RT-AC42U 2022-01-15 17:21:01 +01:00
board-avm_fritzrepeater-1200.qca4019 ipq-wifi: add AVM FRITZ!Repeater 1200 bdf 2019-10-23 01:17:28 +02:00
board-buffalo_wtr-m2133hp.qca4019 ipq40xx: add support for Buffalo WTR-M2133HP 2020-07-08 16:07:05 +02:00
board-buffalo_wtr-m2133hp.qca9984 ipq40xx: add support for Buffalo WTR-M2133HP 2020-07-08 16:07:05 +02:00
board-cellc_rtl30vw.qca4019 ipq40xx: add support for Cell C RTL30VW 2020-04-10 15:22:26 +02:00
board-devolo_magic-2-wifi-next.qca4019 ipq40xx: add support for devolo Magic 2 WiFi next 2020-12-22 20:55:40 +01:00
board-dlink_dap2610.qca4019 ipq40xx: Add support for D-Link DAP-2610 2020-01-26 01:20:45 +01:00
board-edgecore_ecw5410.qca9984 ipq806x: add Edgecore ECW5410 support 2020-09-17 08:42:17 +02:00
board-edgecore_oap100.qca4019 ipq40xx: add Edgecore OAP-100 support 2020-09-17 08:43:07 +02:00
board-engenius_eap2200.qca4019 ipq40xx: add support for EnGenius EAP2200 2020-02-28 22:29:10 +01:00
board-engenius_eap2200.qca9888 ipq40xx: add support for EnGenius EAP2200 2020-02-28 22:29:10 +01:00
board-engenius_emd1.qca4019 ipq40xx: add support for EnGenius EMD1 2020-01-26 01:20:45 +01:00
board-engenius_emr3500.qca4019 ipq40xx: add support for EnGenius EMR3500 2020-06-13 14:38:03 +02:00
board-ezviz_cs-w3-wd1200g-eup.qca4019 ipq40xx: add support for EZVIZ CS-W3-WD1200G EUP 2020-01-12 15:57:58 +01:00
board-glinet_gl-ap1300.qca4019 ipq40xx: add support for GL.iNet GL-AP1300 2020-12-25 10:38:13 +01:00
board-glinet_gl-b2200.qca4019 ipq40xx: add support for GL.iNet GL-B2200 2021-12-02 20:43:07 +00:00
board-glinet_gl-b2200.qca9888 ipq40xx: fix BDF file for pcie wifi chip on the GL.Inet GL-B2200 2022-05-02 21:25:46 +02:00
board-glinet_gl-s1300.qca4019 ipq40xx: add support for GL.iNet GL-S1300 2020-07-08 16:07:05 +02:00
board-linksys_ea8300.qca4019 ipq40xx: Add support for Linksys EA8300 (Dallas) 2019-05-18 13:43:54 +02:00
board-linksys_ea8300.qca9888 ipq40xx: Add support for Linksys EA8300 (Dallas) 2019-05-18 13:43:54 +02:00
board-linksys_mr8300-v0.qca4019 ipq40xx: Add support for Linksys MR8300 (Dallas) 2020-09-25 19:31:51 +02:00
board-linksys_mr8300-v0.qca9888 ipq40xx: Add support for Linksys MR8300 (Dallas) 2020-09-25 19:31:51 +02:00
board-luma_wrtq-329acn.qca4019 ipq40xx: add support for Luma Home WRTQ-329ACN 2020-09-25 19:30:19 +02:00
board-mobipromo_cm520-79f.qca4019 ipq40xx: add support for MobiPromo CM520-79F 2020-04-10 15:22:26 +02:00
board-nec_wg2600hp3.qca9984 ipq806x: add support for NEC Platforms Aterm WG2600HP3 2020-12-25 10:38:13 +01:00
board-p2w_r619ac.qca4019 ipq40xx: add support for P&W R619AC (aka G-DOCK 2.0) 2021-11-14 14:28:34 +01:00
board-plasmacloud_pa1200.qca4019 ipq-wifi: Work around Plasma Cloud PA1200 5GHz crash 2021-09-23 20:50:58 +02:00
board-plasmacloud_pa2200.qca4019 ipq-wifi: Fix suffix for Plasma Cloud PA2200 QCA4019 board-2.bin 2020-12-25 10:38:13 +01:00
board-plasmacloud_pa2200.qca9888 ipq40xx: add support for Plasma Cloud PA2200 2020-12-22 19:11:50 +01:00
board-qxwlan_e2600ac-c1.qca4019 ipq40xx: update E2600AC c1/c2 board 2022-03-26 21:28:41 +01:00
board-qxwlan_e2600ac-c2.qca4019 ipq40xx: update E2600AC c1/c2 board 2022-03-26 21:28:41 +01:00
board-qxwlan_e2600ac.qca4019 ipq-wifi: drop deprecated .bin support 2020-01-26 01:20:46 +01:00
board-teltonika_rutx.qca4019 ipq40xx: Add support for Teltonika RUTX10 2021-11-28 18:39:01 +01:00
board-zte_mf286d.qca4019 ipq40xx: add support for ZTE MF286D 2022-02-05 00:44:35 +01:00
board-zte_mf289f.qca4019 ipq40xx: Add ZTE MF289F 2022-11-05 22:49:43 +01:00
board-zte_mf289f.qca9984 ipq40xx: Add ZTE MF289F 2022-11-05 22:49:43 +01:00
Makefile ipq40xx: Add ZTE MF289F 2022-11-05 22:49:43 +01:00