Home/Support/Support Forum/ConnectCore i.MX6UL SBC: trouble disabling one of the ethernet ports
Welcome to Digi Forum, where you can ask questions and receive answers from other members of the community.

ConnectCore i.MX6UL SBC: trouble disabling one of the ethernet ports

0 votes
Hi,

I am trying to disable fec2 in the Device Tree.

If I disable fec1 but keep fec2 enabled in the device tree, everything works fine:
&fec1 {status = "disabled";};
&fec2 {status = "okay";};
An ifconfig -a returns only eth1 and no eth0, as expected. And I can manually change the IP address of eth1.

If I do the opposite, then I can no longer talk to eth0.
&fec1 {status = "okay";};
&fec2 {status = "disabled";};
An ifconfig -a returns only eth0 and no eth1, as expected.
root@ccimx6ulsbc:~# ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:40:9D:98:B6:86
inet addr:192.168.42.30 Bcast:192.168.42.255 Mask:255.255.255.0
...

But I can no longer acces eth0 to change its IP address:
root@ccimx6ulsbc:~# ifconfig eth0 192.168.1.99
ifconfig: SIOCSIFFLAGS: No such device

Any thoughts are welcome.

Thanks!
asked Mar 28, 2017 in Linux by mpu314 New to the Community (4 points)

Please log in or register to answer this question.

1 Answer

0 votes
The problem was in file imx6ul-ccimx6ulsbc.dtsi:

- fec2 includes node mdio
- if fec2 is disabled, so is node mdio
- so I had to move node mdio into fec1

The file actually explains that in the following comment:
/*
* The MDIO bus is shared between ENET1 and ENET2. If you only want
* to enable ENET1, this node must be moved to fec1 node, and the
* pinctrl-0 of fec1 must contain the IOMUX for the MDIO bus on ENET1
* (pintrl_enet1_mdio).
*/
answered Mar 30, 2017 by mpu314 New to the Community (4 points)
...