Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| projects:zte_mf28x [2023/10/14 10:43] – [Option 1: Install from OEM firmware] Andreas Böhler | projects:zte_mf28x [2024/08/07 10:33] (current) – Andreas Böhler | ||
|---|---|---|---|
| Line 8: | Line 8: | ||
| </ | </ | ||
| - | The following models | + | The following models |
| * MF282 | * MF282 | ||
| Line 19: | Line 19: | ||
| ===== ZTE MF282 ===== | ===== ZTE MF282 ===== | ||
| - | The MF282 is supported by OpenWrt 23.x onwards. In order to install it, you need to disassemble the device, attach serial console and perform a few commands in the UART shell. | + | The MF282 is supported by OpenWrt 23.05 onwards. In order to install it, you need to disassemble the device, attach serial console and perform a few commands in the UART shell. |
| <WRAP round important 80%> | <WRAP round important 80%> | ||
| Line 29: | Line 29: | ||
| ===== ZTE MF282+ ===== | ===== ZTE MF282+ ===== | ||
| - | This device has a completely different hardware. An OpenWrt port is work in progress. The modem is not Qualcomm-based but uses a Marvell PXA1827 module. | + | This device has a completely different hardware. An OpenWrt port is available, but this device is not supported by OpenWrt 23.05. The modem is not Qualcomm-based but uses a Marvell PXA1827 module. |
| The MF282+ can be identified by the model type " | The MF282+ can be identified by the model type " | ||
| Line 36: | Line 36: | ||
| The newer MF287 series is more powerful than the MF282 and features four Gigabit-ports, | The newer MF287 series is more powerful than the MF282 and features four Gigabit-ports, | ||
| + | OpenWrt supports all models from 23.05 onwards. | ||
| ==== Option 1: Install from OEM firmware ==== | ==== Option 1: Install from OEM firmware ==== | ||
| You need an exploit to get access to the stock firmware. Prepare the following: | You need an exploit to get access to the stock firmware. Prepare the following: | ||
| - | | + | <WRAP round important 80%> |
| + | **Required files** | ||
| * Static build of busybox for ARM, e.g. from https:// | * Static build of busybox for ARM, e.g. from https:// | ||
| + | * exploit.dat from https:// | ||
| + | * OpenWrt factory image - this is **not** listed in the table above. Please download it from [[https:// | ||
| + | </ | ||
| + | |||
| + | Then do the following preparatory steps: | ||
| + | |||
| + | * Set up a TFTP server - tftpd-hpa on Linux is tested, but tftpd32 should work as well | ||
| * Rename busybox to " | * Rename busybox to " | ||
| - | | + | * Put the OpenWrt |
| - | | + | |
| * Assign your computer the IP address 192.168.0.22 | * Assign your computer the IP address 192.168.0.22 | ||
| Line 52: | Line 60: | ||
| - Log in to the web interface of your router, go to settings restore and use the file " | - Log in to the web interface of your router, go to settings restore and use the file " | ||
| - Watch your TFTP server serving the file " | - Watch your TFTP server serving the file " | ||
| - | - Use a Telnet client and connect to 192.168.0.1 | + | - Use a Telnet client and connect to 192.168.0.1 |
| - | - Login as user " | + | - You should be logged-in immediately, |
| - Execute the following commands to take a backup and to install OpenWrt (NB: Instead of using tftp, you should also be able to use '' | - Execute the following commands to take a backup and to install OpenWrt (NB: Instead of using tftp, you should also be able to use '' | ||
| <WRAP round important 80%> | <WRAP round important 80%> | ||
| - | For the MF287Pro, you need to replace '' | + | For the MF287 and MF287+, you need to replace |
| + | For the MF287Pro, you need to replace '' | ||
| </ | </ | ||
| <WRAP round important 80%> | <WRAP round important 80%> | ||
| - | Please double-check the partition number by running '' | + | Please double-check the partition number by running '' |
| </ | </ | ||
| Line 73: | Line 82: | ||
| tftp -g -r zte.bin 192.168.0.22 | tftp -g -r zte.bin 192.168.0.22 | ||
| cat / | cat / | ||
| - | flash_erase /dev/mtd13 0 0 | + | flash_erase /dev/mtdXX 0 0 |
| - | dd if=zte.bin of=/dev/mtdblock13 | + | dd if=zte.bin of=/dev/mtdblockXX |
| reboot | reboot | ||
| </ | </ | ||
| Line 102: | Line 111: | ||
| Make sure to take a backup of your partitions. There is no firmware download available. | Make sure to take a backup of your partitions. There is no firmware download available. | ||
| </ | </ | ||
| - | |||
| - | There is a pending PR for adding OpenWrt support to this device. Before it is accepted, you need to build from my personal github at https:// | ||
| ==== Restore stock ==== | ==== Restore stock ==== | ||
| Line 112: | Line 119: | ||
| <WRAP round important 80%> | <WRAP round important 80%> | ||
| - | Please double-check the partition number by running '' | + | Please double-check the partition number by running '' |
| </ | </ | ||
| < | < | ||
| ls -l /tmp/ubi0* | ls -l /tmp/ubi0* | ||
| - | ubiattach -m 14 | + | ubiattach -m XX |
| ubirmvol /dev/ubi0 -N kernel | ubirmvol /dev/ubi0 -N kernel | ||
| ubirmvol /dev/ubi0 -N rootfs | ubirmvol /dev/ubi0 -N rootfs | ||
| Line 139: | Line 146: | ||
| <WRAP round important 80%> | <WRAP round important 80%> | ||
| - | Unlocking does not work on the MF282+ aka DreiTube! The LTE module uses a compltely | + | Unlocking does not work on the MF282+ aka DreiTube! The LTE module uses a completely |
| </ | </ | ||
| Line 158: | Line 165: | ||
| setenv serverip 192.168.1.100 | setenv serverip 192.168.1.100 | ||
| setenv ipaddr 192.168.1.1 | setenv ipaddr 192.168.1.1 | ||
| - | tftpboot | + | tftpboot openwrt.bin |
| - | bootm 0x82000000 | + | bootm |
| </ | </ | ||
| * After a few minutes, OpenWrt has started | * After a few minutes, OpenWrt has started | ||
| Line 206: | Line 213: | ||
| Should you require more details for any of the steps provided, please have a look at the excellent documentation in the OpenWrt Wiki at https:// | Should you require more details for any of the steps provided, please have a look at the excellent documentation in the OpenWrt Wiki at https:// | ||
| - | ===== Exploit MF287+ in detail ===== | + | ===== Exploit MF287 in detail ===== |
| - | The settings file of the MF287+ is obfuscated and encrypted. Fortunately, | + | The settings file of the MF287 is obfuscated and encrypted. Fortunately, |
| <code python [enable_line_numbers=" | <code python [enable_line_numbers=" | ||
| Line 233: | Line 240: | ||
| return False | return False | ||
| | | ||
| - | exploit = "; | + | exploit = "; |
| - | | + | |
| for char in exploit: | for char in exploit: | ||
| if char != ' | if char != ' | ||