MAC-ENET doesn't send data in TX

cancel
Showing results for 
Search instead for 
Did you mean: 

MAC-ENET doesn't send data in TX

657 Views
torbenlüdeking
Contributor II

Hello everyone,

We are currently trying to get Linux running on our custom Board.

At this point i'm realy exhausted because of the MAC_ENET.

The Kernel Source we are using is intended for the Vybrid and we are just modifing it

to fit our needs. The Bootloader which is loading the Kernel and preparing the clock settings, is our

own source.

On boot the PHY controller is found and the corresponding driver is loaded. Additionaly

i get informed if the ethernet-cable is pluged in. I assume this information are transfered via MDIO.

But at the point where "sending discover..." is issued by BusyBox i cant see any action on the

TXEN Pin(Oscilloscope used).

My question is now, what could be the Problem assuming, that the Kernel code is correct.

//Kernelcode works with the corresponding example board. Based on the fact, that the action i want to see is pure vybrid and not depending on the architekture/board below.

Tags (5)
9 Replies

178 Views
rendy
NXP Employee
NXP Employee

Hi, have you tried to enable the internal MAC loopback to find out whether the issue is in MAC or in PHY?

Regards

Rene

178 Views
timesyssupport
Senior Contributor II

Hello Torben,

We are not in possession of ArmstoneA5 hardware,  it is a Vybrid variant we are not currently supporting in our own Vybrid efforts. Given that you are using a completely custom bootloader, this issue could be the result of improper initialization of the hardware there. Is this issue booting your custom bootloader, or the reference U-boot provided by F&S? As we are not supporting this hardware currently, perhaps an F&S engineer can assist karinavalencia?

Thank you,

Timesys Support

178 Views
karina_valencia
NXP Apps Support
NXP Apps Support

rendy can you help here?

0 Kudos

178 Views
karina_valencia
NXP Apps Support
NXP Apps Support

reminder

rendy can you help here?

0 Kudos

178 Views
karina_valencia
NXP Apps Support
NXP Apps Support

rendy​ any update?

0 Kudos

178 Views
timesyssupport
Senior Contributor II

Hello Torben,

Can you provide details on U-boot version (or is this a completely custom bootloader?), Linux kernel version, and what reference hardware your design is based on?

Can you also provide a boot log?

Thank you,

Timesys Support

0 Kudos

178 Views
torbenlüdeking
Contributor II

Hello Timesys,

The Bootloader is a completely custom Bootloader. We are running Linux Kernel Version 3.0.15 based on the kernel sources for the the armstoneA5 produced by F+S Net.

Linux Kernel wrote:

Linux version 3.0.15 (torben@Torben) (gcc version 4.7.2 (crosstool-NG 1.18.0) ) #230 Wed Apr 22 16:25:23 CEST 2015

CPU: ARMv7 Processor [410fc051] revision 1 (ARMv7), cr=10c53c7d

CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache

Memory policy: ECC disabled, Data cache writeback

On node 0 totalpages: 128000

free_area_init_node: node 0, pgdat 804890f0, node_mem_map 8b800000

  DMA zone: 368 pages used for memmap

  DMA zone: 0 pages reserved

  DMA zone: 46736 pages, LIFO batch:15

  Normal zone: 632 pages used for memmap

  Normal zone: 80264 pages, LIFO batch:15

pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768

pcpu-alloc: [0] 0

Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 127000

Kernel command line: root=/dev/mmcblk0p1 rw rootfstype=ext2 console=ttymxc0,115200 mem=500M debug init=/sbin/init

PID hash table entries: 2048 (order: 1, 8192 bytes)

Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)

Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)

Memory: 500MB = 500MB total

Memory: 502556k/502556k available, 9444k reserved, 0K highmem

Virtual kernel memory layout:

    vector  : 0xffff0000 - 0xffff1000   (   4 kB)

    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)

    DMA     : 0xf4600000 - 0xffe00000   ( 184 MB)

    vmalloc : 0x9f800000 - 0xf2000000   (1320 MB)

    lowmem  : 0x80000000 - 0x9f400000   ( 500 MB)

    modules : 0x7f000000 - 0x80000000   (  16 MB)

      .init : 0x80008000 - 0x8002d000   ( 148 kB)

      .text : 0x8002d000 - 0x80459000   (4272 kB)

      .data : 0x8045a000 - 0x80489d20   ( 192 kB)

       .bss : 0x80489d44 - 0x804ca7b8   ( 259 kB)

SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1

NR_IRQS:432

MVF GPIO hardware

sched_clock: 32 bits at 93MHz, resolution 10ns, wraps every 45820ms

Console: colour dummy device 80x30

Calibrating delay loop... 124.31 BogoMIPS (lpj=621568)

pid_max: default: 32768 minimum: 301

Mount-cache hash table entries: 512

CPU: Testing write buffer coherency: ok

NET: Registered protocol family 16

mcf_edma: Initialized successfully

Using UART1 for UART port A (TXD/RXD/RTS/CTS)

