This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Linux: AM335x Ethernet not getting up

Other Parts Discussed in Thread: TPS65217

Tool/software: Linux

Hello Friends
I am getting this problem with Buildroot.

Starting network: udhcpc: started, v1.27.2
[    2.928374] net eth0: initializing cpsw version 1.12 (0)
[    2.933951] net eth0: initialized cpsw ale version 1.4
[    2.939382] net eth0: ALE Table size 1024
[    2.945195] libphy: PHY 4a101000.mdio:00 not found
[    2.950239] net eth0: phy "4a101000.mdio:00" not found on slave 0, err -19
[    2.957426] libphy: PHY 4a101000.mdio:01 not found
[    2.962456] net eth0: phy "4a101000.mdio:01" not found on slave 1, err -19
[    2.980308] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
udhcpc: sending discover
udhcpc: sending discover
udhcpc: sending discover
udhcpc: no lease, failing
Failed to bring up eth0.
FAIL
Starting dhcpcd...
no interfaces have a carrier
forked to background, child pid 149
Starting Network Interface Plugging Daemon: eth0.
Starting ntpd: OK
Starting dropbear sshd: [   12.722674] random: dropbear: uninitialized urandom read (32 bytes read, 29 bits of entropy available)
OK
Starting vsftpd: OK

Welcome to Buildroot
buildroot login: root
Password:
# ifconfig
eth0      Link encap:Ethernet  HWaddr E8:EB:11:28:E6:73 
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:174

