Problem beim kompillieren eines Treibers

Post Reply
Message
Author
KumbaYO

Problem beim kompillieren eines Treibers

#1 Post by KumbaYO »

Hallo

Also ich habe Linux Mandrake 9.1 installiert und möchte unter diesem meinen AVAYA Wireless USB Client zum laufen bringen(den brauche ich fürs Internet).

Ich habe schon den benötigten Treiber von der Webseite www.avaya.com heruntergeladen und zusätzlich das Linux PCMCIA package das benötigt wird.

Ich bin der Anleitung gefolgt und habe beide Archive richtig entpackt nur beim kompillieren hakts noch.

[root@kumbay0 pcmcia-cs-3.1.29]# ./Build
This system uses in-kernel pcmcia-cs.
make -C wireless -f wavelan2_cs.mk all
make<font size="1">: Entering directory `/usr/src/pcmcia-cs-3.1.29/wireless'
cc -MD -c -O3 -Wall -Wstrict-prototypes -pipe -I../include/static -I/usr/src/l
inux/include -I../include -D__KERNEL__ -DMODULE wavelan2_cs.c -o wavelan2_cs.o
In file included from /usr/src/linux/include/linux/prefetch.h:13,
from /usr/src/linux/include/linux/list.h:6,
from /usr/src/linux/include/linux/module.h:12,
from ../include/static/linux/module.h:5,
from ../include/pcmcia/k_compat.h:92,
from wavelan2_cs.c:74:
/usr/src/linux/include/asm/processor.h:259:1: warning: "EISA_bus" redefined
In file included from ../include/pcmcia/k_compat.h:90,
from wavelan2_cs.c:74:
../include/static/linux/modversions.h:462:1: warning: this is the location of the previous definition
In file included from /usr/src/linux/include/linux/rwsem.h:29,
from /usr/src/linux/include/asm/semaphore.h:42,
from /usr/src/linux/include/linux/fs.h:201,
from /usr/src/linux/include/linux/capability.h:17,
from /usr/src/linux/include/linux/binfmts.h:6,
from /usr/src/linux/include/linux/sched.h:9,
from /usr/src/linux/include/asm/uaccess.h:8,
from ../include/static/asm/uaccess.h:49,
from ../include/pcmcia/k_compat.h:161,
from wavelan2_cs.c:74:
/usr/src/linux/include/asm/rwsem.h: In function `__down_write_trylock':
/usr/src/linux/include/asm/rwsem.h:176: warning: implicit declaration of function `cmpxchg'
In file included from wavelan2_cs.c:79:
/usr/src/linux/include/linux/malloc.h:4:2: warning: #warning linux/malloc.h is deprecated, use linux/slab.h instead.
ld -r -o wavelan2_cs.o .wavelan2_cs.o -L../lib -lhcf-i386
rm -f .wavelan2_cs.o ; chmod -x wavelan2_cs.o
make<font size="1">: Leaving directory `/usr/src/pcmcia-cs-3.1.29/wireless'


[root@kumbay0 pcmcia-cs-3.1.29]# ./Install
This system uses in-kernel pcmcia-cs.
make -C wireless install MODULES=wavelan2_cs.o
make<font size="1">: Entering directory `/usr/src/pcmcia-cs-3.1.29/wireless'
cp wavelan2_cs.o /lib/modules/2.4.21-0.13mdk/pcmcia
make<font size="1">: Leaving directory `/usr/src/pcmcia-cs-3.1.29/wireless'
/sbin/depmod -a
depmod: *** Unresolved symbols in /lib/modules/2.4.21-0.13mdk/pcmcia/wavelan2_cs.o <--------Das hier macht mir Sorgen
make -C man install-man4 MAN4=wavelan2_cs.4
make<font size="1">: Entering directory `/usr/src/pcmcia-cs-3.1.29/man'
cp *.4 /usr/man/man4
make<font size="1">: Leaving directory `/usr/src/pcmcia-cs-3.1.29/man'
make -C etc -f wavelan2_cs.mk install
make<font size="1">: Entering directory `/usr/src/pcmcia-cs-3.1.29/etc'
grep -q wavelan2 /etc/pcmcia/config || \
patch -s /etc/pcmcia/config wavelan2_cs.patch
cp wavelan2_cs.conf /etc/pcmcia/wavelan2_cs.conf
make<font size="1">: Leaving directory `/usr/src/pcmcia-cs-3.1.29/etc'


Also das Problem ist wenn ich den Wireless Client anstecke wird er zwar vom linux kernel erkannt(steht in den logs), aber es fühlt sich kein kernel modul zuständig für das Gerät.
Und jetzt weiss ich nicht mehr wirklich weiter.
Is das Modul defekt wegen den unresolved symbols oder hab ich das Ding falsch konfiguriert

