UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Visitor davidm107
Visitor
3,604 Views
Registered: ‎11-03-2009

No ethernet connection with Virtex-II Pro and Linux 2.6.31

Hi,

 

I have build a complete system with the v2p university board und linux but I am not able to do anything with the ethernet.

When I start the system and set the IP-address for the eth0 and try to ping another address nothing happens but this error occurs after a while:

NETDEV WATCHDOG: eth0 (): transmit queue 0 timed out

 

If i watch the stats in "ifconfig eth0" nothing has been received or transmitted.

 

The eth doesn't get an IP by DHCP, too.

 

 

This ist my network kernel config:

 

 # CONFIG_FIREWIRE is not set
# CONFIG_IEEE1394 is not set
# CONFIG_I2O is not set
# CONFIG_MACINTOSH_DRIVERS is not set
CONFIG_NETDEVICES=y
# CONFIG_DUMMY is not set
# CONFIG_BONDING is not set
# CONFIG_MACVLAN is not set
# CONFIG_EQUALIZER is not set
# CONFIG_TUN is not set
# CONFIG_VETH is not set
# CONFIG_ARCNET is not set
# CONFIG_PHYLIB is not set
CONFIG_NET_ETHERNET=y
CONFIG_MII=y

# CONFIG_HAPPYMEAL is not set
# CONFIG_SUNGEM is not set
# CONFIG_CASSINI is not set
# CONFIG_NET_VENDOR_3COM is not set
# CONFIG_NET_TULIP is not set
# CONFIG_HP100 is not set
# CONFIG_IBM_NEW_EMAC is not set
# CONFIG_IBM_NEW_EMAC_ZMII is not set
# CONFIG_IBM_NEW_EMAC_RGMII is not set
# CONFIG_IBM_NEW_EMAC_TAH is not set
# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
# CONFIG_NET_PCI is not set
# CONFIG_B44 is not set
# CONFIG_XILINX_EMAC is not set
CONFIG_XILINX_EMACLITE=y
# CONFIG_NETDEV_1000 is not set
# CONFIG_ACENIC is not set
# CONFIG_DL2K is not set
# CONFIG_E1000 is not set
# CONFIG_E1000E is not set
# CONFIG_IP1000 is not set
# CONFIG_IGB is not set
# CONFIG_NS83820 is not set
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set
# CONFIG_R8169 is not set
# CONFIG_SIS190 is not set
# CONFIG_SKGE is not set
# CONFIG_SKY2 is not set
# CONFIG_VIA_VELOCITY is not set
# CONFIG_TIGON3 is not set
# CONFIG_BNX2 is not set
# CONFIG_QLA3XXX is not set
# CONFIG_ATL1 is not set
# CONFIG_XILINX_TEMAC is not set
# CONFIG_ATL1E is not set
CONFIG_XILINX_LLTEMAC=y
# CONFIG_XILINX_LLTEMAC_MARVELL_88E1111_RGMII is not set
# CONFIG_XILINX_LLTEMAC_MARVELL_88E1111_GMII is not set
# CONFIG_XILINX_LLTEMAC_MARVELL_88E1111_MII is not set
# CONFIG_NETDEV_10000 is not set
# CONFIG_TR is not set

 

 


I tried EMACLITE, LLTEMAC and LLTEMAC_MARVELL seperately.

 

 

 

And this is my device tree:


