Hello,
in an effort to be more flexible during the (software) development cycle, I'm creating a setup where the kernel is booted from tftp and the rootfs is used over nfs.
Booting the kernel with u-boot (and starting) is going great (I do have to use a static IP, when using bootp, the tftp transfer fails).
I've tried bootargs with both
ip=bootp and
ip=172.16.0.2.54, but I keep getting errors:
Quote:
VFS: Mounted root (nfs filesystem).
Freeing init memory: 124K
eth0: TX underrun, resetting buffers
eth0: TX underrun, resetting buffers
eth0: TX underrun, resetting buffers
eth0: link down
nfs: server 172.16.0.1 not responding, still trying
nfs: server 172.16.0.1 not responding, still trying
I've tried several mii-tool options on the server-side, but this doesn't help.
This is kernel 2.6.24 with the latest patch sets from Linux4Sam.
Anyone got pointers to fix the underrun errors ?
my U-boot environment:
Quote:
bootdelay=3
baudrate=115200
bootcmd= cp.b 0xC0040000 0x22200000 0x00173438; bootm 0x22200000
ethaddr=00:de:ad:be:ef:01
serverip=172.16.0.1
ipaddr=172.16.0.254
boot_net=tftp $(boot_addr) uImage; bootm $(boot_addr)
boot_addr=0x21400000
bootargs=mem=64M console=ttyS0,115200 root=/dev/nfs nfsroot=172.16.0.1:/misc/usb/2008-05/oe/tmp/rootfs ip=172.16.0.254
stdin=serial
stdout=serial
stderr=serial
The evalkit (9263) is starting using
run boot_net
edit:
using ethtool on the server side, to force autonegotiation off, speed 100, full duplex and tx/rx flow control disabled, the
tx underrun errors disappear but the link still goes down.
edit2:
The root of all evil appears to be some old script I was using to obtain a dhcp lease...
When the script start, it does a ifconfig eth0 down (whoops, nfs gone!) and configures the hardware address.. Ofcourse, when the interface is being used for a rootfs over nfs, it isn't smart to down the interface.. Shame on me.
Apparently, the 'tx underrun' errors are not fatal, when the ethernet interface (server side) is using RX flowcontrol again, the message reappear on the client side but everything is working ok.