MfG KumbaYO

Michael

Re: Problem beim kompillieren eines Treibers

#2 Post by Michael »

was sagt den

<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">modprobe wavelan2_cs</font><hr></pre></blockquote>

für welchen Kernel war den der Quelltext?
Haste den passenden verwendet? Evt. hilft
ein:

insmod -f wavelan2_cs

Cheers

Michael

BTW: Kann ich hier keine 2 code-tags in einer
Antwort setzen. In der Vorschau erscheint dann
zweimal der erste code.

[<!--no-->code<!--no-->]code1[<!--no-->/code<!--no-->]
[<!--no-->code<!--no-->]code2[<!--no-->/code<!--no-->]

Ausgabe

code
----
code1
----

code
----
code1
-----

kumbayo
Posts: 9
Joined: 05. Sep 2003 10:13

Re: Problem beim kompillieren eines Treibers

#3 Post by kumbayo »

Aus der Anleitung:
The current set of driver source files supports Linux
kernel versions 2.0.x, 2.2.x and 2.4.x for the Intel
architecture, as included (for example) with the
following Linux Distributions:
* Red Hat version 5.2, 6.0, 6.1, 6.2, 7.0, 7.1
* Suse version 6.1, 6.3, 6.4, 7.0, 7.1

Ich hab Mandrake 9.1 mit dem Kernel 2.4.21-0.13mdk (laut KDE-Kontrollzentrum)
Das installierte Paket für den Kernel source heißt kernel-source-2.4.21-0.13mdk (sollte also eigentlich passen)


<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">
[kumbayo@kumbay0 sbin]$ ./insmod -f wavelan2_cs
Using /lib/modules/2.4.21-0.13mdk/pcmcia/wavelan2_cs.o
Warning: The module you are trying to load (/lib/modules/2.4.21-0.13mdk/pcmcia/wavelan2_cs.o) is compiled with a gcc
version 2 compiler, while the kernel you are running is compiled with
a gcc version 3 compiler. This is known to not work.
/lib/modules/2.4.21-0.13mdk/pcmcia/wavelan2_cs.o: unresolved symbol register_pccard_driver
/lib/modules/2.4.21-0.13mdk/pcmcia/wavelan2_cs.o: unresolved symbol unregister_pccard_driver
/lib/modules/2.4.21-0.13mdk/pcmcia/wavelan2_cs.o: unresolved symbol CardServices_Re4eef0a4
/lib/modules/2.4.21-0.13mdk/pcmcia/wavelan2_cs.o:
Hint: You are trying to load a module without a GPL compatible license
and it has unresolved symbols. The module may be trying to access
GPLONLY symbols but the problem is more likely to be a coding or
user error. Contact the module supplier for assistance, only they
can help you.
</font><hr></pre></blockquote>

Das mit dem Card Service könnte daran liegen, dass ich den PCMCIA service nicht starten kann
in sysconfig/pcmcia gibt es nämlich eine Zeile mit PCIC= und i345345 (irgendeine Nummer aus der Anleitung) eintrage dann beschwert sich der pcmcia service, dass i345345 nicht in /lib/modules/kernel-2.4.21blabla/pcmcia gefunden werden kann


Aber ich hab doch gcc Version 3

[kumbayo@kumbay0 sbin]$ gcc -dumpversion
3.2.2

Oder ist damit die Subversion gemeint?


Heisst das jetzt ich brauch nen neuen gcc oder passt der Treiber net für mich?

Hmm das mit dem zweiten code geht wirklich net

MfG KumbaYO
Last edited by kumbayo on 05. Sep 2003 10:15, edited 1 time in total.

Michael

Re: Problem beim kompillieren eines Treibers

#4 Post by Michael »

Vielleicht war das Modul in Deinem tarball
schon fertig übersetzt mit drin, und ist deswegen
nicht wieder neu übersetzt worden.

<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">cd /source
make clean
./configure
make install</font><hr></pre></blockquote>

Cheers

Michael

Michael

Re: Problem beim kompillieren eines Treibers

#5 Post by Michael »

<blockquote><hr>/lib/modules/2.4.21-0.13mdk/pcmcia/wavelan2_cs.o: unresolved symbol register_pccard_driver
/lib/modules/2.4.21-0.13mdk/pcmcia/wavelan2_cs.o: unresolved symbol unregister_pccard_driver
/lib/modules/2.4.21-0.13mdk/pcmcia/wavelan2_cs.o: unresolved symbol CardServices_Re4eef0a4
<hr></blockquote>

Eigentlich hatte ich <blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">modprobe wavelan2_cs</font><hr></pre></blockquote> vorgeschlagen

Die "unresolved symbol" Fehler sehen so aus, als ob ein ebenfalls erforderliches Modul fehlt.

