Error: undefined symbol: hm2_pktuart_setup_rx - while lading custom modbus.so

More
15 Feb 2025 20:16 #321657 by Corne
How frustrating. All your good advice, no result at my side. No pktuart.0

I took another PC installed Debian bookworm. Installed Linuxcnc via the script as mentioned in Installing Linuxcnc (no binary). Installed Linuxcnc dev; build-essential etc.
Exact the same error as where it al started.
and no pktuart...

What do you mean by RIP installation?

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

More
15 Feb 2025 20:22 - 15 Feb 2025 20:54 #321658 by PCW
So did you

sudo ubdatedb

locate pktuart

(no 0 no * just pktuart )

A "RIP" installation is a Run In Place installation from source.
Its built and runs from a directory in the users home directory.
Its handy because it makes it easy to have different versions of
LinuxCNC on a computer at the same time

EDIT:
 I think pktuart may not exist on a binary LinuxCNC version as its built into hostmot2

Whats strange is that neither mesa_modbus or pktuart code has been changed for at least 2 years
Last edit: 15 Feb 2025 20:54 by PCW.

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

More
15 Feb 2025 20:58 #321662 by Corne
I did on both machines. No pktuart (only on the location where I copied your files). So the locate command works, but pretty sure that they are not installed anywhere by linuxcnc

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

More
15 Feb 2025 22:09 #321667 by PCW
Pretty strange, seems to be a issue with the 2.9.4 binary unless it's something subtle
wrong with the hal file syntax.

Can you post you hal/ini files?
 

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

More
16 Feb 2025 04:46 #321679 by rodw

Pretty strange, seems to be a issue with the 2.9.4 binary unless it's something subtle
wrong with the hal file syntax.

Can you post you hal/ini files?

 

2.94 is just a tag in git at a (recent) given point in time. You git checkout v2.94 to get the source. Perhaps there is a dependency missing from the .Deb build instructions.
 
The following user(s) said Thank You: Corne

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

More
16 Feb 2025 07:56 - 16 Feb 2025 07:57 #321689 by Corne
I'm not only a newby, but also a stupid one. You triggered me with asking for hal and ini file.
Initially I got an error on loadrt in my hal file. Then I ran the halcmd loadrt command (in a terminal without linuxcnc running) giving the specific error initially reported. Unfortunately these two errors had nothing to do with eachother. The error reported by the hal load was caused by my issue having no rights at the user/lib/linuxcnc/modules directory (so the modcompile went wrong).
After correcting the rights issue with the help of PCW, I executed the loadrt command without linuxcnc running.

So now loadrt mb25ioc32 ports=hm2_7i96s.0.pktuart.0 works fine and I see the pins with hall show.

At addf mb25ioc32 I now get the message:

corne@linuxcnc:~$ halcmd addf mb25ioc32 servo-thread
HAL: ERROR: function 'mb25ioc32' not found
<commandline>:0: addf failed


To be sure not making more stupid errors:
I run a out of the box config made with Linuxcnc stepconf
PC is connected to a 7i96s Mesa card with a nice pint (0.12 ms average)
Mesa card is on my desk and only connected with RJ45 and power.
Last edit: 16 Feb 2025 07:57 by Corne.
The following user(s) said Thank You: rodw

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

More
16 Feb 2025 14:01 #321741 by Corne
YES, found in another thread: halcmd show.

I see my loaded component as mb25ioc32.00 (.00 at the end)

halcmd addf mb25ioc32.00 servo-thread > works.

Maybe someone can explain why the two zeros are added to a custom component and not to an existing components?

halcmd show results:
Exported Functions:
Owner   CodeAddr  Arg       FP   Users  Name
 00036  7f69c97ce908  559cf6208ae0  YES      1   hm2_7i96s.0.read
 00036  7f69c97ce891  559cf6208ae0  YES      0   hm2_7i96s.0.read-request
 00036  7f69c97ce749  559cf6208ae0  YES      1   hm2_7i96s.0.write
 00063  7f69c97af4e9  559cf620b800  YES      1   mb25ioc32.00
 00029  7f69c99143ad  00000000  YES      1   motion-command-handler
 00029  7f69c99149a0  00000000  YES      1   motion-controller
 00039  7f69c97b5240  7f69c9bc2020  YES      1   pid.s.do-pid-calcs
 00039  7f69c97b5240  7f69c9bc1b40  YES      1   pid.x.do-pid-calcs
 00039  7f69c97b5240  7f69c9bc1ce0  YES      1   pid.y.do-pid-calcs
 00039  7f69c97b5240  7f69c9bc1e80  YES      1   pid.z.do-pid-calcs

Realtime Threads:
     Period  FP     Name               (     Time, Max-Time )
    1000000  YES          servo-thread (   251880,  1209506 )
                  1 hm2_7i96s.0.read
                  2 motion-command-handler
                  3 motion-controller
                  4 pid.x.do-pid-calcs
                  5 pid.y.do-pid-calcs
                  6 pid.z.do-pid-calcs
                  7 pid.s.do-pid-calcs
                  8 hm2_7i96s.0.write
                  9 mb25ioc32.00

 

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

More
16 Feb 2025 17:05 #321754 by PCW
I think most component functions have a number, (or a name if the names option is used)

that is, if I

loadrt and2

The function call for that component would be

and2.0

so 

addf and2.0 servo-thread
The following user(s) said Thank You: Corne

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

More
16 Feb 2025 19:55 #321763 by Corne
With your help PCW and RODW I had a major learning curve. Big thanks for your help! Works like a charm now!
The following user(s) said Thank You: tommylight

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

Moderators: PCWjmelson
Time to create page: 0.101 seconds
Powered by Kunena Forum