[gelöst] Netzwerk nach Kabel einstecken starten

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

[gelöst] Netzwerk nach Kabel einstecken starten

Beitrag von Duff » 17.05.2010 10:26:33

Hallo,

ich möchte bei der Netzwerkkonfiguration gerne folgendes Szenario abbilden können:

1. Rechner wird ohne Netzwerkkabel gestartet
2. Netzwerkkabel wird eingesteckt und das Netzwerk soll automatisch konfiguriert werden (statisch)


Habe es mit allow-hotplug in der interfaces-Datei probiert. Die Lampen der Netzwerkschnittstelle leuchten zwar, aber ein ethtool, sowie ein ip link show eth0 liefern ein "Link nicht vorhanden" bzw. DOWN.

Das Vorhaben sollte doch möglich sein, oder?
Oh, yeah!

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Re: [gelöst] Netzwerk nach Kabel einstecken starten

Beitrag von Duff » 17.05.2010 14:51:18

Konnte den Fehler finden. Lag nicht an der Konfiguration, sondern am Treiber!

Den Treiber musste ich allerdings noch mit make install durch das entsprechende Makefile bauen lassen.

Kann ich diesen auch irgendwie auf ein anderes System portieren, auf dem u.a. kein make installiert ist???
Oh, yeah!

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: [gelöst] Netzwerk nach Kabel einstecken starten

Beitrag von rendegast » 17.05.2010 17:50:38

Mußt ihn gegen die entsprechenden Header kompilieren, am besten mit der gcc-Version des Ziel-Kernels.
Durch das 'make install' wird das Modul dann wohl in /lib/modules/Zielkernel/ landen.
Das Modul in den entsprechenden Modul-Baum auf der Zielmaschine kopieren,
eventuelle "Konkurrenten" deaktivieren/blacklisten (modules.alias durchforsten),
und 'depmod -a'.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Re: [gelöst] Netzwerk nach Kabel einstecken starten

Beitrag von Duff » 18.05.2010 08:16:33

Danke für die Antwort.
rendegast hat geschrieben:Mußt ihn gegen die entsprechenden Header kompilieren, am besten mit der gcc-Version des Ziel-Kernels.
Ok, dies muss ich also auf dem anderen System auch durchführen?
Sprich, dies hier

Code: Alles auswählen

 apt-cache search linux-headers-`uname -r`
rendegast hat geschrieben:Durch das 'make install' wird das Modul dann wohl in /lib/modules/Zielkernel/ landen.
Ja, habe ich gesehen.
Reicht es, wenn ich dies in das gleiche Verzeichnis auf der andere Maschine kopiere?
rendegast hat geschrieben:Das Modul in den entsprechenden Modul-Baum auf der Zielmaschine kopieren,
eventuelle "Konkurrenten" deaktivieren/blacklisten (modules.alias durchforsten),
und 'depmod -a'.
Müsste die Antwort auf meine vorherige Frage sein.
Ein depmod -a müsste ich wohl trotzdem noch ausführen, damit die Abhängigkeiten der Module in der richtigen Reihenfolge auf dem Modulstack gelegt und von modprobe geladen werden.
Oh, yeah!

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: [gelöst] Netzwerk nach Kabel einstecken starten

Beitrag von rendegast » 18.05.2010 09:52:45

Ok, dies muss ich also auf dem anderen System auch durchführen?
Nein, das machst Du auf einem beliebigen System,
auf dem da die headers des TargetKernels und dessen gcc-Version installiert sind.

Auf das Targetsystem kommt nur das erstellte Modul, was auch
Reicht es, wenn ich dies in das gleiche Verzeichnis auf der andere Maschine kopiere?
beantwortet.


Ein depmod -a müsste ich wohl trotzdem noch ausführen,
Das ist essentiell, sonst kann das in den Modulbaum kopierte Modul nicht von udev/modprobe benutzt werden,
da es nicht in modules.alias (PCI-ID-Liste) und modules.dep auftaucht.

Du kannst es zwar mit 'insmod ./Modul.ko' laden, aber die Automatik udev/modprobe schlägt fehl.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Re: [gelöst] Netzwerk nach Kabel einstecken starten

Beitrag von Duff » 18.05.2010 12:54:41