Irgenwas in der Klasse von "insmod pcmcia"

Cheers

Michael

kumbayo
Posts: 9
Joined: 05. Sep 2003 10:13

Re: Problem beim kompillieren eines Treibers

#6 Post by kumbayo »

wenn ich modprobe mach kommt das dabei raus

<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">
[root@kumbay0 pcmcia-cs-3.1.29]# modprobe wavelan2_cs
/lib/modules/2.4.21-0.13mdk/pcmcia/wavelan2_cs.o: The module you are trying to load (/lib/modules/2.4.21-0.13mdk/pcmcia/wavelan2_cs.o) is compiled with a gcc
version 2 compiler, while the kernel you are running is compiled with
a gcc version 3 compiler. This is known to not work.
modprobe: insmod /lib/modules/2.4.21-0.13mdk/pcmcia/wavelan2_cs.o failed
modprobe: insmod wavelan2_cs failed
</font><hr></pre></blockquote>


den letzten Fehler (/lib/modules/2.4.21-0.13mdk/pcmcia/wavelan2_cs.o: unresolved symbol CardServices_Re4eef0a4)
hab ich durch insmod pcmcia_core wegbekommen
jetzt gibts nur mehr
/lib/modules/2.4.21-0.13mdk/pcmcia/wavelan2_cs.o: unresolved symbol register_pccard_driver
/lib/modules/2.4.21-0.13mdk/pcmcia/wavelan2_cs.o: unresolved symbol unregister_pccard_driver
und das Problem mit gcc

Übrigens im tarball ist kein .o drinnen und ich hab mehrmals make clean probiert

Hmm was jetzt?
MfG KumbaYO

Michael

Re: Problem beim kompillieren eines Treibers

#7 Post by Michael »

<blockquote><hr>/lib/modules/2.4.21-0.13mdk/pcmcia/wavelan2_cs.o: unresolved symbol register_pccard_driver
/lib/modules/2.4.21-0.13mdk/pcmcia/wavelan2_cs.o: unresolved symbol unregister_pccard_driver<hr></blockquote>

Die sollten so verschwinden:<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">insmod pcmcia_core
insmod ds</font><hr></pre></blockquote>

Probiermal jetzt die Karte mit insmod -f zu aktivieren und den Fehler mit gcc zu ignorieren.

Wenns imma noch nicht geht vielleicht mal /lib/modules/2.4.21-0.13mdk/pcmcia/wavelan2_cs.o
händischen löschen und schauen, ob make install das neue Modul da wirklich hinkopiert!

Und klappt es?

Cheers

Michael

kumbayo
Posts: 9
Joined: 05. Sep 2003 10:13

Re: Problem beim kompillieren eines Treibers

#8 Post by kumbayo »

<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">[root@kumbay0 kumbayo]# insmod ds
Using /lib/modules/2.4.21-0.13mdk/kernel/drivers/pcmcia/ds.o.gz
/lib/modules/2.4.21-0.13mdk/kernel/drivers/pcmcia/ds.o.gz: init_module: Operation not permitted
Hint: insmod errors can be caused by incorrect module parameters, including invalid IO or IRQ parameters.
You may find more information in syslog or the output from dmesg</font><hr></pre></blockquote>

wenn dich dmesg aufrufe:
bla
bla
bla kernel zeugs
ds: no socket drivers loaded!

Schön langsam treibt mich dieser Treiber noch zum Wahnsinn

Ich hoffe dass dieser Treiber auch die USB Version unterstützt
Denn ich seh immer und überall nur PCMCIA
Aber andererseits ist der Treiber auf www.avaya.com unter "PC Card and USB Client" also wieso sollte es nicht gehen
Aber Linux glaubt anscheinend, dass ich keinen CardBus Controller habe und verweigert ds zu laden

Ich hoffe du hast noch mehr Ideen parat <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">

MfG KumbaYO

kumbayo
Posts: 9
Joined: 05. Sep 2003 10:13

Re: Problem beim kompillieren eines Treibers

#9 Post by kumbayo »

Arghhh jetzt weiss ich warum es nicht geht

The latest Avaya drivers for Windows 95, Linux and Macintosh operating systems are also available at http://support.avaya.com as well. Both Avaya labeled and ORiNOCO labeled cards are supported in the drivers, which are for PC Cards only. <b>The USB Client is not supported in Windows 95, Linux or Macintosh.</b>

Und wieso wird das nirgendwo erwähnt, wenn ich mir den Treiber herunter laden will :0
Das ist doch hirnrissig sowas nicht zu erwähnen.

Naja vielleicht funktioniert ja der Treiber von www.linux-wlan.com/org

Trotztdem danke für deine Hilfe

MfG KumbaYO

Post Reply