Yes, that’s a known issue; CoE and EoE in the same slave do not play nicely 
together.

Currently the only known workaround is to use the unofficial patchset for 
1.5<https://sourceforge.net/u/uecasm/etherlab-patches/ci/default/tree/#readme>, 
which includes some patches to fix.

Some of the patches have also been ported to the devel 
branch<https://gitlab.com/etherlab.org/ethercat/-/tree/devel> (which I have not 
tested) but I don’t think they made it into 1.6 for some reason.

Gavin Lambert

Software Engineer



[cid:TOMRA_CMYK_final_size_times_two_cd761a01-1d1f-446e-9316-8012271820b6.png]
 [cid:TF-FB-icon_b77c57e4-4990-4f9d-b3a2-8e6ab45df7f2.jpg] 
<https://www.facebook.com/TOMRA.Food/>  
[cid:TF-LinkedIn-icon_d54c4829-dcb9-450c-9187-34b26e85ebaa.jpg] 
<https://www.linkedin.com/company/tomra-food/>  
[cid:icons-social-media-twitter_small_2_4bae5ad2-4add-4314-a352-5b317f784956.jpg]
 <https://twitter.com/TOMRAFood>  
[cid:TF-Youtube-icon_8b2c830c-70d9-48da-a4db-db9191d346ba.jpg] 
<https://www.youtube.com/playlist?list=PLDD3B1A7BAE919EC6>  
[cid:TOMRAinstagram_45b30c55-490a-4f32-8fd3-998c152e3494.jpg] 
<https://www.instagram.com/tomrafood/>
 TOMRA Food (ANZ) Limited | 4 Henderson Place | PO Box 13 516 | Onehunga 1061 | 
New Zealand

 Phone: +64 96 34 00 88 | https://www.tomra.com/food
The information contained in this communication and any attachment is 
confidential and may be legally privileged. It should only be read by the 
person(s) to whom it is addressed. If you have received this communication in 
error, please notify the sender and delete the communication.
From: Etherlab-users <etherlab-users-boun...@etherlab.org> On Behalf Of 
Bernhard Vorhofer
Sent: Saturday, 15 March 2025 5:00 am
To: etherlab-users@etherlab.org
Subject: [Etherlab-users] EoE in userspace - Other mailbox response

Dear all,

we're currently investigating some issues with a particular slave (BBH SCU-2-EC 
FSoE Master). There are multiple issues (sometimes the slave refuses state 
change to OP, for example), but something that piqued our interest be seen in 
the following log excerpt:

kernel: EtherCAT DEBUG 0: ecrt_master_sdo_upload(master = 0x00000000d53d8735, 
slave_position = 0, index = 0x4002, subindex = 0x00, target = 
0x00000000f9b1cb01, target_size = 40, result_size = 0x000000007e76960b, 
abort_code = 0x000000002d1055bf)

kernel: EtherCAT DEBUG 0-0: Scheduling SDO upload request.

kernel: EtherCAT DEBUG 0-0: Processing SDO request...

kernel: EtherCAT DEBUG 0-0: Uploading SDO 0x4002:00.

kernel: EtherCAT DEBUG 0-0: Upload request:

kernel: EtherCAT DEBUG: 00 20 40 02 40 00 00 00 00 00

kernel: EtherCAT DEBUG 0-0: Upload response:

kernel: EtherCAT DEBUG: 00 30 41 02 40 00 28 00 00 00 00 74 0B 00 DF 8C

kernel: EtherCAT DEBUG: CC 04 00 00 00 00 00 00 80 3F 00 00 00 00 00 00

kernel: EtherCAT DEBUG: 00 00 00 00 00 00 00 00 00 00 00 00 80 3F 00 00

kernel: EtherCAT DEBUG: 00 00

kernel: EtherCAT DEBUG 0-0: Uploaded data:

kernel: EtherCAT DEBUG: 00 74 0B 00 DF 8C CC 04 00 00 00 00 00 00 80 3F

kernel: EtherCAT DEBUG: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

kernel: EtherCAT DEBUG: 00 00 80 3F 00 00 00 00

kernel: EtherCAT DEBUG 0-0: Finished SDO request.

kernel: EtherCAT DEBUG 0: ecrt_master_sdo_upload(master = 0x00000000d53d8735, 
slave_position = 0, index = 0x4002, subindex = 0x00, target = 
0x00000000f9b1cb01, target_size = 40, result_size = 0x000000004af47ed5, 
abort_code = 0x00000000d0acc148)

kernel: EtherCAT DEBUG 0-0: Scheduling SDO upload request.

kernel: EtherCAT DEBUG 0-0: Processing SDO request...

kernel: EtherCAT DEBUG 0-0: Uploading SDO 0x4002:00.

kernel: EtherCAT DEBUG 0-0: Upload request:

kernel: EtherCAT DEBUG: 00 20 40 02 40 00 00 00 00 00

kernel: EtherCAT WARNING 0-0: Other mailbox protocol response for eoe0s0.

kernel: EtherCAT ERROR 0-0: Timeout after 1000 ms while waiting for SDO 
0x4002:0 upload response.

kernel: EtherCAT ERROR 0-0: Failed to process SDO request.
The first SDO request is successful, the second one times out. Right before the 
timeout, the message "Other mailbox protocol response for eoe0s0" appears. It 
seems that the SDO response somehow ends up in the EoE thread, is dropped there 
and thus lost.

Are we interpreting this behavior correctly? Is there anything that can be done 
to prevent this from happening, and could this cause some other issues we're 
seeing (slave refusing to go to OP due to "Invalid input configuration")?

We've seen the function `ecrt_master_callbacks`, but it seems that it's only 
relevant in case the application is run in a kernel module. Our application 
runs in a userspace process.

Thank you very much and best regards,
Bernhard Vorhofer
-- 
Etherlab-users mailing list
Etherlab-users@etherlab.org
https://lists.etherlab.org/mailman/listinfo/etherlab-users

Reply via email to