rt.loadrt('hm2_pci', config='num_encoders=1 num_stepgens=4 sserial_port_0="00xxxx"')RuntimeError: rtapi_loadrt '('hm2_pci', 'config=num_encoders=1 num_stepgens=4 sserial_port_0="00xxxx"')' failed: Operation not permitted--
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.
Sorry :-)You are absolutely right. I'm running Debian stretch with Kernel#1 SMP RPEEMPT RT Debian 4.9.144-3.1 (2019-02-19)on an conventional PC.1. It worked with Machinekit 0.1.1543327459.gite758f69-1~stretch. It doesn't work with 0.1.1551530147.git6a143ec-1~stretch.I tried to launch it without hm2_pci config string, but it doesn't work.2. I started it from the terminal window, with 'export DEBUG=5' (see attached log file), same problems.3. Error text from bash is attached (output.log). Makes no sense for me.4./5. I've search linuxcnc.log for clues. Problems start for me with the above mention permission denied error.
8888:rt halg_xinitfv:90 HAL: initializing component 'hm2_pci' type=1 arg1=0 arg2=0/0x0
Mar 5 11:38:33 labor-linuxcnc-m2 msgd:0: hal_lib:8888:rt PCI_ID: 2718:5125 2718:5125
Mar 5 11:38:33 labor-linuxcnc-m2 msgd:0: hal_lib:8888:rt RTAPI_PCI: DeviceID: 2718 5125 2718 5125
Mar 5 11:38:33 labor-linuxcnc-m2 msgd:0: hal_lib:8888:rt RTAPI_PCI: Calling driver probe function
Mar 5 11:38:33 labor-linuxcnc-m2 msgd:0: hal_lib:8888:rt RTAPI_PCI: Enabling Device 0000:03:00.0
Mar 5 11:38:33 labor-linuxcnc-m2 msgd:0: hal_lib:8888:rt Resource 0: 0xf7e00000 0xf7e0ffff 00000000
Mar 5 11:38:33 labor-linuxcnc-m2 msgd:0: hal_lib:8888:rt Failed to parse "/sys/devices/pci0000:00/0000:00:1c.2/0000:02:00.0/0000:03:00.0/resource"
Mar 5 11:38:33 labor-linuxcnc-m2 msgd:0: hal_lib:8888:rt hm2_pci: skipping AnyIO board at 0000:03:00.0, failed to enable PCI device
Mar 5 11:38:33 labor-linuxcnc-m2 msgd:0: hal_lib:8888:rt Driver probe function failed!
Mar 5 11:38:33 labor-linuxcnc-m2 msgd:0: hal_lib:8888:rt hm2_pci: error registering PCI driver
Mar 5 11:38:33 labor-linuxcnc-m2 msgd:0: hal_lib:
<output.log>
<linuxcnc.log>
Not sure how much i can help here.
Further on there’s this section:
8888:rt halg_xinitfv:90 HAL: initializing component 'hm2_pci' type=1 arg1=0 arg2=0/0x0
Mar 5 11:38:33 labor-linuxcnc-m2 msgd:0: hal_lib:8888:rt PCI_ID: 2718:5125 2718:5125
Mar 5 11:38:33 labor-linuxcnc-m2 msgd:0: hal_lib:8888:rt RTAPI_PCI: DeviceID: 2718 5125 2718 5125
Mar 5 11:38:33 labor-linuxcnc-m2 msgd:0: hal_lib:8888:rt RTAPI_PCI: Calling driver probe function
Mar 5 11:38:33 labor-linuxcnc-m2 msgd:0: hal_lib:8888:rt RTAPI_PCI: Enabling Device 0000:03:00.0
Mar 5 11:38:33 labor-linuxcnc-m2 msgd:0: hal_lib:8888:rt Resource 0: 0xf7e00000 0xf7e0ffff 00000000
Mar 5 11:38:33 labor-linuxcnc-m2 msgd:0: hal_lib:8888:rt Failed to parse "/sys/devices/pci0000:00/0000:00:1c.2/0000:02:00.0/0000:03:00.0/resource"
Mar 5 11:38:33 labor-linuxcnc-m2 msgd:0: hal_lib:8888:rt hm2_pci: skipping AnyIO board at 0000:03:00.0, failed to enable PCI device
Mar 5 11:38:33 labor-linuxcnc-m2 msgd:0: hal_lib:8888:rt Driver probe function failed!
Mar 5 11:38:33 labor-linuxcnc-m2 msgd:0: hal_lib:8888:rt hm2_pci: error registering PCI driver
Mar 5 11:38:33 labor-linuxcnc-m2 msgd:0: hal_lib:
Did other things get updates too perhaps?
Thanks, I'll have a look later
Well I can see the cause of all this, but the solution without generating a warning somewhere in the package builds is far from simple.
When this quite low level C was written, warnings were not as numerous as nowadays versions of gcc generate
and probably not top priority anyway so long as it worked.
I spent quite a long time trying various ways of removing warnings, but none were satisfactory for all usages of the variable,
across all architectures.
It essentially comes down to 32 bit and 64 bit differences in data type size.
If you then specify a format size in a printf operation, it will always generate a warning under one architecture or another.
Assigning with a (void*) cast, will do so too, hence the making of L1 and L2 void * probably
The idea of the `address of` reference &L1 was probably to prevent a warning regards printf format %p requiring void **,
but I would think it does not return what the function wants.
In any case I have reverted the commits and removed the -Werror CFLAG for now to enable packages to build.
Will take a while to filter through, not been able to test on my Mesa carded machine due to other issues,
hence reverted in its entirety.
0x00000000f7e00000 0x00000000f7e0ffff 0x0000000000040200
0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000000000 0x0000000000000000 0x0000000000000000