Marvell-Treiber Installation schlägt fehl:Module.symvers is missing;

Hallo zusammen,

ich versuche gerade den neuesten marvell-Treiber zu installieren.

Den Treiber hab ich mir von dieser Seite geholt: klick

Laut README sollte ja alles ganz einfach sein:

Erstmal den alten Treiber entladen:

Code:
modprobe -r sky2

Dann

in /usr/src/linux

Code:
make modules_prepare

Nun im Treiber-Verzeichnis

Code:
./install.sh

ausgeführt.

Dummerweise haperts natürlich genau da, sprich es bricht ab.

In der install.log steht nun folgendes:

Code:
Disconnect alternative devices:  (done)                                                                                                           [   OK   ]
Unload alternative driver (done)                                                                                                                  [   OK   ]
Create tmp dir (/tmp/Sk98ITCGkLpnSfhdYJTDbloHS)                                                                                                   [   OK   ]
Check user id (0)                                                                                                                                 [   OK   ]
Check kernel version (2.6.22-1-686)                                                                                                               [   OK   ]
Check kernel symbol file (/proc/kallsyms)                                                                                                         [   OK   ]
Check kernel type (SMP)                                                                                                                           [   OK   ]
Check number of CPUs (1)                                                                                                                          [   OK   ]
Check architecture (found)                                                                                                                        [   OK   ]
Set architecture (i386)                                                                                                                           [   OK   ]
Check compiler (/usr/bin/gcc)                                                                                                                     [   OK   ]
Check mcmodel flags (none)                                                                                                                        [   OK   ]
Check module support (/sbin/insmod)                                                                                                               [   OK   ]
Check make (/usr/bin/make)                                                                                                                        [   OK   ]
Check archive file (sk98lin)                                                                                                                      [   OK   ]
Check kernel gcc version (4.1.3) (Kernel:4.1.3 == gcc:4.1.3)                                                                                      [   OK   ]
Check sk98lin driver availability (not loaded)                                                                                                    [   OK   ]
Check kernel header files (/usr/src/linux)                                                                                                        [   OK   ]
Unpack the sources (done)                                                                                                                         [   OK   ]
Check sources for .config file (/usr/src/linux/.config)                                                                                           [   OK   ]
Copy and check .config file (done)                                                                                                                [   OK   ]
Check the mem address space (highmem)                                                                                                             [   OK   ]
Change IOMMU (disabled)                                                                                                                           [   OK   ]
Create new .config file (done)                                                                                                                    [   OK   ]
Execute: make oldconfig (done)                                                                                                                    [   OK   ]
Check kernel header version (not recognized)                                                                                                      [  warn  ]
Check firmware availability (not available)                                                                                                       [   OK   ]
Check kernel functions (Changed: nothing)                                                                                                         [   OK   ]
Compile the kernel (error)                                                                                                                        [ failed ]