The IP does not get assigned and I have power reboot my system couple of times to get the IP assignment.
I am using 4.4.41 kernel version and glibc.

  • Hi,

    I will assume for the moment that you are working with a custom board. If you have ethtool in the buildroot file system that you are using does it so a link detected? I suspect at the moment is that you are not getting a reliable link connection with the link partner and this line from the boot log may confirm this.

    no interfaces have a carrier

    Since you are indicating that after several boots you finally get an ip address , is this line changing and reporting a PHY was found on the MDIO bus?

    net eth0: phy "4a101000.mdio:00" not found on slave 0, err -19

    Best Regards,
    Schuyler
  • Hello Schuyler

    We are using BB Black Rev C. Please let me know If you require any other information.

    Other people have been facing this problem and have suggested a patch. This is the link of the patch.

    https://raw.githubusercontent.com/RobertCNelson/bb-kernel/am33x-v4.4/patches/beaglebone/phy/0001-cpsw-search-for-phy.patch

    Is that a hardware issue ? What is the solution ?

    Br

    Anuj

  • Hi,

    Thank you for info on the board you are using. As you pointed out other people have seen this issue. Without the full boot log I cannot completely say yet if this is the issue the patch you found addresses. The suspected issue is that during power up the PHY is latching it's addresses incorrectly. The patch is adding code that updates the DT based on the reported address found. In the boot log you should PHY driver found a PHY at an address other than 0.

    To get around the issue you could apply the patch but most likely it will not apply cleanly due to the overlays being used, the TI kernel does not support overlays where as the beagle bone community does. The Beagle community owns the Beagle Bone Black and this hardware issue would require a board design fix to ensure the correct PHY address is always latched. Please note that patch is a work-around and should not be used as a permanent fix as there is board specific information being placed in a kernel driver.

    Best Regards,
    Schuyler
  • Hello Schulyer
    Please see the terminal log. Please suggest any changes workaround If possible to resolve this issue.
    Br
    Anuj

    OPTIONS: I18n
    Compiled on Jan 1 2014, 17:13:19.
    Port /dev/ttyUSB0, 08:45:20

    Press CTRL-A Z for help on special keys


    U-Boot SPL 2016.01-00001-g4eb802e (Jan 13 2016 - 11:14:31)
    Trying to boot from MMC
    bad magic


    U-Boot 2016.01-00001-g4eb802e (Jan 13 2016 - 11:14:31 -0600), Build: jenkins-github_Bootloader-Builder-313

    Watchdog enabled
    I2C: ready
    DRAM: 512 MiB
    Reset Source: Power-on reset has occurred.
    MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
    Using default environment

    Net: <ethaddr> not set. Validating first E-fuse MAC
    Could not get PHY for cpsw: addr 0
    cpsw, usb_ether
    Press SPACE to abort autoboot in 2 seconds
    switch to partitions #0, OK
    mmc0 is current device
    Scanning mmc 0:1...
    gpio: pin 56 (gpio 56) value is 0
    gpio: pin 55 (gpio 55) value is 0
    gpio: pin 54 (gpio 54) value is 0
    gpio: pin 53 (gpio 53) value is 1
    switch to partitions #0, OK
    mmc0 is current device
    gpio: pin 54 (gpio 54) value is 1
    Checking for: /uEnv.txt ...
    reading uEnv.txt
    186 bytes read in 5 ms (36.1 KiB/s)
    gpio: pin 55 (gpio 55) value is 1
    Loaded environment from uEnv.txt
    Importing environment from mmc ...
    Checking if uenvcmd is set ...
    gpio: pin 56 (gpio 56) value is 1
    Running uenvcmd ...
    reading /zImage
    4968592 bytes read in 271 ms (17.5 MiB/s)
    loading /am335x-boneblack.dtb ...
    reading /am335x-boneblack.dtb
    31692 bytes read in 8 ms (3.8 MiB/s)
    bootargs=console=ttyO0,115200n8 root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait
    Kernel image @ 0x82000000 [ 0x000000 - 0x4bd090 ]
    ## Flattened Device Tree blob at 88000000
    Booting using the fdt blob at 0x88000000
    Loading Device Tree to 8fff5000, end 8ffffbcb ... OK

    Starting kernel ...

    [ 0.000000] Booting Linux on physical CPU 0x0
    [ 0.000000] Initializing cgroup subsys cpuset
    [ 0.000000] Initializing cgroup subsys cpu
    [ 0.000000] Initializing cgroup subsys cpuacct
    [ 0.000000] Linux version 4.4.8 (root@Ubuntu17) (gcc version 7.3.0 (Buildroot 2018.08-git-00296-gfaf5041) ) #2 SMP Wed Jun 20 10:20:22 IST 28
    [ 0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d
    [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
    [ 0.000000] Machine model: TI AM335x BeagleBone Black
    [ 0.000000] cma: Reserved 16 MiB at 0x9e800000
    [ 0.000000] Memory policy: Data cache writeback
    [ 0.000000] CPU: All CPU(s) started in SVC mode.
    [ 0.000000] AM335X ES2.1 (sgx neon )
    [ 0.000000] PERCPU: Embedded 14 pages/cpu @df916000 s24936 r8192 d24216 u57344
    [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 129408
    [ 0.000000] Kernel command line: console=ttyO0,115200n8 root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait
    [ 0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
    [ 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: 481964K/522240K available (6712K kernel code, 746K rwdata, 2244K rodata, 448K init, 8263K bss, 23892K reserved, 16384K c)
    [ 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 : 0xc0008000 - 0xc08c7594 (8958 kB)
    [ 0.000000] .init : 0xc08c8000 - 0xc0938000 ( 448 kB)
    [ 0.000000] .data : 0xc0938000 - 0xc09f2ad8 ( 747 kB)
    [ 0.000000] .bss : 0xc09f5000 - 0xc1206cd0 (8264 kB)
    [ 0.000000] Running RCU self tests
    [ 0.000000] Hierarchical RCU implementation.
    [ 0.000000] RCU lockdep checking is enabled.
    [ 0.000000] Build-time adjustment of leaf fanout to 32.
    [ 0.000000] RCU restricting CPUs from NR_CPUS=2 to nr_cpu_ids=1.
    [ 0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=32, nr_cpu_ids=1
    [ 0.000000] NR_IRQS:16 nr_irqs:16 16
    [ 0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
    [ 0.000000] OMAP clockevent source: timer2 at 24000000 Hz
    [ 0.000014] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
    [ 0.000035] clocksource: timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
    [ 0.000080] OMAP clocksource: timer1 at 24000000 Hz
    [ 0.000887] Console: colour dummy device 80x30
    [ 0.000941] Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar
    [ 0.000950] ... MAX_LOCKDEP_SUBCLASSES: 8
    [ 0.000957] ... MAX_LOCK_DEPTH: 48
    [ 0.000965] ... MAX_LOCKDEP_KEYS: 8191
    [ 0.000973] ... CLASSHASH_SIZE: 4096
    [ 0.000980] ... MAX_LOCKDEP_ENTRIES: 32768
    [ 0.000988] ... MAX_LOCKDEP_CHAINS: 65536
    [ 0.000995] ... CHAINHASH_SIZE: 32768
    [ 0.001002] memory used by lock dependency info: 5167 kB
    [ 0.001010] per task-struct memory footprint: 1536 bytes
    [ 0.001036] Calibrating delay loop... 996.14 BogoMIPS (lpj=4980736)
    [ 0.078812] pid_max: default: 32768 minimum: 301
    [ 0.079176] Security Framework initialized
    [ 0.079296] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [ 0.079310] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
    [ 0.082174] Initializing cgroup subsys io
    [ 0.082274] Initializing cgroup subsys memory
    [ 0.082357] Initializing cgroup subsys devices
    [ 0.082435] Initializing cgroup subsys freezer
    [ 0.082556] Initializing cgroup subsys perf_event
    [ 0.082622] CPU: Testing write buffer coherency: ok
    [ 0.084249] CPU0: thread -1, cpu 0, socket -1, mpidr 0
    [ 0.084372] Setting up static identity map for 0x80008280 - 0x800082f0
    [ 0.088012] Brought up 1 CPUs
    [ 0.088033] SMP: Total of 1 processors activated (996.14 BogoMIPS).
    [ 0.088044] CPU: All CPU(s) started in SVC mode.
    [ 0.092062] devtmpfs: initialized
    [ 0.123370] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
    [ 0.165280] omap_hwmod: tptc0 using broken dt data from edma
    [ 0.165739] omap_hwmod: tptc1 using broken dt data from edma
    [ 0.166191] omap_hwmod: tptc2 using broken dt data from edma
    [ 0.227060] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
    [ 0.229547] pinctrl core: initialized pinctrl subsystem
    [ 0.234477] NET: Registered protocol family 16
    [ 0.240161] DMA: preallocated 256 KiB pool for atomic coherent allocations
    [ 0.242168] cpuidle: using governor ladder
    [ 0.242195] cpuidle: using governor menu
    [ 0.251643] OMAP GPIO hardware version 0.1
    [ 0.272590] No ATAGs?
    [ 0.272623] hw-breakpoint: debug architecture 0x4 unsupported.
    [ 0.273166] omap4_sram_init:Unable to allocate sram needed to handle errata I688
    [ 0.273182] omap4_sram_init:Unable to get sram pool needed to handle errata I688
    [ 0.297994] edma 49000000.edma: Legacy memcpy is enabled, things might not work
    [ 0.314154] edma 49000000.edma: TI EDMA DMA engine driver
    [ 0.318128] SCSI subsystem initialized
    [ 0.320168] omap_i2c 44e0b000.i2c: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/pinmux_i2c0_pins, deferring pe
    [ 0.320274] omap_i2c 4819c000.i2c: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/pinmux_i2c2_pins, deferring pe
    [ 0.320517] pps_core: LinuxPPS API ver. 1 registered
    [ 0.320528] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [ 0.320582] PTP clock support registered
    [ 0.324498] clocksource: Switched to clocksource timer1
    [ 0.465696] NET: Registered protocol family 2
    [ 0.467686] TCP established hash table entries: 4096 (order: 2, 16384 bytes)
    [ 0.467780] TCP bind hash table entries: 4096 (order: 5, 147456 bytes)
    [ 0.468974] TCP: Hash tables configured (established 4096 bind 4096)
    [ 0.469170] UDP hash table entries: 256 (order: 2, 20480 bytes)
    [ 0.469342] UDP-Lite hash table entries: 256 (order: 2, 20480 bytes)
    [ 0.470184] NET: Registered protocol family 1
    [ 0.471899] RPC: Registered named UNIX socket transport module.
    [ 0.471919] RPC: Registered udp transport module.
    [ 0.471929] RPC: Registered tcp transport module.
    [ 0.471939] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [ 0.474295] hw perfevents: enabled with armv7_cortex_a8 PMU driver, 5 counters available
    [ 0.478810] futex hash table entries: 256 (order: 2, 16384 bytes)
    [ 0.479041] audit: initializing netlink subsys (disabled)
    [ 0.479289] audit: type=2000 audit(0.470:1): initialized
    [ 0.484044] VFS: Disk quotas dquot_6.6.0
    [ 0.484319] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
    [ 0.486957] NFS: Registering the id_resolver key type
    [ 0.487318] Key type id_resolver registered
    [ 0.487332] Key type id_legacy registered
    [ 0.487529] jffs2: version 2.2. (NAND) (SUMMARY) © 2001-2006 Red Hat, Inc.
    [ 0.492743] io scheduler noop registered
    [ 0.492782] io scheduler deadline registered
    [ 0.492838] io scheduler cfq registered (default)
    [ 0.495049] pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568
    [ 0.497524] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
    [ 0.503010] omap_uart 44e09000.serial: no wakeirq for uart0
    [ 0.503586] 44e09000.serial: ttyO0 at MMIO 0x44e09000 (irq = 155, base_baud = 3000000) is a OMAP UART0
    [ 1.243571] console [ttyO0] enabled
    [ 1.248984] omap_uart 48024000.serial: no wakeirq for uart2
    [ 1.255281] 48024000.serial: ttyO2 at MMIO 0x48024000 (irq = 156, base_baud = 3000000) is a OMAP UART2
    [ 1.301363] brd: module loaded
    [ 1.327132] loop: module loaded
    [ 1.332848] mtdoops: mtd device (mtddev=name/number) must be supplied
    [ 1.404512] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6
    [ 1.410896] davinci_mdio 4a101000.mdio: detected phy mask fffffffb
    [ 1.418021] davinci_mdio: dt: updated phy_id[2] from phy_mask[fffffffb]
    [ 1.425077] davinci_mdio: dt: updated phy_id[3] from phy_mask[fffffffb]
    [ 1.435915] libphy: 4a101000.mdio: probed
    [ 1.440129] davinci_mdio 4a101000.mdio: phy[2]: device 4a101000.mdio:02, driver SMSC LAN8710/LAN8720
    [ 1.451034] cpsw 4a100000.ethernet: Detected MACID = e8:eb:11:28:e6:73
    [ 1.462969] mousedev: PS/2 mouse device common for all mice
    [ 1.468979] i2c /dev entries driver
    [ 1.474288] omap_hsmmc 48060000.mmc: Got CD GPIO
    [ 1.481239]
    [ 1.482807] =====================================
    [ 1.487715] [ BUG: bad unlock balance detected! ]
    [ 1.492626] 4.4.8 #2 Not tainted
    [ 1.495991] -------------------------------------
    [ 1.500899] swapper/0/1 is trying to release lock (&rdev->mutex) at:
    [ 1.507571] [<c03b9438>] regulator_set_voltage+0x40/0x54
    [ 1.513114] but there are no more locks to release!
    [ 1.518201]
    [ 1.518201] other info that might help us debug this:
    [ 1.525015] 2 locks held by swapper/0/1:
    [ 1.529105] #0: (&dev->mutex){......}, at: [<c03f6008>] __driver_attach+0x40/0x90
    [ 1.537138] #1: (&dev->mutex){......}, at: [<c03f6018>] __driver_attach+0x50/0x90
    [ 1.545162]
    [ 1.545162] stack backtrace:
    [ 1.549712] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.4.8 #2
    [ 1.555799] Hardware name: Generic AM33XX (Flattened Device Tree)
    [ 1.562176] [<c0017dfc>] (unwind_backtrace) from [<c0013ffc>] (show_stack+0x10/0x14)
    [ 1.570268] [<c0013ffc>] (show_stack) from [<c035b5f8>] (dump_stack+0xb0/0xe8)
    [ 1.577814] [<c035b5f8>] (dump_stack) from [<c008f964>] (print_unlock_imbalance_bug+0xac/0xdc)
    [ 1.586808] [<c008f964>] (print_unlock_imbalance_bug) from [<c00945cc>] (lock_release+0x2f0/0x454)
    [ 1.596168] [<c00945cc>] (lock_release) from [<c06642d4>] (__mutex_unlock_slowpath+0xb4/0x1a4)
    [ 1.605163] [<c06642d4>] (__mutex_unlock_slowpath) from [<c03b9438>] (regulator_set_voltage+0x40/0x54)
    [ 1.614894] [<c03b9438>] (regulator_set_voltage) from [<c04c9c20>] (mmc_regulator_set_ocr+0x40/0xc8)
    [ 1.624440] [<c04c9c20>] (mmc_regulator_set_ocr) from [<c04e15ec>] (omap_hsmmc_set_power+0x8c/0x1d8)
    [ 1.633978] [<c04e15ec>] (omap_hsmmc_set_power) from [<c04e18b8>] (omap_hsmmc_set_ios+0x180/0x320)
    [ 1.643336] [<c04e18b8>] (omap_hsmmc_set_ios) from [<c04cb0a0>] (mmc_power_up.part.8+0x30/0xf8)
    [ 1.652422] [<c04cb0a0>] (mmc_power_up.part.8) from [<c04cbfb8>] (mmc_start_host+0x90/0xa8)
    [ 1.661146] [<c04cbfb8>] (mmc_start_host) from [<c04cd100>] (mmc_add_host+0x5c/0x84)
    [ 1.669233] [<c04cd100>] (mmc_add_host) from [<c04e0f8c>] (omap_hsmmc_probe+0x498/0xa6c)
    [ 1.677686] [<c04e0f8c>] (omap_hsmmc_probe) from [<c03f79b0>] (platform_drv_probe+0x50/0xac)
    [ 1.686498] [<c03f79b0>] (platform_drv_probe) from [<c03f5ec8>] (driver_probe_device+0x1e8/0x2e8)
    [ 1.695764] [<c03f5ec8>] (driver_probe_device) from [<c03f6054>] (__driver_attach+0x8c/0x90)
    [ 1.704576] [<c03f6054>] (__driver_attach) from [<c03f4330>] (bus_for_each_dev+0x4c/0x9c)
    [ 1.713115] [<c03f4330>] (bus_for_each_dev) from [<c03f5488>] (bus_add_driver+0x17c/0x210)
    [ 1.721746] [<c03f5488>] (bus_add_driver) from [<c03f6aac>] (driver_register+0x78/0xf4)
    [ 1.730107] [<c03f6aac>] (driver_register) from [<c00097ec>] (do_one_initcall+0x80/0x1e0)
    [ 1.738653] [<c00097ec>] (do_one_initcall) from [<c08c8ea0>] (kernel_init_freeable+0x1fc/0x2c8)
    [ 1.747748] [<c08c8ea0>] (kernel_init_freeable) from [<c065fb90>] (kernel_init+0x8/0xe8)
    [ 1.756203] [<c065fb90>] (kernel_init) from [<c000f8b0>] (ret_from_fork+0x14/0x24)
    [ 1.795169] omap_hsmmc 481d8000.mmc: GPIO lookup for consumer cd
    [ 1.801455] omap_hsmmc 481d8000.mmc: using device tree for GPIO lookup
    [ 1.808356] of_get_named_gpiod_flags: can't parse 'cd-gpios' property of node '/ocp/mmc@481d8000[0]'
    [ 1.817921] of_get_named_gpiod_flags: can't parse 'cd-gpio' property of node '/ocp/mmc@481d8000[0]'
    [ 1.827388] omap_hsmmc 481d8000.mmc: using lookup tables for GPIO lookup
    [ 1.834410] omap_hsmmc 481d8000.mmc: lookup for GPIO cd failed
    [ 1.840508] omap_hsmmc 481d8000.mmc: GPIO lookup for consumer wp
    [ 1.846801] omap_hsmmc 481d8000.mmc: using device tree for GPIO lookup
    [ 1.853618] of_get_named_gpiod_flags: can't parse 'wp-gpios' property of node '/ocp/mmc@481d8000[0]'
    [ 1.863173] of_get_named_gpiod_flags: can't parse 'wp-gpio' property of node '/ocp/mmc@481d8000[0]'
    [ 1.872638] omap_hsmmc 481d8000.mmc: using lookup tables for GPIO lookup
    [ 1.879655] omap_hsmmc 481d8000.mmc: lookup for GPIO wp failed
    [ 1.924665] ledtrig-cpu: registered to indicate activity on CPUs
    [ 1.931747] oprofile: using arm/armv7
    [ 1.936077] Initializing XFRM netlink socket
    [ 1.940675] NET: Registered protocol family 10
    [ 1.947054] sit: IPv6 over IPv4 tunneling driver
    [ 1.953052] NET: Registered protocol family 17
    [ 1.957851] NET: Registered protocol family 15
    [ 1.962635] Key type dns_resolver registered
    [ 1.967313] omap_voltage_late_init: Voltage driver support not added
    [ 1.973964] sr_dev_init: No voltage domain specified for smartreflex0. Cannot initialize
    [ 1.982453] sr_dev_init: No voltage domain specified for smartreflex1. Cannot initialize
    [ 1.991490] ThumbEE CPU extension supported.
    [ 1.996036] Registering SWP/SWPB emulation handler
    [ 2.001055] SmartReflex Class3 initialized
    [ 2.018730] mmc0: host does not support reading read-only switch, assuming write-enable
    [ 2.033299] mmc0: new high speed SDHC card at address aaaa
    [ 2.041041] mmcblk0: mmc0:aaaa SS08G 7.40 GiB
    [ 2.050084] tps65217 0-0024: TPS65217 ID 0xe version 1.2
    [ 2.056280] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
    [ 2.063040] mmcblk0: p1 p2
    [ 2.069334] omap_i2c 4819c000.i2c: bus 2 rev0.11 at 100 kHz
    [ 2.079325] hctosys: unable to open rtc device (rtc0)
    [ 2.084712] sr_init: No PMIC hook to init smartreflex
    [ 2.090146] sr_init: platform driver register failed for SR
    [ 2.149148] mmc1: MAN_BKOPS_EN bit is not set
    [ 2.161381] mmc1: new high speed MMC card at address 0001
    [ 2.168655] mmcblk1: mmc1:0001 M62704 3.56 GiB
    [ 2.174005] mmcblk1boot0: mmc1:0001 M62704 partition 1 2.00 MiB
    [ 2.180988] mmcblk1boot1: mmc1:0001 M62704 partition 2 2.00 MiB
    [ 2.188931] mmcblk1: p1
    [ 2.209066] EXT4-fs (mmcblk0p2): recovery complete
    [ 2.219174] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
    [ 2.227791] VFS: Mounted root (ext4 filesystem) on device 179:2.
    [ 2.238318] devtmpfs: mounted
    [ 2.242105] Freeing unused kernel memory: 448K (c08c8000 - c0938000)
    [ 2.377195] EXT4-fs (mmcblk0p2): re-mounted. Opts: data=ordered
    [ 2.407060] devpts: called with bogus options
    Starting logging: OK
    Initializing random number generator... [ 2.573868] random: dd urandom read with 10 bits of entropy available
    done.
    Starting network: [ 2.736284] net eth0: initializing cpsw version 1.12 (0)
    [ 2.744231] net eth0: phy found : id is : 0x7c0f1
    [ 2.749423] libphy: PHY 4a101000.mdio:03 not found
    [ 2.754507] net eth0: phy 4a101000.mdio:03 not found on slave 1
    [ 2.767698] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
    udhcpc: started, v1.28.4
    udhcpc: sending discover
    udhcpc: sending discover
    udhcpc: sending discover
    udhcpc: no lease, failing
    FAIL
    Starting ntpd: OK
    Starting vsftpd: OK
  • Hi,

    Thanks for posting the boot log, the issue is as I described in the previous post . The PHY is not latching the correct address, it should be 0 but it is identifying as being address 2. The DTS is defining a PHY at address 0 and when the cpsw goes to look at link detection it is not finding the PHY and there the interface does not come up. The patch is modifying the Devive Tree "on the fly" in memory so that when the interface initializes it will have the updated PHY address.

    davinci_mdio 4a101000.mdio: phy[2]: device 4a101000.mdio:02, driver SMSC LAN8710/LAN8720

    The patch would work as a work-around but it would most likely have to be applied manually. By the kernel version in the boot log it looks like you are using a community kernel so the patch might apply. I need to point that the patch is work-around and should not be used on a custom board as this is a HW issue with the BBB. For a production custom board the PHY should latch the correct address always as well as the other attributes it is configured for.

    Best Regards,
    Schuyler
  • Hello Schuyler

    Is there anything which can be done on BB to get this problem rectified ?

    Br

    Anuj

  • Hi,

    The Beagle Bone Black is considered a development board and one that TI does not support from a HW perspective and somewhat limited from a SW perspective. HW support is something the Beagle community does. This PHY address latching problem does not prevent the board from being a development or experimentation platform. The BBB has been used as starting base for a significant number of AM335x designs. Are you trying to use the BBB as an actual product board?

    Best Regards,
    Schuyler
  • Hello Schuyler
    I need to reboot my board repeatedly for the IP assignment and that's the whole problem. If someone is developing an IOT based solution taking this as development board then it is a problem, the board will simply not get the IP If there is power recycle , I am surprised that even after knowing the issue nothing has been done.
    Seems like TI does not have solution to this issue.
    Br
    Anuj
  • Hi,

    TI only offers an SDK that will run the BBB. I understand your frustration in that there looks to be patch that TI could apply but application of the patch mentioned here would be rejected when submitted to mainline. The goal of all Kernel driver development work TI does is to be accepted by the mainline kernel maintainers. TI does not have a solution to the PHY address latching problem as TI does not own or maintain the HW design for the Beagle Bone Black, the Beagle community does. The only suggestion I have is to contact the Beagle community concerning this issue and see if there is a HW fix recommended.

    Best Regards,
    Schuyler