Hi,
I'm using DM8168 DDR3 EVM Rev-C with daughter board (TMDXVSDC8168) and ezsdk 5.02.01.59.
My app's main function is receving data from eth0 and save it to SATA HDD and retransmitting to eth1.
eth0 is work well with gigabit ethernet, but eth1 is not.
When I boot EVM eth1 connected to a gigabit port, no data transmission occurred.
At this time I unplug the eth1 cable and plug to a 100M port, data transmission is occurred.
After data transmission is occurred, I connect eth1 to a giga port again, data transmission is work-well.
When EVM is booted with eth1 connected 100M port, all data transmission is no porblem.
More exactly explan is;
When boot eth1 with giga port, I check ifconfig command, some ethernet packets are received from eth1.
But, no data is transmitted from my app, also no ping reponse to eth1 from outside.
At this time, I run 'ifconfig eth1 down' and the EVM is hangged.
Before EVM is hannged, I do unplug eth1 cable from giga port and replug it to giga port again,
no data transmission.
Help me.
Hyunho Youn
Can you provide kernel boot logs with eth1 connected with 1G and 100M.
with regards
Mugunthan V N
Dear Mugunthan V N,
Thank you for your reply.
Before attaching the logs, I tell some more information.
After posting this question, I tested the other daughter board rented by my local distributer.
I got the same result, so this problem might be related with kernel.
Log 1. boot with giga-port
--------------------------------------------------------------------------------------------Loading from nand0, offset 0x200000 Image Name: Linux-2.6.37 Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 2840476 Bytes = 2.7 MiB Load Address: 80008000 Entry Point: 80008000bootargs :: 'console=ttyO2,115200n8 mem=256M root=/dev/mtdblock12 rw rootfstype=yaffs2 MAC0=00:30:6F:F2:F2:F3 MAC1=00:30:6F:F2:F2:F4'## Booting kernel from Legacy Image at 81000000 ... Image Name: Linux-2.6.37 Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 2840476 Bytes = 2.7 MiB Load Address: 80008000 Entry Point: 80008000 Verifying Checksum ... OK Loading Kernel Image ... OKOK
Starting kernel ...
Uncompressing Linux... done, booting the kernel.Linux version 2.6.37 (h2y@wolf) (gcc version 4.3.3 (Sourcery G++ Lite 2009q1-203) ) #40 Wed Nov 9 10:43:58 KST 2011CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7fCPU: VIPT nonaliasing data cache, VIPT aliasing instruction cacheMachine: ti8168evmreserved size = 52428800 at 0FB: Reserving 52428800 bytes SDRAM for VRAMMemory policy: ECC disabled, Data cache writebackOMAP chip is TI8168 1.1Built 1 zonelists in Zone order, mobility grouping on. Total pages: 52224Kernel command line: console=ttyO2,115200n8 mem=256M root=/dev/mtdblock12 rw rootfstype=yaffs2 MAC0=00:30:6F:F2:F2:F3 MAC1=00:30:6F:F2:F2:F4PID hash table entries: 1024 (order: 0, 4096 bytes)Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)Memory: 206MB = 206MB totalMemory: 202648k/202648k available, 59496k reserved, 0K highmemVirtual kernel memory layout: vector : 0xffff0000 - 0xffff1000 ( 4 kB) fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB) DMA : 0xffc00000 - 0xffe00000 ( 2 MB) vmalloc : 0xd0800000 - 0xf8000000 ( 632 MB) lowmem : 0xc0000000 - 0xd0000000 ( 256 MB) modules : 0xbf000000 - 0xc0000000 ( 16 MB) .init : 0xc0008000 - 0xc003d000 ( 212 kB) .text : 0xc003d000 - 0xc0560000 (5260 kB) .data : 0xc0560000 - 0xc05a9f80 ( 296 kB)SLUB: Genslabs=11, HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1NR_IRQS:407IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interruptsTotal of 128 interrupts on 1 active controllerGPMC revision 6.0Trying to install interrupt handler for IRQ400Trying to install interrupt handler for IRQ401Trying to install interrupt handler for IRQ402Trying to install interrupt handler for IRQ403Trying to install interrupt handler for IRQ404Trying to install interrupt handler for IRQ405Trying to install interrupt handler for IRQ406Trying to install type control for IRQ407Trying to set irq flags for IRQ407OMAP clockevent source: GPTIMER1 at 27000000 HzConsole: colour dummy device 80x30Calibrating delay loop... 986.31 BogoMIPS (lpj=4931584)pid_max: default: 32768 minimum: 301Security Framework initializedMount-cache hash table entries: 512CPU: Testing write buffer coherency: okdevtmpfs: initializedomap_voltage_early_init: voltage driver support not addedregulator: core version 0.5regulator: dummy:NET: Registered protocol family 16OMAP GPIO hardware version 0.1OMAP GPIO hardware version 0.1omap_mux_init: Add partition: #1: core, flags: 0_omap_mux_get_by_name: Could not find signal i2c2_scl.i2c2_scl_omap_mux_get_by_name: Could not find signal i2c2_sda.i2c2_sdaNOR: Can't request GPMC CSregistered ti816x_vpss deviceregistered ti816x_gpio_vr deviceregistered TI816x on-chip HDMI deviceregistered ti816x_sr devicepm_dbg_init: only OMAP3 supportedRegistered ti81xx_fb deviceti816x_pcie: Invoking PCI BIOS...ti816x_pcie: Setting up Host Controller...ti816x_pcie: Register base mapped @0xd0820000ti816x_pcie: Starting PCI scan...PCI: bus0: Fast back to back transfers enabledbio: create slab <bio-0> at 0regulator: VFB: 800 <--> 1025 mV at 920 mVvgaarb: loadedSCSI subsystem initializedusbcore: registered new interface driver usbfsusbcore: registered new interface driver hubusbcore: registered new device driver usbomap_i2c omap_i2c.1: bus 1 rev4.0 at 100 kHzomap_i2c omap_i2c.2: bus 2 rev4.0 at 100 kHzAdvanced Linux Sound Architecture Driver Version 1.0.23.cfg80211: Calling CRDA to update world regulatory domainSwitching to clocksource gp timermusb-hdrc: version 6.0, host, debug=0musb-hdrc musb-hdrc.0: dma type: dma-cppi41registerd cppi-dma Intr @ IRQ 17Cppi41 Init Donemusb-hdrc: kernel must blacklist external hubsmusb-hdrc musb-hdrc.0: MUSB HDRC host drivermusb-hdrc musb-hdrc.0: new USB bus registered, assigned bus number 1usb usb1: New USB device found, idVendor=1d6b, idProduct=0002usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1usb usb1: Product: MUSB HDRC host driverusb usb1: Manufacturer: Linux 2.6.37 musb-hcdusb usb1: SerialNumber: musb-hdrc.0hub 1-0:1.0: USB hub foundhub 1-0:1.0: 1 port detectedmusb-hdrc musb-hdrc.0: USB Host mode controller at d080c000 using DMA, IRQ 18musb-hdrc musb-hdrc.1: dma type: dma-cppi41musb-hdrc: kernel must blacklist external hubsmusb-hdrc musb-hdrc.1: MUSB HDRC host drivermusb-hdrc musb-hdrc.1: new USB bus registered, assigned bus number 2usb usb2: New USB device found, idVendor=1d6b, idProduct=0002usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1usb usb2: Product: MUSB HDRC host driverusb usb2: Manufacturer: Linux 2.6.37 musb-hcdusb usb2: SerialNumber: musb-hdrc.1hub 2-0:1.0: USB hub foundhub 2-0:1.0: 1 port detectedmusb-hdrc musb-hdrc.1: USB Host mode controller at d081e800 using DMA, IRQ 19NET: Registered protocol family 2IP route cache hash table entries: 2048 (order: 1, 8192 bytes)TCP established hash table entries: 8192 (order: 4, 65536 bytes)TCP bind hash table entries: 8192 (order: 3, 32768 bytes)TCP: Hash tables configured (established 8192 bind 8192)TCP reno registeredUDP hash table entries: 256 (order: 0, 4096 bytes)UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)NET: Registered protocol family 1RPC: Registered udp transport module.RPC: Registered tcp transport module.RPC: Registered tcp NFSv4.1 backchannel transport module.PMU: registered new PMU device of type 0omap-iommu omap-iommu.0: ducati registeredomap-iommu omap-iommu.1: sys registeredJFFS2 version 2.2. (NAND) Aⓒ 2001-2006 Red Hat, Inc.msgmni has been set to 395Block layer SCSI generic (bsg) driver version 0.4 loaded (major 254)io scheduler noop registeredio scheduler deadline registeredio scheduler cfq registered (default)Serial: 8250/16550 driver, 4 ports, IRQ sharing enabledomap_uart.0: ttyO0 at MMIO 0x48020000 (irq = 72) is a OMAP UART0omap_uart.1: ttyO1 at MMIO 0x48022000 (irq = 73) is a OMAP UART1omap_uart.2: ttyO2 at MMIO 0x48024000 (irq = 74) is a OMAP UART2console [ttyO2] enabledbrd: module loadedloop: module loadedahci ahci.0: forcing PORTS_IMPL to 0x3ahci ahci.0: AHCI 0001.0100 32 slots 2 ports 3 Gbps 0x3 impl platform modeahci ahci.0: flags: ncq sntf pm led clo only pmp pio slum part cccscsi0 : ahci_platformscsi1 : ahci_platformata1: SATA max UDMA/133 irq_stat 0x00400040, connection status changed irq 16ata2: SATA max UDMA/133 mmio [mem 0x4a140000-0x4a150fff] port 0x180 irq 16omap2-nand driver initializingNAND device: Manufacturer ID: 0x2c, Chip ID: 0xca (Micron )Creating 14 MTD partitions on "omap2-nand.0":0x000000000000-0x000000100000 : "bootloader"0x000000100000-0x000000180000 : "params"0x000000180000-0x000000200000 : "syft"0x000000200000-0x000000600000 : "ki"0x000000600000-0x000000a00000 : "ri"0x000000a00000-0x000002200000 : "si"0x000002200000-0x000002c00000 : "wi"0x000002c00000-0x000002d00000 : "ci"0x000002d00000-0x000002e00000 : "5i"0x000002e00000-0x000002f00000 : "6i"0x000002f00000-0x000003300000 : "7i(initrd)"0x000003300000-0x000009700000 : "rootfs 1"0x000009700000-0x00000fb00000 : "rootfs 2"0x00000fb00000-0x000010000000 : "zzogary"davinci_mdio davinci_mdio.0: davinci mdio revision 1.6davinci_mdio davinci_mdio.0: detected phy mask fffffff9davinci_mdio.0: probeddavinci_mdio davinci_mdio.0: phy[1]: device 0:01, driver unknowndavinci_mdio davinci_mdio.0: phy[2]: device 0:02, driver unknownPPP generic driver version 2.4.2PPP Deflate Compression module registeredPPP BSD Compression module registeredusbcore: registered new interface driver cdc_etherusbcore: registered new interface driver dm9601Initializing USB Mass Storage driver...usbcore: registered new interface driver usb-storageUSB Mass Storage support registered.mice: PS/2 mouse device common for all micei2c /dev entries driverLinux video capture interface: v2.00usbcore: registered new interface driver uvcvideoUSB Video Class driver (v1.0.0)OMAP Watchdog Timer Rev 0x00: initial timeout 60 secmd: raid1 personality registered for level 1usbcore: registered new interface driver usbhidusbhid: USB HID core driverusbcore: registered new interface driver snd-usb-audioasoc: tlv320aic3x-hifi <-> davinci-mcasp.2 mapping okALSA device list: #0: TI81XX EVMGACT probability NOT onMirror/redirect action onnetem: version 1.2TCP cubic registeredNET: Registered protocol family 10lo: Disabled Privacy ExtensionsNET: Registered protocol family 17lib80211: common routines for IEEE802.11 driversVFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3omap_voltage_late_init: Voltage driver support not addedsmartreflex smartreflex: Driver is not initialized, nTarget values are not foundregulator_init_complete: disabling VFBEMAC Address = 00:30:6F:F2:F2:F3EMAC Address = 00:30:6F:F2:F2:F4ata2: SATA link down (SStatus 0 SControl 300)ata1: link is slow to respond, please be patient (ready=0)ata1: softreset failed (device not ready)ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)ata1.00: ATA-7: ST3250310CS, 3.ACD, max UDMA/133ata1.00: 488397168 sectors, multi 0: LBA48 NCQ (depth 31/32)ata1.00: configured for UDMA/133scsi 0:0:0:0: Direct-Access ATA ST3250310CS 3.AC PQ: 0 ANSI: 5sd 0:0:0:0: Attached scsi generic sg0 type 0sd 0:0:0:0: [sda] 488397168 512-byte logical blocks: (250 GB/232 GiB)sd 0:0:0:0: [sda] Write Protect is offsd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA sda: sda1 sda2sd 0:0:0:0: [sda] Attached SCSI diskmd: Waiting for all devices to be available before autodetectmd: If you don't use raid, use raid=noautodetectmd: Autodetecting RAID arrays.md: Scanned 0 and added 0 devices.md: autorun ...md: ... autorun DONE.yaffs: dev is 32505868 name is "mtdblock12" rwyaffs: passed flags ""VFS: Mounted root (yaffs2 filesystem) on device 31:12.devtmpfs: mountedFreeing init memory: 212KINIT: version 2.88 bootingMount tmpfs on /tmpnflashdd: Assume mtd2 as syftnflashdd Init OK!
Welcome to Embedded Linux
devpts: called with bogus optionsEXT3-fs: barriers not enabledkjournald starting. Commit interval 5 secondsEXT3-fs (sda1): using internal journalEXT3-fs (sda1): mounted filesystem with writeback data modeInitialize SI ... [ OK ]Setting hostname NVR Alpha [ OK ]davinci_mdio davinci_mdio.0: resetting idled controllernet eth0: attached PHY driver [Generic PHY] (mii_bus:phy_addr=0:01, id=282f014)ADDRCONF(NETDEV_UP): eth0: link is not readynet eth1: attached PHY driver [Generic PHY] (mii_bus:phy_addr=0:02, id=282f014)ADDRCONF(NETDEV_UP): eth1: link is not readyPHY: 0:01 - Link is Up - 1000/FullADDRCONF(NETDEV_CHANGE): eth0: link becomes readyPHY: 0:02 - Link is Up - 1000/FullADDRCONF(NETDEV_CHANGE): eth1: link becomes readysy_misc Init OK!
NVR login: rootPassword:[NVR ~]# ifconfigeth0 Link encap:Ethernet HWaddr 00:30:6F:F2:F2:F3 inet addr:10.10.213.122 Bcast:10.10.255.255 Mask:255.255.0.0 inet6 addr: fe80::230:6fff:fef2:f2f3/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:66662 errors:0 dropped:0 overruns:0 frame:0 TX packets:37273 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:90117415 (85.9 MiB) TX bytes:2465496 (2.3 MiB) Interrupt:40 Base address:0x8000
eth1 Link encap:Ethernet HWaddr 00:30:6F:F2:F2:F4 inet addr:192.168.213.122 Bcast:192.168.255.255 Mask:255.255.0.0 inet6 addr: fe80::230:6fff:fef2:f2f4/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:135 errors:0 dropped:0 overruns:0 frame:0 TX packets:6 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:8603 (8.4 KiB) TX bytes:468 (468.0 B) Interrupt:44 Base address:0x8000
lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:114 errors:0 dropped:0 overruns:0 frame:0 TX packets:114 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:10714 (10.4 KiB) TX bytes:10714 (10.4 KiB)
[NVR ~]# ping 192.168.213.95PING 192.168.213.95 (192.168.213.95): 56 data bytes
--- 192.168.213.95 ping statistics ---33 packets transmitted, 0 packets received, 100% packet loss
[NVR ~]#[NVR ~]# PHY: 0:02 - Link is Down <--- change LAN port from giga-port to 100M portPHY: 0:02 - Link is Up - 100/Full
[NVR ~]#[NVR ~]# ping 192.168.213.95PING 192.168.213.95 (192.168.213.95): 56 data bytes64 bytes from 192.168.213.95: seq=0 ttl=64 time=5.801 ms64 bytes from 192.168.213.95: seq=1 ttl=64 time=0.295 ms64 bytes from 192.168.213.95: seq=2 ttl=64 time=0.316 ms64 bytes from 192.168.213.95: seq=3 ttl=64 time=0.466 ms64 bytes from 192.168.213.95: seq=4 ttl=64 time=0.202 ms64 bytes from 192.168.213.95: seq=5 ttl=64 time=0.275 ms64 bytes from 192.168.213.95: seq=6 ttl=64 time=0.223 ms64 bytes from 192.168.213.95: seq=7 ttl=64 time=0.280 msPHY: 0:02 - Link is Down <--- change LAN port from 100M port to giga-portPHY: 0:02 - Link is Up - 1000/Full64 bytes from 192.168.213.95: seq=21 ttl=64 time=0.255 ms64 bytes from 192.168.213.95: seq=22 ttl=64 time=0.277 ms64 bytes from 192.168.213.95: seq=23 ttl=64 time=0.307 ms64 bytes from 192.168.213.95: seq=24 ttl=64 time=0.659 ms64 bytes from 192.168.213.95: seq=25 ttl=64 time=0.477 ms64 bytes from 192.168.213.95: seq=26 ttl=64 time=0.267 ms64 bytes from 192.168.213.95: seq=27 ttl=64 time=1.451 ms64 bytes from 192.168.213.95: seq=28 ttl=64 time=0.222 ms
--- 192.168.213.95 ping statistics ---29 packets transmitted, 16 packets received, 44% packet lossround-trip min/avg/max = 0.202/0.735/5.801 ms
[NVR ~]#
Log 2. boot with 100M port
devpts: called with bogus optionsEXT3-fs: barriers not enabledkjournald starting. Commit interval 5 secondsEXT3-fs (sda1): using internal journalEXT3-fs (sda1): mounted filesystem with writeback data modeInitialize SI ... [ OK ]Setting hostname NVR Alpha [ OK ]davinci_mdio davinci_mdio.0: resetting idled controllernet eth0: attached PHY driver [Generic PHY] (mii_bus:phy_addr=0:01, id=282f014)ADDRCONF(NETDEV_UP): eth0: link is not readynet eth1: attached PHY driver [Generic PHY] (mii_bus:phy_addr=0:02, id=282f014)ADDRCONF(NETDEV_UP): eth1: link is not readyPHY: 0:01 - Link is Up - 1000/FullADDRCONF(NETDEV_CHANGE): eth0: link becomes readyPHY: 0:02 - Link is Up - 100/FullADDRCONF(NETDEV_CHANGE): eth1: link becomes readysy_misc Init OK!
NVR login: rootPassword:[NVR ~]# ping 192.168.213.95PING 192.168.213.95 (192.168.213.95): 56 data bytes64 bytes from 192.168.213.95: seq=0 ttl=64 time=22.235 ms64 bytes from 192.168.213.95: seq=1 ttl=64 time=0.782 ms64 bytes from 192.168.213.95: seq=2 ttl=64 time=0.187 ms64 bytes from 192.168.213.95: seq=3 ttl=64 time=0.297 ms64 bytes from 192.168.213.95: seq=4 ttl=64 time=0.188 ms64 bytes from 192.168.213.95: seq=5 ttl=64 time=0.280 ms64 bytes from 192.168.213.95: seq=6 ttl=64 time=0.260 ms64 bytes from 192.168.213.95: seq=7 ttl=64 time=0.363 ms64 bytes from 192.168.213.95: seq=8 ttl=64 time=0.191 ms --- 192.168.213.95 ping statistics ---9 packets transmitted, 9 packets received, 0% packet lossround-trip min/avg/max = 0.187/2.753/22.235 ms [NVR ~]#
NVR login: rootPassword:[NVR ~]# ping 192.168.213.95PING 192.168.213.95 (192.168.213.95): 56 data bytes64 bytes from 192.168.213.95: seq=0 ttl=64 time=22.235 ms64 bytes from 192.168.213.95: seq=1 ttl=64 time=0.782 ms64 bytes from 192.168.213.95: seq=2 ttl=64 time=0.187 ms64 bytes from 192.168.213.95: seq=3 ttl=64 time=0.297 ms64 bytes from 192.168.213.95: seq=4 ttl=64 time=0.188 ms64 bytes from 192.168.213.95: seq=5 ttl=64 time=0.280 ms64 bytes from 192.168.213.95: seq=6 ttl=64 time=0.260 ms64 bytes from 192.168.213.95: seq=7 ttl=64 time=0.363 ms64 bytes from 192.168.213.95: seq=8 ttl=64 time=0.191 ms
--- 192.168.213.95 ping statistics ---9 packets transmitted, 9 packets received, 0% packet lossround-trip min/avg/max = 0.187/2.753/22.235 ms
Please apply the patch below to enable giga bit tx clocking for the phy.
http://arago-project.org/git/projects/linux-omap3.git?p=projects/linux-omap3.git;a=commit;h=3228b1d8e5270ee56002e7f59d839ed8b6b85606
Thanks you very much.
My problem is solved by the patch.
regards,
Mugunthan V N,
Do I understand correctly:
Thanks,
Ryan
To follow up. Feeding the TX_CLK pin with just about any clock does allow the chip to enter Gigabit mode. We have it hooked to a 13.5mhz timer output pin of Davinci. So, this works if you only need gigabit mode.
I tested my app on 8168 EVM.
And I did not fix or change HW. I did apply the patch to kernel source.
After kernel patch, 100M/Giga ethernet connection is working well. (switching 100M/Giga is ok)
I'm not HW engineer, so I have nothing to tell you about HW.
Regards.
I'm glad the patch works for you. From my understanding the patch works only for the EVM board, or probably any using the LSI ET1011 Gigabit PHY. For my situation, we are using a different PHY (Micrel KSZ9021GN), which does not work with the patch. My PHY does not have an option to output a clock on tx_clk lines when in gigabit mode. So, I'm trying to find an alternative solution. As I mentioned, at minimum we can hook the tx_clk line to a clock (instead of the PHY) and use only Gigabit mode. I've verified this hack. I'm still searching for a solution which allows 10/100/1000 Mbps operation.
Hi, Ryan!
We have same PHY (KSZ9021GN) chip as you and it didn't work on our custom board not in any mode. (At u-boot stage I see error message: WARN: emac_send_packet: No link) But from u-boot command line I can read/write PHY registers (mii). Do you have any decision of your problem? May be it is help to me too. Thank you.
Hi Mugunthan
we also meet problem about net,
we develop using dvrrdk 2.80 dm816x evm board,
the problem is that if we connect 8168 board with PC through switch or router ,link is up and stability,
if we connect PC and 8168 board directly ,the link is up and down all the time
Print like Link is up
Link is down ,
and we test 4 Pc, only one is works well, other 3 Link is up and down all the time
So how can net link not stability ?
best regards
xavier
how to get patch