Modul an bestimmte Karte binden

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Benutzeravatar
gerry
Beiträge: 14
Registriert: 04.06.2004 10:54:46

Modul an bestimmte Karte binden

Beitrag von gerry » 04.06.2004 11:09:07

Hallo Leute,
erstmals großes :D Lob :D an die Betreiber und Mitglieder des Forums - eine derart kompetente Infoquelle findet man selten!!! Hoffe, ich kann auch mal das eine oder andere dazu beitragen...

Ich habe einen Microserver von Kontron, auf welchem ich in einer Nacht-und-Nebelaktion ein funktionierendes Debian mit Kernel 2.4.16 zum Laufen gebracht habe (ohne CD-Laufwerk und Disk war das ein wenig tricky..). Das Teil hat alles in allem 4 Ethernet-ports, wovon der Treiber (dmfe) für die ersten 3 (davicom) scheinbar im Kernel integriert ist. Scheinbar deshalb, weil ich kein modul in irgendwelcher config finde (Für den 4. Port muss das Modul cx89x0 mittels insmod und einigen options geladen werden. Mein Problem ist nun, dass wenn ich in /etc/modules das Modul für den 4. Port laden will, dieser versucht sich auf die ersten 3 Ports zu binden. Wenn ich den Boot-Vorgang abwarte und das Modul händisch lade, funzt das Werk, aber das ist ja nicht im Sinne des Erfinders :? :?

Meine Frage nun: Wie kann ich das Modul automatisch laden und sagen, dass es sich auf die 4. Karte binden soll bzw. wie kann ich die Reihenfolge beeinflussen (zuerst die dmfe und dann erst cx89x0)??? Eine Möglichkeit wäre das ganze über ein rc-script zu starten, aber schön ist das nicht, oder??

Benutzeravatar
mistersixt
Beiträge: 6601
Registriert: 24.09.2003 14:33:25
Lizenz eigener Beiträge: GNU Free Documentation License

Beitrag von mistersixt » 04.06.2004 11:12:26

Willkommen im Board!

Wenn Du alle Treiber modularisiert haben solltest (schau mal in die /etc/modules), dann ist die Reihenfolge von oben nach unten in dieser Datei entscheidend.

Gruss, mistersixt.

Benutzeravatar
gerry
Beiträge: 14
Registriert: 04.06.2004 10:54:46

Beitrag von gerry » 04.06.2004 11:26:36

in /etc/modules sind nur 2 auskommentierte Zeilen

/schnipp
#ide-cd
#ide-detect
/schnipp

deswegen nehme ich an, dass für die davicom-ports der Treiber fix im Kernel ist (oder liege ich da daneben???)

wenn ich in /etc/modules nun das modul cs89x0 eintrage, dann findet er zwar die richtigen optionen (nehme an aus /etc/modutils/cs89x0, das Laden scheint auch noch zu funzen, aber die Troubles beginnen beim nachfolgenden ifconfig. beim eth0 bekomme ich die meldung "SIOCSIFFLAGS: Resource temporarily unavailable".
So wie ich das sehe, muss ich das Laden des dmfe-Treibers vor dem Laden des cs89x0-Modules machen - nur wie???
Ach ja, die dmfe-prozedur beginnt nach dem laden der usb-treiber - und diese wird eingeleitet von "discovering hardware" - sollte da das problem liegen??

Benutzeravatar
mistersixt
Beiträge: 6601
Registriert: 24.09.2003 14:33:25
Lizenz eigener Beiträge: GNU Free Documentation License

Beitrag von mistersixt » 04.06.2004 12:09:40

"Discovering hardware" hört sich danach an, als wenn kudzu oder discover - beides Hardwareerkennungsprogramme - auch noch dazwischenfunken. Ansonsten probier mal ff. Zeile in /etc/modutils/aliases hinzuzufügen:

Code: Alles auswählen

alias eth0 dmfe
Dann noch als "root" den Befehl "update-modules" ausführen und nochmal das Ganze probieren.

Gruss, mistersixt.

Benutzeravatar
gerry
Beiträge: 14
Registriert: 04.06.2004 10:54:46

Beitrag von gerry » 04.06.2004 12:29:04

danke für den prompten service, aber leider hat das nix genützt. Ich hab in /etc/modutils/aliases sowohl alias eth0 dmfe als auch alias eth3 cs89x0 probiert - gefolgt von einem meisterlichen "update-modules" - aber das Bild hat sich leider nicht geändert.

zur discovery: ja, nach der installation war discover aktiviert! Werde jetzt mal probieren, das abzudrehen und die module händisch zu laden. Das sollte eigentlich möglich sein, da ich ja immer mit der selben hardware arbeite (embedded system) und bis auf einen usb-stick nix ändere. Dieser wird ja über hotplug richtig behandelt. Mal schaun, was sich dann tut...

zu update-modules: bei mir kommen jede menge "depmode:**** unresolved symbols....", weil ich aus platzgründen nicht benötigte module händisch eliminiert habe. Weisst du dafür zufällig lösung? Ich kann zwar mit den Meldungen leben, aber schön isses nich...

gruß
gerry
Zuletzt geändert von gerry am 04.06.2004 12:46:58, insgesamt 2-mal geändert.
-------------------------------------------------------------------
A trainstation is a station where the train stops. But what the hell is a workstation?

Benutzeravatar
gerry
Beiträge: 14
Registriert: 04.06.2004 10:54:46

Lösung oder Workaround gefunden!!!

Beitrag von gerry » 04.06.2004 12:45:15

Problem gelöst - Workaround

ist zwar nicht die feine englische, aber es geht:

habe discovery deaktiviert und lade die module nun händisch über /etc/modules. Da kann ich dann die reihenfolge beliebig ändern und siehe da - es geht jetzt :P :P

Hat jemand eine bessere/schönere/elegantere Lösung??

@mistersixt: vielen Dank nochmals für die Hilfe - denn eine Minute nach dem Posten meiner Frage schon eine Antwort - :D rekordverdächtig :D

grüsse
gerry
-------------------------------------------------------------------
A trainstation is a station where the train stops. But what the hell is a workstation?

Benutzeravatar
mistersixt
Beiträge: 6601
Registriert: 24.09.2003 14:33:25
Lizenz eigener Beiträge: GNU Free Documentation License

Re: Lösung oder Workaround gefunden!!!

Beitrag von mistersixt » 05.06.2004 09:10:28

gerry hat geschrieben: @mistersixt: vielen Dank nochmals für die Hilfe - denn eine Minute nach dem Posten meiner Frage schon eine Antwort - :D rekordverdächtig :D

grüsse
gerry
Man tut was man kann :D !

Gruss, mistersixt

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Joghurt » 05.06.2004 21:39:35

gerry hat geschrieben:zu update-modules: bei mir kommen jede menge "depmode:**** unresolved symbols....", weil ich aus platzgruenden nicht benoetigte module haendisch eliminiert habe.
Manche Module ben*tigen andere Module, um zu funktionieren, z.B. braucht cdrom entweder ide-cd oder ide-scsi. Die Fehlermeldung zeigt, dass du ein Modul entfernt hast, das von einem anderen gebraucht wird; das entsprechende Modul wird nicht funktionieren.

In Zukunft besser alle vermeintlich *berfl*ssigen Module zuerst verschieben und ein depmod -a ausf*hren, wenn dann fehlermeldungen kommen, ein depmod -va machen und versuchen, aus den Funktionsnamen auf das fehlende Modul zu schliessen.

Benutzeravatar
gerry
Beiträge: 14
Registriert: 04.06.2004 10:54:46

Beitrag von gerry » 05.06.2004 22:50:00

ja, das hatte ich auch vor, nur hab ich in meinem grenzenlosen Eifer alle aus /lib/modules/... entfernten module in ein einziges Verzeichnis verschoben ("werden ja nicht sooo viele sein..."). Als ich fertig war, hat ein ls -l | wc -l dann 197 ergeben - ups!! Da dann die passenden Module wieder zu finden war eigentlich nicht mehr möglich, denn depmod -va ist zwar sehr gesprächig, aber wirklich schlau wird man daraus auch nicht. Der Weg mit dem Neuinstallieren der Module war genau das, wonach ich gesucht habe.

Muß gestehen, mit der apt-Methode bin ich nicht vertraut, find's aber genial. Da ich bisher eher mit Susi und RedHat zu tun hatte, kannte ich apt nur vom Höhrensagen. Für dieses Projekt hab' ich mich für Debian entschieden und je länger ich mich damit beschäftige, desto besser gefällt mir das ganze. Ich muss mich nur noch damit abfinden, dass ich fix und fertige Pakete installiert bekomme und nicht mehr selber die ganze Prozedur herunterbete. Man glaubt halt immer noch ein bisschen, nur ein selbst kompilliertes Programm ist ein gutes.... :wink:

Vielen Dank für deine Hilfe!

gerry
-------------------------------------------------------------------
A trainstation is a station where the train stops. But what the hell is a workstation?

Antworten