I'm currently working on an Asus RT-AC51U. I bought this router because it was not officially supported by OpenWRT and I wanted to work on a router that was not supported by OpenWRT.
So, this router uses a MediaTek MT7620A CPU which is normally supported by OpenWRT (at least, there is a profile for this CPU when building the OpenWRT firmware).
Before talking about my problem, here are some information about this device.
Firstly, I opened the case to look at the serial port. There are 4 cruciform screws on the back, after that, you have to remove the "roof" of the router (which a bit resistant).
After that I started to look at the manufacturer firmware. Their firmware uses a TRX extension but it seems that the firmware header is not a TRX one. After some researches, I was able to reproduce the correct header for the firmware to be accepted by the web upgrade utility (I will put the code on github later).
The original firmware can be cut into 3 parts:
- 48 bytes "TRX" header
- LZMA kernel
- SquashFS filesystem
After I built the OpenWRT firmware for the MT7620A CPU, I created the new TRX firmware with the following files:
- vmlinux.bin.lzma (LZMA kernel)
- root.squashfs (SquashFS filesystem)
Then I started the upgrade process, the firmware file is accepted and successfully wrote then the unit reboots.
When rebooting, OpenWRT seems to start but it indefinitely loops...
For more information, here is the original boot log: http://pastebin.com/461Bimt1.
Here is the one after the flash with the OpenWRT image: http://pastebin.com/gjq6hH8L.
After the OpenWRT kernel is uncompressed, it loops on the following lines:
[ 0.000000] Linux version 3.18.21 (vico@Vico-OpenWRT) (gcc version 4.8.3 (OpenWrt/Linaro GCC 4.8-2014.04 r46832) ) #1 Sun Sep 27 12:53:50 CEST 2015 [ 0.000000] Board has DDR2 [ 0.000000] Analog PMU set to hw control [ 0.000000] Digital PMU set to hw control [ 0.000000] SoC Type: MediaTek MT7620A ver:2 eco:6 [ 0.000000] bootconsole [early0] enabled [ 0.000000] CPU0 revision is: 00019650 (MIPS 24KEc)
Do you have any ideas why it loops? Is there any fix?
Thanks in advance for your help,