openwrt/target/linux/ipq40xx/files/arch/arm/boot/dts
Giammarco Marzano 0de6a3339f 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>
2022-09-24 23:53:53 +02:00
..
qcom-ipq4018-a42.dts ipq40xx: DTS style updates for OpenMesh devices 2020-11-23 13:44:47 +01:00
qcom-ipq4018-ap120c-ac.dts ipq40xx: utilize nvmem-cells for macs & (pre-)calibration data 2022-01-15 17:26:55 +01:00
qcom-ipq4018-cap-ac.dts ipq40xx: mikrotik: make RouterBoot partition writeable 2022-06-29 12:34:49 +02:00
qcom-ipq4018-cs-w3-wd1200g-eup.dts ipq40xx: nvmem cells for EZVIZ CS-W3-WD1200G EUP 2021-12-04 00:36:47 +01:00
qcom-ipq4018-dap-2610.dts ipq40xx: remove model name from LED labels 2020-10-07 01:31:37 +02:00
qcom-ipq4018-ea6350v3.dts ipq40xx: utilize nvmem-cells for macs & (pre-)calibration data 2022-01-15 17:26:55 +01:00
qcom-ipq4018-eap1300.dts ipq40xx: utilize nvmem-cells for macs & (pre-)calibration data 2022-01-15 17:26:55 +01:00
qcom-ipq4018-ecw5211.dts ipq40xx: utilize nvmem-cells for macs & (pre-)calibration data 2022-01-15 17:26:55 +01:00
qcom-ipq4018-emd1.dts ipq40xx: remove model name from LED labels 2020-10-07 01:31:37 +02:00
qcom-ipq4018-emr3500.dts ipq40xx: remove model name from LED labels 2020-10-07 01:31:37 +02:00
qcom-ipq4018-ens620ext.dts ipq40xx: remove model name from LED labels 2020-10-07 01:31:37 +02:00
qcom-ipq4018-ex61x0v2.dtsi ipq40xx: utilize nvmem on Netgear EX61X0 v2 Series 2021-11-28 01:13:08 +01:00
qcom-ipq4018-ex6100v2.dts ipq40xx: tidy up dts-v1 statements 2020-09-25 21:10:41 +02:00
qcom-ipq4018-ex6150v2.dts ipq40xx: tidy up dts-v1 statements 2020-09-25 21:10:41 +02:00
qcom-ipq4018-fritzbox-4040.dts ipq40xx: dts: convert PHY GPIO bindings 2020-12-23 16:36:08 +01:00
qcom-ipq4018-gl-ap1300.dts ipq40xx: add GL-AP1300 label-mac-device 2022-09-11 16:24:11 +02:00
qcom-ipq4018-hap-ac2.dts ipq40xx: mikrotik: make RouterBoot partition writeable 2022-06-29 12:34:49 +02:00
qcom-ipq4018-jalapeno.dts ipq40xx: consolidate DTS files 2020-06-23 21:02:26 +02:00
qcom-ipq4018-jalapeno.dtsi ipq40xx: utilize nvmem-cells for macs & (pre-)calibration data 2022-01-15 17:26:55 +01:00
qcom-ipq4018-magic-2-wifi-next.dts ipq40xx: add support for devolo Magic 2 WiFi next 2020-12-22 20:55:40 +01:00
qcom-ipq4018-meshpoint-one.dts ipq40xx: remove model name from LED labels 2020-10-07 01:31:37 +02:00
qcom-ipq4018-nbg6617.dts ipq40xx: increase SPI frequency for Zyxel NBG6617 2021-07-11 01:38:52 +02:00
qcom-ipq4018-pa1200.dts ipq40xx: add support for Plasma Cloud PA1200 2020-12-22 19:11:50 +01:00
qcom-ipq4018-rt-ac58u.dts ipq40xx: add support for ASUS RT-ACRH17/RT-AC42U 2022-01-15 17:21:01 +01:00
qcom-ipq4018-rutx10.dts ipq40xx: Add support for Teltonika RUTX10 2021-11-28 18:39:01 +01:00
qcom-ipq4018-rutx.dtsi ipq40xx: fix RUTX10 Wi-Fi woes 2022-09-24 23:53:53 +02:00
qcom-ipq4018-sxtsq-5-ac.dts ipq40xx: mikrotik: make RouterBoot partition writeable 2022-06-29 12:34:49 +02:00
qcom-ipq4018-wac510.dts ipq40xx: fix power LED colour ID in Netgear WAC510 dts 2022-09-19 17:49:56 +02:00
qcom-ipq4018-wap-ac.dts ipq40xx: add MikroTik wAP ac (RBwAPG-5HacD2HnD) support 2022-07-18 01:45:47 +02:00
qcom-ipq4018-whw01-v1.dts ipq40xx: add support for Linksys WHW01 v1 2022-06-05 21:19:32 +02:00
qcom-ipq4018-wr-1.dts ipq-wifi: add Pakedge WR-1 support 2022-09-07 21:21:38 +02:00
qcom-ipq4018-wre6606.dts ipq40xx: remove model name from LED labels 2020-10-07 01:31:37 +02:00
qcom-ipq4018-wrtq-329acn.dts ipq40xx: luma_wrtq-329acn: differentiate ethernet mac addresses 2022-09-24 23:53:53 +02:00
qcom-ipq4019-a62.dts ipq40xx: DTS style updates for OpenMesh devices 2020-11-23 13:44:47 +01:00
qcom-ipq4019-cm520-79f.dts ipq40xx: utilize nvmem-cells for macs & (pre-)calibration data 2022-01-15 17:26:55 +01:00
qcom-ipq4019-e2600ac-c1.dts ipq40xx: update E2600AC c1/c2 board 2022-03-25 18:14:13 +01:00
qcom-ipq4019-e2600ac-c2.dts ipq40xx: update E2600AC c1/c2 board 2022-03-25 18:14:13 +01:00
qcom-ipq4019-e2600ac.dtsi ipq40xx: update E2600AC c1/c2 board 2022-03-25 18:14:13 +01:00
qcom-ipq4019-ea8300.dts ipq40xx: remove model name from LED labels 2020-10-07 01:31:37 +02:00
qcom-ipq4019-eap2200.dts ipq40xx: utilize nvmem-cells for macs & (pre-)calibration data 2022-01-15 17:26:55 +01:00
qcom-ipq4019-fritzbox-7530.dts IPQ4019: AVM FRITZ!Box 7530: Remove NAND ECC restrictions from DTS 2022-05-15 16:35:00 +02:00
qcom-ipq4019-fritzrepeater-1200.dts ipq40xx: fix FRITZRepeater 1200 RGMII delay 2021-07-17 20:06:49 +02:00
qcom-ipq4019-fritzrepeater-3000.dts ipq40xx: remove model name from LED labels 2020-10-07 01:31:37 +02:00
qcom-ipq4019-gl-b2200.dts ipq40xx: document pcie wifi chip on the GL.Inet GL-B2200 2022-02-19 18:29:42 +01:00
qcom-ipq4019-habanero-dvk.dts ipq40xx: utilize nvmem-cells for macs & (pre-)calibration data 2022-01-15 17:26:55 +01:00
qcom-ipq4019-hap-ac3.dts ipq40xx: mikrotik: make RouterBoot partition writeable 2022-06-29 12:34:49 +02:00
qcom-ipq4019-lhgg-60ad.dts ipq40xx: mikrotik: make RouterBoot partition writeable 2022-06-29 12:34:49 +02:00
qcom-ipq4019-map-ac2200.dts ipq40xx: Lyra: update RGB LED-Controller node for 5.10+ 2022-05-14 11:08:45 +02:00
qcom-ipq4019-mf286d.dts ipq40xx: add support for ZTE MF286D 2022-02-05 00:44:35 +01:00
qcom-ipq4019-mf289f.dts ipq40xx: Add ZTE MF289F 2022-09-24 23:53:53 +02:00
qcom-ipq4019-mr8300.dts ipq40xx: remove model name from LED labels 2020-10-07 01:31:37 +02:00
qcom-ipq4019-ncp-hg100-cellular.dts ipq40xx: add support for Sony NCP-HG100/Cellular 2022-09-24 23:53:53 +02:00
qcom-ipq4019-oap100.dts ipq40xx: utilize nvmem-cells for macs & (pre-)calibration data 2022-01-15 17:26:55 +01:00
qcom-ipq4019-orbi.dtsi ipq40xx: add support for Netgear SRR60/SRS60 and RBR50/RBS50 2021-11-01 00:56:51 +01:00
qcom-ipq4019-pa2200.dts ipq40xx: add support for Plasma Cloud PA2200 2020-12-22 19:11:50 +01:00
qcom-ipq4019-r619ac-64m.dts ipq40xx: add support for P&W R619AC (aka G-DOCK 2.0) 2021-11-14 14:28:34 +01:00
qcom-ipq4019-r619ac-128m.dts ipq40xx: add support for P&W R619AC (aka G-DOCK 2.0) 2021-11-14 14:28:34 +01:00
qcom-ipq4019-r619ac.dtsi ipq40xx: R619AC: replace space with - separator in variant string 2022-07-15 15:21:44 +02:00
qcom-ipq4019-rbr50.dts ipq40xx: add support for Netgear SRR60/SRS60 and RBR50/RBS50 2021-11-01 00:56:51 +01:00
qcom-ipq4019-rbs50.dts ipq40xx: add support for Netgear SRR60/SRS60 and RBR50/RBS50 2021-11-01 00:56:51 +01:00
qcom-ipq4019-rt-ac42u.dts ipq40xx: rename RT-AC42U WLAN/LAN LEDs 2022-01-17 20:38:43 +09:00
qcom-ipq4019-rtl30vw.dts ipq40xx: revert Cell-C RTL30VW to legacy caldata extraction 2022-05-15 16:32:25 +02:00
qcom-ipq4019-srr60.dts ipq40xx: add support for Netgear SRR60/SRS60 and RBR50/RBS50 2021-11-01 00:56:51 +01:00
qcom-ipq4019-srs60.dts ipq40xx: add support for Netgear SRR60/SRS60 and RBR50/RBS50 2021-11-01 00:56:51 +01:00
qcom-ipq4019-u4019-32m.dts ipq40xx: utilize nvmem-cells for macs & (pre-)calibration data 2022-01-15 17:26:55 +01:00
qcom-ipq4019-u4019.dtsi ipq40xx: utilize nvmem-cells for macs & (pre-)calibration data 2022-01-15 17:26:55 +01:00
qcom-ipq4019-wifi.dts ipq40xx: Add subtarget for Google WiFi (Gale) 2022-03-25 18:14:13 +01:00
qcom-ipq4019-wpj419.dts ipq40xx: fix wrong nand definition for wpj419 2022-05-01 13:40:13 +09:00
qcom-ipq4019-wtr-m2133hp.dts ipq40xx: utilize nvmem-cells for macs & (pre-)calibration data 2022-01-15 17:26:55 +01:00
qcom-ipq4019-x1pro.dts ipq40xx: add support for Telco X1 Pro 2022-03-19 20:05:00 +01:00
qcom-ipq4019-x1pro.dtsi ipq40xx: add support for Telco X1 Pro 2022-03-19 20:05:00 +01:00
qcom-ipq4019-xx8300.dtsi ipq40xx: tidy up dts-v1 statements 2020-09-25 21:10:41 +02:00
qcom-ipq4028-wpj428.dts ipq40xx: utilize nvmem-cells for macs & (pre-)calibration data 2022-01-15 17:26:55 +01:00
qcom-ipq4029-ap-303.dts ipq40xx: utilize nvmem-cells for macs & (pre-)calibration data 2022-01-15 17:26:55 +01:00
qcom-ipq4029-ap-303h.dts ipq40xx: utilize nvmem-cells for macs & (pre-)calibration data 2022-01-15 17:26:55 +01:00
qcom-ipq4029-ap-365.dts ipq40xx: add Aruba AP-365 specific BDF 2022-06-02 16:50:12 +02:00
qcom-ipq4029-aruba-glenmorangie.dtsi ipq40xx: utilize nvmem-cells for macs & (pre-)calibration data 2022-01-15 17:26:55 +01:00
qcom-ipq4029-gl-b1300.dts ipq40xx: utilize nvmem-cells for macs & (pre-)calibration data 2022-01-15 17:26:55 +01:00
qcom-ipq4029-gl-s1300.dts ipq40xx: utilize nvmem-cells for macs & (pre-)calibration data 2022-01-15 17:26:55 +01:00
qcom-ipq4029-insect-common.dtsi ipq40xx: add support for Meraki MR74 2022-06-19 12:31:02 +02:00
qcom-ipq4029-mr33.dts ipq40xx: add support for Meraki MR74 2022-06-19 12:31:02 +02:00
qcom-ipq4029-mr74.dts ipq40xx: add support for Meraki MR74 2022-06-19 12:31:02 +02:00
qcom-ipq4029-ws-ap3915i.dts ipq40xx: add support for Extreme Networks WS-AP3915i 2022-09-06 02:55:05 +02:00