• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[solved] Modeminstallation scheitert an C-Headern

Hallo liebe Linux-Gemeinde,
Seit einigen Wochen mittlerweile sitze ich grübelnd über meinem neuen SuSE 10.1 und habe bisher auch schon was hinbekommen: DVB-S kann ich schon schauen... javascript:emoticon(':D')
Very Happyääh, ja das wars im Großen und Ganzen aber auch schon... kein VLC oder MPlayer, MP3 nur in kaffeine ...usw. usw. Aber egal erstmal.

weshalb ich hier frage ist die Modeminstallation!
Hier brauche ich Hilfe von erfahreneren Linux-Usern. Bin komplett aufgeschmissen und wäre über jede Hilfe dankbar! Meine bisherige Suche in diversen Foren hat mir leider nicht geholfen...

"In a nutshell" liegt das Problem irgendwo bei den C-Header files wie ich vermute... Alles was ich bisher als Ort für diese angab, führte zu Fehlermeldungen und Logdateien.

Hier ne handvoll Details:
SuSE Linux 10.1
AMD 1800+ mit 512mb
56K PCI-Modem von Typhoon, vom Setup nicht automatisch erkannt
Der Bereich 'C/C++ Compiler und Werkzeuge' aus YaST ist komplett vorhanden.

Hier noch Infos zum Kernel:
smokey@KLOPPER:~> rpm -qa |grep kernel
kernel-source-2.6.16.13-4
kernel-default-2.6.16.13-4

Nun zum Eingemachten:
Die Treibersourcen liegen auf dem Desktop im Verzeichnis moswm/hsflinmodem-4.06.06.02
und soweit habe ich Folgendes gemacht:
------------------------------------------------------------------------
LOPPER:/home/smokey/Desktop/moswm/hsflinmodem-4.06.06.02 # make install
make[1]: Entering directory `/home/smokey/Desktop/moswm/hsflinmodem-4.06.06.02/i nf'
install -m 644 linux_athens.inf linux_hsfi.inf linux_hsf.inf linux_intel_smartmc .inf linux_smarthsf.inf /etc/hsf/inf
make[1]: Leaving directory `/home/smokey/Desktop/moswm/hsflinmodem-4.06.06.02/in f'
make[1]: Entering directory `/home/smokey/Desktop/moswm/hsflinmodem-4.06.06.02/i nf2bin'
cc -I../imported/include -I../modules/osspec/include -DFRAME_WORK=FWK_LINUX_SOFT K56 -DFRAME_WORK_IMPORTED -DOVERRIDE_NEW=1 -DPORTABILITY=0 -DMULTYDP -DHSFLINUXV ERSION="\"4.06.06.02\"" -O2 -Wall -c -o inf2bin.o inf2bin.c
inf2bin.c: In function ‘€˜ProcessString’€™:
inf2bin.c:230: warning: pointer targets in assignment differ in signedness
inf2bin.c: In function ‘€˜ProcessCtryStruct’€™:
inf2bin.c:387: warning: pointer targets in assignment differ in signedness
cc -o hsfinf2bin inf2bin.o
install -m 755 hsfinf2bin /usr/sbin/hsfinf2bin
make[1]: Leaving directory `/home/smokey/Desktop/moswm/hsflinmodem-4.06.06.02/in f2bin'
make[1]: Entering directory `/home/smokey/Desktop/moswm/hsflinmodem-4.06.06.02/f irm2bin'
cc -I../imported/include -I../modules/osspec/include -DFRAME_WORK=FWK_LINUX_SOFT K56 -DFRAME_WORK_IMPORTED -DOVERRIDE_NEW=1 -DPORTABILITY=0 -DMULTYDP -O2 -Wall -c -o firm2bin.o firm2bin.c
cc -o hsffirm2bin firm2bin.o
install -m 755 hsffirm2bin /usr/sbin/hsffirm2bin
install -m 644 cnxykf.hex /etc/hsf
make[1]: Leaving directory `/home/smokey/Desktop/moswm/hsflinmodem-4.06.06.02/fi rm2bin'
make[1]: Entering directory `/home/smokey/Desktop/moswm/hsflinmodem-4.06.06.02/s cripts'
sed \
-e 's!@PREFIX@!/usr!g' \
-e 's!@HSFETCDIR@!/etc/hsf!g' \
-e 's!@HSFLIBDIR@!/usr/lib/hsf!g' \
-e 's!@HSFINFDIR@!/etc/hsf/inf!g' \
-e 's!@HSFSERIALMINOR@!64!g' \
-e 's!@HSFBININF_FILE@!/etc/hsf/nvram.bin!g' \
-e 's!@HSFFIRMWR_FILE@!/etc/hsf/firmware.bin!g' \
-e 's!@HSFLINUXVERSION@!4.06.06.02!g' \
< hsfconfig.in > hsfconfig
chmod 755 hsfconfig
install -m 755 hsfconfig hsfstop /usr/sbin
install -m 755 hsfsysid /usr/bin
make[1]: Leaving directory `/home/smokey/Desktop/moswm/hsflinmodem-4.06.06.02/sc ripts'
make[1]: Entering directory `/home/smokey/Desktop/moswm/hsflinmodem-4.06.06.02/m odules'
rm -rf "/usr/lib/hsf/config.mak" "/usr/lib/hsf/imported" "/usr/lib/hsf/modules"
mkdir -m 755 -p /usr/lib/hsf/modules
(cd .. && find config.mak imported -depth -print | cpio -pdm /usr/lib/hsf)
3664 blocks
find . \( -name '*.[ch]' -o -name '*.mak' -o -name '[Mm]akefile' \) -print | cpi o -pdm /usr/lib/hsf/modules
558 blocks
find binaries -depth -print | cpio -pdm /usr/lib/hsf/modules
0 blocks
make[1]: Leaving directory `/home/smokey/Desktop/moswm/hsflinmodem-4.06.06.02/mo dules'
install -m 444 LICENSE /usr/lib/hsf
-------------------------------------------------------------------------



