VF50 V1.2A network interface problem

Hello Community,

I encountered some trouble using networkd on custom image with custom machine configuration.

I took the machine configuration from meta-freescale-3rdparty layer. And just made a plain copy of it. The revision of the layer i’m using is d31308389508945bd4432a6f0213c27eacf6a1b8

I’m using the offical poky build sources on revision 924e576b8930fd2268d85f0b151e5f68a3c2afce and the poky reference distribution with a few changes on DISTRO_FEATURE level. My image is based on a core-image-minimal with a few additional packages.

I have created a networkconfiguration for systemd-networkd. I also tried rebuilding the whole image without systemd if i do

ifconfig eth0 10.0.0.102 mask 255.255.255.0

It shows the same error message as shown when networkd tries to configure the interface.

[   13.050911] fec 400d1000.ethernet eth0: no PHY, assuming direct connection to switch
[   13.050949] libphy: PHY fixed-0:00 not found
[   13.050969] fec 400d1000.ethernet eth0: could not attach to PHY

Everything is working when I use the whole build on Colibri VF50 V1.1A SOM. The error message above only appears when I use an Colibri VF50 V1.2A. I also used different carrier boards. It tried it on Colibri EVA 2.1 / 3.2 and the Orchid 1.0 the behavior is still the same on all boards.

ifconfig -a show the ip-address i configured in .network file. But only ifconfig without parameters doesn’t show the eth0 interface. And when I try to ping some host on the network i got an error message which says that the network is unreachable. Looks to me like the network was not configured properly.

I also tried to build the linux kernel from latest revision of toradex kernel sources by switching the revision in kernel recipe to ${AUTOREV}. But the error message is still the same.

I did some research using google and i found the following post in NXP forum: no PHY, assuming direct connection to switch - NXP Community

But i don’t get what this guy has done exactly to solve the problem.

Has anybody an idea how to solve the problem? Maybe someone can explain what he has done exactly?

If you need some additional information please let me know.

Thanks in advance.

Kind regards,

Sebastian

Hm, that looks like the module is not detecting the on-module PHY. This is rather unexpected, since the PHY is connected using a dedicated MDIO bus on the module… Also, the MDIO wiring is the same between V1.1A and V1.2A, so I would not expect any different behavior.

To rule out hardware issues, can you try with our latest stock image (2.7.2, available from here, installation instructions available here).

Also, do you have a second V1.2A module to rule out an individual hardware issue?

Thank you Stefan. The module seams to have a problem.

I switched the module and now it is working. I haven’t thought about a hardware problem, I used this module for my development. Booting up per TFTP+NFS is working interestingly without any problems.

Edit: I have to correct myself, now it’s not working with TFTP+NFS booting any more. I think there is really something defective now.

Is it showing the same output?

The module doesn’t get an ip-address in u-boot from my dhcp server. I haven’t looked at a wireshark dump or something else. I assume that there is something defective on the module self.

You can check whether you can communicate with the PHY using the mdio commands in U-Boot. On a working module this looks like this:

Colibri VFxx # mdio list
FEC:
0 - Micrel KSZ804 <--> FEC
Colibri VFxx # mdio read 0
Reading from bus FEC
PHY at address 0:
0 - 0x3000
Colibri VFxx # 

The PHY is on the module, and the communication channel between PHY and Vybrid SoC is not connected to SODIMM, it is unlikely that the carrier board is the issue. I also would rule out software since it works on a module which has the same PHY/MDIO bus setup. So my guess is really that this particular module has some issues. Please try a different V1.2A module and RMA that particular module.

Hey, thanks again for your answer. This is the output from mdio commands:

Colibri VFxx # mdio list
FEC:
0 - Generic PHY <--> FEC

Colibri VFxx # mdio read 0
Reading from bus FEC
PHY at address 0:
0 - 0xffff

As said before other modules are working. I (my company) will RMA this module.

Ok, that makes sense, sorry about that and thanks for testing.