An error has occurred during the compile proces which prevented
the installation from completing.
Take a look at the log file install.log for more informations.
Installation of sk98lin driver module failed.
root@fuckup:/home/jollyroger/Desktop/DriverInstall# cat install.log
+++ Install mode: User
+++ Driver version: 10.0.5.3 (Mar-12-2007)
+++ Kernel version 2.6.22-1-686
+++ smp_count=1
+++ cpu_number=1
+++ kernel_machine=i686
+++ Architecture: i386
+++ Unpack the sources
+++ ====================================
+++ tar xfv sk98lin.tar
2.4/
2.4/h/
2.4/h/skdrv1st.h
2.4/h/skdrv2nd.h
2.4/Makefile
2.4/skge.c
2.4/skproc.c
2.4/skdim.c
2.4/sky2.c
2.4/skethtool.c
2.6/
2.6/h/
2.6/h/skdrv1st.h
2.6/h/skdrv2nd.h
2.6/Makefile
2.6/skge.c
2.6/skproc.c
2.6/skdim.c
2.6/sky2.c
2.6/skethtool.c
common/
common/h/
common/h/lm80.h
common/h/mvyexhw.h
common/h/skaddr.h
common/h/skcsum.h
common/h/skdebug.h
common/h/skerror.h
common/h/skfops.h
common/h/skgeasf.h
common/h/skgeasfconv.h
common/h/skgedrv.h
common/h/skgehw.h
common/h/skgehwt.h
common/h/skgeinit.h
common/h/skgepnm2.h
common/h/skgepnmi.h
common/h/skgesirq.h
common/h/skgespi.h
common/h/skgetwsi.h
common/h/skpcidevid.h
common/h/skqueue.h
common/h/skrlmt.h
common/h/sktimer.h
common/h/sktwsi.h
common/h/sktypes.h
common/h/skversion.h
common/h/skvpd.h
common/h/sky2le.h
common/h/xmac_ii.h
common/skaddr.c
common/skcsum.c
common/skfops.c
common/skgeasf.c
common/skgeasfconv.c
common/skgehwt.c
common/skgeinit.c
common/skgemib.c
common/skgepnmi.c
common/skgesirq.c
common/skgespi.c
common/skgespilole.c
common/sklm80.c
common/skqueue.c
common/skrlmt.c
common/sktimer.c
common/sktwsi.c
common/skvpd.c
common/skxmac2.c
common/sky2le.c
common/sk98lin.txt
common/sk98lin.htm
common/sk98lin.4
misc/
misc/Configure.help
misc/Kconfig

+++ Compile the driver
+++ ====================================
make: Entering directory `/usr/src/linux-source-2.6.22'

  WARNING: Symbol version dump /usr/src/linux-source-2.6.22/Module.symvers
           is missing; modules will have no dependencies and modversions.

  Building modules, stage 2.
  MODPOST 0 modules
make: Leaving directory `/usr/src/linux-source-2.6.22'
+++ Compiler error



Laut der Readme sollte ich aber alles haben:

Code:
2  Required Files and Tools
===========================

To install the sk98lin driver the following files
and tools on your Linux system are required:

- Linux kernel source available in directory /usr/src/linux

- Compiler tools (e.g. gcc)
***


3  Prerequisites
================

The prerequisites for compilation, loading and patch creation of the
sk98lin driver are:

- Any device using the sk98lin kernel module needs to be closed.

- The old sk98lin kernel module needs to be unloaded.
  Per default the installation script will do this automatically
  (if "installation" mode is selected).

- Your system has to be equipped with a supported network card.
  Without a card the full driver functionality cannot be checked.

- The kernel source and kernel version have to be consistent.
  For instance, it might be, that you run kernel version 2.4.20, but
  the header files the kernel module will be compiled with refer to
  kernel version 2.4.21. If you don't have the same kernel version,
  install the sources and compile a new kernel. It's not possible to
  mix different kernel versions!
***

Kernel-Sourcen sind installiert:

Code:
ls -al /usr/src/
drwxrwsr-x  4 root src      4096 2007-08-05 16:31 .
drwxr-xr-x 12 root root     4096 2007-07-31 23:19 ..
lrwxrwxrwx  1 root src        19 2007-08-05 16:05 linux -> linux-source-2.6.22
drwxr-xr-x 19 root root     4096 2007-08-05 16:33 linux-source-2.6.22
-rw-r--r--  1 root root 45171083 2007-07-29 14:36 linux-source-2.6.22.tar.bz2
drwxrwxr-x  3 root src      4096 2007-07-03 03:00 modules

Kernel stimmt überein:

Code:
uname -r
2.6.22-1-686

Google ich nun nach

Code:
  WARNING: Symbol version dump /usr/src/linux-source-2.6.22/Module.symvers
           is missing; modules will have no dependencies and modversions.

krieg ich nur Hits bei denen es darum geht, das Kernel und Kernel-Sourcen nicht zusammen passen, aber das tun sie bei mir ja offensichtlich wie man oben sieht.

Was nun?

Jemand ne Idee?

P.S.

System ist Sidux.
 
Wenn ein ausführen von 'depmod' nicht hilft, poste mal bitte den Output von 'uname -a'.
 
Code:
depmod -a

ist durchgelaufen ohne Fehler. (Wird das nicht bei "make modules_prepare" automatisch aufgerufen?)

