魅族路由器mini pro 修砖帖

14 March 2020

几年前买了3个魅族路由器,颜值高,体积小,非常可爱。但是若干天前,我为了尝试梅林固件,拿出一个刷机成砖,一直就丢着没动,今天来一波修砖。

由于着路由器实在是小众,啥资料在网上都没有,故而在此记录一下,方便手残党刷机救砖。

放了n久没修的原因不知道怎么拆,又不敢暴力拆机,几经研究,用刀片划到缝里慢慢撬。

下图是拆机图:

实在不知道那块橡胶皮是啥作用,导热?防震?

做工确实还行的,取下主板:

主板正反面:

看着有J1和J2两排排针,应该就是传说中的GND、RXD、TXD,通过万用表先找GND,再通过测试RXD找到RXD,再蒙TXD,最后如图所示。为方便起见,我焊了8根铜丝。

至此硬件部分完毕。

ROM网上搜索找到。

刷机部分不赘述,网上都有各种tftp、putty的教程。

开机这部分我贴一下:

U-Boot 1.1.3 (Aug 12 2015 - 20:42:10)

Board: Ralink APSoC DRAM:  64 MB
relocate_code Pointer at: 83fb8000
******************************
Software System Reset Occurred
******************************
flash manufacture id: 1, device id 20 18
find flash: S25FL128P
*** Warning - bad CRC, using default environment

============================================
Ralink UBoot Version: 4.3.0.0
--------------------------------------------
ASIC 7628_MP (Port5<->None)
DRAM component: 512 Mbits DDR, width 16
DRAM bus: 16 bit
Total memory: 64 MBytes
Flash component: SPI Flash
Date:Aug 12 2015  Time:20:42:10
============================================
icache: sets:512, ways:4, linesz:32 ,total:65536
dcache: sets:256, ways:4, linesz:32 ,total:32768

 ##### The CPU freq = 575 MHZ ####
 estimate memory size =64 Mbytes
RESET MT7628 PHY!!!!!!
Please choose the operation:
   1: Load system code to SDRAM via TFTP.
   2: Load system code then write to Flash via TFTP.
   3: Boot system code via Flash (default).
   4: Entr boot command line interface.
   7: Load Boot Loader code then write to Flash via Serial.
   9: Load Boot Loader code then write to Flash via TFTP.

You choosed 2

我这里选择2,英文不解释了。

选完boot类型后系统会问server,client,和filename,记得配置正确

2: System Load Linux Kernel then write to Flash via TFTP.
 Warning!! Erase Linux in Flash then burn new one. Are you sure?(Y/N)
 Please Input new ones /or Ctrl-C to discard
        Input device IP (10.10.10.123) ==:10.10.10.123
        Input server IP (10.10.10.3) ==:10.10.10.3
        Input Linux Kernel filename ("meizu_r13.bin") ==:"meizu_r13.bin"

 netboot_common, argc= 3

 NetTxPacket = 0x83FE5000

 KSEG1ADDR(NetTxPacket) = 0xA3FE5000

 NetLoop,call eth_halt !

 NetLoop,call eth_init !
Trying Eth0 (10/100-M)

 Waitting for RX_DMA_BUSY status Start... done


 ETH_STATE_ACTIVE!!
TFTP from server 10.10.10.3; our IP address is 10.10.10.123
Filename 'meizu_r13.bin'.

 TIMEOUT_COUNT=10,Load address: 0x80100000
Loading: checksum bad
checksum bad
checksum bad
checksum bad
Got ARP REPLY, set server/gtwy eth addr (00:e0:70:8f:02:99)
Got it

刷机啦

TFTP from server 10.10.10.3; our IP address is 10.10.10.123
Filename 'meizu_r13.bin'.

 TIMEOUT_COUNT=10,Load address: 0x80100000
Loading: Got ARP REPLY, set server/gtwy eth addr (00:e0:70:8f:02:99)
Got it
#################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ####
done
Bytes transferred = 7340036 (700004 hex)
NetBootFileXferSize= 00700004
................................................................................................................
................................................................................................................

至此修砖成功。

接下来就考虑整第三方固件和自己编译和编写定制化ROM了。

编译openwrt

flash大小限制导致无法编译出固件

无报错,修改openwrt/target/linux/ramips/image/mt76x8.mk

找到

define Device/mt7628
  DTS := MT7628
  BLOCKSIZE := 64k
  IMAGE_SIZE := $(ralink_default_fw_size_4M)
  DEVICE_TITLE := MediaTek MT7628 EVB
  DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-usb-ledtrig-usbport
endef
TARGET_DEVICES += mt7628

改为

define Device/mt7628
  DTS := MT7628
  BLOCKSIZE := 64k
  IMAGE_SIZE := $(ralink_default_fw_size_8M)
  DEVICE_TITLE := MediaTek MT7628 EVB
  DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-usb-ledtrig-usbport
endef
TARGET_DEVICES += mt7628

tty 乱码

由于openwrt 默认波特率是57600 修改 openwrt/target/linux/ramips/dts/mt7628an.dtsi

bootargs = "console=ttyS0,57600";

bootargs = "console=ttyS0,115200";