Using UART2 for UART port B (TXD/RXD)

Using UART3 for UART port C (TXD/RXD)

Booting on CPU #0 CA5 r0p1 on port #2, 2 CPU(s)

Level 1 cache: I: 32768 Bytes/2 ways, D: 32768 Bytes/4 ways

Level 2 cache: 524288 bytes/8 ways

L310 cache controller enabled

l2x0: 8 ways, CACHE_ID 0x410000c8, AUX_CTRL 0x02060000, Cache size: 524288 B

IMX usb wakeupx probe. id=0

the wakeup pdata is 0x9e0b8040

IMX usb wakeupx probe. id=1

the wakeup pdata is 0x9e0b8180

bio: create slab <bio-0> at 0

SCSI subsystem initialized

usbcore: registered new interface driver usbfs

usbcore: registered new interface driver hub

usbcore: registered new device driver usb

Advanced Linux Sound Architecture Driver Version 1.0.24.

Switching to clocksource pit

NET: Registered protocol family 2

IP route cache hash table entries: 4096 (order: 2, 16384 bytes)

TCP established hash table entries: 16384 (order: 5, 131072 bytes)

TCP bind hash table entries: 16384 (order: 4, 65536 bytes)

TCP: Hash tables configured (established 16384 bind 16384)

TCP reno registered

UDP hash table entries: 256 (order: 0, 4096 bytes)

UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)

NET: Registered protocol family 1

RPC: Registered named UNIX socket transport module.

RPC: Registered udp transport module.

RPC: Registered tcp transport module.

RPC: Registered tcp NFSv4.1 backchannel transport module.

Static Power Management for Freescale Vybrid

cpaddr = 9f880000 suspend_iram_base=9f810000 iram_paddr 3f000000

PM driver module loaded

JFFS2 version 2.2. (NAND) © 2001-2006 Red Hat, Inc.

msgmni has been set to 981

alg: No test for stdrng (krng)

NET: Registered protocol family 38

cryptodev: driver loaded.

io scheduler noop registered

io scheduler deadline registered

io scheduler cfq registered (default)

Console: switching to colour frame buffer device 100x30

fb0: Layer0 fb device registered successfully.

fb1:  fb device registered successfully.

fb2:  fb device registered successfully.

fb3:  fb device registered successfully.

Serial: MVF driver

IMX UART RTS/CTS enabled

IMX UART FIFO enabled

imx-uart.0: ttymxc0 at MMIO 0x40027000 (irq = 93) is a IMX

console [ttymxc0] enabled

IMX UART FIFO enabled

imx-uart.2: ttymxc2 at MMIO 0x40029000 (irq = 95) is a IMX

IMX UART FIFO enabled

imx-uart.3: ttymxc3 at MMIO 0x4002a000 (irq = 96) is a IMX

brd: module loaded

mvf-adc mvf-adc.0: attached adc driver

mvf-adc mvf-adc.1: attached adc driver

FEC Ethernet Driver

fec_enet_mii_bus: probedx

fec_enet_mii_bus: probedx

ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver

add wake up source irq 107

fsl-ehci fsl-ehci.0: Freescale On-Chip EHCI Host Controller

fsl-ehci fsl-ehci.0: new USB bus registered, assigned bus number 1

fsl-ehci fsl-ehci.0: irq 107, io base 0x40034000

fsl-ehci fsl-ehci.0: USB 2.0 started, EHCI 1.00

hub 1-0:1.0: USB hub found

hub 1-0:1.0: 1 port detected

add wake up source irq 108

fsl-ehci fsl-ehci.1: Freescale On-Chip EHCI Host Controller

fsl-ehci fsl-ehci.1: new USB bus registered, assigned bus number 2

fsl-ehci fsl-ehci.1: irq 108, io base 0x400b4000

fsl-ehci fsl-ehci.1: USB 2.0 started, EHCI 1.00

hub 2-0:1.0: USB hub found

hub 2-0:1.0: 1 port detected

Initializing USB Mass Storage driver...

usbcore: registered new interface driver usb-storage

USB Mass Storage support registered.

ARC USBOTG Device Controller driver (1 August 2005)

mousedev: PS/2 mouse device common for all mice

snvs_rtc snvs_rtc.0: rtc core: registered snvs_rtc as rtc0

i2c /dev entries driver

sdhci: Secure Digital Host Controller Interface driver

sdhci: Copyright(c) Pierre Ossman

sdhci sdhci-esdhc-imx.1: no write-protect pin available!

mmc0: SDHCI controller on platform [sdhci-esdhc-imx.1] using ADMA

MVF ASRC registered

mmc0: host does not support reading read-only switch. assuming write-enable.

mmc0: new SDHC card at address aaaa

mmcblk0: mmc0:aaaa SU04G 3.69 GiB

caam caam.0: device ID = 0x0a18010000000000

caam caam.0: job rings = 2, qi = 0

mmcblk0: p1

alg: No test for authenc(hmac(md5),cbc(aes)) (authenc-hmac-md5-cbc-aes-caam)

