[gelöst] tp-smapi Kernelmodul

Started by nabonidus, 2011/03/23, 21:00:37

Previous topic - Next topic

nabonidus

Da im Forum von der Verwendung von dkms abgeraten wurde, wollte ich diese manuell erstellen bzw. dmakms verwenden. Für virtualbox hat dies problemlos geklappt, jedoch scheitere ich beim erstellen des Kernelmoduls für tp-smapi. An sich sollte dies doch reichen:

m-a a-i tp-smapi

Jedoch wird immer abgebrochen. Die Ausgabe im buildlog in  /var/cache/modass/ ist:

dh_testdir
# Cleaning package
/usr/bin/make clean
make[1]: Entering directory `/usr/src/modules/tp-smapi'
rm -f tp_smapi.mod.* tp_smapi.o tp_smapi.ko .tp_smapi.*.cmd
rm -f thinkpad_ec.mod.* thinkpad_ec.o thinkpad_ec.ko .thinkpad_ec.*.cmd
rm -f hdaps.mod.* hdaps.o hdaps.ko .hdaps.*.cmd
rm -f *~ diff/*~ *.orig diff/*.orig *.rej diff/*.rej
rm -f tp_smapi-*-for-*.patch
rm -fr .tmp_versions Modules.symvers diff/hdaps.diff.tmp
make[1]: Leaving directory `/usr/src/modules/tp-smapi'
dh_clean
/usr/bin/make  -f debian/rules clean
make[1]: Entering directory `/usr/src/modules/tp-smapi'
dh_testdir
# Cleaning package
/usr/bin/make clean
make[2]: Entering directory `/usr/src/modules/tp-smapi'
rm -f tp_smapi.mod.* tp_smapi.o tp_smapi.ko .tp_smapi.*.cmd
rm -f thinkpad_ec.mod.* thinkpad_ec.o thinkpad_ec.ko .thinkpad_ec.*.cmd
rm -f hdaps.mod.* hdaps.o hdaps.ko .hdaps.*.cmd
rm -f *~ diff/*~ *.orig diff/*.orig *.rej diff/*.rej
rm -f tp_smapi-*-for-*.patch
rm -fr .tmp_versions Modules.symvers diff/hdaps.diff.tmp
make[2]: Leaving directory `/usr/src/modules/tp-smapi'
dh_clean
make[1]: Leaving directory `/usr/src/modules/tp-smapi'
/usr/bin/make  -f debian/rules kdist_clean kdist_config binary-modules
make[1]: Entering directory `/usr/src/modules/tp-smapi'
dh_testdir
# Cleaning package
/usr/bin/make clean
make[2]: Entering directory `/usr/src/modules/tp-smapi'
rm -f tp_smapi.mod.* tp_smapi.o tp_smapi.ko .tp_smapi.*.cmd
rm -f thinkpad_ec.mod.* thinkpad_ec.o thinkpad_ec.ko .thinkpad_ec.*.cmd
rm -f hdaps.mod.* hdaps.o hdaps.ko .hdaps.*.cmd
rm -f *~ diff/*~ *.orig diff/*.orig *.rej diff/*.rej
rm -f tp_smapi-*-for-*.patch
rm -fr .tmp_versions Modules.symvers diff/hdaps.diff.tmp
make[2]: Leaving directory `/usr/src/modules/tp-smapi'
dh_clean
/usr/bin/make -w -f debian/rules clean
make[2]: Entering directory `/usr/src/modules/tp-smapi'
dh_testdir
# Cleaning package
/usr/bin/make clean
make[3]: Entering directory `/usr/src/modules/tp-smapi'
rm -f tp_smapi.mod.* tp_smapi.o tp_smapi.ko .tp_smapi.*.cmd
rm -f thinkpad_ec.mod.* thinkpad_ec.o thinkpad_ec.ko .thinkpad_ec.*.cmd
rm -f hdaps.mod.* hdaps.o hdaps.ko .hdaps.*.cmd
rm -f *~ diff/*~ *.orig diff/*.orig *.rej diff/*.rej
rm -f tp_smapi-*-for-*.patch
rm -fr .tmp_versions Modules.symvers diff/hdaps.diff.tmp
make[3]: Leaving directory `/usr/src/modules/tp-smapi'
dh_clean
make[2]: Leaving directory `/usr/src/modules/tp-smapi'
make[1]: Für das Ziel »kdist_config« ist nichts zu tun.
for templ in ; do \
   cp $templ `echo $templ | sed -e 's/_KVERS_/2.6.38-0.slh.6-aptosid-amd64/g'` ; \
 done
for templ in `ls debian/*.modules.in` ; do \
   test -e ${templ%.modules.in}.backup || cp ${templ%.modules.in} ${templ%.modules.in}.backup 2>/dev/null || true; \
   sed -e 's/##KVERS##/2.6.38-0.slh.6-aptosid-amd64/g ;s/#KVERS#/2.6.38-0.slh.6-aptosid-amd64/g ; s/_KVERS_/2.6.38-0.slh.6-aptosid-amd64/g ; s/##KDREV##/2.6.38-6/g ; s/#KDREV#/2.6.38-6/g ; s/_KDREV_/2.6.38-6/g  ' < $templ > ${templ%.modules.in}; \
 done
dh_testroot
dh_clean -k
dh_clean: dh_clean -k is deprecated; use dh_prep instead
# Build the module
/usr/bin/make modules KSRC=/usr/src/linux KVER=2.6.38-0.slh.6-aptosid-amd64 HDAPS=1
make[2]: Entering directory `/usr/src/modules/tp-smapi'
/usr/bin/make -C /usr/src/linux M=/usr/src/modules/tp-smapi O=/usr/src/linux modules
make[3]: Entering directory `/usr/src/linux-headers-2.6.38-0.slh.6-aptosid-amd64'
 CC [M]  /usr/src/modules/tp-smapi/thinkpad_ec.o
/usr/src/modules/tp-smapi/thinkpad_ec.c:91:8: warning: type defaults to 'int' in declaration of 'DECLARE_MUTEX'
/usr/src/modules/tp-smapi/thinkpad_ec.c:91:1: warning: parameter names (without types) in function declaration
/usr/src/modules/tp-smapi/thinkpad_ec.c: In function 'thinkpad_ec_lock':
/usr/src/modules/tp-smapi/thinkpad_ec.c:108:28: error: 'thinkpad_ec_mutex' undeclared (first use in this function)
/usr/src/modules/tp-smapi/thinkpad_ec.c:108:28: note: each undeclared identifier is reported only once for each function it appears in
/usr/src/modules/tp-smapi/thinkpad_ec.c: In function 'thinkpad_ec_try_lock':
/usr/src/modules/tp-smapi/thinkpad_ec.c:122:23: error: 'thinkpad_ec_mutex' undeclared (first use in this function)
/usr/src/modules/tp-smapi/thinkpad_ec.c: In function 'thinkpad_ec_unlock':
/usr/src/modules/tp-smapi/thinkpad_ec.c:134:6: error: 'thinkpad_ec_mutex' undeclared (first use in this function)
/usr/src/modules/tp-smapi/thinkpad_ec.c: At top level:
/usr/src/modules/tp-smapi/thinkpad_ec.c:91:8: warning: 'DECLARE_MUTEX' declared 'static' but never defined
/usr/src/modules/tp-smapi/thinkpad_ec.c: In function 'thinkpad_ec_try_lock':
/usr/src/modules/tp-smapi/thinkpad_ec.c:123:1: warning: control reaches end of non-void function
make[5]: *** [/usr/src/modules/tp-smapi/thinkpad_ec.o] Fehler 1
make[4]: *** [_module_/usr/src/modules/tp-smapi] Fehler 2
make[3]: *** [sub-make] Fehler 2
make[3]: Leaving directory `/usr/src/linux-headers-2.6.38-0.slh.6-aptosid-amd64'
make[2]: *** [modules] Fehler 2
make[2]: Leaving directory `/usr/src/modules/tp-smapi'
make[1]: *** [binary-modules] Fehler 2
make[1]: Leaving directory `/usr/src/modules/tp-smapi'
make: *** [kdist_build] Fehler 2

towo

Ich würde mal sagen, tp-smapi ist nicht kompatibel mit 2.6.38.
Ich gehe nicht zum Karneval, ich verleihe nur manchmal mein Gesicht.

nabonidus

Bisher habe ich ja tp-smapi-dkms installiert gehabt und damit wird das Modul gebaut.

towo

Und da bist Du dir sicher?
Sprich lsmod hat es als geladen gezeigt?
Hier waren auch schon Leute, die haben behauptet, dkms hätte das nvidia-modul gebaut und dem war definitiv nicht so.
Ich gehe nicht zum Karneval, ich verleihe nur manchmal mein Gesicht.

nabonidus

Also dkms hat keine Fehlermeldung ausgegeben und laut

lsmod|grep tp_smapi


tp_smapi               20017  0
thinkpad_ec             4134  2 hdaps,tp_smapi

nabonidus

Einem Tip im ThinkPad-Forum folgend habe ich  /var/cache/modass/ geleert und m-a -f a-i benutzt und das Modul wurde problemlos gebaut. Damit komme ich jetzt auch ohne dkms aus.

http://thinkpad-forum.de/threads/80399-tp-smapi-compiled-nicht?highlight=tp-smapi