<HTML><HEAD>
<META content="text/html; charset=utf-8" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 8.00.6001.19019"></HEAD>
<BODY style="MARGIN: 4px 4px 1px; FONT: 10pt Tahoma">
<DIV>Dear all</DIV>
<DIV> </DIV>
<DIV>Trying to set up an EtherCAT master on two different industrial PCs (see details below), I'm facing the problem, that the slave's SII can't be read on one system, while the other is just working fine (proper initialisation and I/O transfer running).</DIV>
<DIV> </DIV>
<DIV>Apart from the underlying IPC, the setup is identical:</DIV>
<DIV> </DIV>
<DIV>- (only) bus slave: Wago buscoupler (750-354) with some digital output modules</DIV>
<DIV>- EtherCAT master module: ec_generic (--enable-cycles --enable-hrtimer)</DIV>
<DIV>- EtherCAT master version: latest snapshot</DIV>
<DIV>- OS: Debian 6.0</DIV>
<DIV>- Linux kernel: 2.6.31.12-rt21 (PREEMPT RT) and 2.6.37.1 (PREEMPT) -> same problem on both versions</DIV>
<DIV> </DIV>
<DIV>Switching from one system to the other, only the disk and network cable are swapped, and the controller's MAC address updated accordingly in the configuration file.</DIV>
<DIV> </DIV>
<DIV>IPC #1: (problematic) Intel Atom, 2x Intel 82574IT gigabit ethernet controller (kernel module: e1000e)</DIV>
<DIV>IPC #2: (working) AMD GeodeLX, 2x Davicom DM9102 ethernet controller (kernel module: dmfe, v1.36.4)</DIV>
<DIV> </DIV>
<DIV>As the only difference between the two boards (from a software point of view) is the ethernet controller, I'm suspecting a problem in interfacing between the ec_generic module and the NIC's driver module. Would that be possible at all?</DIV>
<DIV> </DIV>
<DIV>The output of dmesg, ethercat master -v and slaves -v from the problematic system is attached below.</DIV>
<DIV> </DIV>
<DIV>Anybody an idea what could be wrong? Any help is highly appreciated!</DIV>
<DIV> </DIV>
<DIV>Best regards,</DIV>
<DIV> </DIV>
<DIV>Patrick</DIV>
<DIV> </DIV>
<DIV>Output ethercat master -v</DIV>
<DIV>=================</DIV>
<DIV> </DIV>
<DIV>Master0<BR> Phase: Idle<BR> Active: no<BR> Slaves: 1<BR> Ethernet devices:<BR> Main: 00:a0:10:00:96:3e (attached)<BR> Link: UP<BR> Tx frames: 192517<BR> Rx frames: 192516<BR> Lost frames: 0<BR> Tx bytes: 11551020<BR> Tx errors: 0<BR> Tx frame rate [1/s]: 933 935 907<BR> Tx rate [KByte/s]: 54.7 54.8 53.1<BR> Loss rate [1/s]: 0 0 0<BR> Frame loss [%]: 0.0 0.0 0.0</DIV>
<DIV> </DIV>
<DIV> Backup: None.<BR> Distributed clocks:<BR> Reference clock: Slave 0<BR> Application time: 0<BR> 2000-01-01 00:00:00.000000000<BR></DIV>
<DIV>
<DIV>Output ethercat slaves -v</DIV>
<DIV>================</DIV>
<DIV> </DIV>
<DIV>=== Master 0, Slave 0 ===<BR>State: INIT<BR>Flag: E<BR>Identity:<BR> Vendor Id: 0x00000000<BR> Product code: 0x00000000<BR> Revision number: 0x00000000<BR> Serial number: 0x00000000<BR>DL information:<BR> FMMU bit operation: no<BR> Distributed clocks: yes, 64 bit<BR> DC system time transmission delay: 0 ns<BR>Port Type Link Loop Signal NextSlave RxTime [ns] Diff [ns] NextDc [ns]<BR> 0 MII up open yes - 928938138 0 0<BR> 1 MII down closed no - - - -<BR> 2 N/A down closed no - - - -<BR> 3 N/A down closed no - - - -<BR></DIV>
<DIV>Output dmesg</DIV></DIV>
<DIV>=========</DIV>
<DIV> </DIV>
<DIV>[ 0.000000] Initializing cgroup subsys cpu<BR>[ 0.000000] Linux version 2.6.31.12-rt21-486-usb (<A href="mailto:root@debian">root@debian</A>) (gcc version 4.3.2 (Debian 4.3.2-1.1) ) #7 PREEMPT RT Fri Feb 25 13:55:32 CET 2011<BR>.... parts skipped<BR>[ 0.000000] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-2.6.31.12-rt21-486-usb root=UUID=09ba4145-2180-492b-a056-7dd86c7ef3b5 ro quiet<BR>.... parts skipped</DIV>
<DIV>[ 0.000000] Real-Time Preemption Support (C) 2004-2007 Ingo Molnar<BR>[ 0.000000] Preemptible RCU implementation.<BR>[ 0.000000] NR_IRQS:288<BR>[ 0.000000] Extended CMOS year: 2000<BR>[ 0.000000] Fast TSC calibration using PIT<BR>[ 0.000000] Detected 1595.880 MHz processor.<BR>[ 0.000999] Console: colour VGA+ 80x25<BR>[ 0.000999] console [tty0] enabled<BR>[ 0.000999] hpet clockevent registered<BR>[ 0.000999] HPET: 3 timers in total, 0 timers will be used for per-cpu timer<BR>[ 0.000999] Calibrating delay loop (skipped), value calculated using timer frequency.. 3191.76 BogoMIPS (lpj=1595880)<BR>.... parts skipped</DIV>
<DIV>[ 0.000999] CPU: Intel(R) Atom(TM) CPU Z530 @ 1.60GHz stepping 02<BR>.... parts skipped</DIV>
<DIV>[ 7.939023] e1000e: Intel(R) PRO/1000 Network Driver - 1.0.2-k2<BR>[ 7.939031] e1000e: Copyright (c) 1999-2008 Intel Corporation.<BR>[ 7.939118] e1000e 0000:01:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16<BR>[ 7.939163] e1000e 0000:01:00.0: setting latency timer to 64<BR>[ 7.939335] 0000:01:00.0: 0000:01:00.0: Failed to initialize MSI-X interrupts. Falling back to MSI interrupts.<BR>[ 7.939498] e1000e 0000:01:00.0: irq 24 for MSI/MSI-X<BR>[ 8.011046] Uniform Multi-Platform E-IDE driver<BR>[ 8.038179] usbcore: registered new interface driver usbfs<BR>[ 8.038230] usbcore: registered new interface driver hub<BR>[ 8.046165] 0000:01:00.0: eth0: (PCI Express:2.5GB/s:Width x1) 00:a0:10:00:96:3e<BR>[ 8.046173] 0000:01:00.0: eth0: Intel(R) PRO/1000 Network Connection<BR>[ 8.046264] 0000:01:00.0: eth0: MAC: 3, PHY: 8, PBA No: ffffff-0ff<BR>[ 8.046324] e1000e 0000:02:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17<BR>[ 8.046367] e1000e 0000:02:00.0: setting latency timer to 64<BR>[ 8.046545] 0000:02:00.0: 0000:02:00.0: Failed to initialize MSI-X interrupts. Falling back to MSI interrupts.<BR>[ 8.046708] e1000e 0000:02:00.0: irq 25 for MSI/MSI-X<BR>.... parts skipped</DIV>
<DIV>[ 8.141879] 0000:02:00.0: eth1: (PCI Express:2.5GB/s:Width x1) 00:a0:10:00:96:3d<BR>[ 8.141887] 0000:02:00.0: eth1: Intel(R) PRO/1000 Network Connection<BR>[ 8.141979] 0000:02:00.0: eth1: MAC: 3, PHY: 8, PBA No: ffffff-0ff<BR>.... parts skipped</DIV>
<DIV>[ 11.505563] e1000e 0000:01:00.0: irq 24 for MSI/MSI-X<BR>[ 11.560337] e1000e 0000:01:00.0: irq 24 for MSI/MSI-X<BR>[ 11.561155] ADDRCONF(NETDEV_UP): eth0: link is not ready<BR>[ 13.155482] e1000e: eth0 NIC Link is Up 100 Mbps Full Duplex, Flow Control: None<BR>[ 13.155490] 0000:01:00.0: eth0: 10/100 speed: disabling TSO<BR>[ 13.155919] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready<BR>[ 23.322083] eth0: no IPv6 routers present<BR>[ 52.606983] EtherCAT: Master driver devel unknown<BR>[ 52.608788] EtherCAT: 1 master waiting for devices.<BR>[ 52.647171] ec_generic: EtherCAT master generic Ethernet device module devel unknown<BR>[ 52.647191] EtherCAT: Accepting device 00:A0:10:00:96:3E for master 0.<BR>[ 52.647213] ec_generic: Binding socket to interface 2 (eth0).<BR>[ 52.656062] EtherCAT 0: Starting EtherCAT-IDLE thread.<BR>[ 52.656148] EtherCAT 0: Link state changed to UP.<BR>[ 52.657230] EtherCAT 0: 1 slave(s) responding.<BR>[ 52.657238] EtherCAT 0: Slave states: INIT.<BR>[ 52.658208] EtherCAT WARNING 0: 1 datagram TIMED OUT!<BR>[ 52.658676] EtherCAT 0: Scanning bus.<BR>[ 52.665683] EtherCAT ERROR 0-0: Reception of SII read datagram failed: No response.<BR>[ 52.665932] EtherCAT ERROR 0-0: Failed to determine SII content size: Reading word offset 0x0040 failed. Assuming 64 words.<BR>[ 52.668673] EtherCAT ERROR 0-0: Reception of SII read datagram failed: No response.<BR>[ 52.668922] EtherCAT ERROR 0-0: Failed to fetch SII contents.<BR>[ 52.669216] EtherCAT 0: Bus scanning completed in 12 ms.<BR></DIV>
<DIV> </DIV>
<DIV> </DIV></BODY></HTML>