AM3359: Ethernet 1G is not working in AM335x with DP83867(Link is always down)

Part Number: AM3359
Other Parts Discussed in Thread: AM3352, TPS65910, SYSCONFIG


-------------------------------------------------------Ethtool check------------------------------------------------
am335x-evm login: root
root@am335x-evm:~# [   28.408359] cpsw 4a100000.ethernet eth1: Link is Up - 1Gbps/Full - flow control off
[   28.416245] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready
ethtool -s eth1 speed 1000 duplex full autoneg off                                                                                            
root@am335x-evm:~# [   35.687090] cpsw 4a100000.ethernet eth1: Link is Down
ethtool -s eth1 speed 100 duplex full autoneg off
root@am335x-evm:~# [   46.087063] cpsw 4a100000.ethernet eth1: Link is Up - 100Mbps/Full - flow control off

root@am335x-evm:~# ethtool -s eth1 speed 1000 duplex full autoneg off                                                                         
root@am335x-evm:~# [   58.567097] cpsw 4a100000.ethernet eth1: Link is Down
ethtool -s eth1 speed 100 duplex full autoneg off
root@am335x-evm:~# [   78.327091] cpsw 4a100000.ethernet eth1: Link is Up - 100Mbps/Full - flow control off
ethtool -s eth1 speed 100 duplex full autoneg off


Note:After booting 1gbps(highlighted in yellow) line is showing Up but once if we check with ethtool we are getting Link is down always.


---------------------------------------------Dts configuration for PHY----------------------------------------------