caam caam.0: authenc-hmac-md5-cbc-aes-caam

alg: No test for authenc(hmac(sha1),cbc(aes)) (authenc-hmac-sha1-cbc-aes-caam)

caam caam.0: authenc-hmac-sha1-cbc-aes-caam

alg: No test for authenc(hmac(sha224),cbc(aes)) (authenc-hmac-sha224-cbc-aes-caam)

caam caam.0: authenc-hmac-sha224-cbc-aes-caam

alg: No test for authenc(hmac(sha256),cbc(aes)) (authenc-hmac-sha256-cbc-aes-caam)

caam caam.0: authenc-hmac-sha256-cbc-aes-caam

alg: No test for authenc(hmac(md5),cbc(des3_ede)) (authenc-hmac-md5-cbc-des3_ede-caam)

caam caam.0: authenc-hmac-md5-cbc-des3_ede-caam

alg: No test for authenc(hmac(sha1),cbc(des3_ede)) (authenc-hmac-sha1-cbc-des3_ede-caam)

caam caam.0: authenc-hmac-sha1-cbc-des3_ede-caam

alg: No test for authenc(hmac(sha224),cbc(des3_ede)) (authenc-hmac-sha224-cbc-des3_ede-caam)

caam caam.0: authenc-hmac-sha224-cbc-des3_ede-caam

alg: No test for authenc(hmac(sha256),cbc(des3_ede)) (authenc-hmac-sha256-cbc-des3_ede-caam)

caam caam.0: authenc-hmac-sha256-cbc-des3_ede-caam

alg: No test for authenc(hmac(md5),cbc(des)) (authenc-hmac-md5-cbc-des-caam)

caam caam.0: authenc-hmac-md5-cbc-des-caam

alg: No test for authenc(hmac(sha1),cbc(des)) (authenc-hmac-sha1-cbc-des-caam)

caam caam.0: authenc-hmac-sha1-cbc-des-caam

alg: No test for authenc(hmac(sha224),cbc(des)) (authenc-hmac-sha224-cbc-des-caam)

caam caam.0: authenc-hmac-sha224-cbc-des-caam

alg: No test for authenc(hmac(sha256),cbc(des)) (authenc-hmac-sha256-cbc-des-caam)

caam caam.0: authenc-hmac-sha256-cbc-des-caam

caam caam.0: cbc-aes-caam

caam caam.0: cbc-3des-caam

caam caam.0: cbc-des-caam

platform caam_jr.0: registering rng-caam

platform caam_sm.0: caam_sm_test: 8-byte key test match OK

platform caam_sm.0: caam_sm_test: 16-byte key test match OK

platform caam_sm.0: caam_sm_test: 32-byte key test match OK

platform caam_secvio.0: security violation service handlers armed

ALSA device list:

  No soundcards found.

TCP cubic registered

NET: Registered protocol family 17

VFP support v0.3: implementor 41 architecture 2 part 30 variant 5 rev 1

snvs_rtc snvs_rtc.0: hctosys: 1970-01-01 not accepted as valid date

EXT2-fs (mmcblk0p1): warning: mounting unchecked fs, running e2fsck is recommended

VFS: Mounted root (ext2 filesystem) on device 179:1.

Freeing init memory: 148K

Bad inittab entry at line 22

Bad inittab entry at line 36

Starting logging: OK

Initializing random number generator... EXT2-fs (mmcblk0p1): error: ext2_lookup: deleted inode referenced: 24215

EXT2-fs (mmcblk0p1): error: ext2_lookup: deleted inode referenced: 24215

read-only file system detected...done

Starting system message bus: done

Starting network...

eth0: Freescale FEC PHY driver [Generic PHY] (mii_bus:phy_addr=1:00, irq=-1)

PHY: 1:00 - Link is Up - 10/Half

Sending discover...

Sending discover...

No lease, failing

eth1: Freescale FEC PHY driver [Davicom DM9161B] (mii_bus:phy_addr=2:00, irq=-1)

PHY: 2:00 - Link is Up - 100/Full

Sending discover...

Sending discover...

No lease, failing

Welcome to Buildroot

buildroot login: root

Password:

#

I know there is still a lot of stuff to do ;-)

As you can see the PHY Chip is correct found and the driver loaded. Attached with my Oscilloscope i can see activity on the MDIO-Pins and also on the RX Pins (PHY to MAC_ENET). But not on the TX Pins as i would expect it when "sending discover". 
What i did next i navigated to the xmit function where as far as i can see it, the virtual adress used is correct, based on the previous call of ioremap.

But when triggered (Write to TDAR) no activity on the pin.

Now i'm wondering if i maybe missed some dependencies on the clock settings or something like this.

Best regards Torben

0 Kudos

178 Views
karina_valencia
NXP Apps Support
NXP Apps Support

timesyssupport please continue with the follow up.

0 Kudos

178 Views
karina_valencia
NXP Apps Support
NXP Apps Support

timesyssupport can you help with this case?

0 Kudos