[OpenWrt-Devel] ramips: mtk_soc_eth vs old ralink ethernet driver for the M2M

Christian Lamparter chunkeey at googlemail.com
Sat Dec 19 17:57:29 EST 2015


I'm looking into a issue with M2M [0] (It's a RT5350 device).
Currently, the sole ethernet - port on this device is not
working. Instead during, I get the following messages on the serial:

"Failed to connect to the switch. Use the "list" command to see which switches are available."
(probably caused by config - see extract from /etc/board.d/02_network [1])

which is followed by:
WARNING: CPU: 0 PID: 76 at net/sched/sch_generic.c:303 dev_watchdog+0x1dc/0x260()
NETDEV WATCHDOG: eth0 (mtk_soc_eth): transmit queue 0 timed out
(usual stacktrace, etc... don't think that is important)

mtk_soc_eth 10100000.ethernet eth0: transmit timed out
mtk_soc_eth 10100000.ethernet eth0: dma_cfg:00000057
mtk_soc_eth 10100000.ethernet eth0: tx_ring=0, base=00c06000, max=128, ctx=3, dtx=1, fdx=1, next=3
mtk_soc_eth 10100000.ethernet eth0: rx_ring=0, base=00c0a000, max=128, calc=127, drx=0

The device also fails to receive any packages.

Reverting back to to the old driver fixes the problem.
[   40.635681] rt305x-esw 10110000.esw: link changed 0x00
[   42.257831] rt305x-esw 10110000.esw: link changed 0x10

But this old driver is replaced by a new upstream driver (Yay!), 
I really want to figure out what needs to be changed to get it
working again. I've attached the ethernet portion of the M2M.dts
[2]. Because I suspect its because of because mtk_soc_eth handles
devices with no real switch (hence the "Failed to connect to the
switch" messages) differently... and it was sort of an hack with
the old driver anyways. Any ideas?


[0] <https://wiki.openwrt.org/toh/intenso/m2m>

[1] /etc/board.d/02_network entry for the m2m
>        m2m)
>               ucidef_add_switch "switch0"
>               ucidef_add_switch_attr "switch0" "reset" "false"
>               ucidef_set_interface_lan "eth0"

[2] /target/linux/ramips/dts/M2M.dts
>        ethernet at 10100000 {
>                mtd-mac-address = <&factory 0x28>;
>        };
>        esw at 10110000 {
>                mediatek,portmap = <0x2f>;
>        };
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org

More information about the openwrt-devel mailing list