rtai_smi.ko stopped working

05 Aug 2012 08:10 - 05 Aug 2012 08:12 #22839 by ArcEye

If the 'Official' binary has this module out-of-the box my next step is to apt-get those sources and diff them against mine.

The last time I compiled it on its own, the differences between versions were just the defines of the chipsets where SMI was an established problem.
Seem to recall that ICH10_1 was added most recently but otherwise the files were identical.
I just replaced smi-module.c with the new one in the magma source tree and re-ran make I think.

Unless somebody can suggest exactly how it is that this module becomes included in that binary package.

I would suspect it is simply that when the distribution was Dapper based, it became apparent that SMI was a problem.
They decided it would be easier in future to include a binary, than to give instructions on how to compile it, which would go straight over the heads of most users.

Last edit: 05 Aug 2012 08:12 by ArcEye.

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

05 Aug 2012 08:35 - 05 Aug 2012 08:41 #22840 by jCandlish
Thanks ArcEye

this is what I'm seeing with RTAI-3.9
make[1]: Leaving directory `/usr/src/rtai-3.9'
root@sixis:/usr/src/rtai-3.9# ls -l /usr/realtime/modules/
total 1852
-rw-r--r-- 1 root root 35593 Aug 5 10:23 Module.symvers
-rw-r--r-- 1 root root 13552 Aug 5 10:23 latency_rt.ko
-rw-r--r-- 1 root root 11760 Aug 5 10:23 preempt_rt.ko
-rw-r--r-- 1 root root 19080 Aug 5 10:23 rtai_bits.ko
-rw-r--r-- 1 root root 11760 Aug 5 10:23 rtai_calibrate.ko
-rw-r--r-- 1 root root 67152 Aug 5 10:23 rtai_fifos.ko
-rw-r--r-- 1 root root 896784 Aug 5 10:23 rtai_hal.ko
lrwxrwxrwx 1 root root 13 Aug 5 10:23 rtai_ksched.ko -> rtai_sched.ko
-rw-r--r-- 1 root root 204440 Aug 5 10:23 rtai_lxrt.ko
-rw-r--r-- 1 root root 26088 Aug 5 10:23 rtai_mbx.ko
-rw-r--r-- 1 root root 48824 Aug 5 10:23 rtai_mq.ko
-rw-r--r-- 1 root root 54384 Aug 5 10:23 rtai_msg.ko
lrwxrwxrwx 1 root root 13 Aug 5 10:23 rtai_mup.ko -> rtai_sched.ko
-rw-r--r-- 1 root root 49856 Aug 5 10:23 rtai_netrpc.ko
-rw-r--r-- 1 root root 210320 Aug 5 10:23 rtai_sched.ko
-rw-r--r-- 1 root root 58704 Aug 5 10:23 rtai_sem.ko
-rw-r--r-- 1 root root 26424 Aug 5 10:23 rtai_serial.ko
-rw-r--r-- 1 root root 26704 Aug 5 10:23 rtai_shm.ko
lrwxrwxrwx 1 root root 13 Aug 5 10:23 rtai_smp.ko -> rtai_sched.ko
-rw-r--r-- 1 root root 33672 Aug 5 10:23 rtai_tasklets.ko
-rw-r--r-- 1 root root 15936 Aug 5 10:23 rtai_tbx.ko
lrwxrwxrwx 1 root root 13 Aug 5 10:23 rtai_up.ko -> rtai_sched.ko
-rw-r--r-- 1 root root 35432 Aug 5 10:23 rtai_wd.ko
-rw-r--r-- 1 root root 12696 Aug 5 10:23 switches_rt.ko

RTAI 3.8.1 is no longer building with my toolchain, even with

make reconfig CC=/usr/bin/gcc-4.4 CXX=/usr/bin/g++-4.4

I'm seeing this complilation error, also mentioned but not resolved on the RTAI list.

make[4]: Leaving directory `/usr/src/rtai-3.8.1/base/sched/liblxrt'
make[4]: Entering directory `/usr/src/rtai-3.8.1/base/sched'
make[5]: Entering directory `/usr/src/rtai-3.8.1/base/arch'
make[6]: Entering directory `/usr/src/rtai-3.8.1/base/arch/x86_64/hal'
make[7]: Entering directory `/usr/src/linux-'
CC [M] /usr/src/rtai-3.8.1/base/arch/x86_64/hal/hal.o
In file included from /usr/src/rtai-3.8.1/base/arch/x86_64/hal/hal.c:44:
/usr/src/rtai-3.8.1/base/include/asm/rtai_hal.h: In function ‘ext_irq_vector’:
/usr/src/rtai-3.8.1/base/include/asm/rtai_hal.h:190: error: ‘FIRST_DEVICE_VECTOR’ undeclared (first use in this function)
/usr/src/rtai-3.8.1/base/include/asm/rtai_hal.h:190: error: (Each undeclared identifier is reported only once
/usr/src/rtai-3.8.1/base/include/asm/rtai_hal.h:190: error: for each function it appears in.)
In file included from /usr/src/rtai-3.8.1/base/arch/x86_64/hal/hal.c:44:

I'll check out magma, as you suggested.

With my current setup moving back to 3.8.x is looking highly unlikely. At least 3.9 is compiling cleanly if not completely.

So onward and upward and spinning spinning spinning towards the future.

Last edit: 05 Aug 2012 08:41 by jCandlish.

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

05 Aug 2012 09:55 - 05 Aug 2012 10:22 #22841 by ArcEye
The only other glitch I remember was that pci_ids.h was not up to date and I may have added the extra device and vendor ids

I checked rtai 3.9 and magma to refresh my memory

smi_module.c is in /rtai_3.9/base/arch/i386/calibration but not in ..../arch/x86_64/calibration

However, magma DOES have smi_module.c in .../base/arch/x86_64/calibration

Doing a diff, they are identical, except that the x86_64 module contains a clumsy and unnecessary #ifdef in the pci_device struct regards ICH10_1
(unnecessary because it has just been defined a few lines higher up!)

looks like that is your best bet

good luck

PS Looks like we both got to the same place and our posts crossed!
Last edit: 05 Aug 2012 10:22 by ArcEye.

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

05 Aug 2012 10:21 #22842 by jCandlish
OK, I've got a solution for this.

The problem is that rtai_smi.ko is in the 'i386' target set of the makefiles, which will or course be ignored for either x86 or x86_64 platforms.

The simplest workaround is to build as normal.

Download RTAI-(version) into (for example) /usr/src/rtai-3.9

cd /usr/src/rtai-3.9
make menuconfig ; make ; (sudo) make install

--- then ---

cd /usr/src/rtai-3.9/base/arch/i386/calibration
ln -s Makefile.kbuild Makefile
make; (sudo) make install

bada bing; bada boom; & the missing bits build and install themselves.

whata PITA!
I hope this post helps someone else!!!


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

Time to create page: 0.111 seconds
Powered by Kunena Forum