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
In case the pru_generic.bin for rt-preempt cannot work in xenomai, 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 [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.
>>>
>>>
>>> --
>> 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] <javascript:>.
> 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.