Code:
uname -a
Linux fuckup 2.6.22-1-686 #1 SMP Sun Jul 29 14:37:42 UTC 2007 i686 GNU/Linux

What the hack? Wo kommt denn das "SMP" her auf einmal? Der Sidux-Standard-Kernel ist 2.6.22-1-*-smp
aber den hab ich doch runtergeschmissen, und zwar komplett inklusive Sourcen und Headers?

Code:
cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 15
model           : 4
model name      : Intel(R) Pentium(R) 4 CPU 2.80GHz
stepping        : 9
cpu MHz         : 2814.288
cache size      : 1024 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 5
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc up pni monitor ds_cpl tm2 cid cx16 xtpr lahf_lm
bogomips        : 5633.08
clflush size    : 64

Könnte das das Problem sein?

Die betreffende Stelle im install-script, wo es den Fehler gibt ist:

Code:
function make_driver_26 ()
1112 {
1113         # Configure, check and build the driver (kernel 2.4)
1114         # Syntax: make_driver
1115         # Author: mlindner
1116         # Returns:
1117         #       N/A
1118         echo "hier bin ich......."
1119         # Compile the driver
1120         echo >> $logfile 2>&1
1121         echo "+++ Compile the driver" >> $logfile 2>&1
1122         echo "+++ ====================================" >> $logfile 2>&1
1123         cd ${TMP_DIR}/all
1124
1125         fname="Compile the kernel"
1126         echo -n $fname
1127         message_status 3 "working"
1128         make $MAKE_CPU_FLAG -C ${KERNEL_SOURCE}  SUBDIRS=${TMP_DIR}/all modules >> $logfile 2>&1
1129
1130         if [ -f $drv_name.ko ]; then
1131                 cp $drv_name.ko ../
1132                 echo -en "\015"
1133                 echo -n $fname
1134                 message_status 1 "done"
1135         else
1136                 echo -en "\015"
1137                 echo -n $fname
1138                 message_status 0 "error"
1139                 echo
1140                 echo "An error has occurred during the compile proces which prevented "; \
1141                 echo "the installation from completing.                              "; \
1142                 echo "Take a look at the log file install.log for more informations.  "; \
1143                 echo "+++ Compiler error" >> $logfile 2>&1
1144                 echo $inst_failed
1145                 cleanup
1146 #               clean
1147                 exit 1
1148         fi
1149 }

echo "hier bin ich......." von mir eingefügt.......:)

