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/AM3359: SMSC LAN9303 problem

Part Number: AM3359

Tool/software: Linux

Hello,

we are working on a board with an SMSC LAN9303 connected to lan port 1 (phy 1) of an AM3359. The chip is supposed to work as a three port switch but it will only work in u-boot and on one single port. I did the modifications in the device tree to activate only one MII slave:

slaves = <1>;
active_slave = <0>;
&cpsw_emac0 {
	phy_id = <&davinci_mdio>, <1>;
	phy-mode = "mii";
};

Linux detects when a cable is connected to the first port, but not the second:

[  545.206961] cpsw 4a100000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
[  545.215343] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

And the correct drivers get loaded at kernel start:

[   10.506777] net eth0: initializing cpsw version 1.12 (0)
[   10.512150] net eth0: initialized cpsw ale version 1.4
[   10.520073] net eth0: ALE Table size 1024
[   10.616538] SMSC LAN911x Internal PHY 4a101000.mdio:01: attached PHY driver [SMSC LAN911x Internal PHY] (mii_bus:phy_addr=4a101000.mdio:01, irq=-1)

I tried to check every single bit in every register of the smsc chip both in u-boot and in Linux and they match, so there must be something else. The output of ethtool (link is detected):

# ethtool eth0
Settings for eth0:
        Supported ports: [ TP MII ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
        Supported pause frame use: Symmetric Receive-only
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
        Advertised pause frame use: Symmetric Receive-only
        Advertised auto-negotiation: Yes
        Link partner advertised link modes:  10baseT/Half 10baseT/Full
                                             100baseT/Half 100baseT/Full
        Link partner advertised pause frame use: Symmetric Receive-only
        Link partner advertised auto-negotiation: Yes
        Speed: 100Mb/s
        Duplex: Full
        Port: MII
        PHYAD: 1
        Transceiver: external
        Auto-negotiation: on
        Supports Wake-on: d
        Wake-on: d
        Current message level: 0x00000000 (0)

        Link detected: yes

Output of ethtool -S eth0:

# ethtool -S eth0
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: 20
     Broadcast Tx Frames: 6
     Multicast Tx Frames: 14
     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: 1508
     Rx + Tx 64 Octet Frames: 6
     Rx + Tx 65-127 Octet Frames: 14
     Rx + Tx 128-255 Octet Frames: 0
     Rx + Tx 256-511 Octet Frames: 0
     Rx + Tx 512-1023 Octet Frames: 0
     Rx + Tx 1024-Up Octet Frames: 0
     Net Octets: 1508
     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: 20
     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: 6
     Tx DMA chan 0: empty_dequeue: 20
     Tx DMA chan 0: busy_dequeue: 0
     Tx DMA chan 0: good_dequeue: 20
     Tx DMA chan 0: requeue: 0
     Tx DMA chan 0: teardown_dequeue: 0

Output of mii-diag:

# mii-diag -v
mii-diag.c:v2.11 3/21/2005 Donald Becker (becker@scyld.com)
 http://www.scyld.com/diag/index.html
Using the default interface 'eth0'.
  Using the new SIOCGMIIPHY value on PHY 1 (BMCR 0x3100).
 The autonegotiated capability is 01e0.
The autonegotiated media type is 100baseTx-FD.
 Basic mode control register 0x3100: Auto-negotiation enabled.
 You have link beat, and everything is working OK.
   This transceiver is capable of  100baseTx-FD 100baseTx 10baseT-FD 10baseT.
   Able to perform Auto-negotiation, negotiation complete.
 Your link partner advertised cde1: Flow-control 100baseTx-FD 100baseTx 10baseT-FD 10baseT, w/ 802.3X flow control.
   End of basic transceiver information.

libmii.c:v2.11 2/28/2005  Donald Becker (becker@scyld.com)
 http://www.scyld.com/diag/index.html
 MII PHY #1 transceiver registers:
   3100 782d 0007 c0d1 0de1 cde1 0009 ffff
   ffff ffff ffff ffff ffff ffff ffff 0000
   0040 0002 00e1 ffff 0000 0000 0000 0000
   ffff ffff 0000 000a 0000 00c8 0000 1058.
 Basic mode control register 0x3100: Auto-negotiation enabled.
 Basic mode status register 0x782d ... 782d.
   Link status: established.
   Capable of  100baseTx-FD 100baseTx 10baseT-FD 10baseT.
   Able to perform Auto-negotiation, negotiation complete.
 Vendor ID is 00:01:f0:--:--:--, model 13 rev. 1.
   No specific information is known about this transceiver type.
 I'm advertising 0de1: Flow-control 100baseTx-FD 100baseTx 10baseT-FD 10baseT
   Advertising no additional info pages.
   IEEE 802.3 CSMA/CD protocol.
 Link partner capability is cde1: Flow-control 100baseTx-FD 100baseTx 10baseT-FD 10baseT.
   Negotiation  completed.

As soon as I try to ping anything, I will get destination unreachable, no packet is going out and the ARP table remains empty. The routes are correctly setup and the interface has the correct IP address: 192.168.2.10 in a 192.168.2.0 subnet and 192.168.2.0 packets are setup to go out to eth0.

Here is the full kernel start log:

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.9.41-ge3a80a1c5c (davide@davide-VirtualBox) (gcc version 6.2.1 20161016 (Linaro GCC 6.2-2016.11) ) #1 PREEMPT Thu Oct 19 16:27:24 CEST 2017
[    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] OF: fdt:Machine model: TI AM335x BeagleBone Black
[    0.000000] cma: Reserved 24 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] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 129920
[    0.000000] Kernel command line: console=ttyO0,115200n8 root=PARTUUID=6c02a432-02 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: 481584K/524288K available (8192K kernel code, 301K rwdata, 2508K rodata, 1024K init, 268K bss, 18128K reserved, 24576K cma-reserved, 0K highmem)
[    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 - 0xc0900000   (9184 kB)
[    0.000000]       .init : 0xc0c00000 - 0xc0d00000   (1024 kB)
[    0.000000]       .data : 0xc0d00000 - 0xc0d4b470   ( 302 kB)
[    0.000000]        .bss : 0xc0d4d000 - 0xc0d90220   ( 269 kB)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] Preemptible hierarchical RCU implementation.
[    0.000000]  Build-time adjustment of leaf fanout to 32.
[    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 25000000 Hz
[    0.000032] sched_clock: 32 bits at 25MHz, resolution 40ns, wraps every 85899345900ns
[    0.000077] clocksource: timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 76450417870 ns
[    0.000103] OMAP clocksource: timer1 at 25000000 Hz
[    0.000967] clocksource_probe: no matching clocksources found
[    0.001309] Console: colour dummy device 80x30
[    0.001362] WARNING: Your 'console=ttyO0' has been replaced by 'ttyS0'
[    0.001380] This ensures that you still see kernel messages. Please
[    0.001396] update your kernel commandline.
[    0.001437] Calibrating delay loop... 298.59 BogoMIPS (lpj=1492992)
[    0.067922] pid_max: default: 32768 minimum: 301
[    0.068237] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.068267] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.069980] CPU: Testing write buffer coherency: ok
[    0.070662] Setting up static identity map for 0x80100000 - 0x80100060
[    0.075886] devtmpfs: initialized
[    0.100618] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
[    0.101399] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.101464] futex hash table entries: 256 (order: -1, 3072 bytes)
[    0.105183] pinctrl core: initialized pinctrl subsystem
[    0.107881] NET: Registered protocol family 16
[    0.112697] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.137337] omap_hwmod: tptc0 using broken dt data from edma
[    0.137675] omap_hwmod: tptc1 using broken dt data from edma
[    0.138046] omap_hwmod: tptc2 using broken dt data from edma
[    0.145329] omap_hwmod: debugss: _wait_target_disable failed
[    0.238005] cpuidle: using governor ladder
[    0.267987] cpuidle: using governor menu
[    0.279246] OMAP GPIO hardware version 0.1
[    0.315291] hw-breakpoint: debug architecture 0x4 unsupported.
[    0.362931] edma 49000000.edma: Legacy memcpy is enabled, things might not work
[    0.378354] edma 49000000.edma: TI EDMA DMA engine driver
[    0.386103] tilcdc_convert_slave_node: ti,tilcdc,slave node successfully converted
[    0.386659] vgaarb: loaded
[    0.387823] SCSI subsystem initialized
[    0.388665] usbcore: registered new interface driver usbfs
[    0.388854] usbcore: registered new interface driver hub
[    0.389075] usbcore: registered new device driver usb
[    0.389864] omap_i2c 44e0b000.i2c: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/pinmux_i2c0_pins, deferring probe
[    0.389989] omap_i2c 4819c000.i2c: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/pinmux_i2c2_pins, deferring probe
[    0.390233] media: Linux media interface: v0.10
[    0.390368] Linux video capture interface: v2.00
[    0.390472] pps_core: LinuxPPS API ver. 1 registered
[    0.390492] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.390553] PTP clock support registered
[    0.390912] EDAC MC: Ver: 3.0.0
[    0.392779] omap-mailbox 480c8000.mailbox: omap mailbox rev 0x400
[    0.393480] Advanced Linux Sound Architecture Driver Initialized.
[    0.396168] clocksource: Switched to clocksource timer1
[    0.422866] NET: Registered protocol family 2
[    0.424550] TCP established hash table entries: 4096 (order: 2, 16384 bytes)
[    0.424686] TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
[    0.424807] TCP: Hash tables configured (established 4096 bind 4096)
[    0.424963] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.425014] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.426064] RPC: Registered named UNIX socket transport module.
[    0.426096] RPC: Registered udp transport module.
[    0.426113] RPC: Registered tcp transport module.
[    0.426130] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.428143] hw perfevents: enabled with armv7_cortex_a8 PMU driver, 5 counters available
[    0.433391] workingset: timestamp_bits=14 max_order=17 bucket_order=3
[    0.453697] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.456125] NFS: Registering the id_resolver key type
[    0.456408] Key type id_resolver registered
[    0.456433] Key type id_legacy registered
[    0.456552] ntfs: driver 2.1.32 [Flags: R/O].
[    0.460716] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 247)
[    0.460760] io scheduler noop registered
[    0.460781] io scheduler deadline registered
[    0.461156] io scheduler cfq registered (default)
[    0.463398] pinctrl-single 44e10800.pinmux: please update dts to use #pinctrl-cells = <1>
[    0.464500] pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568
[    0.626554] Serial: 8250/16550 driver, 10 ports, IRQ sharing disabled
[    0.635723] 44e09000.serial: ttyS0 at MMIO 0x44e09000 (irq = 154, base_baud = 3000000) is a 8250
[    1.276982] console [ttyS0] enabled
[    1.282494] [drm] Initialized
[    1.305277] loop: module loaded
[    1.313291] libphy: Fixed MDIO Bus: probed
[    1.396325] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6
[    1.402497] davinci_mdio 4a101000.mdio: detected phy mask fff8
[    1.425387] libphy: 4a101000.mdio: probed
[    1.429673] davinci_mdio 4a101000.mdio: phy[0]: device 4a101000.mdio:00, driver unknown
[    1.438186] davinci_mdio 4a101000.mdio: phy[1]: device 4a101000.mdio:01, driver SMSC LAN911x Internal PHY
[    1.447931] davinci_mdio 4a101000.mdio: phy[2]: device 4a101000.mdio:02, driver SMSC LAN911x Internal PHY
[    1.457683] davinci_mdio 4a101000.mdio: phy[16]: device 4a101000.mdio:10, driver unknown
[    1.465835] davinci_mdio 4a101000.mdio: phy[17]: device 4a101000.mdio:11, driver unknown
[    1.474026] davinci_mdio 4a101000.mdio: phy[18]: device 4a101000.mdio:12, driver unknown
[    1.482211] davinci_mdio 4a101000.mdio: phy[19]: device 4a101000.mdio:13, driver unknown
[    1.490395] davinci_mdio 4a101000.mdio: phy[20]: device 4a101000.mdio:14, driver unknown
[    1.498577] davinci_mdio 4a101000.mdio: phy[21]: device 4a101000.mdio:15, driver unknown
[    1.506757] davinci_mdio 4a101000.mdio: phy[22]: device 4a101000.mdio:16, driver unknown
[    1.514905] davinci_mdio 4a101000.mdio: phy[23]: device 4a101000.mdio:17, driver unknown
[    1.523084] davinci_mdio 4a101000.mdio: phy[24]: device 4a101000.mdio:18, driver unknown
[    1.531265] davinci_mdio 4a101000.mdio: phy[25]: device 4a101000.mdio:19, driver unknown
[    1.539445] davinci_mdio 4a101000.mdio: phy[26]: device 4a101000.mdio:1a, driver unknown
[    1.547626] davinci_mdio 4a101000.mdio: phy[27]: device 4a101000.mdio:1b, driver unknown
[    1.555774] davinci_mdio 4a101000.mdio: phy[28]: device 4a101000.mdio:1c, driver unknown
[    1.563953] davinci_mdio 4a101000.mdio: phy[29]: device 4a101000.mdio:1d, driver unknown
[    1.572135] davinci_mdio 4a101000.mdio: phy[30]: device 4a101000.mdio:1e, driver unknown
[    1.580316] davinci_mdio 4a101000.mdio: phy[31]: device 4a101000.mdio:1f, driver unknown
[    1.590074] cpsw 4a100000.ethernet: Detected MACID = 88:4a:ea:dc:00:12
[    1.597047] cpsw 4a100000.ethernet: cpts: overflow check period 500 (jiffies)
[    1.607266] pegasus: v0.9.3 (2013/04/25), Pegasus/Pegasus II USB Ethernet driver
[    1.614915] usbcore: registered new interface driver pegasus
[    1.620873] usbcore: registered new interface driver asix
[    1.626501] usbcore: registered new interface driver ax88179_178a
[    1.632755] usbcore: registered new interface driver cdc_ether
[    1.638844] usbcore: registered new interface driver smsc75xx
[    1.644796] usbcore: registered new interface driver smsc95xx
[    1.650746] usbcore: registered new interface driver net1080
[    1.656612] usbcore: registered new interface driver cdc_subset
[    1.662687] usbcore: registered new interface driver zaurus
[    1.668542] usbcore: registered new interface driver cdc_ncm
[    1.675023] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    1.681680] ehci-pci: EHCI PCI platform driver
[    1.686348] ehci-platform: EHCI generic platform driver
[    1.691956] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    1.698295] ohci-pci: OHCI PCI platform driver
[    1.702923] ohci-platform: OHCI generic platform driver
[    1.709362] usbcore: registered new interface driver usb-storage
[    1.716544] mousedev: PS/2 mouse device common for all mice
[    1.723570] i2c /dev entries driver
[    1.730873] cpu cpu0: OPP-v2 not supported, cpufreq-dt will attempt to use legacy tables.
[    1.740551] sdhci: Secure Digital Host Controller Interface driver
[    1.746869] sdhci: Copyright(c) Pierre Ossman
[    1.752324] omap_hsmmc 48060000.mmc: Got CD GPIO
[    1.864537] mmc0: host does not support reading read-only switch, assuming write-enable
[    1.875415] mmc0: new high speed SDHC card at address 0007
[    1.881454] Synopsys Designware Multimedia Card Interface Driver
[    1.882255] sdhci-pltfm: SDHCI platform and OF driver helper
[    1.885268] ledtrig-cpu: registered to indicate activity on CPUs
[    1.885818] usbcore: registered new interface driver usbhid
[    1.885825] usbhid: USB HID core driver
[    1.901918] NET: Registered protocol family 10
[    1.904638] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    1.907181] Key type dns_resolver registered
[    1.907597] omap_voltage_late_init: Voltage driver support not added
[    1.908420] ThumbEE CPU extension supported.
[    1.908454] Registering SWP/SWPB emulation handler
[    1.967113] mmcblk0: mmc0:0007 SD08G 7.42 GiB
[    1.975173]  mmcblk0: p1 p2
[    2.016312] tda998x 0-0070: Error -121 writing to cec:0xff
[    2.021968] tda998x 0-0070: set_page 000a err -121
[    2.040530] random: fast init done
[    2.044774] mmc1: new high speed MMC card at address 0001
[    2.051686] mmcblk1: mmc1:0001 8GME4R 7.28 GiB
[    2.056957] mmcblk1boot0: mmc1:0001 8GME4R partition 1 4.00 MiB
[    2.063468] mmcblk1boot1: mmc1:0001 8GME4R partition 2 4.00 MiB
[    2.076876]  mmcblk1: p1
[    2.096358] tda998x 0-0070: set_page 000a err -121
[    2.166288] tda998x 0-0070: set_page 0001 err -121
[    2.171202] tda998x 0-0070: set_page 0001 err -121
[    2.176105] tda998x 0-0070: set_page 0200 err -121
[    2.181072] tda998x 0-0070: set_page 0201 err -121
[    2.185982] tda998x 0-0070: set_page 0202 err -121
[    2.190931] tda998x 0-0070: set_page 0203 err -121
[    2.195839] tda998x 0-0070: set_page 0204 err -121
[    2.200779] tda998x 0-0070: set_page 0205 err -121
[    2.205684] tda998x 0-0070: set_page 020e err -121
[    2.210632] tda998x 0-0070: set_page 0211 err -121
[    2.215539] tda998x 0-0070: set_page 0207 err -121
[    2.220480] tda998x 0-0070: set_page 0208 err -121
[    2.225388] tda998x 0-0070: set_page 0209 err -121
[    2.230334] tda998x 0-0070: set_page 020a err -121
[    2.235242] tda998x 0-0070: set_page 0206 err -121
[    2.240189] tda998x 0-0070: set_page 0027 err -121
[    2.245097] tda998x 0-0070: set_page 0000 err -121
[    2.250043] tda998x 0-0070: set_page 0002 err -121
[    2.255192] tilcdc 4830e000.lcdc: failed to bind 0-0070 (ops tda998x_ops): -6
[    2.262808] tilcdc 4830e000.lcdc: master bind failed: -6
[    2.283186] tps65217 0-0024: TPS65217 ID 0xe version 1.2
[    2.316731] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
[    2.437802] omap_i2c 4819c000.i2c: bus 2 rev0.11 at 100 kHz
[    2.445780] cpufreq: cpufreq_online: CPU0: Running at unlisted freq: 300000 KHz
[    2.453473] cpufreq: cpufreq_online: CPU0: Unlisted initial frequency changed to: 500000 KHz
[    2.463058] hctosys: unable to open rtc device (rtc0)
[    2.469724] ALSA device list:
[    2.472787]   No soundcards found.
[    6.487141] EXT4-fs (mmcblk0p2): recovery complete
[    6.496528] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[    6.504818] VFS: Mounted root (ext4 filesystem) on device 179:2.
[    6.522800] devtmpfs: mounted
[    6.531200] Freeing unused kernel memory: 1024K (c0c00000 - c0d00000)
[    6.786098] NET: Registered protocol family 1
[    6.868375] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
Starting logging: OK
Populating /dev using udev: [    7.550419] udevd[94]: starting version 3.2.2
[    7.651563] udevd[95]: starting eudev-3.2.2
[    8.328481] omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
[    8.387219] omap_rtc 44e3e000.rtc: rtc core: registered 44e3e000.rtc as rtc0
[    8.550865] omap_rng 48310000.rng: OMAP Random Number Generator ver. 20
[    8.788600] omap-sham 53100000.sham: hw accel on OMAP rev 4.3
[    8.879397] omap-aes 53500000.aes: OMAP AES hw accel rev: 3.2
[    8.903903] omap-aes 53500000.aes: will run requests pump with realtime priority
[    8.935807] PM: Cannot get wkup_m3_ipc handle
[    9.005209] PM: Cannot get wkup_m3_ipc handle
[    9.931710] PM: Cannot get wkup_m3_ipc handle
[    9.951794] 47401300.usb-phy supply vcc not found, using dummy regulator
[   10.000944] PM: Cannot get wkup_m3_ipc handle
[   10.006091] 47401b00.usb-phy supply vcc not found, using dummy regulator
[   10.046009] PM: Cannot get wkup_m3_ipc handle
[   10.069645] musb-hdrc musb-hdrc.0: MUSB HDRC host driver
[   10.075046] musb-hdrc musb-hdrc.0: new USB bus registered, assigned bus number 1
[   10.148526] hub 1-0:1.0: USB hub found
[   10.168539] hub 1-0:1.0: 1 port detected
[   10.189627] PM: Cannot get wkup_m3_ipc handle
[   10.203621] PM: Cannot get wkup_m3_ipc handle
[   10.244829] PM: Cannot get wkup_m3_ipc handle
[   10.256680] PM: Cannot get wkup_m3_ipc handle
done
Initializing random number generator... done.
Starting network: [   10.506777] net eth0: initializing cpsw version 1.12 (0)
[   10.512150] net eth0: initialized cpsw ale version 1.4
[   10.520073] net eth0: ALE Table size 1024
[   10.616538] SMSC LAN911x Internal PHY 4a101000.mdio:01: attached PHY driver [SMSC LAN911x Internal PHY] (mii_bus:phy_addr=4a101000.mdio:01, irq=-1)
[   10.640221] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
OK
Starting ntpd: OK
Starting php-fpm  done
Starting dropbear sshd: OK
Starting nginx...
Starting smsd: OK
Starting sshd: OK
Thu Oct 19 00:00:00 UTC 2017
Enabling modem...
Starting modem connection...
Starting OpenVPN server...
OK
Starting openvpn: openvpn.
Starting mysql...done.
[   14.556743] tun: Universal TUN/TAP device driver, 1.6
[   14.561861] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>

