This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Eth0 not working on AM335 SK

I have an AM335X starter kit (the one with the purple PCB and LCD display).  I'm using the kernel & U-Boot from the PSP package.  In U-Boot it can access eth0 OK, but after it boots to Linux an "ifconfig eth0" returns "eth0: error fetching interface information: Device not found".  We are using Debian Wheezy as our rootfs.

As an additional datapoint eth0 does work on a BeagleBone running the same image.

Can anyone suggest how to debug this?

  • Not sure if I can help. Not familiar with the AM335X. First place is to check is the bootup messages. The command dmesg can be used to print them after boot. Look for ethernet config messages. You should see some sort of IP address assigned and network reported as up.

    In the same boot messages, you should be able see the kernel command line. This command line is passed in by U-boot and is stored in the environment variable bootargs. The command line should have some sort of "ip=" argument to specfies network details. The network can also be configured from a filesystem. I thnk it is at /etc/network/interfaces. I believe the command line takes precedence.

    All assumes that the kernel as been compiled with network support.

  • I'm back to looking at this problem again.  My kernel definitely has network support.  In U-boot I see the message:

    link up on port 0, speed 100, full duplex

    but a ping doesn't work in U-Boot either.

    My hardware uses the same phy as the BeagteBone and is configured for RMII.

  • The AM335x kernel is one of the more confusing kernels that I have seen. It will run diffferent initialization code depending upon the ID in the EEPROM. Custom boards are problematic as they usually don't have an EEPROM. Maybe compare the SK and BeagleBone boot logs. MAC address might be another thing to check.