On 09/10/17 12:57, 'Dimitar Dobrev' via Machinekit wrote:
I created /usr/lib/linuxcnc/xenomai and copied pru_generic.bin there. After trying again I got:

Traceback (most recent call last):
  File "/usr/bin/hal_temp_bbb", line 198, in <module>
    checkAdcInput(pin)
  File "/usr/bin/hal_temp_bbb", line 156, in checkAdcInput
    pin.filename = tempName[0]
IndexError: list index out of range

This is not an error linked to pru_generic.bin AFAIK, but you need someone who knows about BBB.

If it is saying that an index of 0 is out of range,
you need to look at what it is trying to do and work out how it can be empty.
https://github.com/machinekit/machinekit/blob/master/src/hal/user_comps/hal_temp_bbb.py#L156


In case the pru_generic.bin for rt-preempt cannot work in xenomai,

The pru_generic.bin is identical for all kernel flavours so you can just copy it across

The rt-preempt component modules may work with xenomai, there has been discussion as to whether they are actually different,
but the bigger problem is that you will lack ulapi_xenomai.so and rtapi_app_xenomai.

There are no xenomai packages for Stretch either, as Stretch is on Xenomai3, which does not work with Machinekit
I assume you have manually installed the Jessie ones?

I suggest you read this thread
https://groups.google.com/forum/#!topic/machinekit/RrNLUo4ASP4
and contact Darren or one of the others to find where you can download an image with the rt-preempt kernel,
or even just the kernel, modules etc and install it into your existing image

do I correctly understand that switching from xenomai to rt-preempt on an existing installation is impossible and I need to install a new image instead?

On Saturday, October 7, 2017 at 5:06:38 PM UTC+3, Schooner wrote:
I don't use a BBB, it looks like Debian only provide i386 and amd64 rt-preempt kernels for Stretch.

I don't know which rt kernel others have used, probably one from here
https://elinux.org/Beagleboard:BeagleBoneBlack_Debian#Mainline_.284.14.x_lts.29

The one I used on my server is 4.4.68-ti-rt-r112, but there are probably newer ones.
Looks like linux-image-4.9.40-bone-rt-r7 is quite new, the BBG people have to use rt-preempt I believe to get everything working.

Someone should be able to give you a link
In fact if you have a root around here https://rcn-ee.com/rootfs/bb.org/testing/
you may find an image which suits

rt-preempt kernels are quite easy to build, I have even built one on a 4 core aarm64, but that has much more processing power
than a BBB, might take quite a while on a BBB

Is there any reason why you have to use a BBB at all?
Life is much simpler with a proper computer ;\

On 07/10/17 14:39, 'Dimitar Dobrev' via Machinekit wrote:
Schooner, thank you very much for all of your help. I am definitely going to try it. Would you have some directions about the switch to rt-preempt? Do I need to compile it from source code or is it just a matter of installing packages?

On Saturday, October 7, 2017 at 4:25:21 PM UTC+3, Schooner wrote:
In that case, get hold of the rt-preempt kernel from Stretch and use that.

Then you will be able to install machinekit-rt-preempt for stretch-armhf from my repo and it should work, with the pru_* binaries built and
symlinked to the /usr/lib/linuxcnc/rt-preempt directory where they can be found by hal_pru_generic

Xenomai is becoming of lessening importance, as the rt-preempt kernel latency improves.
Because the BBB uses the PRU for step generation etc, all that is required is a stable servo thread which rt-preempt should be able to provide.

Bas is already using rt-preempt on his BBB, as has Charles.
The reason for the recent commit to make pru_generic.* available to all armhf kernel flavours, was to allow this, without the user having to kludge
together symlinks or copy the binaries from another install.

Be aware there will be a major change to the libczmq and libzeromq dependencies in a few days.
The packages as they are now will work together, but if you upgrade at a later date, you will probably need to remove all packages and re-install
to get the correct deps.

Good luck

On 07/10/17 14:05, 'Dimitar Dobrev' via Machinekit wrote:
I have used Stretch for the following reason:
I need to run a Qt application built with https://github.com/qtquickvcp/QtQuickVcp on the BBB itself. I had to therefore build QtQuickVcp for that BBB which in turn meant I needed to build Qt itself for it. After multiple attempts to do so failed, I discovered http://software-dl.ti.com/processor-sdk-linux/esd/AM335X/latest/index_FDS.html . The problem with it is that it contains Qt 5.7.1 while the Qt from packages on Debian Jessi is 5.3.2. So when I compiled my application it could not run on the BBB. So I upgraded the BBB to use Stretch where the Qt from packages is 5.7.1 as well. I tried using the same Qt from this SDK on the BBB but I kept getting an error while starting up that the wayland plug-in could not be found.
I would deeply appreciate any suggestions to improve the above configuration.

On Saturday, October 7, 2017 at 1:06:47 PM UTC+3, Schooner wrote:

Thanks for the extra info, that makes things clearer

You have installed an old Xenomai2 kernel onto Stretch

My testing repo for Stretch does not contain any packages for Xenomai and so you appear to have installed machinekit-rt-preempt instead

So when machinekit looks for the pru_generic.bin file, based upon the kernel in use, it does not find it and you get this error