/dts-v1/;
/ {
    #address-cells = <1>;
    #size-cells = <1>;
    compatible = "xlnx,virtex405", "xlnx,virtex";
    model = "testing";
    DDR_SDRAM: memory@0 {
        device_type = "memory";
        reg = < 0x0 0x10000000 >;
    } ;
    aliases {
        ethernet0 = &Ethernet_MAC;
        serial0 = &RS232_Uart_1;
    } ;
    chosen {
        bootargs = "console=ttyS0,9600 console=tty0 root=/dev/xsa3 rw init=/bin/sh";
        linux,stdout-path = "/plb@0/serial@83e00000";
    } ;
    cpus {
        #address-cells = <1>;
        #cpus = <0x1>;
        #size-cells = <0>;
        ppc405_0: cpu@0 {
            clock-frequency = <300000000>;
            compatible = "PowerPC,405", "ibm,ppc405";
            d-cache-line-size = <0x20>;
            d-cache-size = <0x4000>;
            dcr-access-method = "native";
            dcr-controller ;
            device_type = "cpu";
            i-cache-line-size = <0x20>;
            i-cache-size = <0x4000>;
            model = "PowerPC,405";
            reg = <0>;
            timebase-frequency = <300000000>;
            xlnx,dcr-resync = <0x0>;
            xlnx,deterministic-mult = <0x0>;
            xlnx,disable-operand-forwarding = <0x1>;
            xlnx,fastest-plb-clock = "DPLB0";
            xlnx,generate-plb-timespecs = <0x1>;
            xlnx,mmu-enable = <0x1>;
        } ;
    } ;
    plb0: plb@0 {
        #address-cells = <1>;
        #size-cells = <1>;
        compatible = "xlnx,plb-v46-1.03.a", "xlnx,plb-v46-1.00.a", "simple-bus";
        ranges ;
        DDR_SDRAM: mpmc@84800000 {
            #address-cells = <1>;
            #size-cells = <1>;
            compatible = "xlnx,mpmc-4.03.a";
            reg = < 0x84800000 0x10000 >;
        } ;
        Ethernet_MAC: ethernet@81000000 {
            compatible = "xlnx,xps-ethernetlite-2.00.b", "xlnx,xps-ethernetlite-1.00.a";
            device_type = "network";
            interrupt-parent = <&xps_intc_0>;
            interrupts = < 3 0 >;
            local-mac-address = [ 00 0a 35 77 d8 00 ];
            reg = < 0x81000000 0x10000 >;
            xlnx,duplex = <0x1>;
            xlnx,family = "virtex2p";
            xlnx,rx-ping-pong = <0x0>;
            xlnx,tx-ping-pong = <0x0>;
        } ;
        LEDs_4Bit: gpio@81420000 {
            compatible = "xlnx,xps-gpio-1.00.a";
            reg = < 0x81420000 0x10000 >;
            xlnx,all-inputs = <0x0>;
            xlnx,all-inputs-2 = <0x0>;
            xlnx,dout-default = <0x0>;
            xlnx,dout-default-2 = <0x0>;
            xlnx,family = "virtex2p";
            xlnx,gpio-width = <0x4>;
            xlnx,interrupt-present = <0x0>;
            xlnx,is-bidir = <0x0>;
            xlnx,is-bidir-2 = <0x1>;
            xlnx,is-dual = <0x0>;
            xlnx,tri-default = <0xffffffff>;
            xlnx,tri-default-2 = <0xffffffff>;
        } ;
        PushButtons_5Bit: gpio@81400000 {
            compatible = "xlnx,xps-gpio-1.00.a";
            reg = < 0x81400000 0x10000 >;
            xlnx,all-inputs = <0x1>;
            xlnx,all-inputs-2 = <0x0>;
            xlnx,dout-default = <0x0>;
            xlnx,dout-default-2 = <0x0>;
            xlnx,family = "virtex2p";
            xlnx,gpio-width = <0x5>;
            xlnx,interrupt-present = <0x0>;
            xlnx,is-bidir = <0x1>;
            xlnx,is-bidir-2 = <0x1>;
            xlnx,is-dual = <0x0>;
            xlnx,tri-default = <0xffffffff>;
            xlnx,tri-default-2 = <0xffffffff>;
        } ;
        RS232_Uart_1: serial@83e00000 {
            clock-frequency = <100000000>;
            compatible = "xlnx,xps-uart16550-2.00.b", "xlnx,xps-uart16550-2.00.a", "ns16550";
            current-speed = <9600>;
            device_type = "serial";
            interrupt-parent = <&xps_intc_0>;
            interrupts = < 4 2 >;
            reg = < 0x83e00000 0x10000 >;
            reg-offset = <0x1003>;
            reg-shift = <2>;
            xlnx,family = "virtex2p";
            xlnx,has-external-rclk = <0x0>;
            xlnx,has-external-xin = <0x0>;
            xlnx,is-a-16550 = <0x1>;
        } ;
        SysACE_CompactFlash: sysace@83600000 {
            compatible = "xlnx,xps-sysace-1.00.a";
            interrupt-parent = <&xps_intc_0>;
            interrupts = < 2 2 >;
            reg = < 0x83600000 0x10000 >;
            xlnx,family = "virtex2p";
            xlnx,mem-width = <0x10>;
        } ;
        xps_bram_if_cntlr_1: xps-bram-if-cntlr@ffff0000 {
            compatible = "xlnx,xps-bram-if-cntlr-1.00.a";
            reg = < 0xffff0000 0x10000 >;
            xlnx,family = "virtex2p";
        } ;
        xps_intc_0: interrupt-controller@81800000 {
            #interrupt-cells = <0x2>;
            compatible = "xlnx,xps-intc-1.00.a";
            interrupt-controller ;
            reg = < 0x81800000 0x10000 >;
            xlnx,kind-of-intr = <0x8>;
            xlnx,num-intr-inputs = <0x5>;
        } ;
        xps_ps2_0: xps-ps2@86a00000 {
            #address-cells = <1>;
            #size-cells = <1>;
            compatible = "xlnx,compound";
            ranges = < 0x0 0x86a00000 0x10000 >;
            ps2@0 {
                compatible = "xlnx,xps-ps2-1.00.a";
                interrupt-parent = <&xps_intc_0>;
                interrupts = < 1 2 >;
                reg = < 0x0 0x40 >;
            } ;
            ps2@1000 {
                compatible = "xlnx,xps-ps2-1.00.a";
                interrupt-parent = <&xps_intc_0>;
                interrupts = < 0 2 >;
                reg = < 0x1000 0x40 >;
            } ;
        } ;
        xps_tft_0: tft@86e00000 {
            compatible = "xlnx,xps-tft-1.00.a";
            reg = < 0x86e00000 0x10000 >;
            xlnx,dcr-splb-slave-if = <0x1>;
            xlnx,default-tft-base-addr = <0xf000000>;
            xlnx,family = "virtex2p";
            xlnx,i2c-slave-addr = <0x76>;
            xlnx,mplb-awidth = <0x20>;
            xlnx,mplb-dwidth = <0x40>;
            xlnx,mplb-native-dwidth = <0x40>;
            xlnx,mplb-smallest-slave = <0x40>;
            xlnx,tft-interface = <0x0>;
        } ;
    } ;
    ppc405_0_dplb1: plb@1 {
        #address-cells = <1>;
        #size-cells = <1>;
        compatible = "xlnx,plb-v46-1.03.a", "xlnx,plb-v46-1.00.a", "simple-bus";
        ranges ;
    } ;
}  ; 

 

 



On the board is the LXT972A chip from intel/cartina but it is not listed in the kernel config.

 

So which driver should I load and are there other configurations necessary before?

 

Thanks in advance!

 

David

 

0 Kudos
1 Reply
Xilinx Employee
Xilinx Employee
3,599 Views
Registered: ‎09-10-2008

Re: No ethernet connection with Virtex-II Pro and Linux 2.6.31

I have not ever tested on this board.  If I remember, since you're not using the Marvell phy, I was thinking you should not select the Marvell code in the kernel config and it will try to do phy stuff generically.  If that doesn't work, you may need some phy specific code that we don't have in that driver.

 

New drivers (not this one yet) will be using a phy driver under the network driver to help make this better.

 

Thanks.

0 Kudos