Die Ausgabe davon (mit set-xv") ist:

Code:
+ '[' 2.6 == 2.4 ']'
+ '[' 2.6 == 2.6 ']'
+ make_driver_26 1
+ echo 'hier bin ich.......'
hier bin ich.......
+ echo
+ echo '+++ Compile the driver'
+ echo '+++ ===================================='
+ cd /tmp/Sk98IPclERjmmoRACTYJTeHIc/all
+ fname='Compile the kernel'
+ echo -n Compile the kernel
Compile the kernel+ message_status 3 working
+ test -z 43 -o -z 157
+ test 157 -eq 0
echo -en "\033"
++ echo -en '\033'
+ esc=$'\E'
+ error=''
+ ok=''
+ warn=''
+ working=''
echo -en "\015${esc}[${COLUMNS}C${esc}[10D"
++ echo -en '\015                                                                                                                                 '
+ stat='                                                                                                                                          '
echo -en "${esc}[m\017"
++ echo -en '\017'
+ norm=''
+ m_ok='                                                                                                                                          [   OK   ]'
+ m_failed='                                                                                                                                      [ failed ]'
+ m_warning='                                                                                                                                     [  warn  ]'
+ m_working='                                                                                                                                       working'
+ '[' working '!=' working ']'
+ case "$1" in
+ echo -n '                                                                                                                                         working'
                                                                                                                                                    working+ return 0
+ make -C /usr/src/linux SUBDIRS=/tmp/Sk98IPclERjmmoRACTYJTeHIc/all modules
+ '[' -f sk98lin.ko ']'
+ echo -en '\015'
+ echo -n Compile the kernel
Compile the kernel+ message_status 0 error
+ test -z 43 -o -z 157
+ test 157 -eq 0
echo -en "\033"
++ echo -en '\033'
+ esc=$'\E'
+ error=''
+ ok=''
+ warn=''
+ working=''
echo -en "\015${esc}[${COLUMNS}C${esc}[10D"
++ echo -en '\015                                                                                                                                 '
+ stat='                                                                                                                                          '
echo -en "${esc}[m\017"
++ echo -en '\017'
+ norm=''
+ m_ok='                                                                                                                                          [   OK   ]'
+ m_failed='                                                                                                                                      [ failed ]'
+ m_warning='                                                                                                                                     [  warn  ]'
+ m_working='                                                                                                                                       working'
+ '[' error '!=' working ']'
+ echo -n ' (error)'
 (error)+ case "$1" in
+ echo '                                                                                                                                          [ failed ]'
                                                                                                                                                  [ failed ]
+ return 0
+ echo

+ echo 'An error has occurred during the compile proces which prevented '
An error has occurred during the compile proces which prevented
+ echo 'the installation from completing.                              '
the installation from completing.
+ echo 'Take a look at the log file install.log for more informations.  '
Take a look at the log file install.log for more informations.
+ echo '+++ Compiler error'
+ echo Installation of sk98lin driver module failed.
Installation of sk98lin driver module failed.
+ cleanup
+ version_h_management 0
+ '[' 0 '!=' 1 ']'
+ '[' 'Remove driver' == installation ']'
+ autoconf_h_management 0
+ '[' 0 '!=' 1 ']'
+ '[' 'Remove driver' == installation ']'
+ '[' -e /tmp/Sk98IPclERjmmoRACTYJTeHIc/config ']'
+ '[' /usr/src/linux ']'
+ cp /tmp/Sk98IPclERjmmoRACTYJTeHIc/config /usr/src/linux/.config
+ return
+ exit 1


Was nun?
 
Was sagt denn die install.log? Da sollten sich ja noch genauere Infos finden lassen wieso das Erstellen des LKM fehlgeschlagen ist.
 
Morgens........

und erst mal danke für die Mühen.......

Die install.log hatte ich aus Versehen unterschlagen, weil genau das gleiche drin steht wie letztes Mal:

Code:
+++ Install mode: User
+++ Driver version: 10.0.5.3 (Mar-12-2007)
+++ Kernel version 2.6.22-1-686
+++ smp_count=1
+++ cpu_number=1
+++ kernel_machine=i686
+++ Architecture: i386
+++ Unpack the sources
+++ ====================================
+++ tar xfv sk98lin.tar
2.4/
2.4/h/
2.4/h/skdrv1st.h
2.4/h/skdrv2nd.h
2.4/Makefile
2.4/skge.c
2.4/skproc.c
2.4/skdim.c
2.4/sky2.c
2.4/skethtool.c
2.6/
2.6/h/
2.6/h/skdrv1st.h
2.6/h/skdrv2nd.h
2.6/Makefile
2.6/skge.c
2.6/skproc.c
2.6/skdim.c
2.6/sky2.c
2.6/skethtool.c
common/
common/h/
common/h/lm80.h
common/h/mvyexhw.h
common/h/skaddr.h
common/h/skcsum.h
common/h/skdebug.h
common/h/skerror.h
common/h/skfops.h
common/h/skgeasf.h
common/h/skgeasfconv.h
common/h/skgedrv.h
common/h/skgehw.h
common/h/skgehwt.h
common/h/skgeinit.h
common/h/skgepnm2.h
common/h/skgepnmi.h
common/h/skgesirq.h
common/h/skgespi.h
common/h/skgetwsi.h
common/h/skpcidevid.h
common/h/skqueue.h
common/h/skrlmt.h
common/h/sktimer.h
common/h/sktwsi.h
common/h/sktypes.h
common/h/skversion.h
common/h/skvpd.h
common/h/sky2le.h
common/h/xmac_ii.h
common/skaddr.c
common/skcsum.c
common/skfops.c
common/skgeasf.c
common/skgeasfconv.c
common/skgehwt.c
common/skgeinit.c
common/skgemib.c
common/skgepnmi.c
common/skgesirq.c
common/skgespi.c
common/skgespilole.c
common/sklm80.c
common/skqueue.c
common/skrlmt.c
common/sktimer.c
common/sktwsi.c
common/skvpd.c
common/skxmac2.c
common/sky2le.c
common/sk98lin.txt
common/sk98lin.htm
common/sk98lin.4
misc/
misc/Configure.help
misc/Kconfig

+++ Compile the driver
+++ ====================================
make: Entering directory `/usr/src/linux-source-2.6.22'

  WARNING: Symbol version dump /usr/src/linux-source-2.6.22/Module.symvers
           is missing; modules will have no dependencies and modversions.

  Building modules, stage 2.
  MODPOST 0 modules
make: Leaving directory `/usr/src/linux-source-2.6.22'
+++ Compiler error

Ob ich das Modul sky2 vorher manuell entlade oder nicht, spielt übrigens keine Rolle.

Code:
depmod -a

ist vorher wie schon gesagt sauber durchgelaufen.

Noch weitere Ideen?
 
Jetzt ja.......:)