Oct  6 23:33:14 beaglebone rtapi:0: 1:rtapi_app:10176:user hal_pru_generic: cant find /usr/lib/linuxcnc/xenomai/pru_generic.bin in /home/machinekit/CRAMPS or /lib/firmware/pru/
Oct  6 23:33:14 beaglebone rtapi:0: 1:rtapi_app:10176:user hpg: ERROR: failed to initialize PRU

So use the official, supported image and all will work and leave you free to do whatever you intended with the board,
rather than mess around trying to get the wrong packages working on the wrong kernel.
Use the Jessie SD card image from Robert Nelsons site ( as indicated in the 'Getting Started' section of the docs)

There is no reason to use Stretch and currently many reasons not to, which is why we are working using an unofficial testing repo at present.
Anything there may or may not work and is subject to change or removal without notice.

regards

On 07/10/2017 02:03, 'Dimitar Dobrev' via Machinekit wrote:
Kernel:

Linux beaglebone 3.8.13-xenomai-r83 #1 Wed Jan 4 23:10:15 UTC 2017 armv7l GNU/Linux

Packages from:

http://deb.mgware.co.uk/

Log:

Attached.

I already have pru_generic.bin:

/usr/lib/linuxcnc/rt-preempt/pru_generic.bin
/usr/lib/linuxcnc/prubin/pru_generic.bin

Please let me know if you need anything else.


On Thursday, October 5, 2017 at 1:46:48 PM UTC+3, Schooner wrote:

On 05/10/17 10:55, 'Dimitar Dobrev' via Machinekit wrote:
Hello all,

My name is Dimitar Dobrev. I work as an application programmer and I have tried using CRAMPS. I have encountered an error I would like to ask for your help about.
I have a BeagleBone Black with Debian Stretch.

kernel?  kernel version? git version of Machinekit? etc. etc.

I need to start Machinekit on to connect to a real machine. I started run.py and got one error which I solved but I am now stuck at:

CRAMPS.hal:28: insmod failed, returned -1;
rtapi_app_main(hal_pru_generic): -1 Operation not permitted


What is the rest of the error output (/var/log/linuxcnc.log or dmesg if it caused a segfault)
insmod errors are rather vague and can be from several causes.

Try running with 'DEBUG=5 preceding the machinekit command and change the inifile 'debug = ' stanza to a higher number
if you don't get a cause printed.
Make sure you have rsyslogd running to log output

If you are running an older pull of machinekit, on a rt_preempt kernel, it won't have my recent
commits which make pru_generic.bin etc available
https://github.com/machinekit/machinekit/commit/a6ac2576fc9a7f9d8a9a3f0e9da0eb244b8336d3

That is one possibility, but impossible to say with this little info.

My Machinekit is installed from packages rather than built from source.

Where did you get the packages?

There is no official support for Stretch yet.

The only packages for Stretch are in my unofficial repo.
They HAVE been tested on a BBB and work

I have been able to find https://groups.google.com/forum/#!msg/machinekit/RrNLUo4ASP4/840ireJEBgAJ and https://groups.google.com/forum/#!topic/machinekit/qncQ_Dh7V9s but I haven't been able to find a solution there. Any direction you can give me will be both useful and appreciated.
Thank you for your time.

Dimitar Dobrev,
https://gitlab.com/ddobrev/QtSharp
--
website: http://www.machinekit.io blog: http://blog.machinekit.io github: https://github.com/machinekit
---
You received this message because you are subscribed to the Google Groups "Machinekit" group.
To unsubscribe from this group and stop receiving emails from it, send an email to machinekit+...@googlegroups.com.
Visit this group at https://groups.google.com/group/machinekit.
For more options, visit https://groups.google.com/d/optout.

--
website: http://www.machinekit.io blog: http://blog.machinekit.io github: https://github.com/machinekit
---
You received this message because you are subscribed to the Google Groups "Machinekit" group.
To unsubscribe from this group and stop receiving emails from it, send an email to machinekit+...@googlegroups.com.
Visit this group at https://groups.google.com/group/machinekit.
For more options, visit https://groups.google.com/d/optout.

--
website: http://www.machinekit.io blog: http://blog.machinekit.io github: https://github.com/machinekit
---
You received this message because you are subscribed to the Google Groups "Machinekit" group.
To unsubscribe from this group and stop receiving emails from it, send an email to machinekit+...@googlegroups.com.
Visit this group at https://groups.google.com/group/machinekit.
For more options, visit https://groups.google.com/d/optout.

--
website: http://www.machinekit.io blog: http://blog.machinekit.io github: https://github.com/machinekit
---
You received this message because you are subscribed to the Google Groups "Machinekit" group.
To unsubscribe from this group and stop receiving emails from it, send an email to machinekit+...@googlegroups.com.
Visit this group at https://groups.google.com/group/machinekit.
For more options, visit https://groups.google.com/d/optout.

--
website: http://www.machinekit.io blog: http://blog.machinekit.io github: https://github.com/machinekit
---
You received this message because you are subscribed to the Google Groups "Machinekit" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
Visit this group at https://groups.google.com/group/machinekit.
For more options, visit https://groups.google.com/d/optout.

--
website: http://www.machinekit.io blog: http://blog.machinekit.io github: https://github.com/machinekit
---
You received this message because you are subscribed to the Google Groups "Machinekit" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
Visit this group at https://groups.google.com/group/machinekit.
For more options, visit https://groups.google.com/d/optout.

Reply via email to