Ethernet not working on Beagleboard XM rev. C using latest mainline U-Boot

Hello,

I am looking to get tftp working from U-Boot on the Beagleboard XM rev. C.
Initial attempts to do this using mainline U-Boot (git.denx.de/u-boot.git,
main tree - not a branch) were not successful.

I booted into U-Boot and did "usb start" and no ethernet device was found.

If I disable data cache with "dcache off" first, the ethernet device is found
but its behavior is unusable. Any attempt to ping or tftp results in delays,
then the error message:

  EHCI timed out on TD - token=0x88008d80

I see other reports of this problem when trying to use the network from U-Boot
on Beagle XM, but I have not seen any definitive answers.

Please send me a pointer to the latest official U-Boot tree/branch for Beagle XM
that would have logic to support using Ethernet on this board. What is in
mainline U-Boot on denx.de must not be the latest since this does not work.

Also if it is necessary to do "dcache off" to even get the Eth device to be
recognized, isn't this going to affect performance later? Is anything being
done to allow Ethernet to work (and be enumerated properly) in U-Boot with
dcache on?

Thanks,
Chuck

Hello,

I am looking to get tftp working from U-Boot on the Beagleboard XM rev. C.
Initial attempts to do this using mainline U-Boot (git.denx.de/u-boot.git,
main tree - not a branch) were not successful.

I booted into U-Boot and did "usb start" and no ethernet device was found.

If I disable data cache with "dcache off" first, the ethernet device is found
but its behavior is unusable. Any attempt to ping or tftp results in delays,
then the error message:

EHCI timed out on TD - token=0x88008d80

I see other reports of this problem when trying to use the network from U-Boot
on Beagle XM, but I have not seen any definitive answers.

I haven't performed a diff to see the differences yet, but my
understanding is that this u-boot commit is used in conjunction with
tftp regularly for testing:

http://arago-project.org/git/projects/?p=u-boot-am33x.git;a=commit;h=f63b270e47f62f4d1a05b2001357e215966c6f5a

Please send me a pointer to the latest official U-Boot tree/branch for Beagle XM
that would have logic to support using Ethernet on this board. What is in
mainline U-Boot on denx.de must not be the latest since this does not work.

It most certainly is the latest, but if it doesn't work then there was
a regression.

Simon Glass and Joel Fernandes were working on this in the mainline
tree this past summer and eventually got it working:
http://lists.denx.de/pipermail/u-boot/2011-August/098693.html

Also if it is necessary to do "dcache off" to even get the Eth device to be
recognized, isn't this going to affect performance later?

It does impact performance, notably the checksum times.

Is anything being
done to allow Ethernet to work (and be enumerated properly) in U-Boot with
dcache on?

It isn't at the highest priority, but fixing the cache coherency for
USB and Ethernet is on the to-do list.

Hi Chuck,

Hi Robert,

I am looking to get tftp working from U-Boot on the Beagleboard XM rev. C.
Initial attempts to do this using mainline U-Boot (git.denx.de/u-boot.git,
main tree - not a branch) were not successful.

I booted into U-Boot and did "usb start" and no ethernet device was found.

I see very similar behaviour with mainline u-boot.

There is a non-mainline solution, which works for me.

Try:

git clone git://github.com/koenkooi/u-boot.git u-boot.not.mainline

Thanks very much! Do you have a git URL for the MLO (whether x-loader or spl)
that you are using?

Thanks,
Chuck

Hi Robert,

For completeness of this thread, just want to mention that the following combination
works great:
  Mainline x-loader (git://gitorious.org/x-loader/x-loader.git)
  The non-mainline U-Boot mentioned by Robert Berger above
     (git://github.com/koenkooi/u-boot.git)

However, using mainline x-loader and mainline U-Boot, networking does not work from
U-Boot. Even after "dcache off".

Jason mentioned earlier in the thread that "if it doesn't work then there was
a regression." There may have been a regression in mainline, then. What is in
mainline U-Boot does not handle networking properly from U-Boot on Beagle XM,
and what is in the koenkooi tree above does work.

Thanks all,
Chuck

Hi all,

I’m having the same problem. I have beagleboard xM Rev-c and ethernet not working in uboot, works fine with Linux kernal. Beagleboard uboot can send ping but not respnding to incoming ping message. Only works when i m sending ping simultaneously from both host & beagleboard.

I m strugling to ge this issue resolved but not having any sucess. Please help me out i have already put months of effrots but not working.

Many thanks in advance.

Hi,

Hi all,

I’m having the same problem. I have beagleboard xM Rev-c and ethernet not working in uboot, works fine with Linux kernal. Beagleboard uboot can send ping but not respnding to incoming ping message. Only works when i m sending ping simultaneously from both host & beagleboard.

I m strugling to ge this issue resolved but not having any sucess. Please help me out i have already put months of effrots but not working.

Many thanks in advance.

I have no problems with u-boot and tftp for a long time. Currently I use 2014.04 mainline and load uImage plus a flat device tree for my beagle-xm rev C boards. What you describe is a feature. You are able to ping from the beagle-xm but not the other way.
Just try to use tftp. This works for me with a 3.14.4 kernel.[1]

Regards,

Robert

[1] https://github.com/RobertBerger/meta-mainline/blob/daisy-training-v3.14.x/beagle-xm-ml/recipes-bsp/u-boot/u-boot/tftp-nfs-uEnv-beagle-xm.txt

Hi,

Thanks for your support. I checked tftp on my beagle board and its working.

I m trying to learn QNX and my purpose is to have ethernet connectivity on Beagle board so that i can connect to QNX IDE. But as ping is working in one direction only i m not able to connect beagleboard to QNX iDE.

I will appreciate if you can help will be with this or give me any idea to make it working.

Thanks,
Suresh