I recently updated the default DVSDK to the new version (dvsdk_2_00_00_22) and I built a new kernel (MTV 5.0) using the default options. BTW, I'm using the DM6467 develpment platform.
Since I was testing my applications, I used TFTP and NFS to provide EVM with kernel and filesystem. Everything worked fine.
When my testing phase finished I flashed the kernel and updated the default filesystem in hda1. I changed bootcmds to boot from flash and use hda1 as the new filesystem. Everything works fine, except for the ethernet connection. That is, the kernel image is retrieved from flash and the boot process starts, hda1 is mounted and the ethernet interface (eth0) is configured, or at least so it seems, and finally the login promt shows up in the screeen. I'm able to perform anything I want but the ethernet connection doesn't work.
I use a ping command to test it. Whenever I run ifconfig, figures in Tx packets and Rx packets change. So it looks like some packets are being transmitted and received, but I'm still unable to connect to any host in my lan.
After some tests I came up with something that can apparently sort out the problem. I noticed that if I entered U-boot interface and executed a PING command and then a reset command, the ethernet interface was available when the boot process ended. So I changed my bootcmds:
Former commands: bootcmd=nboot 80700000 0 a0000;bootm -------------------------------> Ethernet doesn't work after boot process.
New commands: bootcmd=ping 192.168.0.25;nboot 80700000 0 a0000;bootm --------->Ethernet works fine after boot process.
I used the ping command since it is an innocuous command. But it works with all commands requiring the ethernet interface (tftp, dhcp, ping, ...).
I dont' know how to make the ethernet connection work without adding the ping command in the bootcmd variable.
The best part of it is that if I configure the interface to use DHCP, a new IP is always given to the EVM, regardless of the bootcmd variable.
I hope someone can help me.
Thanks in advance.