hi paul, i had trouble compiling in the drivers/vital directory, but i felt i could safely comment this out and so i did. when i did "make modules_install" at one point Makefile tried to include /Makefile.inc, i presume because somehow $(PWD) became undefined. i hard coded the path into Makefile and with these changes it looked like everything went ok but with so many warnings concerning deprecated char** strings, i could easily missed an error or two. perhaps the compile did go successfully since often Make stops with an actual error. when i tried to run my old script from my bdi-4.51 system "x3.run", these are the results. i presume you expected some problems along these lines. inivar = plat/nonrealtime/bin/inivar INIFILE = x3.ini RS274NGC_PARAMFILE = generic.var starting emc... [sudo] password for sock: starting EMC MOTION PROGRAM -- quickstep... Can not find -sec TRAJ -var BLEND_TOL_REL -num 1 IO_BASE_ADDRESS 0x378 Can not find -sec EMCMOT -var QS_PINOUT -num 1 modprobe quickstep PERIOD=22000 STEPPING_TYPE=0 IO_BASE_ADDRESS=0x378 SHMEM_KE Y=100 FATAL: Error inserting quickstep (/lib/modules/2.6.24-16-rtai/extra/quickstep.k o): Unknown symbol in module, or unknown parameter (see dmesg) can't install quickstep x3.ini was not changed. generic.var was not changed. these appear to be emc related lines from dmesg [299469.208370] quickstep: Unknown symbol fabs [299469.208459] quickstep: Unknown symbol sqrt [299469.208569] quickstep: Unknown symbol nano2count [299469.208643] quickstep: Unknown symbol rt_get_time [299469.208716] quickstep: Unknown symbol floor [299469.208808] quickstep: Unknown symbol rt_task_make_periodic [299469.208888] quickstep: Unknown symbol start_rt_timer [299469.209038] quickstep: Unknown symbol rt_printk [299469.209112] quickstep: Unknown symbol rt_task_delete [299469.209302] quickstep: Unknown symbol stop_rt_timer [299469.209376] quickstep: Unknown symbol rt_get_adr [299469.209449] quickstep: Unknown symbol cos [299469.209579] quickstep: Unknown symbol rt_shm_free [299469.209657] quickstep: Unknown symbol sin [299469.209731] quickstep: Unknown symbol rt_shm_alloc [299469.209861] quickstep: Unknown symbol rt_linux_use_fpu [299469.210105] quickstep: Unknown symbol rt_task_init [299469.210232] quickstep: Unknown symbol count2nano [299469.210306] quickstep: Unknown symbol rt_set_periodic_mode [299469.210387] quickstep: Unknown symbol acos [299469.210462] quickstep: Unknown symbol rt_task_wait_period as always i am open to advice. thanks djs
Hi David On Monday 22 September 2008, David Szakovits wrote:
i had trouble compiling in the drivers/vital directory, but i felt i could safely comment this out and so i did.
Can you remember what errors occurred with the Vital driver ?
when i did "make modules_install" at one point Makefile tried to include /Makefile.inc, i presume because somehow $(PWD) became undefined. i hard coded the path into Makefile and with these changes it looked like everything went ok but with so many warnings concerning deprecated char** strings, i could easily missed an error or two. perhaps the compile did go successfully since often Make stops with an actual error.
To resolve the deprecated char warnings requires a couple of hours of tiresome, repetative search/replace - Maybe I'll make a start this evening.
when i tried to run my old script from my bdi-4.51 system "x3.run", these are the results. i presume you expected some problems along these lines. <snip> FATAL: Error inserting quickstep (/lib/modules/2.6.24-16-rtai/extra/quickstep.k o): Unknown symbol in module, or unknown parameter (see dmesg)
Kinda suspected this would crop up....
these appear to be emc related lines from dmesg
<reduced list>
[299469.208370] quickstep: Unknown symbol fabs [299469.208459] quickstep: Unknown symbol sqrt [299469.209731] quickstep: Unknown symbol rt_shm_alloc [299469.210232] quickstep: Unknown symbol count2nano [299469.210462] quickstep: Unknown symbol rt_task_wait_period
These symbols are all provided by various RTAI modules - These *should* be in the /lib/modules/2.6.24-16-rtai/ tree somewhere, if not, you'll need to copy them over (suggest /lib/modules/2.6.24-16-rtai/extra) and then run depmod. If you still get errors regarding the above symbols, could you check /boot/config-2.6.24-16-rtai and tell me if CONFIG_MODVERSION=y. Regards, Paul.
hi, thanks, the files seemed to be under /usr/realtime.... so i copied them under /lib as you suggested. this helped but there appears to be a problem with the parport address now. maybe you know how to fix this? also tried to answer your questions Paul wrote: Hi David On Monday 22 September 2008, David Szakovits wrote: i had trouble compiling in the drivers/vital directory, but i felt i could safely comment this out and so i did. Can you remember what errors occurred with the Vital driver ? it starts out not finding "pci/pci.h" and then a bunch of undefined macros and variables. when i did "make modules_install" at one point Makefile tried to include /Makefile.inc, i presume because somehow $(PWD) became undefined. i hard coded the path into Makefile and with these changes it looked like everything went ok but with so many warnings concerning deprecated char** strings, i could easily missed an error or two. perhaps the compile did go successfully since often Make stops with an actual error. To resolve the deprecated char warnings requires a couple of hours of tiresome, repetative search/replace - Maybe I'll make a start this evening. do you just declare these "char **" as "const char** " or is there a better equivalent declaration that doesn't require const? These symbols are all provided by various RTAI modules - These *should* be in the /lib/modules/2.6.24-16-rtai/ tree somewhere, if not, you'll need to copy them over (suggest /lib/modules/2.6.24-16-rtai/extra) and then run depmod. If you still get errors regarding the above symbols, could you check /boot/config-2.6.24-16-rtai and tell me if CONFIG_MODVERSION=y. actually it is the plural CONFIG_MOVERSIONS=y and it is set equal to y, Regards, Paul. here is what i get at the terminal (dmesg output is below this) inivar = plat/nonrealtime/bin/inivar INIFILE = x3.ini RS274NGC_PARAMFILE = generic.var starting emc... starting EMC MOTION PROGRAM -- quickstep... Can not find -sec TRAJ -var BLEND_TOL_REL -num 1 IO_BASE_ADDRESS 0x378 Can not find -sec EMCMOT -var QS_PINOUT -num 1 modprobe quickstep PERIOD=22000 STEPPING_TYPE=0 IO_BASE_ADDRESS=0x378 SHMEM_KE Y=100 FATAL: Error inserting quickstep (/lib/modules/2.6.24-16-rtai/extra/quickstep.k o): Operation not permitted can't install quickstep x3.ini was not changed. generic.var was not changed. Removing kernel module rtai_math Removing kernel module rtai_sched Removing kernel module rtai_hal [363100.415742] I-pipe: Domain RTAI registered. [363100.415759] RTAI[hal]: <3.6> mounted over IPIPE-NOTHREADS 2.0-04. [363100.415763] RTAI[hal]: compiled with gcc version 4.2.3 (Ubuntu 4.2.3-2ubunt u7). [363100.415772] RTAI[hal]: mounted (IPIPE-NOTHREADS, IMMEDIATE (INTERNAL IRQs D ISPATCHED), ISOL_CPUS_MASK: 0). [363100.415777] PIPELINE layers: [363100.415780] e0cd1000 9ac15d93 RTAI 200 [363100.415784] c0383180 0 Linux 100 [363100.439701] RTAI[malloc]: global heap size = 2097152 bytes, <BSD>. [363100.441466] RTAI[sched]: loaded (IMMEDIATE, UP, USER/KERNEL SPACE: <with RT AI OWN KTASKs>, kstacks pool size = 524288 bytes. [363100.441476] RTAI[sched]: hard timer type/freq = 8254-PIT/1193180(Hz); defau lt timing: periodic; linear timed lists. [363100.441483] RTAI[sched]: Linux timer freq = 250 (Hz), CPU freq = 1243350000 hz. [363100.441488] RTAI[sched]: timer setup = 2010 ns, resched latency = 2688 ns. [363100.450535] RTAI[math]: loaded. [363100.454731] emcmot: SHMEM_KEY = 100 [363100.454745] emcmot: IO_BASE_ADDRESS = 378 [363100.454749] emcmot: EMCMOT_TASK_PRIORITY = 2 [363100.454753] emcmot: EMCMOT_TASK_STACK_SIZE = 12288 [363100.454757] emcmot: sizeof(RT_TASK) = 1152 [363100.454761] emcmot: sizeof(EMCMOT_STRUCT) = 688592 [363100.454765] emcmot: default blend tolerance = 4000000 ns*feed [363100.463652] emcmot: emcmotStruct allocated at 0xE0F6C000 from rtai_kmalloc( 100,688592) [363100.465782] Finished configuring emcmotStruct [363100.527781] emcmot: No parport found at 0x378 [363100.527795] can't initialize motion hardware [363100.527799] emcmot: releasing rtai shared memory. [363103.340504] RTAI[math]: unloaded. [363103.375457] SCHED releases registered named ALIEN RTGLBF [363103.389860] RTAI[malloc]: unloaded. [363103.489378] RTAI[sched]: unloaded (forced hard/soft/hard transitions: traps 0, syscalls 0). [363103.522599] I-pipe: Domain RTAI unregistered. [363103.522615] RTAI[hal]: unmounted. i notice this has something to do with the parport address. i checked in /proc/ioports and it is not there either. i suspect this is a problem to do with the use of the emc2 ubuntu as a starting point. i know nothing at all about this but i have previously noted that the parport does not show up in /proc/ioports on emc2 machines. i suppose i could start over with a different installation CD. i thought i could save some work installing rtai but maybe not. i ran into this sort of thing before when i wanted to run emc1 and emc2 on the same OS. i always gave up. djs
On Monday 22 September 2008, David Szakovits wrote:
hi, thanks, the files seemed to be under /usr/realtime.... so i copied them under /lib as you suggested. this helped but there appears to be a problem with the parport address now. maybe you know how to fix this? also tried to answer your questions
i had trouble compiling in the drivers/vital directory, but i felt i could safely comment this out and so i did. Can you remember what errors occurred with the Vital driver ?
it starts out not finding "pci/pci.h" and then a bunch of undefined macros and variables.
OK - Sounds like an include path needs tweaking for 2.6.24, but to be honest, all of the PCI drivers need overhauling in order to work with future kernels.
To resolve the deprecated char warnings requires a couple of hours of tiresome, repetative search/replace - Maybe I'll make a start this evening.
do you just declare these "char **" as "const char** " or is there a better equivalent declaration that doesn't require const?
Yup, a case of going though the code adding const in assorted places - Nearly done here and will update CVS shortly.
If you still get errors regarding the above symbols, could you check /boot/config-2.6.24-16-rtai and tell me if CONFIG_MODVERSION=y.
actually it is the plural CONFIG_MOVERSIONS=y and it is set equal to
Well.... CONFIG_MODVERSIONS - Not that it really matters too much as you found it ;-) <snip>
FATAL: Error inserting quickstep (/lib/modules/2.6.24-16-rtai/extra/quickstep.k o): Operation not permitted can't install quickstep <snip> [363100.527781] emcmot: No parport found at 0x378 [363100.527795] can't initialize motion hardware <snip> i notice this has something to do with the parport address. i checked in /proc/ioports and it is not there either. i suspect this is a problem to do with the use of the emc2 ubuntu as a starting point. i know nothing at all about this but i have previously noted that the parport does not show up in /proc/ioports on emc2 machines.
Can you do a `lsmod`, remove any h/a modules by the name of probe_parport if present and then follow it with `modprobe parport && modprobe parport_pc`. Check the output from `lsmod` to confirm parport & parport_pc are loaded, then /proc/ioports *should* report addresses correctly. If the above steps succeed and EMC runs, perhaps send a bug report for broken printer support to who ever is reponsible for that custom distro is in order.
i suppose i could start over with a different installation CD. i thought i could save some work installing rtai but maybe not. i ran into this sort of thing before when i wanted to run emc1 and emc2 on the same OS. i always gave up.
You want to see the hoops I have to jump through - But then I don't limit myself to a single distro, kernel, or architecture... Regards, Paul.
participants (2)
-
David Szakovits -
Paul