Welcome to Buildroot
buildroot login: 171019 00:00:02 mysqld_safe Logging to '/var/mysql/buildroot.err'.
171019 00:00:03 mysqld_safe Starting mysqld daemon with databases from /var/mysql
[   48.212533] random: crng init done
[  545.206961] cpsw 4a100000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
[  545.215343] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
  • The software team have been notified. They will respond here.
  • Hi,
    Looking at you console log I am seeing some outputs that kind of strange. The console log is showing that board has 19 PHYs on it? Is this correct? To me this is a concern since I only see two phys defined in the DTS.

    Unfortunately I will not be able to help you since TI does not support connecting the mac to external switches. I can try to offer a few pointers though but I think you will have to contact the switch vendor concerning your questions.

    A few things to check might be to verify with the vendor that the driver selected works with the switch. Typcially I thought the SMSC LAN911x was a PHY only driver, that is a guess as that is another vendor's driver. The console log is showing the SMSC LAN911x is identified as the driver for PHYs 1 and 2. Typically an external switch will use a single PHY node defintion that is "fixed". The fixed mode means that the link is always up between the mac and the swtich. The actual PHYs would not be defined as the SOC MDIO driver probably is not concerned with the actual PHYs.

    Regards,
    Schuyler
  • One more suggestion is that I think you will need to verify with the switch manufacturer about Distributed Switch Architecture support for the switch driver. There is a linux community effort around this topic that will probably be able to provide additional support.