MT300A doesn't want to boot

Hi All,
I got this MT300A for a while now (late 2016) and use it on a daily basis on various projects.
Recently the device does not to boot after the first installation.
I can reset, flash a new firmware, use the device once.
As soon as I issue an /sbin/reboot or unplug/plug the power input the device is freezed.
Only the power input led is green (left one).
Thanks

I guess my firmware has a problem.
I flashed the official GLI firmware and I don’t have any issues.
So my firmware has an issue…
What could prevent a device to boot ?
Thanks

You need to connect UART adapter and check the output of the console.

Thanks for your previous message.
I connected an USB to serial bridge adapter to the MT300A.
Once the driver is loaded and recognized I setup kermit (I did the same testing on windows with putty.)
I connect kermit to the USB to Serial. I got a black screen.
I plug the MT300A and expect some output on the console.
Nothing happen.
The screen is black and nothing happen (both on Debian and Windows).
It looks like the device doesn’t boot at all…
Thanks

I forgot to mention that I compiled a new firmware with the following support:
kmod-usb-serial
kmod-usb-serial-cp210x
Thanks

Useless in that case as I can’t boot…

If you only flash firmware, that will not brick the device.

Try to see if you can still use uboot web failsafe.

Hi All,
I tried with no success to start the serial console through the UART adapter.
The usb device I used is recognized on my system however each time I try to connect kermit nothing happen,
Is there a specific way to boot the device in such UART console mode ?
I connect the usb first then connect and I plug the router.
Thanks

I got it working.

I forgot to cross the wire.
Actually the device is booting however I got this error message

Failed to connect to the switch. Use the “list” command to see which switches are available.

Thanks

I’ve seen another error who explains the situation:
mtk_soc_eth: probe of 10100000.ethernet failed with error -22
I’m looking for a solution.
I build my firmware from the lede-17.01 branch.
Thanks

How about the clean LEDE firmware? If there is no problem with clean firmware it may be problem of your own firmware.

Hi All,

I build two firmware, one for a x86_64 VM and for one for the MT300A.
The firmware for my VM is working while the one I build for the MT300A no longer works as my ethernet interface is not showing up (see my previous post).

To isolate the problem, I only use a minimal config, here is the diffconfig I use:

CONFIG_TARGET_ramips=y
CONFIG_TARGET_ramips_mt7620=y
CONFIG_TARGET_ramips_mt7620_DEVICE_gl-mt300a=y
CONFIG_DEVEL=y
CONFIG_TOOLCHAINOPTS=y
CONFIG_GCC_USE_VERSION_5=y
# CONFIG_GCC_USE_VERSION_7 is not set
CONFIG_GCC_VERSION="5.5.0"
CONFIG_GCC_VERSION_5=y

It appears that OpenWrt/LEDE have recently upgraded their toolchain.
The default ramips kernel is now the 4.9 while it was the 4.4 and the default gcc is the 7.3.0 while it was the 5.5.0. I haven’t found a way to downgrade the kernel in 4.4 as there is no kernel config under
target/linux/ramips/mt7620
Could you confim that the OpenWrt/LEDE mt300a profile has no issue with the kernel 4.9 and gcc 7.3.0 ?
Thanks

Hi Alzhao,
Finally I found out a solution,
Following this thread
http://lists.infradead.org/pipermail/lede-bugs/2017-October/005790.html
Who describes a similar issue.
I updated the ethernet description in target/linux/ramips/dts/GL-MT300A.dts

I use

&ethernet {
pinctrl-names = “default”;
mtd-mac-address = <&factory 0x4000>;
mediatek,portmap = “wllll”;
};

instead of

&ethernet {
pinctrl-names = “default”;
pinctrl-0 = <&ephy_pins>;
mtd-mac-address = <&factory 0x4000>;
mediatek,portmap = “wllll”;
};

The ethernet is showing up

[ 2.271731] libphy: Fixed MDIO Bus: probed
[ 2.279608] gsw: setting port4 to ephy mode
[ 2.283967] mtk_soc_eth 10100000.ethernet eth0 (uninitialized): port 0 link up (100Mbps/Full duplex)
[ 2.293289] mtk_soc_eth 10100000.ethernet eth0 (uninitialized): port 1 link up (100Mbps/Full duplex)
[ 2.302864] mtk_soc_eth 10100000.ethernet: loaded mt7620 driver
[ 2.309723] mtk_soc_eth 10100000.ethernet eth0: mediatek frame engine at 0xb0100000, irq 5

instead of

[ 2.271825] libphy: Fixed MDIO Bus: probed
[ 2.276629] rt2880-pinmux pinctrl: pin io40 already requested by pinctrl; cannot claim for 10100000.ethernet
[ 2.286711] rt2880-pinmux pinctrl: pin-40 (10100000.ethernet) status -22
[ 2.293570] rt2880-pinmux pinctrl: could not request pin 40 (io40) from group ephy on device rt2880-pinmux
[ 2.303523] mtk_soc_eth 10100000.ethernet: Error applying setting, reverse things back
[ 2.311612] mtk_soc_eth: probe of 10100000.ethernet failed with error -22

Thanks

Thanks. I will have a check.

Hi alzhao,
I tested on openwrt 18.06 with the newest dts I suppose you pushed. It works flawlessly.
Thanks