Pluto board under LinuxCNC 2.8.4

21 May 2023 17:29 #271854 by curryman
I am currently controlling my 3-axis milling machine via the parallel interface. This has worked relatively well. But now I have switched to other HW drivers that have better functions and offer a microstepping 32. Unfortunately, the parallel interface is no longer sufficient to maintain the speed.

Anyway, I have a new computer with LinuxCNC 2.8.4 Debian 10 Buster PREEMPT-RT ISO set up from scratch. Also, I have a Pluto board that I want to use to drive the new HW drivers (Step/Dir). Unfortunately, I can't find a good description to integrate the Pluto board in LinuxCNC. It already fails because I can't find anything in the documentation where e.g. the address of the parallel interface should be entered. To get an example for an integration, I thought it would be helpful to use a standard installation that LinuxCNC offers. I have chosen Pluto_Inch.

Unfortunately, this configuration generates an error. A file referring to Pluto driver is not found. Here I have expected the offered examples are running out of the box. Seems I'm wrong. The generated report is attached.

It would be nice if there is a step-by-step guide for the current LinuxCNC version on how to install the Pluto board. Maybe someone can help me. Thanks in advance.

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

31 May 2023 10:35 #272544 by andypugh
We don't generally recommend the Pluto boards as they seem to work with some systems, and not with others, with no logical explanation.

I can see why you are struggling to work out how to load the driver. The manpage here:
directs you to "pluto_step.9" but that does not seem to be in the online docs.

If we step back to the 2.6 docs, it is there:

And on your own machine "man pluto_step" should show the same information.

To check that the board works with your machine I would suggest running an interactive HAL session to check that it loads.
loadrt pluto_step ioaddr=0x378
Alter the 0x378 to suit your actual parport address.
If that works you can then load a realtime thread and see if the board responds.
loadrt threads
addf thread1
addf pluto-step.write thread1

You can then try "setp" commands on the dout pins and "show pin" commands on the din pins to see if the board is working.

To exit the interactive HAL session and unload the drivers, use "exit"

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

01 Jun 2023 15:10 - 01 Jun 2023 15:13 #272637 by curryman
Thank you for the answer. As I pointed out, the installation from scratch using the latest LinuxCNC ISO-Image.
O.k. I followed your adweises:
And on your own machine "man pluto_step" should show the same information.

  reinhard@linuxcnc:~$ man pluto_step
  Kein Handbucheintrag für pluto_step vorhanden

Seems to me pluto board is not originally in the 8.2.4 ISO installed.
Next step:halrun
loadrt pluto_step ioaddr=0x378

reinhard@linuxcnc:~$ halrun
halcmd: loadrt pluto_step ioaddr=0xd100
Note: Using POSIX realtime
pluto_step: dlopen: /usr/lib/linuxcnc/modules/ cannot open shared object file: No such file or directory
<stdin>:1: waitpid failed /usr/bin/rtapi_app pluto_step
<stdin>:1: /usr/bin/rtapi_app exited without becoming ready
<stdin>:1: insmod for pluto_step failed, returned -1

Here I would say the path is wrong or the not on place.

Anyhow, my parallel interface is installed and detected by linux.

reinhard@linuxcnc:~$ lspci -s 03:00.0 -v -nn
03:00.0 Serial controller [0700]: Device [1c00:3250] (rev 10) (prog-if 05 [16850])
    Subsystem: Device [1c00:3250]
    Flags: bus master, fast devsel, latency 0, IRQ 17
    I/O ports at d000

    Memory at f2200000 (32-bit, prefetchable)
=32K%    I/O ports at d100
    Expansion ROM at f7200000 [disabled]
=32K%    Capabilities: <access denied>
    Kernel driver in use: parport_serial
    Kernel modules: parport_serial

I can understand that on several reasons old HW is not supported on new software. But also in the newest SW version and the related doc, the Pluto board is still listed as usable HW.

If it is not planned to do so, it should be noted in the release notes and the documentation should adapt accordingly. On the other hand, it has to be serviced and tested in the same manner as new HW.

In my case, I organized a Pluto board to collect experience with FPGA boards and have planned if it is according to my needs to change to the Mesa 7i96s.

But now I'm feeling absolute unsafe what to do. Will the 7i96s kicked out like the Pluto board and I do the next misinvestment?

Last edit: 01 Jun 2023 15:13 by curryman.

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

01 Jun 2023 15:22 #272638 by tommylight
Mesa 7i96S will not be kicked out for the foreseeable future, for sure.
Mesa has the best support on planet Earth, bar none, just have a read through this forum, look for PCW he is a member here and is the owner of
I have no affiliation with them, i just buy and use a lot of their stuff, gladly and happily.

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

01 Jun 2023 17:53 #272647 by PCW
The pluto board should be supported. It appears that the driver is not
built for some reason even though it is mentioned in the hal/drivers/Submake file
I know that developers are working on fixing the documentation issues so maybe
the build issue can be fixed as well.

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

02 Jun 2023 23:46 #272783 by andypugh
I am sorry if you have bought a board that you thought was supported, only to find that it isn't (if that is the case)

I have found some discussion of deprecation of the driver here, bit I don't recall the conclusion:

Potential good news is that pluto_step is a ".comp"file, the same format as is used for custom HAL components, so compiling and installing the driver should just be a case of finding the pluto_step.comp file and then running the command "sudo halcompile --install pluto_step.comp"

You probably don't have the file on your PC (though searching wouldn't hurt) but you can download it from this link:

Then, in the same folder as you have downloaded the file to, run:
sudo halcompile --install pluto_servo.comp

That might not work, if it doesn't it probably indicates that you need to install the linuxcnc-dev package.
sudo apt-get install linuxcnc-uspace-dev

(this assumes that you are running Linuxcnc on a premmpt-rt kernel)

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

Time to create page: 0.085 seconds
Powered by Kunena Forum