Am 04/02/2014 03:06 PM, schrieb Martin Troxler:
On 02.04.2014 14:42, Matthias Liermann wrote:

Hello,

We use Etherlab 2.0 for the automation of a hydraulic test rig. We
would like to give users without admin rights the permission to
execute control programs which have been built with the Simulink coder
and the etherlab toolbox. We set the udev rules from the etherlab
documentation to allow user permission for the Ethercat device.

KERNEL ==" EtherCAT [0 -9]*" , MODE ="0664" , GROUP =" users "

When calling the executable we get the error message:

mlockall() failed: Cannot allocate memory

Setting SCHED_FIFO with priority 99 failed: Operation not permitted

We can change the capability of the executable with setcap (sudo
setcap cap_ipc_lock=ep  ./Test2ndOrderSystem). But this doesn’t help
because we need administrator rights to change that too.
There are three steps that need root capabilities when starting a real time EtherLab application:
1) Opening EtherCAT
2) Call to mlockall()
3) set scheduling policy to SCHED_FIFO


Thank you, Matthias Liermann

Hi,

Add your user to a group 'realtime', then add a file
'realtime_limits.conf' to /etc/limits.d containing
@realtime - rtprio 99
@realtime - memlock unlimited

You can also specify a user in a limits.conf file by omitting the @ sign.

Limits are implemented using pam_limits.so, but on our system (openSUSE 12.2) the configuration lies under /etc/security/limits.conf and /etc/security/limits.d/*.conf

- Richard


_______________________________________________
etherlab-users mailing list
[email protected]
http://lists.etherlab.org/mailman/listinfo/etherlab-users

Reply via email to