<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.6000.16788" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ece9d8>
<DIV><FONT face=Arial size=2>Hi all!</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>We have installed on a I386 computer with linux 
2.6.24 the Etherlab master to control the coopley accelnet motor 
driver.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>when the master is started, the slave is see from 
the master but on the log appear the following errors.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Jan 28 12:17:59 syco1 kernel: EtherCAT ERROR: 
Mailbox error response received from slave 0 - Unknown error reply code 
0x0000.<BR>Jan 28 12:17:59 syco1 kernel: EtherCAT ERROR: Failed to read number 
of assigned PDOs for SM2.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>The complete log of the bootstrap of the master 
is:</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Jan 28 12:17:59 syco1 kernel: EtherCAT: Master 
driver 1.4.0 r1611<BR>Jan 28 12:17:59 syco1 kernel: EtherCAT: 1 master waiting 
for devices.<BR>Jan 28 12:17:59 syco1 kernel: EtherCAT: Master driver 1.4.0 
r1611<BR>Jan 28 12:17:59 syco1 kernel: EtherCAT: 1 master waiting for 
devices.<BR>Jan 28 12:17:59 syco1 kernel: ACPI: PCI interrupt for device 
0000:00:09.0 disabled<BR>Jan 28 12:17:59 syco1 kernel: ec_8139too 
EtherCAT-capable Fast Ethernet driver 0.9.28, master 1.4.0 r1611<BR>Jan 28 
12:17:59 syco1 kernel: ACPI: PCI Interrupt 0000:00:09.0[A] -> Link [LNKB] 
-> GSI 11 (level, low) -> IRQ 11<BR>Jan 28 12:17:59 syco1 kernel: 
EtherCAT: Accepting device 00:1D:0F:C1:4A:1B for master 0.<BR>Jan 28 12:17:59 
syco1 kernel: ec0: RealTek RTL8139 at 0xbc00, 00:1d:0f:c1:4a:1b, IRQ 11<BR>Jan 
28 12:17:59 syco1 kernel: EtherCAT: Link state changed to UP.<BR>Jan 28 12:17:59 
syco1 kernel: EtherCAT: Starting EtherCAT-IDLE thread.<BR>Jan 28 12:17:59 syco1 
kernel: EtherCAT: 1 slave(s) responding.<BR>Jan 28 12:17:59 syco1 kernel: 
EtherCAT: Slave states: PREOP.<BR>Jan 28 12:17:59 syco1 kernel: EtherCAT: 
Scanning bus.<BR>Jan 28 12:17:59 syco1 kernel: EtherCAT: Bus scanning completed 
in 36 ms.<BR>Jan 28 12:17:59 syco1 kernel: ACPI: PCI interrupt for device 
0000:00:09.0 disabled<BR>Jan 28 12:17:59 syco1 kernel: ec_8139too 
EtherCAT-capable Fast Ethernet driver 0.9.28, master 1.4.0 r1611<BR>Jan 28 
12:17:59 syco1 kernel: ACPI: PCI Interrupt 0000:00:09.0[A] -> Link [LNKB] 
-> GSI 11 (level, low) -> IRQ 11<BR>Jan 28 12:17:59 syco1 kernel: 
EtherCAT: Accepting device 00:1D:0F:C1:4A:1B for master 0.<BR>Jan 28 12:17:59 
syco1 kernel: ec0: RealTek RTL8139 at 0xbc00, 00:1d:0f:c1:4a:1b, IRQ 11<BR>Jan 
28 12:17:59 syco1 kernel: EtherCAT: Link state changed to UP.<BR>Jan 28 12:17:59 
syco1 kernel: EtherCAT: Starting EtherCAT-IDLE thread.<BR>Jan 28 12:17:59 syco1 
kernel: EtherCAT: 1 slave(s) responding.<BR>Jan 28 12:17:59 syco1 kernel: 
EtherCAT: Slave states: PREOP.<BR>Jan 28 12:17:59 syco1 kernel: EtherCAT: 
Scanning bus.<BR>Jan 28 12:17:59 syco1 kernel: EtherCAT: Bus scanning completed 
in 36 ms.<BR></DIV>
<DIV>To check if the slave is operative we have tested it with the Beckoff 
Twincat Program and it works fine.</DIV>
<DIV> </DIV>
<DIV>Then we tried to change the mini.c example prorgram to define a valid 
set of PDO according to the accelnet manual and when the built module is 
loaded into the kernel we get the following errors:</DIV>
<DIV> </DIV>
<DIV>Jan 28 12:34:53 syco1 kernel: EtherCAT ERROR: Mailbox error response 
received from slave 0 - Unknown error reply code 0x0000.<BR>Jan 28 12:34:53 
syco1 kernel: EtherCAT ERROR: Failed to read number of mapped PDO 
entries.<BR>Jan 28 12:34:53 syco1 kernel: EtherCAT WARNING: Failed to read 
mapped PDO entries for PDO 0x1A00.<BR>Jan 28 12:34:53 syco1 kernel: EtherCAT 
ERROR: Mailbox error response received from slave 0 - Unknown error reply code 
0x0000.<BR>Jan 28 12:34:53 syco1 kernel: EtherCAT WARNING: Failed to clear PDO 
mapping.<BR>Jan 28 12:34:53 syco1 kernel: EtherCAT WARNING: Failed to configure 
mapping of PDO 0x1A00.<BR>Jan 28 12:34:53 syco1 kernel: EtherCAT ERROR: Mailbox 
error response received from slave 0 - Unknown error reply code 0x0000.<BR>Jan 
28 12:34:53 syco1 kernel: EtherCAT WARNING: Failed to clear PDO assignment of 
SM3.<BR>Jan 28 12:34:53 syco1 kernel: EtherCAT WARNING: PDO configuration failed 
on slave 0.<BR></DIV>
<DIV>and the complete log is:</DIV>
<DIV>Jan 28 12:34:52 syco1 kernel: ec_mini: Starting...<BR>Jan 28 12:34:52 syco1 
kernel: EtherCAT: Requesting master 0...<BR>Jan 28 12:34:52 syco1 kernel: 
EtherCAT: Successfully requested master 0.<BR>Jan 28 12:34:52 syco1 kernel: 
ec_mini: Registering domain...<BR>Jan 28 12:34:52 syco1 kernel: ec_mini: 
Configuring PDOs...<BR>Jan 28 12:34:52 syco1 kernel: ec_mini: Registering PDO 
entries...<BR>Jan 28 12:34:52 syco1 kernel: ec_mini: size 7, offset 0<BR>Jan 28 
12:34:52 syco1 kernel: ec_mini: Activating master...<BR>Jan 28 12:34:52 syco1 
kernel: EtherCAT: Domain0: Logical address 0x00000000, 7 byte, expected working 
counter 1.<BR>Jan 28 12:34:52 syco1 kernel: EtherCAT:   Datagram 
domain0-0: Logical offset 0x00000000, 7 byte, type LRD.<BR>Jan 28 12:34:52 syco1 
kernel: EtherCAT: Master thread exited.<BR>Jan 28 12:34:52 syco1 kernel: 
EtherCAT: Starting EtherCAT-OP thread.<BR>Jan 28 12:34:52 syco1 kernel: ec_mini: 
Starting cyclic sample thread.<BR>Jan 28 12:34:52 syco1 kernel: ec_mini: 
Started.<BR>Jan 28 12:34:52 syco1 kernel: ec_mini: 1 slave(s).<BR>Jan 28 
12:34:52 syco1 kernel: ec_mini: AL states: 0x02.<BR>Jan 28 12:34:52 syco1 
kernel: ec_mini: Link is up.<BR>Jan 28 12:34:52 syco1 kernel: ec_mini: AccelNet: 
State 0x02.<BR>Jan 28 12:34:52 syco1 kernel: ec_mini: AccelNet: online.<BR>Jan 
28 12:34:52 syco1 kernel: ec_mini: AcualPos 0, modeOfoper 0, status 0<BR>Jan 28 
12:34:53 syco1 kernel: EtherCAT: Domain 0: Working counter changed to 
1/1.<BR>Jan 28 12:34:53 syco1 kernel: ec_mini: Domain1: WC 1.<BR>Jan 28 12:34:53 
syco1 kernel: ec_mini: Domain1: State 2.<BR>Jan 28 12:34:53 syco1 kernel: 
ec_mini: AcualPos -721418479, modeOfoper D5, status 1111<BR>Jan 28 12:34:53 
syco1 kernel: EtherCAT: Slave states: OP.<BR>Jan 28 12:34:52 syco1 kernel: 
ec_mini: Starting...<BR>Jan 28 12:34:52 syco1 kernel: EtherCAT: Requesting 
master 0...<BR>Jan 28 12:34:52 syco1 kernel: EtherCAT: Successfully requested 
master 0.<BR>Jan 28 12:34:52 syco1 kernel: ec_mini: Registering domain...<BR>Jan 
28 12:34:52 syco1 kernel: ec_mini: Configuring PDOs...<BR>Jan 28 12:34:52 syco1 
kernel: ec_mini: Registering PDO entries...<BR>Jan 28 12:34:52 syco1 kernel: 
ec_mini: size 7, offset 0<BR>Jan 28 12:34:52 syco1 kernel: ec_mini: Activating 
master...<BR>Jan 28 12:34:52 syco1 kernel: EtherCAT: Domain0: Logical address 
0x00000000, 7 byte, expected working counter 1.<BR>Jan 28 12:34:52 syco1 kernel: 
EtherCAT:   Datagram domain0-0: Logical offset 0x00000000, 7 byte, 
type LRD.<BR>Jan 28 12:34:52 syco1 kernel: EtherCAT: Master thread 
exited.<BR>Jan 28 12:34:52 syco1 kernel: EtherCAT: Starting EtherCAT-OP 
thread.<BR>Jan 28 12:34:52 syco1 kernel: ec_mini: Starting cyclic sample 
thread.<BR>Jan 28 12:34:52 syco1 kernel: ec_mini: Started.<BR>Jan 28 12:34:52 
syco1 kernel: ec_mini: 1 slave(s).<BR>Jan 28 12:34:52 syco1 kernel: ec_mini: AL 
states: 0x02.<BR>Jan 28 12:34:52 syco1 kernel: ec_mini: Link is up.<BR>Jan 28 
12:34:52 syco1 kernel: ec_mini: AccelNet: State 0x02.<BR>Jan 28 12:34:52 syco1 
kernel: ec_mini: AccelNet: online.<BR>Jan 28 12:34:52 syco1 kernel: ec_mini: 
AcualPos 0, modeOfoper 0, status 0<BR>Jan 28 12:34:53 syco1 kernel: EtherCAT: 
Domain 0: Working counter changed to 1/1.<BR>Jan 28 12:34:53 syco1 kernel: 
ec_mini: Domain1: WC 1.<BR>Jan 28 12:34:53 syco1 kernel: ec_mini: Domain1: State 
2.<BR>Jan 28 12:34:53 syco1 kernel: ec_mini: AcualPos -721418479, modeOfoper D5, 
status 1111<BR>Jan 28 12:34:53 syco1 kernel: EtherCAT: Slave states: OP.<BR>Jan 
28 12:34:53 syco1 kernel: ec_mini: AL states: 0x08.<BR>Jan 28 12:34:53 syco1 
kernel: ec_mini: AccelNet: State 0x08.<BR>Jan 28 12:34:53 syco1 kernel: ec_mini: 
AccelNet: operational.<BR>Jan 28 12:34:53 syco1 kernel: ec_mini: AL states: 
0x08.<BR>Jan 28 12:34:53 syco1 kernel: ec_mini: AccelNet: State 0x08.<BR>Jan 28 
12:34:53 syco1 kernel: ec_mini: AccelNet: operational.<BR></DIV></FONT>
<DIV><FONT face=Arial size=2>The configuration we have insert in the mini.c 
is</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>#define AccelnetSlavePos  0, 0</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>#define Accelnet_AEP055 0x000000ab, 
0x00000380</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV><FONT face=Arial size=2>
<DIV><BR>const static ec_pdo_entry_reg_t domain1_regs[] = 
{<BR>    {AccelnetSlavePos,  Accelnet_AEP055, 0x6060, 0, 
&off_accelnet},<BR>    {}<BR>};</DIV>
<DIV> </DIV>
<DIV><BR>static ec_pdo_entry_info_t accelnet_pdo_entries[] = 
{<BR>    {0x6060, 0,  8}, // mode of 
operation<BR>    {0x6041, 0, 16}, // status<BR>    
{0x6064, 0, 32}, // actual position<BR>    {0x6040, 0, 16}, // 
control word<BR>    {0x6060, 0,  8}, // mode of 
operation<BR>};</DIV>
<DIV> </DIV>
<DIV>static ec_pdo_info_t accelnet_pdos[] = {<BR>    {0x1A00, 3, 
accelnet_pdo_entries},<BR>    {0x1600, 2, 
accelnet_pdo_entries+3},<BR>};</DIV>
<DIV> </DIV>
<DIV>static ec_sync_info_t accelnet_syncs[] = {<BR>    {2, 
EC_DIR_OUTPUT}, // ,1, accelnet_pdos+1},<BR>    {3, EC_DIR_INPUT, 
1, accelnet_pdos},<BR>    {0xff}<BR>};<BR></DIV>
<DIV> </DIV>
<DIV>Some one can help me ?</DIV>
<DIV> </DIV>
<DIV>Thanks,</DIV>
<DIV> </DIV>
<DIV>Massimo.</DIV>
<DIV> </DIV></FONT></BODY></HTML>