linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: embedded <embedded@akb.net>
To: linuxppc-embedded@ozlabs.org
Subject: PING timeout on FCC1 / 2.6.26 / MPC8348 / fs_enet
Date: Wed, 24 Sep 2008 17:13:18 -0600	[thread overview]
Message-ID: <bfa0697f0809241613h5c823a8dic7321161f8541379@mail.gmail.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 2924 bytes --]

I'm running into a strange problem when we ping the first Ethernet
device(FCC1) on our MPC8248 based board.  Note the second Ethernet
device runs without any problem(FCC2)

The network drops roughly 4-11% of the PINGS sent to it from either a
Windows or Linux system.  We've ran Ethernet compliance tests on the
boards and both Ethernets pass all tests, so electrically things seem
functional and within necessary Margins.  We've just used the second
port for most of out testing.

We are running linux (2.6.26 kernel) and strange enough, running the
ping tests, we've also started to notice a few eth0 FS_ENET_ERROR 0xc
/ 0x6, though they aren't showing up very regular.

Is there something obvious between the 2848/kernel/dts/fcc
configuration I should look for?  I don't think we've had this issue
in the past.


PING from Client PC
================
  Ping Timeout is seen in windows
  Bus traffic shows a missing reply from the MPC8248

Ping from the MPC8248
===================
  Dropped Pings are captured
  Bus traffic shows no missing replies.  Both the request and the
reply are on the network



