[gelöst] Netzwerk nach Kabel einstecken starten
[gelöst] Netzwerk nach Kabel einstecken starten
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?
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!
Re: [gelöst] Netzwerk nach Kabel einstecken starten
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???
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!
Re: [gelöst] Netzwerk nach Kabel einstecken starten
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'.
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")
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
Re: [gelöst] Netzwerk nach Kabel einstecken starten
Danke für die Antwort.
Sprich, dies hier
Reicht es, wenn ich dies in das gleiche Verzeichnis auf der andere Maschine kopiere?
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.
Ok, dies muss ich also auf dem anderen System auch durchführen?rendegast hat geschrieben:Mußt ihn gegen die entsprechenden Header kompilieren, am besten mit der gcc-Version des Ziel-Kernels.
Sprich, dies hier
Code: Alles auswählen
apt-cache search linux-headers-`uname -r`
Ja, habe ich gesehen.rendegast hat geschrieben:Durch das 'make install' wird das Modul dann wohl in /lib/modules/Zielkernel/ landen.
Reicht es, wenn ich dies in das gleiche Verzeichnis auf der andere Maschine kopiere?
Müsste die Antwort auf meine vorherige Frage sein.rendegast hat geschrieben:Das Modul in den entsprechenden Modul-Baum auf der Zielmaschine kopieren,
eventuelle "Konkurrenten" deaktivieren/blacklisten (modules.alias durchforsten),
und 'depmod -a'.
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!
Re: [gelöst] Netzwerk nach Kabel einstecken starten
Nein, das machst Du auf einem beliebigen System,Ok, dies muss ich also auf dem anderen System auch durchführen?
auf dem da die headers des TargetKernels und dessen gcc-Version installiert sind.
Auf das Targetsystem kommt nur das erstellte Modul, was auch
beantwortet.Reicht es, wenn ich dies in das gleiche Verzeichnis auf der andere Maschine kopiere?
Das ist essentiell, sonst kann das in den Modulbaum kopierte Modul nicht von udev/modprobe benutzt werden,Ein depmod -a müsste ich wohl trotzdem noch ausführen,
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")
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
Re: [gelöst] Netzwerk nach Kabel einstecken starten
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.
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!
Re: [gelöst] Netzwerk nach Kabel einstecken starten
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?
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!
Re: [gelöst] Netzwerk nach Kabel einstecken starten
- Mit `uname-r` ist der Targetkernel gemeint(?)1. Schritt: das Modul (mod.ko) nach /lib/modules/`uname-r`/kernel/drivers/net/mod/mod.ko zu kopieren
- "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:
'rmmod' besser, solange das Modul noch aktiv ist.an die entsprechende Stelle kopiert (das alte mit .ORIG gesichert) und anschließend ein rmmod,
Spätestens nach einem Reboot sollte das nicht nötig seinAllerdings muss ich nun nach einem Reboot erneut ein rmmod und modprobe durchführen.
Kontrolle mit
Code: Alles auswählen
modinfo Modul
(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")
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
Re: [gelöst] Netzwerk nach Kabel einstecken starten
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...
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!
Re: [gelöst] Netzwerk nach Kabel einstecken starten
?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
-------------------------------------------------------
stimmt, da ist ja auch noch ein /lib/modules/...ein update-initramfs -u ausgeführt
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")
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")