ubuntuusers.de

DKMS und der fcpci Treiber (Fritz Karten)

Status: Gelöst | Ubuntu-Version: Ubuntu 10.04 (Lucid Lynx)
Antworten |
Dieses Thema ist die Diskussion des Artikels Archiv/ISDN-Karten/AVM_FRITZ!Card_PCI/DKMS.

hannemann

Anmeldungsdatum:
25. Mai 2007

Beiträge: 1310

Hallo,

ich habe mir eine dkms.conf für den fcpci Treiber erstellt und beim heutigen Update auf 2.6.32-29 hat dkms sogar den Treiber für meine AVM Karte automatisch installiert. Ich würde diese im Wiki veröffentlichen wollen, bin jedoch verunsichert.

Im Wiki ist nachzulesen ISDN-Karten/AVM FRITZ!Card PCI (Abschnitt „Kernelmodul-kompilieren“), das für DKMS Konfigurationsdaten für ISDN-Karten fehlen würden. Was ist damit gemeint?

Soweit ich den Artikel verstanden habe, benötigt man nur die Sourcen für den Treiber und keine Daten bezüglich der verwendetet Hardware, richtig?

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

Ich würde diese im Wiki veröffentlichen wollen, bin jedoch verunsichert.

Warum? Das Wikiteam ist nur ganz selten böse... 😀

Wie lange wäre die Anleitung denn und aus welcher Seite würdest du das einbauen?

Gruß, noisefloor

aasche

Anmeldungsdatum:
30. Januar 2006

Beiträge: 14259

hannemann schrieb:

Im Wiki ist nachzulesen ISDN-Karten/AVM FRITZ!Card PCI (Abschnitt „Kernelmodul-kompilieren“), das für DKMS Konfigurationsdaten für ISDN-Karten fehlen würden. Was ist damit gemeint?

Das bis jetzt niemand eine (funktionierende) dkms.conf zur Verfuegung gestellt hat. Falls Du eine saubere und reproduzierbare Loesung hast - immer her damit ☺

hannemann

(Themenstarter)

Anmeldungsdatum:
25. Mai 2007

Beiträge: 1310

Sauber ist bei 5 Zeilen Code ja nicht weiter schwierig. Bei dem Punkt reproduzierbar wird es mangels weiterer Rechner schwieriger. Da könntet ihr ja helfen. Ein weiterer Treiber im System schadet ja nicht wirklich.

Jedenfalls habe ich den Treiber bewusst vor dem heutigen Kernel-Update in dkms integriert, um die Funktion einigermaßen prüfen zu können.

Die Datei liegt auf dem Entwicklungsserver im Büro... morgen kann ich Sie ja mit einer kleinen Anleitung hier einstellen und ihr testet mal. Wenn alles klappt wandert es dann ins Wiki.

Btw. Wie einfach ist es bitte einen Treiber zu dkms hinzuzufügen... Geniale Sache das.

hannemann

(Themenstarter)

Anmeldungsdatum:
25. Mai 2007

Beiträge: 1310

Sooo... Nun schreib ich mal was ich gemacht habe zum nachmachen:

cd /usr/src
sudo wget fritz-fcpci-src-2.6.31_untested.tar.bz2 # bzw. der zum System passende Tarball laut Wiki
sudo tar xjf fritz-fcpci-src-2.6.31_untested.tar.bz2
sudo mv fritz-fcpci-src-2.6.31_untested fcpci-2.6.31 # Ordner muss heissen <modulename>-<version>
cd fcpci-2.6.31/fcpci_src
sudo rm fcpci-lib.o
sudo ln -s <RECHNERARCHITEKTUR (64|32)>_fcpci-lib.o fcpci-lib.o
cd ..
sudo EDITORDERWAHL dkms.conf
... Inhalt der dkms.conf (siehe unten) anpassen, einfügen und speichern ...

# eventuell dkms installieren
# sudo apt-get install dkms

sudo dkms add -m fcpci -v 2.6.31
sudo dkms build -m fcpci -v 2.6.31
sudo dkms install -m fcpci -v 2.6.31

ls -l /lib/modules/2.6.32-29-generic/updates/dkms/
-rw-r--r-- 1 root root 869448 2011-03-02 10:32 fcpci.ko

dkms.conf

PACKAGE_NAME="fcpci"
PACKAGE_VERSION=2.6.31

MAKE="'make' all -C fcpci_src/"
CLEAN="'make' -C fcpci_src/ clean"

BUILT_MODULE_NAME=fcpci
BUILT_MODULE_LOCATION=fcpci_src/
DEST_MODULE_LOCATION="/extra/"

AUTOINSTALL=yes

PACKAGE_VERSION je nach Version und der Pfad kann auch abweichen. Der Tarball für Maverick z.B. beinhaltet den Pfad src/ der für Lucid den Pfad fcpci_src/.

Je nachdem lauten die Werte der Variablen MAKE, CLEAN und BUILT_MODULE_LOCATION etwas anders. Das gilt natürlich auch fü o.a. Kommandos.