ethtool eth0
==================
Settings for eth0:
        Supported ports: [ TP MII ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
        Advertised auto-negotiation: Yes
        Speed: 100Mb/s
        Duplex: Full
        Port: MII
        PHYAD: 0
        Transceiver: external
        Auto-negotiation: on
        Current message level: 0x00000000 (0)
        Link detected: yes

ethtool -i eth0
==================
driver: fs_enet
version: 1.0
firmware-version:
bus-info:

ethtool -d eth0
==================
Offset  Values
--------        -----
000:     20 00 00 3c 14 00 00 80 14 00 00 00 d5 55 00 00
010:     00 00 01 00 00 1b 00 00 00 00 00 00 00 00 00 00
020:     01 80 01 a0 00 00 06 00 30 00 00 00 07 95 e0 00
030:     8c 00 00 00 07 b6 00 10 30 04 00 11 07 95 e1 00
040:     00 00 00 00 00 00 00 00 07 95 e0 b0 07 95 e1 08
050:     be 26 a7 fd ff ff ff ff 00 00 00 00 5c 00 00 00
060:     00 00 00 00 de bb 20 e3 ff ff ff ff 00 00 00 00
070:     00 00 00 00 00 00 00 00 00 0f 00 00 00 00 00 00
080:     20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
090:     05 f6 d8 20 00 aa 06 00 00 00 00 08 00 08 00 00
0a0:     07 95 e1 00 30 00 5c 00 00 00 00 00 00 00 00 00
0b0:     00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0c0:     00 00 00 00 00 00 00 00 00 40 01 00 00 5e 00 01
0d0:     01 c0 00 00 00 00 00 00 05 f0 05 f0 05 f0 05 f0
0e0:     00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0f0:     00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
100:     00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
110:     00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
120:     00

[-- Attachment #2: dts.txt --]
[-- Type: text/plain, Size: 14229 bytes --]

/ {
        model = "EP8248E";
        compatible = "fsl,ep8248e";
        #address-cells = <1>;
        #size-cells = <1>;

        aliases {
                planetcore-SMC1 = &smc1;
                planetcore-SCC1 = &scc1;
                ethernet0 = &eth0;
                ethernet1 = &eth1;
                serial0 = &smc1;
                serial1 = &scc1;
        };

        cpus {
                #address-cells = <1>;
                #size-cells = <0>;

                PowerPC,8248@0 {
                        device_type = "cpu";
                        reg = <0>;
                        d-cache-line-size = <32>;
                        i-cache-line-size = <32>;
                        d-cache-size = <16384>;
                        i-cache-size = <16384>;
                        timebase-frequency = <0>;
                        clock-frequency = <0>;
                };
        };

        localbus {
                compatible = "fsl,mpc8248-localbus",
                             "fsl,pq2-localbus",
                             "simple-bus";
                #address-cells = <2>;
                #size-cells = <1>;
                reg = <0xe0010100 0x40>;

                ranges = <0 0 0xf8000000 0x08000000
                          4 0 0xf0000000 0x08000000
                          2 0 0xe4000000 0x00008000
                          5 0 0xe4100000 0x00008000
                          6 0 0xe4200000 0x00008000>;

                flash@0,0 {
                          compatible = "cfi-flash";
                          reg = <0 0x0 0x08000000>;
                          bank-width = <4>;
                          device-width = <2>;
                          #address-cells = <1>;
                          #size-cells = <1>;
                          fs@0 {
                                label ="RootFS";
                                reg = <0 0x7c00000>;
                                /*read-only;*/
                          };
                          kernel@7d00000 {
                                label ="Linux Kernel";
                                reg = <0x7c00000 0x300000>;
                          };
                          firmware@7f00000 {
                                label ="u-boot";
                                reg = <0x7f00000 0x80000>;
                          };
                          firmware@7f80000 {
                                label ="empty";
                                reg = <0x7f80000 0x80000>;
                          };
                };
                flash@4,0 {
                          compatible = "cfi-flash";
                          reg = <4 0 0x08000000>;
                          bank-width = <4>;
                          device-width = <2>;
                          #address-cells = <1>;
                          #size-cells = <1>;
                          config@0 {
                                label ="28 MB Config";
                                reg = <0x0 0x1c00000>;
                          };
                          root@1c00000 {
                                label ="36 MB Config";
                                reg = <0x1c00000 0x2400000>;
                          };
                          fs@4000000 {
                                label ="64MB MB";
                                reg = <0x4000000 0x4000000>;
                          };
                };
                dualcsr@6,0 {
                          #address-cells = <2>;
                          #size-cells = <1>;
                          reg = <6 0 2>;
                          compatible = "fsl,ep8248e-dualcsr";
                          ranges;
                };
               dpram@5,0 {
                          #address-cells = <2>;
                          #size-cells = <1>;
                          reg = <5 0 320>;
                          compatible = "fsl,ep8248e-dpram";
                          ranges;
                };

                bcsr@2,0 {
                        #address-cells = <2>;
                        #size-cells = <1>;
                        reg = <2 0 0x14>;
                        compatible = "fsl,ep8248e-bcsr";
                        ranges;

                        mdio {
                                device_type = "mdio";
                                compatible = "fsl,ep8248e-mdio-bitbang";
                                #address-cells = <1>;
                                #size-cells = <0>;
                                reg = <0 8 1>;

                                PHY0: ethernet-phy@0 {
                                        interrupt-parent = <&PIC>;
                                        reg = <0>;
                                        device_type = "ethernet-phy";
                                };

                                PHY1: ethernet-phy@1 {
                                        interrupt-parent = <&PIC>;
                                        reg = <1>;
                                        device_type = "ethernet-phy";
                                };
                        };
                };
                timer1 {
                        name = "timer1";
                        compatible = "vtm,timer1";
                        interrupts = <0xc 8>;
                        interrupt-parent = <&PIC>;
                };
                timer2 {
                        name = "timer2";
                        compatible = "vtm,timer2";
                        interrupts = <0xd 8>;
                        interrupt-parent = <&PIC>;
                };
                timer3 {
                        name = "timer3";
                        compatible = "vtm,timer3";
                        interrupts = <0xe 8>;
                        interrupt-parent = <&PIC>;
                };
                timer4 {
                        name = "timer4";
                        compatible = "vtm,timer4";
                        interrupts = <0xf 8>;
                        interrupt-parent = <&PIC>;
                };
                irq4 {
                        name = "irq4";
                        compatible = "vtm,arinc";
                        interrupts = <0x16 8>;
                        interrupt-parent = <&PIC>;
                };
                irq5 {
                        name = "irq5";
                        compatible = "vtm,printheadcomplete";
                        interrupts = <0x17 8>;
                        interrupt-parent = <&PIC>;
                };
                irq6 {
                        name = "irq6";
                        compatible = "vtm,statuschange";
                        interrupts = <0x18 8>;
                        interrupt-parent = <&PIC>;
                };
                i2c-thermal@34 {
                        compatible = "vtm,i2c-thermister";
                        reg = <0x34 0 0>;
                        interrupts = <>;
                        interrupt-parent = <>;
                };
                i2c-led@34 {
                        compatible = "vtm,i2c-led";
                        reg = <0x41 0 0>;
                        interrupts = <>;
                        interrupt-parent = <>;
                };
                i2c-eeprom@54 {
                        compatible = "vtm,i2c-eeprom";
                        reg = <0x54 0 0>;
                        interrupts = <>;
                        interrupt-parent = <>;
                };
        };

        memory {
                device_type = "memory";
                reg = <0 0>;
        };

        soc@e0000000 {
                #address-cells = <1>;
                #size-cells = <1>;
                compatible = "fsl,mpc8248-immr", "fsl,pq2-soc", "simple-bus";
                ranges = <0x00000000 0xe0000000 0x00053000>;

                // Temporary until code stops depending on it.
                device_type = "soc";

                // Temporary -- will go away once kernel uses ranges for get_immrbase().
                reg = <0xe0000000 0x00053000>;

                cpm@119c0 {
                        #address-cells = <1>;
                        #size-cells = <1>;
                        #interrupt-cells = <2>;
                        compatible = "fsl,mpc8248-cpm", "fsl,cpm2",
                                     "simple-bus";
                        reg = <0x119c0 0x30>;
                        ranges;

                        muram {
                                #address-cells = <1>;
                                #size-cells = <1>;
                                ranges = <0 0 0x10000>;

                                data@0 {
                                        compatible = "fsl,cpm-muram-data";
                                        reg = <0x80 0x1f80 0x9800 0x800>;
                                };
                        };

                        brg@119f0 {
                                compatible = "fsl,mpc8248-brg",
                                             "fsl,cpm2-brg",
                                             "fsl,cpm-brg";
                                reg = <0x119f0 0x10 0x115f0 0x10>;
                        };

                        /* Monitor port/SMC1 */
                        smc1: serial@11a80 {
                                device_type = "serial";
                                compatible = "fsl,mpc8248-smc-uart",
                                             "fsl,cpm2-smc-uart";
                                reg = <0x11a80 0x20 0x87fc 2>;
                                interrupts = <4 8>;
                                interrupt-parent = <&PIC>;
                                fsl,cpm-brg = <7>;
                                fsl,cpm-command = <0x1d000000>;
                        };

                        /* "Serial" port/SCC1 */
                        scc1: serial@11a00 {
                                device_type = "serial";
                                compatible = "fsl,mpc8248-scc-uart",
                                             "fsl,cpm2-scc-uart";
                                reg = <0x11a00 0x20 0x8000 0x100>;
                                interrupts = <0x40 8>;
                                interrupt-parent = <&PIC>;
                                fsl,cpm-brg = <1>;
                                fsl,cpm-command = <0x00800000>;
                        };
                        /* "Serial" port/SCC4 */
                        scc1: serial@11a60 {
                                device_type = "serial";
                                compatible = "fsl,mpc8248-scc-uart",
                                             "fsl,cpm2-scc-uart";
                                reg = <0x11a60 0x20 0x8300 0x100>;
                                interrupts = <0x2B 8>;
                                interrupt-parent = <&PIC>;
                                fsl,cpm-brg = <4>;
                                fsl,cpm-command = <0x0CE00000>;
                        };

                        eth0: ethernet@11300 {
                                device_type = "network";
                                compatible = "fsl,mpc8248-fcc-enet",
                                             "fsl,cpm2-fcc-enet";
                                reg = <0x11300 0x20 0x8400 0x100 0x11390 1>;
                                local-mac-address = [ 00 00 00 00 00 00 ];
                                interrupts = <0x20 8>;
                                interrupt-parent = <&PIC>;
                                phy-handle = <&PHY0>;
                                linux,network-index = <0>;
                                fsl,cpm-command = <0x12000300>;
                        };

                        eth1: ethernet@11320 {
                                device_type = "network";
                                compatible = "fsl,mpc8248-fcc-enet",
                                             "fsl,cpm2-fcc-enet";
                                reg = <0x11320 0x20 0x8500 0x100 0x113b0 1>;
                                local-mac-address = [ 00 00 00 00 00 00 ];
                                interrupts = <0x21 8>;
                                interrupt-parent = <&PIC>;
                                phy-handle = <&PHY1>;
                                linux,network-index = <1>;
                                fsl,cpm-command = <0x16200300>;
                        };

                        usb@11b60 {
                                #address-cells = <1>;
                                #size-cells = <0>;
                                compatible = "fsl,mpc8248-usb",
                                             "fsl,cpm2-usb";
                                reg = <0x11b60 0x18 0x8b00 0x100>;
                                interrupt-parent = <&PIC>;
                                interrupts = <0xb 8>;
                                fsl,cpm-command = <0x2e600000>;
                        };
                        i2c@11860 {
                                #address-cells = <1>;
                                #size-cells = <0>;
                                compatible = "fsl,mpc8248-i2c",
                                             "fsl,cpm2-i2c";
                                reg = <0x11860 0x20 0x8afc 0x2>;
                                interrupts = <1 8>;
                                interrupt-parent = <&PIC>;
                                fsl,cpm-command = <0x29600000>;
                        };

                };

                PIC: interrupt-controller@10c00 {
                        #interrupt-cells = <2>;
                        interrupt-controller;
                        reg = <0x10c00 0x80>;
                        compatible = "fsl,mpc8248-pic", "fsl,pq2-pic";
                };
        };
        chosen {
                linux,stdout-path = "/soc/cpm/serial@11a80";
        };

};

                 reply	other threads:[~2008-09-24 23:13 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bfa0697f0809241613h5c823a8dic7321161f8541379@mail.gmail.com \
    --to=embedded@akb.net \
    --cc=linuxppc-embedded@ozlabs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).