Sieht soweit ja ganz gut aus. Dann: (hsfconfig haben die Hersteller ihr Programm getauft.)
-------------------------------------------------------------------------
KLOPPER:/home/smokey/Desktop/moswm/hsflinmodem-4.06.06.02 # hsfconfig
Linux HSF softmodem drivers, version 4.06.06.02
grep: /proc/ksyms: Datei oder Verzeichnis nicht gefunden
/usr/bin/hsfsysid: line 99: [: too many arguments

No pre-built HSF modules are available for your exact kernel:
Linux-2.6.16.13-4-default-i686-SuSE-10.1

Assuming that a C compiler and proper kernel header files are present
on your system, we will now attempt to re-compile the modules.

Where is the directory of C header files that match your running kernel?
[/lib/modules/2.6.16.13-4-default/build]



Hab an dieser Stelle Einiges ausprobiert, u.a. : "/usr/src/linux" und "/usr/src/linux-2.6.16.13-4". Auch die bloße Nichtseingabe führt zu:
------------------------------------------------------------------------
Re-compiling HSF modules for kernel 2.6.16.13-4-default, using source directory
/lib/modules/2.6.16.13-4-default/build. Please wait..

ERROR: Module re-compilation and installation failed!
Please examine the log file "/tmp/hsfconfig-recomp.log.7305" to determine why.



Die besagte Logdatei hat folgenden Inhalt:
------------------------------------------------------------------------
rm -f *.o
make[1]: Entering directory `/usr/lib/hsf/modules/osspec'
rm -f *.o
make[1]: Leaving directory `/usr/lib/hsf/modules/osspec'
make -C osspec all
make[1]: Entering directory `/usr/lib/hsf/modules/osspec'
* Compiling osmemory.c
cc1: warning: command line option "-fcheck-new" is valid for C++/ObjC++ but not for C
cc1: warning: command line option "-fno-rtti" is valid for C++/ObjC++ but not for C
In file included from <command line>:1:
/usr/src/linux-2.6.16.13-4/include/linux/config.h:8:1: error: /usr/src/linux-2.6.16.13-4/include/linux/modversions.h: Datei oder Verzeichnis nicht gefunden
In file included from /usr/src/linux-2.6.16.13-4/include/linux/rwsem.h:27,
from /usr/src/linux-2.6.16.13-4/include/asm/semaphore.h:42,
from /usr/src/linux-2.6.16.13-4/include/linux/sched.h:20,
from ../../modules/osspec/include/oscompat.h:61,
from osmemory.c:51:
/usr/src/linux-2.6.16.13-4/include/asm/rwsem.h: In function ‘€˜__down_read’€™:
/usr/src/linux-2.6.16.13-4/include/asm/rwsem.h:106: error: expected ‘€˜:’€™ or ‘€˜)’€™ before ‘€˜KBUILD_BASENAME’€™
/usr/src/linux-2.6.16.13-4/include/asm/rwsem.h: In function ‘€˜__down_write’€™:
/usr/src/linux-2.6.16.13-4/include/asm/rwsem.h:158: error: expected ‘€˜:’€™ or ‘€˜)’€™ before ‘€˜KBUILD_BASENAME’€™
/usr/src/linux-2.6.16.13-4/include/asm/rwsem.h: In function ‘€˜__up_read’€™:
/usr/src/linux-2.6.16.13-4/include/asm/rwsem.h:195: error: expected ‘€˜:’€™ or ‘€˜)’€™ before ‘€˜KBUILD_BASENAME’€™
/usr/src/linux-2.6.16.13-4/include/asm/rwsem.h:189: warning: unused variable ‘€˜tmp’€™
/usr/src/linux-2.6.16.13-4/include/asm/rwsem.h: In function ‘€˜__up_write’€™:
/usr/src/linux-2.6.16.13-4/include/asm/rwsem.h:221: error: expected ‘€˜:’€™ or ‘€˜)’€™ before ‘€˜KBUILD_BASENAME’€™
/usr/src/linux-2.6.16.13-4/include/asm/rwsem.h: In function ‘€˜__downgrade_write’€™:
/usr/src/linux-2.6.16.13-4/include/asm/rwsem.h:246: error: expected ‘€˜:’€™ or ‘€˜)’€™ before ‘€˜KBUILD_BASENAME’€™
In file included from /usr/src/linux-2.6.16.13-4/include/linux/sched.h:20,
from ../../modules/osspec/include/oscompat.h:61,
from osmemory.c:51:
/usr/src/linux-2.6.16.13-4/include/asm/semaphore.h: In function ‘€˜down’€™:
/usr/src/linux-2.6.16.13-4/include/asm/semaphore.h:105: error: expected ‘€˜:’€™ or ‘€˜)’€™ before ‘€˜KBUILD_BASENAME’€™
/usr/src/linux-2.6.16.13-4/include/asm/semaphore.h: In function ‘€˜down_interruptible’€™:
/usr/src/linux-2.6.16.13-4/include/asm/semaphore.h:130: error: expected ‘€˜:’€™ or ‘€˜)’€™ before ‘€˜KBUILD_BASENAME’€™
/usr/src/linux-2.6.16.13-4/include/asm/semaphore.h: In function ‘€˜down_trylock’€™:
/usr/src/linux-2.6.16.13-4/include/asm/semaphore.h:155: error: expected ‘€˜:’€™ or ‘€˜)’€™ before ‘€˜KBUILD_BASENAME’€™
/usr/src/linux-2.6.16.13-4/include/asm/semaphore.h: In function ‘€˜up’€™:
/usr/src/linux-2.6.16.13-4/include/asm/semaphore.h:179: error: expected ‘€˜:’€™ or ‘€˜)’€™ before ‘€˜KBUILD_BASENAME’€™
In file included from osmemory.c:51:
../../modules/osspec/include/oscompat.h:62:26: error: linux/tqueue.h: Datei oder Verzeichnis nicht gefunden
In file included from /usr/src/linux-2.6.16.13-4/include/linux/irq.h:22,
from /usr/src/linux-2.6.16.13-4/include/asm/hardirq.h:6,
from /usr/src/linux-2.6.16.13-4/include/linux/hardirq.h:7,
from /usr/src/linux-2.6.16.13-4/include/linux/interrupt.h:11,
from ../../modules/osspec/include/oscompat.h:64,
from osmemory.c:51:
/usr/src/linux-2.6.16.13-4/include/asm/irq.h:16:25: error: irq_vectors.h: Datei oder Verzeichnis nicht gefunden
In file included from /usr/src/linux-2.6.16.13-4/include/asm/hardirq.h:6,
from /usr/src/linux-2.6.16.13-4/include/linux/hardirq.h:7,
from /usr/src/linux-2.6.16.13-4/include/linux/interrupt.h:11,
from ../../modules/osspec/include/oscompat.h:64,
from osmemory.c:51:
/usr/src/linux-2.6.16.13-4/include/linux/irq.h: At top level:
/usr/src/linux-2.6.16.13-4/include/linux/irq.h:85: error: ‘€˜NR_IRQS’€™ undeclared here (not in a function)
In file included from /usr/src/linux-2.6.16.13-4/include/linux/irq.h:94,
from /usr/src/linux-2.6.16.13-4/include/asm/hardirq.h:6,
from /usr/src/linux-2.6.16.13-4/include/linux/hardirq.h:7,
from /usr/src/linux-2.6.16.13-4/include/linux/interrupt.h:11,
from ../../modules/osspec/include/oscompat.h:64,
from osmemory.c:51:
/usr/src/linux-2.6.16.13-4/include/asm/hw_irq.h:30: error: ‘€˜NR_IRQ_VECTORS’€™ undeclared here (not in a function)
osmemory.c: In function ‘€˜OsMemDMAAllocate’€™:
osmemory.c:219: error: called object ‘€˜"<3>"’€™ is not a function
osmemory.c:219: error: expected ‘€˜)’€™ before string constant
make[1]: *** [osmemory.o] Fehler 1
make[1]: Leaving directory `/usr/lib/hsf/modules/osspec'
make: *** [osspec] Fehler 2
------------------------------------------------------------------------
War das Verzeichnis nicht korrekt?

Ich steh' hier wie der Och' vorm Berg und brauche Eure Hilfe. Wer toll, wenn mir da jmd. unter die Arme greifen kann. Ist übrigens ziemlich nervig, für jede Einwahl ins Netz Mickeysoft zu starten...

Besten Dank,
Smokey


(PS: Oder kann ich auch die problemlos die 'Softmodem'-Treiber der CDs benutzen und den ganzen Rest vergessen?) :D
 
Bist Du denn sicher, dass das überhaupt ein Conexant-Chipsatz ist?

Poste bitte mal die Ausgabe von
Code:
/usr/sbin/hwinfo --modem
 
Die Ausgabe von hwinfo --modem ist:



... also rein gar nix!



Nachdem ich durch ein vorsorgliches
rpm -e hsflinmodem-4.06.06.02-4
das ganze wieder entwertet habe, ließ ich YaST die Arbeit machen: (mit zwei Paketen: einmal die "hsflin...i586.rpm" sowie danah mit der "hsflin...src.rpm"

mit der ...i586.rpm hieß es "package transaction failed". OBWOHL bei einem folgenden "rpm -qa |grep hsf" aufgelistet war:

hsflinmodem-4.06.06.02-4


Ein "hsfconfig" führt zum alten Problem mit den C-Headern.
Eine Deinstallation mittels
"rpm -e hsflinmodem-4.06.06.02-4"
führt zu dieser Fehlermeldung:

grep: proc/ksyms: Datei oder Verzeichnis nicht gefunden
/usr/bin/hsfsysid: line 99 [: too many arguments

Dennoch wird das Modem bei einem anschließenden "rpm -qa |grep hsf" nicht mehr aufgelistet, scheint also doch entfernt worden zu sein.


Nun zur "hsflinmod....src.rpm": Diese an YaST geschickt erklärt mir:
"Installation successful"

Ein neugieriges "rpm -qa |grep hsf" listet jedoch wieder absolut nichts auf. Und ein verzweifeltes "hsfconfig" gibt mir diesmal keine C-Header-Probleme, vielmehr kann mein System kein "hsfconfig" finden:
/usr/bin/hsfconfig: Datei oder Verzeichnis nicht gefunden

Im Übrigen lässt sich diese ....src.rpm problemlos nochmal installieren, d.h. keine Meldungen á la "bereits vorhanden" ...


Die Treiber habe ich übrigens von der Homepage (vier Modems zur Auswahl, inkl. Foto - werde also den richtigen runtergeladen haben. Und auch Mikroweichs System erkennt als Herstellerkennung "CXT".

Kannst Du damit was anfangen?
 
smokey schrieb:
Nun zur "hsflinmod....src.rpm": Diese an YaST geschickt erklärt mir:
"Installation successful"

Ein neugieriges "rpm -qa |grep hsf" listet jedoch wieder absolut nichts auf. Und ein verzweifeltes "hsfconfig" gibt mir diesmal keine C-Header-Probleme, vielmehr kann mein System kein "hsfconfig" finden:
/usr/bin/hsfconfig: Datei oder Verzeichnis nicht gefunden

Im Übrigen lässt sich diese ....src.rpm problemlos nochmal installieren, d.h. keine Meldungen á la "bereits vorhanden" ...
Ein src.rpm nutzt dir auch rein gar nichts, denn das sind NUR die Sourcen.
Und ein gedownloadetes rpm über YaST zu installieren ... da gab es / gibt es Probleme AFAIK bei SUSE-10.1.

Installiere das RPM mal besser mit "rpm -Uhv" in einer Shell als root.
Und dann dein "beherztes" hsfconfig nachschicken ;)
 
Naja, das ist ja ein bisschen viel auf einmal jetzt.

Also der Reihe nach

- RPM lässt sich beliebig oft installieren

Das ist bei Source-RPMs normal. Du installierst ja ein Source-RPM (*.src.rpm), das kannst Du so oft installieren wie Du willst, Source-RPMs werden nicht in die RPM-Datenbank eingetragen, deswegen kann man sie beliebig oft installieren.

- Dateien lassen sich nach Installation des Source-RPMs nicht finden

Das ist richtig so. Bei der Installation des Source-RPMs wird ja keine Software installiert, sondern es wird der Quelltext nach /usr/src/packages/SOURCES kopiert. Um die Software zu installieren, musst Du das Binary-RPM (*.i586.rpm) installieren.

- hsfconfig findet /proc/ksyms nicht.

Das ist ein Bug in hsfconfig. Es sollte /proc/ksyms nicht benutzen. /proc/ksyms ist schon seit Kernel 2.5 obsolet.

- Generelles Problem: Das Kernelmodul lässt sich nicht kompilieren.

Ja, schlecht. ;) So wie ich das sehe, versuchst Du allerdings eine Uralt-Version des Treibers zu installieren - es ist nicht überraschend, dass die sich mit einem 2.6-Kernel nicht kompilieren lässt.

Die aktuelle Version ist 7.47, Du versuchst eine 4.irgendwas-Version zu installieren. Ich kann mir schon denken wieso (diese alte Version braucht keinen Registrierungsschlüssel), aber leider funktioniert sie nur mit einem 2.4er-Kernel.

PS: Poste mal den Link, unter dem Du diese hsflinmodem-Pakete runtergeladen hast.
 
Na da gehen mir doch gleich einige Lichter auf! Bin gelegentlich halt noch auf dem Holzweg (insbesondere mit dem Sourcen-Begriff), deshalb besten Dank!

@admine: Ich werde den Befehl als nächstes testen. Danke!

@traffic: Fast hätts mir die Schühchen ausgezogen, aber "ja", tatsächlich: Meine Treiber sind älter als Metusalem. Auch andere Forenbeiträge bestätigen das... (Die freie Version läuft nur mit 14,4kb.) Habe mir also soeben die aktuellsten Treiber für meinen Kernel von Linuxant.com geladen und werde diese im Anschluss an obigen Versuch testen. (Der alte Link war übrigens noch von der Anubisline (www.anubisline.com) bzw. "http://ftp2.anubis.co.uk/51305_E_5_LINUX.ZIP". Können die das auf ihrer Seite nicht mal erwähnen?? Oder war ich mal wieder blind? Naja...)

Ich werds jedenfalls damit auch erstmal versuchen. Vielleicht kann ich ja demnächst ne Erfolgsmeldung schicken...

Allerbesten Dank nochmal!
smokey
 
Von der neuesten Version (ja, genau die, die nur mit 14.4 läuft) gibt es auch ein passendes RPM, d.h. das Kernel-Modul muss nicht kompiliert werden.

Du kannst es natürlich trotzdem kompilieren, bei der Version dürfte es sogar funktionieren ;)

Ansonsten lohnen sich die 20$ für einen Modemtreiber nicht, linuxtaugliche USB-Modems gibt es nämlich bei ebay für 1€.
 
Wohooo!!! läuft wie'n Länderspiel. Es hat an den Uralt-Treibern gelegen - Die aktuellen von Linuxant laufen (bei 14,4kb :-/)

Aber immerhin läuft es so jedenfalls! Werde als nächstes mal schauen, dass ich Packman als Quelle für YaST einbinde - Ob das Sinn macht bei der Geschwindigkeit wird sich zeigen. Aber jedenfalls kann ich ab nun auch mal "nebenbei" ins Netz und muss dafür nicht erst wieder mit Mickeysoft los...

an dieser Stelle nochmal BESTEN DANK!! an traffic und admine für die Hilfe!! Ohne Euch würd ich noch in Wochen über den alten Treiber stolpern... Vielleicht bringts ja auch jmd. was, der das gleiche Problem hat.

Beste Grüße,
smokey
 
Oben