Wichtig in MAKE und CLEAN sind die Quotes um make. Fehlen diese kommt es zu einem Fehler, da dkms die Befehlszeile zum kompilieren um die Variable KERNELVERSION ergänzt. Das herauszufinden war das schwierigste.

Jedenfalls passiert das nach einem Kernel Update in einer VM mit Maverick:

Richte linux-image-generic ein (2.6.35.27.35) ...
Richte linux-generic ein (2.6.35.27.35) ...
Richte linux-headers-2.6.35-27 ein (2.6.35-27.48) ...
Richte linux-headers-2.6.35-27-generic ein (2.6.35-27.48) ...
Examining /etc/kernel/header_postinst.d.
run-parts: executing /etc/kernel/header_postinst.d/dkms 2.6.35-27-generic /boot/vmlinuz-2.6.35-27-generic
 * dkms: running auto installation service for kernel 2.6.35-27-generic                                                                                       
 *       vboxguest (4.0.2)...                                                                                                                          [ OK ] 
 *       fcpci (2.6.34)...                                                                                                                             [ OK ] 
run-parts: executing /etc/kernel/header_postinst.d/nvidia-common 2.6.35-27-generic /boot/vmlinuz-2.6.35-27-generic
Richte linux-headers-generic ein (2.6.35.27.35) ...
hannemann@MVNB:~$ ls -l /lib/modules/2.6.35-27-generic/updates/dkms/
insgesamt 868
-rw-r--r-- 1 root root 610972 2011-03-03 12:14 fcpci.ko
-rw-r--r-- 1 root root 208588 2011-03-03 12:13 vboxguest.ko
-rw-r--r-- 1 root root  53588 2011-03-03 12:13 vboxsf.ko
-rw-r--r-- 1 root root   4892 2011-03-03 12:13 vboxvideo.ko

aasche

Anmeldungsdatum:
30. Januar 2006

Beiträge: 14259

Danke fuer die Anleitung. Ich werde mal versuchen, es auf einem Rechner mit Ubuntu 10.10 umzusetzen. Und mir Gedanken machen, wie sich das in den schon ziemlich komplexen Artikel ISDN-Karten/AVM FRITZ!Card PCI einbauen laesst.

hannemann

(Themenstarter)

Anmeldungsdatum:
25. Mai 2007

Beiträge: 1310

Auch gut. Sonst hätte ich es selbst eingebaut. Wäre mir aber ganz lieb, wenn das noch getestet wird.

Danke

aasche

Anmeldungsdatum:
30. Januar 2006

Beiträge: 14259

hannemann schrieb:

Auch gut. Sonst hätte ich es selbst eingebaut. Wäre mir aber ganz lieb, wenn das noch getestet wird.

Ich bin immer noch unschluessig, wie sich das Verfahren in den bestehenden Artikel integrieren laesst. Daher erstmal eine eigene Baustelle, damit fleissig getestet werden kann. Spaeter kann man dann ueberlegen, ob es bei einem eigenen Artikel bleibt oder ob man den Inhalt in den Hauptartikel aufnimmt.

PS: die Aenderungen gegenueber Deiner Anleitung sind beabsichtigt (und getestet)...

hannemann

(Themenstarter)

Anmeldungsdatum:
25. Mai 2007

Beiträge: 1310

Sieht doch schon ganz gut aus. Deine Änderungen vereinfachen IMO das Verfahren zusätzlich.

Einen eigenen Artikel finde ich in so fern nicht schlecht, da es im WIKI noch gar kein Besipiel für eine DKMS Konfig gibt. So könnte man auch gut aus dem DKMS Artikel auf diesen verweisen, ohne vom Thema abzulenken, falls jemand nach Infos zu DKMS und nicht zur Fritz Karte sucht.

Daher fände ich es gut, wenn Du darauf hinweisen würdest, das es mit dem -C Parameter von make möglich ist, Sourcen in einem Unterverzeichnis zu verwenden (nur der Vollständigkeit halber). Auch den Hinweis auf die Quotes um das make Kommando würde ich mit aufnehmen. Wenn ich mich recht erinnere ist das ein Bug in DKMS und die Quotes sind der Workaround. Die Quelle ist eine Mailingliste. Ich erinnere mich aber nicht mehr wo genau. Falls die angegeben werden soll, müsste ich noch mal Tante Google befragen.

aasche

Anmeldungsdatum:
30. Januar 2006

Beiträge: 14259

hannemann schrieb:

Einen eigenen Artikel finde ich in so fern nicht schlecht, da es im WIKI noch gar kein Besipiel für eine DKMS Konfig gibt. So könnte man auch gut aus dem DKMS Artikel auf diesen verweisen, ohne vom Thema abzulenken, falls jemand nach Infos zu DKMS und nicht zur Fritz Karte sucht.

Gute Idee ☺

Daher fände ich es gut, wenn Du darauf hinweisen würdest, das es mit dem -C Parameter von make möglich ist, Sourcen in einem Unterverzeichnis zu verwenden (nur der Vollständigkeit halber).

Einspruch - dieser Hinweis gehoert in den Artikel DKMS. Hier geht es "nur" um die Fritz!Card PCI.

