Hallo Forum!
Ich hab mal wieder ne Frage ;-)
Wie kann ich nen Treiber automatisch laden lassen?
Meine Situation: Ich hab nen USB-Wlan-Stick, den ich gestern endlich zum laufen gebracht habe (einige werden sich erinnern *g*). Ich muss aber den Treiber jedes Mal mit "insmod" laden und darf erst danach den Stick einstecken, da er sonst nicht korrekt erkannt wird.
Wie kann ich den Treiber also so laden, dass er vor der Erkennung des Sticks geladen wird. Bzw. wie kann ich den Standarttreiber 'verdrängen'?
Danke schonmal, Gruß CPUQuäler
PS: Ich dachte immer die Grafikkartentreiber würden so viele Probleme machen. Bisher hat der Wlan-Treiber mir mehr graue Haare beschert ;-)
Linux 15.070 Themen, 107.540 Beiträge
Ubuntu baut auf Debian testing (Betaversion von Debian) auf.
Bei Debian können Module auf vier verschiedene Arten automatisch geladen werden:
-discover, während der Systeminitialiserungsphase
-hotplug, während der Systeminitiliserungsphase und wenn das Gerät an ein laufendes System angeschlossen wird.
--> hotplug wurde bei Debain testing und damit auch bei Ubuntu durch udev ersetzt.
Du müßtest als udev für deinen USB Stick konfigurieren.
Es kann sein das die Gerätedatei des USB Stick sich beim An- und Abstecken ändert. Das soll mit udev verbessert werden. Dadurch bleiben die Gerätedateien gleich.
Beispiel für einen USB Stick aus dem Debian- Handbuch "Das Debian System" von Martin F. Kraft:
/etc/udev/rules.d/local-stick.rules:
'BUS="scsi", SYSFS{model}="FLASH", KERNEL="sd?1", NAME="%k" SYMLINK="stick", GROUP="stick", MODE="0660"'
Hier wurde der USB Stick unter /dev/stick zur Verfügung gestellt und die Gruppe stick kann darauf zugreifen.
Vergleiche das mal mit dem Ubuntu Wiki. Ich weiß nicht in wie weit Debian mit Ubuntu kompatibel ist. Ich habe auch noch nie so einen USB WLAN Stick benutzt.
Die anderen Arten sind:
-Kernel-Autoloader KMOD (macht alles automatisch, braucht nicht konfiguriert werden)
-die statische Modulliste, die beim Starten geladen wird und vom Administrator gepflegt wird.
Alle Module die in der Datei /etc/modules stehen werden beim Systemstart automatisch geladen
---> Vielleicht reicht es auch, wenn du den Namen des Treibermodules in die Datei /etc/modules einträgst.
PS: Ich muß gestehen , ich kann auch nur Handbücher lesen.
Wenn du mehr über das originale Debian erfahren willst, kann ich dir dieses Handbuch empfehlen:
http://www.amazon.de/Das-Debian-System-Konzepte-Methoden/dp/3937514171/ref=sr_1_2/028-9070159-7682107?ie=UTF8&s=books&qid=1174471615&sr=8-2
Also ich hab nochmal ein bisschen rumprobiert. Das mit det /etc/modules klappt nicht. Hatte ich schon vorher getestet. udev gibts bei Ubuntu, aber ich hab nicht so wirklich rausgefunden, wie ich da Regeln für nen WLan-Stick erstelle. Die reden immer nur alle von Wechseldatenträgern :-(
Zu guter letzt habe ich den Treiber mit dieser Anleitung neu installiert. Hat auch super geklappt, er wird automatisch geladen etc.
ABER: Der Stick funktioniert nur, wenn er beim Starten weg ist. Danach hab ich Plug'n'play und Internet funktioniert usw. Wie kann man das erklären?
Trotzdem danke ;-)
Edit: Es geht!!! Hab den Eintrag "pre-up ifconfig rausb0 up" der laut dieser Anleitung in die /etc/network/interfaces muss wieder entfernt und siehe da, nach dem Neustart läufts! *freu* *doppelfreu*
Gruß CPUQuäler
Geht mir auch immer so, wenn mir unter Ubuntu mal wieder was gelungen ist! Bin ja auch noch nicht so lange dabei, aber es macht immer mehr Freude. :-))
Gruß
Tia, irgendwie ist es wie ein gutes Spiel. Und wenn einem was gelungen ist, ist man wieder ein Level weiter *g*
Gruß CPUQuäler
Besser kann man es nicht sagen.... :-)
Gruß
So kommt es mir auch vor! Jedesmal ein neues Erlebnis. Schön!
Du mußt mal in die manualpage von interfaces reinschauen.
Dieser pre-up Anweisung ist dazu gedacht, damit irgendein Befehl abgearbeitet wird, bevor die Netzwerkkarte aktiviert wird.
"man interfaces"
......
IFACE OPTIONS
The following "command" options are available for every family and
method. Each of these options can be given multiple times in a single
stanza, in which case the commands are executed in the order in which
they appear in the stanza. (You can ensure a command never fails by
suffixing "|| true".)
pre-up command
Run command before bringing the interface up. If this command
fails then ifup aborts, refraining from marking the interface as
configured, prints an error message, and exits with status 0.
This behavior may change in the future.
up command
post-up command
Run command after bringing the interface up. If this command
fails then ifup aborts, refraining from marking the interface as
configured (even though it has really been configured), prints
an error message, and exits with status 0. This behavior may
change in the future.
down command
pre-down command
Run command before taking the interface down. If this command
fails then ifdown aborts, marks the interface as deconfigured
(even though it has not really been deconfigured), and exits
with status 0. This behavior may change in the future.
post-down command
Run command after taking the interface down. If this command
fails then ifdown aborts, marks the interface as deconfigured,
and exits with status 0. This behavior may change in the
future.
.....
Ist ein einfaches Englisch .
Ich denke auch das die beste Konfigurationsdatei die /etc/network/interfaces ist.
Als ich damals die Allnet WLAN-Karte installiert habe, habe ich auch die ganzen Treiberangaben in die interfaces reingeschrieben.
Die Unterschiede zwischen Debian und Ubuntu sind wahrscheinlich zu groß.
Die Datei Blacklist wird wahrscheinlich vom Kernelautoloader KMOD ausgewertet. KMOD bekommt vom Kernel einen alias und lädt dann den dazu passenden Treiber mit Hilfe von modprobe.
Bei Debian steht in diesem Verzeichnis eine Datei aliases
/etc/modprobe.d$ cat aliases
# These are the standard aliases for devices and kernel drivers.
# This file does not need to be modified.
#
# Please file a bug against module-init-tools if a package needs a entry
# in this file.
# network protocols ##########################################################
alias net-pf-1 unix
alias net-pf-2 ipv4
alias net-pf-3 ax25
alias net-pf-4 ipx
alias net-pf-5 appletalk
alias net-pf-6 netrom
alias net-pf-7 bridge
alias net-pf-8 atm
alias net-pf-9 x25
alias net-pf-10 ipv6
alias net-pf-11 rose
alias net-pf-12 decnet
# 13 NETBEUI
alias net-pf-15 af_key
alias net-pf-16 af_netlink
alias net-pf-17 af_packet
# 18 ASH
alias net-pf-19 af_econet
alias net-pf-20 atm
.....
Der alias wird vom Kernel an KMOD gesendet , wenn ein Programm einen bestimmten Treiber braucht. Ich nehme mal an das die Datei Blacklist eine ähnliche Funktion bei Ubuntu hat.
