October 30, 2009

GigE is working

by Andrey Filippov

10373 - GigE is tested

10373 - GigE is tested

We did not do much this week as it was a really busy one. But one important milestone is passed – GigE is working! It was rather easy to see that 10373 pings other devices, it’s PHY “receive” LED blinked back in response, but a ping command from u-boot itself failed.
It took a while to realize that u-boot only sets internal array (used to set MAC address at each network command) from environmental variable once at a boot time. Confusing was that the manually set value was used in the payload of the ARP packet (as seen with Wireshark), but the hardware MAC registers remained with default FF:FF:FF:FF:FF:FF and so response to the ping was rejected. I still do not know what was supposed to be set, but after adding update of that internal array – ping worked, and tftp too. Still do not have working Linux kernel+ root fs, but no need to wait for like 20 minutes to transfer it through the serial port.


7 responses to “GigE is working”

  1. Rene Doss says:

    20min to wait is to long.
    I have used in this situation the network connection.
    On the host PC you have to set up a tftp server.
    Then you can use tftp command

    tftp 0x21000000 uImage;

    Of cause you have to adapt the Memoryaddress.

  2. Rene Doss says:

    you have to define at uboot in ~/include/configs/….\"boardname\".h
    a MAC and a IP address!! Then you get also a correct MAC-addr.
    anser in your ping.

    #define CONFIG_BOARDNAME \"elphel 10373\"
    #define CONFIG_ETHADDR 03:05:1e:4d:40:28
    #define CONFIG_IPADDR 192.168.10.11
    #define CONFIG_SERVERIP 192.168.10.254
    #define CONFIG_GATEWAYIP 192.168.10.254

  3. andrey says:

    Rene, thank you – I was thinking it should be possible to specify MAC, IP, etc. with #define directives, but I was first trying to do everything as commands (setenv for the variables). Confusing was that MAC address that I was setting was used in some places, but not in the other.

    Andrey

  4. Rene Doss says:

    Andrey,
    I think you need also a new maschine type. With an own maschine ID it is simplier to configure later the kernel. With some condition in the kernel configuration you can switch on all sub parts.

    Also uboot checks the maschine ID.

    http://www.arm.linux.org.uk/developer/machines/

  5. andrey says:

    Rene, you are right. And it is what I did first – cloned the existent machine definition based on dm6467 and modified it, so machine is “elphel10373”. I did not submit that yet, but my local copy uses this machine already.

    Andrey

    UPDATE: I registered that new elphel10373 machine type

  6. hellomcu says:

    I think you are interest in zynq7000,the tool “webpack” is support zynq700, http://www.xilinx.com/products/design-tools/ise-design-suite/ise-webpack.htm

  7. andrey says:

    Yes, thank you – we had a seminar about Zynq here in Salt Lake City on May, 2.

Leave a Reply

Your email address will not be published. Required fields are marked *


two × = 2