cpsw_default: cpsw_default {
		pinctrl-single,pins = <
				/* Slave 1 */
		AM33XX_IOPAD(0x914, PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txen.rgmii1_tctl */
		AM33XX_IOPAD(0x918, PIN_INPUT_PULLDOWN | MUX_MODE2)	/* mii1_rxdv.rgmii1_rctl */
		AM33XX_IOPAD(0x91c, PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txd3.rgmii1_td3 */
		AM33XX_IOPAD(0x920, PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txd2.rgmii1_td2 */
		AM33XX_IOPAD(0x924, PIN_OUTPUT_PULLDOWN | MUX_MODE2)	/* mii1_txd1.rgmii1_td1 */
		AM33XX_IOPAD(0x928, PIN_OUTPUT_PULLDOWN | MUX_MODE2)    /* mii1_txd0.rgmii1_td0 */		       

                AM33XX_IOPAD(0x92c, PIN_OUTPUT_PULLUP | MUX_MODE2)	/* mii1_txclk.rgmii1_tclk */
		AM33XX_IOPAD(0x930, PIN_INPUT_PULLDOWN | MUX_MODE2)	/* mii1_rxclk.rgmii1_rclk */
		AM33XX_IOPAD(0x934, PIN_INPUT_PULLDOWN | MUX_MODE2)	/* mii1_rxd3.rgmii1_rd3 */
		AM33XX_IOPAD(0x938, PIN_INPUT_PULLDOWN | MUX_MODE2)	/* mii1_rxd2.rgmii1_rd2 */
		AM33XX_IOPAD(0x93c, PIN_INPUT_PULLDOWN | MUX_MODE2)	/* mii1_rxd1.rgmii1_rd1 */
		AM33XX_IOPAD(0x940, PIN_INPUT_PULLDOWN | MUX_MODE2)	/* mii1_rxd0.rgmii1_rd0 */
		/*AM33XX_IOPAD(0xA34, PIN_INPUT_PULLUP | MUX_MODE7) /* (F15) USB1_DRVVBUS.gpio3[13] */
	>;
};


cpsw_sleep: cpsw_sleep {
		pinctrl-single,pins = <
		AM33XX_IOPAD(0x914, (PIN_INPUT_PULLDOWN | MUX_MODE7) ) /* (J16) gmii1_txen.rgmii1_tctl */
		AM33XX_IOPAD(0x918, (PIN_INPUT_PULLDOWN | MUX_MODE7) ) /* (J17) gmii1_rxdv.rgmii1_rctl */
		AM33XX_IOPAD(0x92c, (PIN_OUTPUT_PULLUP | MUX_MODE7) ) /* (K18) gmii1_txclk.rgmii1_tclk */
		AM33XX_IOPAD(0x930, (PIN_INPUT_PULLDOWN | MUX_MODE7) ) /* (L18) gmii1_rxclk.rgmii1_rclk */
		AM33XX_IOPAD(0x928, (PIN_INPUT_PULLDOWN | MUX_MODE7) ) /* (K17) gmii1_txd0.rgmii1_td0 */
		AM33XX_IOPAD(0x924, (PIN_INPUT_PULLDOWN | MUX_MODE7) ) /* (K16) gmii1_txd1.rgmii1_td1 */
		AM33XX_IOPAD(0x920, (PIN_INPUT_PULLDOWN | MUX_MODE7) ) /* (K15) gmii1_txd2.rgmii1_td2 */
		AM33XX_IOPAD(0x91c, (PIN_INPUT_PULLDOWN | MUX_MODE7) ) /* (J18) gmii1_txd3.rgmii1_td3 */
		AM33XX_IOPAD(0x940, (PIN_INPUT_PULLDOWN | MUX_MODE7) ) /* (M16) gmii1_rxd0.rgmii1_rd0 */
		AM33XX_IOPAD(0x93c, (PIN_INPUT_PULLDOWN | MUX_MODE7) ) /* (L15) gmii1_rxd1.rgmii1_rd1 */
		AM33XX_IOPAD(0x938, (PIN_INPUT_PULLDOWN | MUX_MODE7) ) /* (L16) gmii1_rxd2.rgmii1_rd2 */
		AM33XX_IOPAD(0x934, (PIN_INPUT_PULLDOWN | MUX_MODE7) ) /* (L17) gmii1_rxd3.rgmii1_rd3 */
		>;
	};




&mac {
        pinctrl-names = "default", "sleep";
        pinctrl-0 = <&cpsw_default>;
        pinctrl-1 = <&cpsw_sleep>;
        dual_emac; 
        status = "okay";
	};


&davinci_mdio {
        pinctrl-names = "default", "sleep";
	compatible = "ti,cpsw-mdio", "ti,davinci_mdio";
        pinctrl-0 = <&davinci_mdio_default>;
        pinctrl-1 = <&davinci_mdio_sleep>;
        status = "okay";

	dp83867_3: ethernet-phy@3 {
        reg = <3>;
        ti,rx-internal-delay = <DP83867_RGMIIDCTL_3_50_NS>;
        ti,tx-internal-delay = <DP83867_RGMIIDCTL_4_00_NS>;
        ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_8_B_NIB>;
        ti,min-output-impedance;
        ti,dp83867-rxctrl-strap-quirk;
	max-speed=<1000>;
    };


        dp83867_0: ethernet-phy@0 {
        reg = <0>;
       ti,rx-internal-delay = <DP83867_RGMIIDCTL_3_25_NS>;
        ti,tx-internal-delay = <DP83867_RGMIIDCTL_3_25_NS>;
        ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_8_B_NIB>;
        ti,min-output-impedance;
        ti,dp83867-rxctrl-strap-quirk;
	max-speed=<1000>;
    };

};

&cpsw_emac0 {
	phy-handle = <&dp83867_3>;
        phy_id = <&davinci_mdio>, <3>;
        phy-mode = "rgmii-id"; 
        dual_emac_res_vlan = <1>;
	
};


&cpsw_emac1 {
	phy-handle = <&dp83867_0>;
        phy_id = <&davinci_mdio>, <0>;
        phy-mode = "rgmii-id";
        dual_emac_res_vlan = <2>;
	
};


-------------------------------------------------------------------------------------------------------------------------------

We are bringing up a custom board based on am335x icev2 board.In our custom board we are using DP83867 PHY chipset it’s working on 10/100Mbps speed fine,but when we check 1000Mbps(1G) in ethtool we are getting link is down.what could be the reason and how to resolve this issue.

Here below i have attached boot logs and Dts configuration for RGMII interface please check and revert back us to resolve this issue.

  • Hi,

    I am not seeing the attached boot logs. If the ethernet interface is performing as required at 10/100 than that confirms the DTS configuration. If the link status is always down at 1G then I would suggest start looking for why the PHY cannot establish a link at this speed. The MAC will not send or receive packets until there has been a link established with a link partner. 

    Best Regards,

    Schuyler

  • Hi Schuyler,

    Thanks for the quick response,

    I attached boot logs for your reference, How to establish link status and provide procedure or reference link.

    Logs:

    U-Boot 2018.01-gc14892445a-dirty (Mar 29 2021 - 17:00:20 +0530)

    CPU : AM335X-GP rev 2.1
    Model: TI AM3359 ICE-V2
    DRAM: 512 MiB
    NAND: 512 MiB
    MMC:
    Net: cpsw, usb_ether
    Hit any key to stop autoboot: 0
    Booting from nand ...

    NAND read: device 0 offset 0x80000, size 0x40000
    262144 bytes read: OK

    NAND read: device 0 offset 0x200000, size 0x800000
    8388608 bytes read: OK
    ## Flattened Device Tree blob at 88000000
    Booting using the fdt blob at 0x88000000
    Loading Device Tree to 8fff3000, end 8ffff343 ... OK

    Starting kernel ...

    [ 0.000000] Booting Linux on physical CPU 0x0
    [ 0.000000] Linux version 4.19.94 (admin1@admin) (gcc version 8.3.0 (GNU Too1
    [ 0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d
    [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instructie
    [ 0.000000] OF: fdt: Machine model: TI AM3359 ICE-V2
    [ 0.000000] Memory policy: Data cache writeback
    [ 0.000000] efi: Getting EFI parameters from FDT:
    [ 0.000000] efi: UEFI not found.
    [ 0.000000] cma: Reserved 48 MiB at 0x9d000000
    [ 0.000000] CPU: All CPU(s) started in SVC mode.
    [ 0.000000] AM335X ES2.1 (sgx neon)
    [ 0.000000] random: get_random_bytes called from start_kernel+0xa4/0x434 wit0
    [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 129920
    [ 0.000000] Kernel command line: console=ttyO0,115200n8 root=ubi0:rootfs rw 1
    [ 0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
    [ 0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
    [ 0.000000] Memory: 455952K/524288K available (9216K kernel code, 307K rwdat)
    [ 0.000000] Virtual kernel memory layout:
    [ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
    [ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
    [ 0.000000] vmalloc : 0xe0800000 - 0xff800000 ( 496 MB)
    [ 0.000000] lowmem : 0xc0000000 - 0xe0000000 ( 512 MB)
    [ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
    [ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
    [ 0.000000] .text : 0x(ptrval) - 0x(ptrval) (10208 kB)
    [ 0.000000] .init : 0x(ptrval) - 0x(ptrval) (1024 kB)
    [ 0.000000] .data : 0x(ptrval) - 0x(ptrval) ( 308 kB)
    [ 0.000000] .bss : 0x(ptrval) - 0x(ptrval) ( 253 kB)
    [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
    [ 0.000000] rcu: Preemptible hierarchical RCU implementation.
    [ 0.000000] Tasks RCU enabled.
    [ 0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
    [ 0.000000] IRQ: Found an INTC at 0x(ptrval) (revision 5.0) with 128 interrus
    [ 0.000000] OMAP clockevent source: timer2 at 25000000 Hz
    [ 0.000019] sched_clock: 32 bits at 25MHz, resolution 40ns, wraps every 8589s
    [ 0.000042] clocksource: timer1: mask: 0xffffffff max_cycles: 0xffffffff, mas
    [ 0.000054] OMAP clocksource: timer1 at 25000000 Hz
    [ 0.000238] timer_probe: no matching timers found
    [ 0.000438] Console: colour dummy device 80x30
    [ 0.000469] WARNING: Your 'console=ttyO0' has been replaced by 'ttyS0'
    [ 0.000476] This ensures that you still see kernel messages. Please
    [ 0.000483] update your kernel commandline.
    [ 0.000543] Calibrating delay loop... 795.44 BogoMIPS (lpj=3977216)
    [ 0.089023] pid_max: default: 32768 minimum: 301
    [ 0.089248] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [ 0.089264] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [ 0.090163] CPU: Testing write buffer coherency: ok
    [ 0.090234] CPU0: Spectre v2: using BPIALL workaround
    [ 0.091191] Setting up static identity map for 0x80100000 - 0x80100060
    [ 0.091358] rcu: Hierarchical SRCU implementation.
    [ 0.091732] EFI services will not be available.
    [ 0.093266] devtmpfs: initialized
    [ 0.101899] VFP support v0.3: implementor 41 architecture 3 part 30 variant 3
    [ 0.102334] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, ms
    [ 0.102361] futex hash table entries: 256 (order: -1, 3072 bytes)
    [ 0.106477] pinctrl core: initialized pinctrl subsystem
    [ 0.107326] DMI not present or invalid.
    [ 0.107815] NET: Registered protocol family 16
    [ 0.110513] DMA: preallocated 256 KiB pool for atomic coherent allocations
    [ 0.136654] l4_wkup_cm:clk:0010:0: failed to disable
    [ 0.189785] cpuidle: using governor ladder
    [ 0.189827] cpuidle: using governor menu
    [ 0.195378] OMAP GPIO hardware version 0.1
    [ 0.204162] No ATAGs?
    [ 0.204177] hw-breakpoint: debug architecture 0x4 unsupported.
    [ 0.219604] edma 49000000.edma: TI EDMA DMA engine driver
    [ 0.222902] SCSI subsystem initialized
    [ 0.223394] media: Linux media interface: v0.10
    [ 0.223442] videodev: Linux video capture interface: v2.00
    [ 0.223545] pps_core: LinuxPPS API ver. 1 registered
    [ 0.223556] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giom>
    [ 0.223581] PTP clock support registered
    [ 0.223621] EDAC MC: Ver: 3.0.0
    [ 0.224832] omap-mailbox 480c8000.mailbox: omap mailbox rev 0x400
    [ 0.225463] Advanced Linux Sound Architecture Driver Initialized.
    [ 0.226784] clocksource: Switched to clocksource timer1
    [ 0.236063] NET: Registered protocol family 2
    [ 0.237132] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096)
    [ 0.237174] TCP established hash table entries: 4096 (order: 2, 16384 bytes)
    [ 0.237223] TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
    [ 0.237270] TCP: Hash tables configured (established 4096 bind 4096)
    [ 0.237388] UDP hash table entries: 256 (order: 0, 4096 bytes)
    [ 0.237410] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
    [ 0.237568] NET: Registered protocol family 1
    [ 0.238235] RPC: Registered named UNIX socket transport module.
    [ 0.238253] RPC: Registered udp transport module.
    [ 0.238261] RPC: Registered tcp transport module.
    [ 0.238268] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [ 0.239314] hw perfevents: enabled with armv7_cortex_a8 PMU driver, 5 countee
    [ 0.240666] Initialise system trusted keyrings
    [ 0.241036] workingset: timestamp_bits=14 max_order=17 bucket_order=3
    [ 0.246143] squashfs: version 4.0 (2009/01/31) Phillip Lougher
    [ 0.247192] NFS: Registering the id_resolver key type
    [ 0.247247] Key type id_resolver registered
    [ 0.247257] Key type id_legacy registered
    [ 0.247315] ntfs: driver 2.1.32 [Flags: R/O].
    [ 0.249858] Key type asymmetric registered
    [ 0.249880] Asymmetric key parser 'x509' registered
    [ 0.249963] Block layer SCSI generic (bsg) driver version 0.4 loaded (major )
    [ 0.249977] io scheduler noop registered
    [ 0.249986] io scheduler deadline registered
    [ 0.250252] io scheduler cfq registered (default)
    [ 0.250266] io scheduler mq-deadline registered
    [ 0.250275] io scheduler kyber registered
    [ 0.252149] pinctrl-single 44e10800.pinmux: 142 pins, size 568
    [ 0.307642] Serial: 8250/16550 driver, 10 ports, IRQ sharing enabled
    [ 0.311927] 44e09000.serial: ttyS0 at MMIO 0x44e09000 (irq = 30, base_baud =0
    [ 0.930645] console [ttyS0] enabled
    [ 0.935470] 48022000.serial: ttyS1 at MMIO 0x48022000 (irq = 31, base_baud =0
    [ 0.946399] omap_rng 48310000.rng: Random Number Generator ver. 20
    [ 0.952848] random: fast init done
    [ 0.956494] random: crng init done
    [ 0.973986] brd: module loaded
    [ 0.984582] loop: module loaded
    [ 0.992483] m25p80 spi1.0: unrecognized JEDEC id bytes: 00, 00, 00
    [ 0.999822] libphy: Fixed MDIO Bus: probed
    [ 1.076879] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6, bus freq 0
    [ 1.084591] libphy: 4a101000.mdio: probed
    [ 1.090857] davinci_mdio 4a101000.mdio: phy[0]: device 4a101000.mdio:00, dri7
    [ 1.099279] davinci_mdio 4a101000.mdio: phy[3]: device 4a101000.mdio:03, dri7
    [ 1.108536] cpsw 4a100000.ethernet: Detected MACID = e4:15:f6:fd:73:d9
    [ 1.115240] cpsw 4a100000.ethernet: initialized cpsw ale version 1.4
    [ 1.121798] cpsw 4a100000.ethernet: ALE Table size 1024
    [ 1.127145] cpsw 4a100000.ethernet: cpts: overflow check period 500 (jiffies)
    [ 1.135254] cpsw 4a100000.ethernet: cpsw: Detected MACID = e4:15:f6:fd:73:db
    [ 1.143832] i2c /dev entries driver
    [ 1.150032] cpuidle: enable-method property 'ti,am3352' found operations
    [ 1.157338] sdhci: Secure Digital Host Controller Interface driver
    [ 1.163553] sdhci: Copyright(c) Pierre Ossman
    [ 1.168533] sdhci-pltfm: SDHCI platform and OF driver helper
    [ 1.174826] ledtrig-cpu: registered to indicate activity on CPUs
    [ 1.185331] NET: Registered protocol family 10
    [ 1.191719] Segment Routing with IPv6
    [ 1.195520] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
    [ 1.202404] NET: Registered protocol family 17
    [ 1.207355] Key type dns_resolver registered
    [ 1.211922] omap_voltage_late_init: Voltage driver support not added
    [ 1.219393] Loading compiled-in X.509 certificates
    [ 1.236119] omap-gpmc 50000000.gpmc: GPMC revision 6.0
    [ 1.241496] gpmc_mem_init: disabling cs 0 mapped at 0x0-0x1000000
    [ 1.249246] nand: device found, Manufacturer ID: 0x2c, Chip ID: 0xdc
    [ 1.255635] nand: Micron MT29F4G08ABADAWP
    [ 1.259741] nand: 512 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB si4
    [ 1.267453] nand: using OMAP_ECC_BCH8_CODE_HW ECC scheme
    [ 1.272938] 10 fixed-partitions partitions found on MTD device omap2-nand.0
    [ 1.279975] Creating 10 MTD partitions on "omap2-nand.0":
    [ 1.285409] 0x000000000000-0x000000020000 : "NAND.SPL"
    [ 1.291834] 0x000000020000-0x000000040000 : "NAND.SPL.backup1"
    [ 1.298777] 0x000000040000-0x000000060000 : "NAND.SPL.backup2"
    [ 1.305554] 0x000000060000-0x000000080000 : "NAND.SPL.backup3"
    [ 1.312422] 0x000000080000-0x0000000c0000 : "NAND.u-boot-spl-os"
    [ 1.319492] 0x0000000c0000-0x0000001c0000 : "NAND.u-boot"
    [ 1.326272] 0x0000001c0000-0x0000001e0000 : "NAND.u-boot-env"
    [ 1.333086] 0x0000001e0000-0x000000200000 : "NAND.u-boot-env.backup1"
    [ 1.340541] 0x000000200000-0x000000a00000 : "NAND.kernel"
    [ 1.350682] 0x000000a00000-0x000010000000 : "NAND.file-system"
    [ 1.473290] gpmc_read_settings_dt: page/burst-length set but not used!
    [ 1.507236] tps65910 0-002d: No interrupt support, no core IRQ
    [ 1.517001] vrtc: supplied by vbat
    [ 1.524575] vio: supplied by vbat
    [ 1.529552] vdd1: supplied by vbat
    [ 1.534888] vdd2: supplied by vbat
    [ 1.541860] vdig1: supplied by vbat
    [ 1.546738] vdig2: supplied by vbat
    [ 1.551630] vpll: supplied by vbat
    [ 1.556414] vdac: supplied by vbat
    [ 1.561249] vaux1: supplied by vbat
    [ 1.566116] vaux2: supplied by vbat
    [ 1.571021] vaux33: supplied by vbat
    [ 1.575982] vmmc: supplied by vbat
    [ 1.580818] vbb: supplied by vbat
    [ 1.585428] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
    [ 1.591599] ubi0: attaching mtd9
    [ 2.763696] ubi0: scanning is finished
    [ 2.787374] ubi0: attached mtd9 (name "NAND.file-system", size 246 MiB)
    [ 2.794042] ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
    [ 2.801010] ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 512
    [ 2.807865] ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096
    [ 2.814860] ubi0: good PEBs: 1965, bad PEBs: 3, corrupted PEBs: 0
    [ 2.821002] ubi0: user volume: 1, internal volumes: 1, max. volumes count: 18
    [ 2.828294] ubi0: max/mean erase counter: 2/0, WL threshold: 4096, image seq6
    [ 2.837398] ubi0: available PEBs: 0, total reserved PEBs: 1965, PEBs reserve7
    [ 2.846757] ubi0: background thread "ubi_bgt0d" started, PID 54
    [ 2.853100] hctosys: unable to open rtc device (rtc0)
    [ 2.858876] ALSA device list:
    [ 2.861871] No soundcards found.
    [ 2.876905] UBIFS (ubi0:0): background thread "ubifs_bgt0_0" started, PID 55
    [ 3.034275] UBIFS (ubi0:0): UBIFS: mounted UBI device 0, volume 0, name "roo"
    [ 3.041827] UBIFS (ubi0:0): LEB size: 126976 bytes (124 KiB), min./max. I/O s
    [ 3.051815] UBIFS (ubi0:0): FS size: 237699072 bytes (226 MiB, 1872 LEBs), j)
    [ 3.062596] UBIFS (ubi0:0): reserved for root: 0 bytes (0 KiB)
    [ 3.068479] UBIFS (ubi0:0): media format: w4/r0 (latest is w5/r0), UUID 58B0l
    [ 3.082155] VFS: Mounted root (ubifs filesystem) on device 0:14.
    [ 3.089753] devtmpfs: mounted
    [ 3.094285] Freeing unused kernel memory: 1024K
    [ 3.099419] Run /sbin/init as init process
    [ 3.429374] systemd[1]: System time before build time, advancing clock.
    [ 3.537251] systemd[1]: systemd 239 running in system mode. (+PAM -AUDIT -SE)
    [ 3.560410] systemd[1]: Detected architecture arm.

    Welcome to Arago 2019.11!

    [ 3.611965] systemd[1]: Set hostname to <am335x-evm>.
    [ 4.122179] systemd[1]: File /lib/systemd/system/systemd-journald.service:36.
    [ 4.139479] systemd[1]: Proceeding WITHOUT firewalling in effect! (This warn)
    [ 4.650072] systemd[1]: Listening on Process Core Dump Socket.
    [ OK ] Listening on Process Core Dump Socket.
    [ 4.695526] systemd[1]: Created slice system-getty.slice.
    [ OK ] Created slice system-getty.slice.
    [ 4.727520] systemd[1]: Reached target Remote File Systems.
    [ OK ] Reached target Remote File Systems.
    [ 4.760007] systemd[1]: Listening on Journal Socket.
    [ OK ] Listening on Journal Socket.
    [ 4.804426] systemd[1]: Mounting Kernel Debug File System...
    Mounting Kernel Debug File System...
    [ OK ] Started Forward Password Requests to Wall Directory Watch.
    [ OK ] Listening on udev Kernel Socket.
    [ OK ] Started Dispatch Password Requests to Console Directory Watch.
    Starting Remount Root and Kernel File Systems...
    [ OK ] Listening on Journal Socket (/dev/log).
    [ OK ] Started Hardware RNG Entropy Gatherer Daemon.
    [ OK ] Listening on udev Control Socket.
    [ OK ] Created slice system-serial\x2dgetty.slice.
    [ OK ] Listening on initctl Compatibility Named Pipe.
    Mounting POSIX Message Queue File System...
    [ OK ] Created slice User and Session Slice.
    [ OK ] Reached target Slices.
    Starting Journal Service...
    [ OK ] Listening on Network Service Netlink Socket.
    Starting udev Coldplug all Devices...
    [ OK ] Reached target Swap.
    Mounting Temporary Directory (/tmp)...
    [ OK ] Reached target Paths.
    Mounting Kernel Configuration File System...
    Starting Apply Kernel Variables...
    [ OK ] Mounted Kernel Debug File System.
    [ OK ] Started Remount Root and Kernel File Systems.
    [ OK ] Mounted POSIX Message Queue File System.
    [ OK ] Mounted Temporary Directory (/tmp).
    [ OK ] Started Journal Service.
    [ OK ] Mounted Kernel Configuration File System.
    [ OK ] Started Apply Kernel Variables.
    Starting Flush Journal to Persistent Storage...
    Starting Create Static Device Nodes in /dev...
    [ 6.037678] systemd-journald[74]: Received request to flush runtime journal 1
    [ OK ] Started Flush Journal to Persistent Storage.
    [ OK ] Started Create Static Device Nodes in /dev.
    Starting udev Kernel Device Manager...
    [ OK ] Reached target Local File Systems (Pre).
    Mounting /var/volatile...
    Mounting /media/ram...
    [ OK ] Reached target Containers.
    [ OK ] Mounted /var/volatile.
    [ OK ] Mounted /media/ram.
    Starting Load/Save Random Seed...
    [ OK ] Reached target Local File Systems.
    Starting Create Volatile Files and Directories...
    [ OK ] Started udev Kernel Device Manager.
    [ OK ] Started Load/Save Random Seed.
    [ OK ] Started Create Volatile Files and Directories.
    Starting Network Time Synchronization...
    Starting Update UTMP about System Boot/Shutdown...
    Starting Network Service...
    [ OK ] Started Update UTMP about System Boot/Shutdown.
    [ OK ] Started Network Service.
    Starting Wait for Network to be Configured...
    Starting Network Name Resolution...
    [ OK ] Started Network Time Synchronization.
    [ OK ] Reached target System Time Synchronized.
    [ OK ] Started Network Name Resolution.
    [ OK ] Reached target Host and Network Name Lookups.
    [ OK ] Reached target Network.
    [ OK ] Found device /dev/ttyS0.
    [ OK ] Started udev Coldplug all Devices.
    [ OK ] Reached target System Initialization.
    [ OK ] Listening on D-Bus System Message Bus Socket.
    [ OK ] Listening on RPCbind Server Activation Socket.
    [ OK ] Listening on Avahi mDNS/DNS-SD Stack Activation Socket.
    [ OK ] Reached target Sockets.
    [ OK ] Reached target Basic System.
    [ OK ] Started Job spooling tools.
    Starting telnetd.service...
    [ OK ] Started Periodic Command Scheduler.
    [ OK ] Started D-Bus System Message Bus.
    Starting RPC Bind Service...
    Starting Permit User Sessions...
    Starting Login Service...
    Starting Print notice about GPLv3 packages...
    Starting Avahi mDNS/DNS-SD Stack...
    [ OK ] Started Daily rotation of log files.
    [ OK ] Started Daily Cleanup of Temporary Directories.
    [ OK ] Reached target Timers.
    [ OK ] Started telnetd.service.
    [ OK ] Started Permit User Sessions.
    [ OK ] Started Getty on tty1.
    [ OK ] Started Serial Getty on ttyS0.
    Starting thttpd.service...
    [ OK ] Started RPC Bind Service.
    [ OK ] Started NFS status monitor for NFSv2/3 locking..
    [ 12.504325] net eth1: initializing cpsw version 1.12 (0)
    [ 12.735866] TI DP83867 4a101000.mdio:00: attached PHY driver [TI DP83867] (m)
    [ 12.971206] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
    [ 13.271594] net eth0: initializing cpsw version 1.12 (0)
    [ OK ] Started thttpd.service.
    [ 13.479527] TI DP83867 4a101000.mdio:03: attached PHY driver [TI DP83867] (m)
    [ 13.688000] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready

    _____ _____ _ _
    | _ |___ ___ ___ ___ | _ |___ ___ |_|___ ___| |_
    | | _| .'| . | . | | __| _| . | | | -_| _| _|
    |__|__|_| |__,|_ |___| |__| |_| |___|_| |___|___|_|
    |___| |___|

    Arago Project http://arago-project.org am335x-evm ttyS0

    Arago 2019.11 am335x-evm ttyS0

  • Hi,

    The PHYs are being identified so that is a good first indication.   

    This Link has an ethernet triage checklist, I would offer to review the list for ideas and to attach the results. Please do not cut and paste into the post as it will make the post very long to read.

    You will need to establish why there is not a link being detected. Use ethtool eth0 to look at the link status, this is described in the checklist.

    Best Regards,

    Schuyler

  • Hi Schuyler,

    Thanks for quick reply, 

    Link is detected and conformed with logs, As per my understand Tx is working fine but RX is not working, Please check the attached logs.   

    * Note : I am unable to attach text file.

    Logs :

    root@am335x-evm:~# ethtool -S eth1
    NIC statistics:
    Good Rx Frames: 0
    Broadcast Rx Frames: 0
    Multicast Rx Frames: 0
    Pause Rx Frames: 0
    Rx CRC Errors: 0
    Rx Align/Code Errors: 0
    Oversize Rx Frames: 0
    Rx Jabbers: 0
    Undersize (Short) Rx Frames: 0
    Rx Fragments: 0
    Rx Octets: 0
    Good Tx Frames: 52
    Broadcast Tx Frames: 12
    Multicast Tx Frames: 40
    Pause Tx Frames: 0
    Deferred Tx Frames: 0
    Collisions: 0
    Single Collision Tx Frames: 0
    Multiple Collision Tx Frames: 0
    Excessive Collisions: 0
    Late Collisions: 0
    Tx Underrun: 0
    Carrier Sense Errors: 0
    Tx Octets: 9804
    Rx + Tx 64 Octet Frames: 0
    Rx + Tx 65-127 Octet Frames: 27
    Rx + Tx 128-255 Octet Frames: 8
    Rx + Tx 256-511 Octet Frames: 17
    Rx + Tx 512-1023 Octet Frames: 0
    Rx + Tx 1024-Up Octet Frames: 0
    Net Octets: 9804
    Rx Start of Frame Overruns: 0
    Rx Middle of Frame Overruns: 0
    Rx DMA Overruns: 0
    Rx DMA chan 0: head_enqueue: 1
    Rx DMA chan 0: tail_enqueue: 127
    Rx DMA chan 0: pad_enqueue: 0
    Rx DMA chan 0: misqueued: 0
    Rx DMA chan 0: desc_alloc_fail: 0
    Rx DMA chan 0: pad_alloc_fail: 0
    Rx DMA chan 0: runt_receive_buf: 0
    Rx DMA chan 0: runt_transmit_bu: 0
    Rx DMA chan 0: empty_dequeue: 0
    Rx DMA chan 0: busy_dequeue: 0
    Rx DMA chan 0: good_dequeue: 0
    Rx DMA chan 0: requeue: 0
    Rx DMA chan 0: teardown_dequeue: 0
    Tx DMA chan 0: head_enqueue: 52
    Tx DMA chan 0: tail_enqueue: 0
    Tx DMA chan 0: pad_enqueue: 0
    Tx DMA chan 0: misqueued: 0
    Tx DMA chan 0: desc_alloc_fail: 0
    Tx DMA chan 0: pad_alloc_fail: 0
    Tx DMA chan 0: runt_receive_buf: 0
    Tx DMA chan 0: runt_transmit_bu: 0
    Tx DMA chan 0: empty_dequeue: 52
    Tx DMA chan 0: busy_dequeue: 0
    Tx DMA chan 0: good_dequeue: 52
    Tx DMA chan 0: requeue: 0
    Tx DMA chan 0: teardown_dequeue: 0

  • Hi,

    You need to prove that the packets are leaving the board first. I would recommend a direct connection between your board and PC running wireshark. I would recommend a PC running Linux. 

    You want to see ARP packets from your board to prove that packets are actually transmitted and do not have any errors. You want to see packets returning to the your board with it's MAC address as the destination.

    Best Regards,

    Schuyler

  • Hi Schuyler,

    Thanks for the continuous reply,

    I connected LAN cable between Board and Linux PC and no packets captured Wire-shark tool so data is not going from board, Please can you help on this issue.

    Thanks and Regards,

    Lakshmi.  

  • Hi,

    Let's concentrate on eth0 for the moment. Does the ethtool eth0 show that there is a link partner? I think it should since the MAC statistics are showing a packet counts.

    Earlier in the post it was mentioned that you were experiencing the link status going up and down, is that still occurring? It that is still the case then this needs to be resolved first. 

    If the link is staying connected then please look at these suggested debug steps. As I mentioned earlier you have to follow the packets, this would be the next step:

    - The MAC statistics are showing a non zero packet count, this indicates that the driver think there is a link partner and there is a link detected.

    - Wireshark is not showing any received packets from your board. So now the reason needs to be found why there are no packets. Look at the MAC statistics using the same command of ethtool -S <ethernet interface> and look for any RX errors like CRC etc. If these errors are occurring then you will need to identify why the packets are leaving the board corrupted. Also bear in mind the packets could be mal-formed as to not even show up as CRC errors for example. I would then recommend attaching to analog side of the PHY on your board to verify data is actually being transmitted.

    - I would also verify the pin mux again. How was the DTS pin mux data done? With the sysconfig tool?

    Best Regards,

    Schuyler