Ich bin dabei nach (deinem?) Howto unter

http://linuxger.irc-land.de/index.php/Kernel_Module_Build_Environment_unter_Debian_einrichten

vorgegangen.

Kernel-headers hatte ich ja nicht installiert oder wenn dann wieder deinstalliert (siehe Ausgabe von oben), hab also gleich mit folgendem weitergemacht:

Code:
cp /boot/config-`uname -r` /usr/src/linux/.config
cd /usr/src/linux
make oldconfig
make all

Ohne Fehler durchgelaufen, Treiberinstallation wieder gestartet, gleicher Fehler in den Logs:

Code:
common/sky2le.c
common/sk98lin.txt
common/sk98lin.htm
common/sk98lin.4
misc/
misc/Configure.help
misc/Kconfig

+++ Compile the driver
+++ ====================================
make: Entering directory `/usr/src/linux-source-2.6.22'

  WARNING: Symbol version dump /usr/src/linux-source-2.6.22/Module.symvers
           is missing; modules will have no dependencies and modversions.

  Building modules, stage 2.
  MODPOST 0 modules
make: Leaving directory `/usr/src/linux-source-2.6.22'
+++ Compiler error

Noch weitere Ideen?
 
Hi,

hab ich gemacht, ausgehend auch von dem was Ritchy geschrieben hatte: http://www.hackerboard.de/thread.php?threadid=33154

Sprich, nach dem eben beschriebenen auch noch ein

Code:
make modules

durchlaufen lassen.

Desweiteren hab ich auch mal testweise die Shebang des scriptes von

Code:
/bin/sh

in

Code:
/bin/bash

geändert, wie Ritchy es im zitierten Link beschrieben hat.

Dann nochmal

Code:
./install.sh

ausgeführt, die Logmeldung bleibt gleich...........

Was nun?
 
Code:
WARNING: Symbol version dump /usr/src/linux-source-2.6.22/Module.symvers
           is missing; modules will have no dependencies and modversions.

Das ist immernoch die Fehlermeldung? Existiert die Datei denn?
 
Hallo nochmal,

um diesen Thread abzuschließen:

Ich habe es mittlerweile aufgegeben, da das Hersteller-script so unter Suse nicht läuft (z.B. wegen getrenntem obj-Verzeichnis in den Quellen usw.).

Nach stundenlangem Debuggen und Ausprobieren zahlreicher google-Tips war mir die ständige Prozedur -> Debuggen -> Freeze -> Reboot dann doch zu nervig.

Andere Distros ließen wie in einem anderen Thread schon beschrieben nicht mal booten.

Hab dann aus Verzweiflung gentoo ausprobiert und seitdem läuft alles 1a.

Besonderen Dank meinerseits nochmal an Bitmuncher für die zahlreichen Tips, auch wenn das Problem schlußendlich dann doch anders gelöst wurde. Oder nennen wir es mal "umgangen".........:)
 
Zurück
Oben