Danke. Hört sich relativ einfach an.

1. Schritt: das Modul (mod.ko) nach /lib/modules/`uname-r`/kernel/drivers/net/mod/mod.ko zu kopieren
2. Schritt: depmod -a ausführen


Mal schauen, ob es funktioniert.
Oh, yeah!

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Re: [gelöst] Netzwerk nach Kabel einstecken starten

Beitrag von Duff » 18.05.2010 14:20:21

Mmh...funktioniert leider noch nicht ganz.

Ich habe das Modul an die entsprechende Stelle kopiert (das alte mit .ORIG gesichert) und anschließend ein rmmod, depmod -a und modprobe gemacht. Ein lsmod | grep module zeigt mir nun auch mehr Einträge an (oder auch ein modinfo).

Allerdings muss ich nun nach einem Reboot erneut ein rmmod und modprobe durchführen.
Wieso?
Oh, yeah!

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: [gelöst] Netzwerk nach Kabel einstecken starten

Beitrag von rendegast » 18.05.2010 14:37:48

1. Schritt: das Modul (mod.ko) nach /lib/modules/`uname-r`/kernel/drivers/net/mod/mod.ko zu kopieren
- Mit `uname-r` ist der Targetkernel gemeint(?)

- "kernel/drivers/net/mod/mod.ko" der Pfad ist egal, da depmod den ganzen Baum absucht.
Tip: nicht irgendwo "da unten",
"/lib/modules/`uname-r`/lokalmod/" o.ä. ist übersichtlicher.
Zudem läßt sich dann zBsp. bei 'modinfo Modul' besser unterscheiden, insbesondere wenn das erstellte Modul und das Konkurrenzmodul denselben Namen tragen.
Was auch hier hilfreich sein dürfte:
an die entsprechende Stelle kopiert (das alte mit .ORIG gesichert) und anschließend ein rmmod,
'rmmod' besser, solange das Modul noch aktiv ist.
Allerdings muss ich nun nach einem Reboot erneut ein rmmod und modprobe durchführen.
Spätestens nach einem Reboot sollte das nicht nötig sein
Kontrolle mit

Code: Alles auswählen

modinfo Modul
Bsp:
(Umbenannt rt2870sta.ko -> rt2870sta.ko.ORIG)
/lib/modules/2.6.33.3/kernel/drivers/staging/rt2870# modinfo rt2870sta
ERROR: modinfo: could not open /lib/modules/2.6.33.3/kernel/drivers/staging/rt2870/rt2870sta.ko: No such file or directory
Press any key to continue...

/lib/modules/2.6.33.3/kernel/drivers/staging/rt2870# depmod -a
Press any key to continue...

/lib/modules/2.6.33.3/kernel/drivers/staging/rt2870# modinfo rt2870sta
ERROR: modinfo: could not find module rt2870sta
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Re: [gelöst] Netzwerk nach Kabel einstecken starten

Beitrag von Duff » 18.05.2010 14:47:17

Habe das Modul in das entsprechende Unterverzeichnis mit dem Modulname kopiert.

Mein Problem ist aber, dass zwar nach einem Reboot das neue Modul geladen wird, jedoch dessen Abhängigkeit noch nicht.
Diese wird erst nach einem rmmod und modprobe geladen.

Habe anschließend mal, nachdem alles korrekt geladen wurde (händischer Eingriff) ein update-initramfs -u ausgeführt. Mal schauen, was nun nach einem Reboot passiert...
Oh, yeah!

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: [gelöst] Netzwerk nach Kabel einstecken starten

Beitrag von rendegast » 18.05.2010 15:44:33

dass zwar nach einem Reboot das neue Modul geladen wird, jedoch dessen Abhängigkeit noch nicht.
Diese wird erst nach einem rmmod und modprobe geladen.
?
Treiberbug?

'modinfo Modul' sollte sowas ausgeben:
/sbin/modinfo snd_hda_intel
....
depends: snd-pcm,snd,snd-page-alloc,snd-hda-codec



-------------------------------------------------------
ein update-initramfs -u ausgeführt
stimmt, da ist ja auch noch ein /lib/modules/...
und bis zur Neuerstellung steckt da ja eventuell auch noch das Konkurrenzmodul drin.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Antworten