Auch den Hinweis auf die Quotes um das make Kommando würde ich mit aufnehmen. Wenn ich mich recht erinnere ist das ein Bug in DKMS und die Quotes sind der Workaround. Die Quelle ist eine Mailingliste. Ich erinnere mich aber nicht mehr wo genau. Falls die angegeben werden soll, müsste ich noch mal Tante Google befragen.

Dein Hinweis zu den Quotes war tatsaechlich die entscheidende Loesung. Ich hatte eine fast identische dkms.conf (ohne Quotes), die aber immer mit einem Fehler abbrach und das Thema deswegen auf spaeter verschoben.

Aber auch hier bin ich der Meinung, dass gilt nicht speziell fuer die Fritz!Card PCI und sollte daher ebenfalls in den Artikel DKMS.

hannemann

(Themenstarter)

Anmeldungsdatum:
25. Mai 2007

Beiträge: 1310

Vielleicht sollte man dann in dem Atemzug gleich den DKMS Artikel mit überarbeiten. Das Tool nimmt einem ja einiges ab, wenn man denn weiß wie es zu bedienen ist.

Das meiste habe ich aus dem Englischen Ubuntu-Wiki. Eigentlich alles, bis auf den Workaround. IMO würde es ausreichen, den zu übersetzen.

aasche

Anmeldungsdatum:
30. Januar 2006

Beiträge: 14259

hannemann schrieb:

Vielleicht sollte man dann in dem Atemzug gleich den DKMS Artikel mit überarbeiten. Das Tool nimmt einem ja einiges ab, wenn man denn weiß wie es zu bedienen ist.

Noch eine gute Idee ☺

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

Vielleicht sollte man dann in dem Atemzug gleich den DKMS Artikel mit überarbeiten. Das Tool nimmt einem ja einiges ab, wenn man denn weiß wie es zu bedienen ist.

+1 - ich habe seinerzeit beim Schreiben des Artikels kein Beispiel gehabt, was ich selber hätte testen können (wollen). Wenn man DKMS um eine allg. Anleitung erweitert wäre das sehr gut! Diskussion dazu aber bitte in der zugehörigen Diskussion.

Gruß, noisefloor

JotEs

Avatar von JotEs

Anmeldungsdatum:
5. August 2007

Beiträge: 25

Wohnort: Schwerin

Hallo,

ich bin an dem Thema sehr interessiert, weil ich eine FCPCI betreibe. Ich habe versucht, unter Ubuntu 10.04, mit Kernel 2.6.32-29-generic, die in Baustelle/ISDN-Karten/AVM FRITZ!Card PCI/DKMS beschrieben Schritte nachzuvollziehen. Nach erfolgreichem Hinzufügen des Kernelmoduls mit "dkms add ..." endet die Kompilierierung mit Fehlern:

sudo dkms build -m fcpci -v 2.6.31

Kernel preparation unnecessary for this kernel.  Skipping...

Building module:
cleaning build area....
'make' all....(bad exit status: 2)

Error! Bad return status for module build on kernel: 2.6.32-29-generic (i686)
Consult the make.log in the build directory
/var/lib/dkms/fcpci/2.6.31/build/ for more information.
0
0
ERROR: binary package for fcpci: 2.6.31 not found

Das genannte make.log enthält

DKMS make.log for fcpci-2.6.31 for kernel 2.6.32-29-generic (i686)
Sa 5. Mär 17:19:09 CET 2011
cp: Aufruf von stat für „../lib/fcpci-lib.o“ nicht möglich: Datei oder Verzeichnis nicht gefunden
make: *** [fcpci.ko] Fehler 1

Diese Meldung verstehe ich nicht, wo soll denn „../lib/fcpci-lib.o“ sein? Den im WIKI (Baustelle) beschrieben Link dieser Datei habe ich angelegt.

Was mache ich falsch? Kann mir jemand helfen?

Viele Grüße, JotEs

Dieter_Ubuntu

Anmeldungsdatum:
4. Juli 2007

Beiträge: 448

Ich habe versucht mit DKMS den fcpci-Treiber zu installieren.

Mein System: Ubuntu 10.10 32 bit. Die "normale Installation" des Treibers klappte problemlos. Mit DKMS wurde bei

1
sudo dkms build -m fcpci -v 2.6.34

die Installation mit den gleichen Fehlermeldungen abgebrochen, die auch JotEs erhielt.

Die Make.log Datei hat bei mir allerdings einen anderen Inhalt:

DKMS make.log for fcpci-2.6.34 for kernel 2.6.35-27-generic (i686) Sa 5. Mär 19:37:18 CET 2011 make: *** Keine Regel, um »all« zu erstellen. Schluss.

Der Hinweis "Kernel preparation unnecessary for this kernel. Skipping..." deutet darauf hin, dass es mit dem aktuellen Kernel 2.6.35-27 (erst heute aktualisiert) Schwierigkeiten geben könnte. Trotzdem ist diese Fehlermeldung etwas unerwartet, da ja, wie oben erwähnt, die Installation des fcpci Treibers auf herkömmliche Weise, klappte.

Grüße aus Südbaden

Antworten |