Using LinuxCNC-EtherCat with EtherCat TTY driver

More
21 Sep 2021 21:58 #221298 by Dyntaos
Hello,

I am trying to use LinuxCNC-EtherCat at the same time as using the TTY driver (with appropriate changes for the Beckhoff EP6001-0002). The TTY driver works great when I do not have LinuxCNC-EtherCat trying to use the EtherCat Master. When I try to run both simultaneously, I get the following output in dmesg:
[ 4273.715191] EtherCAT: Master driver 1.5.2 1.5.2-247-gcbbd9745
[ 4273.715305] EtherCAT: 1 master waiting for devices.
[ 4273.723619] igb 0000:01:00.0: removed PHC on enp1s0
[ 4274.051838] ec_igb: Intel(R) Gigabit Ethernet Network Driver (EtherCAT enabled) - version 5.4.0-k-EtherCAT
[ 4274.051839] ec_igb: Copyright (c) 2007-2014 Intel Corporation.
[ 4274.096285] EtherCAT: Accepting 18:C0:4D:8D:D0:8F as main device for master 0.
[ 4274.113260] EtherCAT 0: Starting EtherCAT-IDLE thread.
[ 4274.113534] pps pps0: new PPS source ptp0
[ 4274.113682] ec_igb 0000:01:00.0: added PHC on ecm0
[ 4274.113684] ec_igb 0000:01:00.0: Intel(R) Gigabit Ethernet Network Connection
[ 4274.113686] ec_igb 0000:01:00.0: ecm0: (PCIe:2.5Gb/s:Width x1) 18:c0:4d:8d:d0:8f
[ 4274.113688] ec_igb 0000:01:00.0: ecm0: PBA No: FFFFFF-0FF
[ 4274.113690] ec_igb 0000:01:00.0: Using MSI-X interrupts. 2 rx queue(s), 2 tx queue(s)
[ 4274.129992] ec_tty: TTY driver 1.5.2 1.5.2-247-gcbbd9745
[ 4274.132568] ec_tty_ep6001: Starting...
[ 4274.132569] EtherCAT: Requesting master 0...
[ 4274.132571] EtherCAT: Successfully requested master 0.
[ 4274.132572] ec_tty_ep6001: Registering domain...
[ 4274.132573] ec_tty_ep6001: Registering serial devices...
[ 4274.132574] ec_tty_ep6001: Finished registering serial devices.
[ 4274.132574] ec_tty_ep6001: Activating master...
[ 4274.132575] EtherCAT 0: Domain0: Logical address 0x00000000, 0 byte, expected working counter 0.
[ 4274.132589] EtherCAT 0: Master thread exited.
[ 4274.132590] EtherCAT 0: Starting EtherCAT-OP thread.
[ 4274.132615] ec_tty_ep6001: Starting cyclic sample thread.
[ 4274.132616] ec_tty_ep6001: Started.
[ 4276.111721] EtherCAT 0: Link state of ecm0 changed to UP.
[ 4276.119206] EtherCAT 0: 2 slave(s) responding on main device.
[ 4276.119211] EtherCAT 0: Slave states on main device: PREOP.
[ 4276.143141] EtherCAT 0: Scanning bus.
[ 4276.599134] ec_tty_ep6001: 2 slave(s).
[ 4276.599135] ec_tty_ep6001: AL states: 0x02.
[ 4276.599136] ec_tty_ep6001: Link is up.
[ 4286.799157] EtherCAT 0: Bus scanning completed in 10680 ms.
[ 4286.799158] EtherCAT 0: Using slave 0 as DC reference clock.
[ 4286.799160] EtherCAT WARNING 0: No application time received up to now, but master already active.
[ 4297.898025] [UFW BLOCK] IN=eno2 OUT= MAC=01:00:5e:00:00:fb:00:1e:8f:d1:96:03:08:00 SRC=192.168.1.203 DST=224.0.0.251 LEN=32 TOS=0x00 PREC=0x00 TTL=1 ID=258 PROTO=2
[ 4298.398002] [UFW BLOCK] IN=eno2 OUT= MAC=01:00:5e:00:00:fb:00:1e:8f:d1:96:03:08:00 SRC=192.168.1.203 DST=224.0.0.251 LEN=32 TOS=0x00 PREC=0x00 TTL=1 ID=259 PROTO=2
[ 4305.775215] EtherCAT 0: Slave states on main device: PREOP, OP.
[ 4306.495193] ec_tty_ep6001: AL states: 0x0A.
[ 4316.722380] EtherCAT: Requesting master 0...
[ 4316.722382] EtherCAT ERROR 0: Master already in use!
[ 4341.876376] EtherCAT 0: Master debug level set to 1.
[ 4359.199947] EtherCAT: Requesting master 0...
[ 4359.199949] EtherCAT ERROR 0: Master already in use!
[ 4394.339872] EtherCAT: Requesting master 0...
[ 4394.339874] EtherCAT ERROR 0: Master already in use!
[ 4430.730641] [UFW BLOCK] IN=eno2 OUT= MAC=01:00:5e:00:00:fb:00:1e:8f:d1:96:03:08:00 SRC=192.168.1.203 DST=224.0.0.251 LEN=32 TOS=0x00 PREC=0x00 TTL=1 ID=324 PROTO=2
[ 4431.230578] [UFW BLOCK] IN=eno2 OUT= MAC=01:00:5e:00:00:fb:00:1e:8f:d1:96:03:08:00 SRC=192.168.1.203 DST=224.0.0.251 LEN=32 TOS=0x00 PREC=0x00 TTL=1 ID=325 PROTO=2
[ 4645.260392] [UFW BLOCK] IN=eno2 OUT= MAC=01:00:5e:00:00:fb:00:1e:8f:d1:96:03:08:00 SRC=192.168.1.203 DST=224.0.0.251 LEN=32 TOS=0x00 PREC=0x00 TTL=1 ID=395 PROTO=2
[ 4645.760343] [UFW BLOCK] IN=eno2 OUT= MAC=01:00:5e:00:00:fb:00:1e:8f:d1:96:03:08:00 SRC=192.168.1.203 DST=224.0.0.251 LEN=32 TOS=0x00 PREC=0x00 TTL=1 ID=396 PROTO=2

In particular, these lines:
[ 4316.722380] EtherCAT: Requesting master 0...
[ 4316.722382] EtherCAT ERROR 0: Master already in use!

Is this a technical limitation or is there something I can do to use both simultaneously?

Searching turned up the line in the EtherCat's source that prints this error: github.com/ningfei/ethercat/blob/d7b000b...master/module.c#L551

Any insight or suggestions would be greatly appreciated!
 

Please Log in or Create an account to join the conversation.

More
07 Oct 2021 09:25 #222434 by db1981
Hello,

got this solved?

accessing the master from two threads will not work... Can you coarse explain how you setup and get the tty driver running? I think a few little changes in linuxcnc-ethercat are neccesary, but i had not worked with the tty stuff yet.

Please Log in or Create an account to join the conversation.

Time to create page: 0.129 seconds
Powered by Kunena Forum