• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

modprobe -r iwlwifi funktioniert nicht mehr

Hi,

seit 3 Tagen funktioniert mein Init-Skript (aus welchem Grund auch immer) nicht mehr. In diesem Skript setze ich die wlan-Schnittstelle zurück, um den täglichen Internetverkehr zu protokollieren. Der Bash-Code sieht so aus:

Code:
#! /bin/sh
#########################################################################################################
#                                                                                                       #
#       Init-Skript, das beim Systemstart und Shutdown ausgeführt wird.                                 #
#                                                                                                       #
#       Startup: IP-Zähler RX und TX der wlan0-Schnittstelle auf Null setzen                            #
#       Shutdown:IP-Traffic der Sitzungen einer Abrechnungsperiode addieren und in einer Datei sichern  #
#                                                                                                       #
#                                                                                                       #
#########################################################################################################
### BEGIN INIT INFO
# Required-Start:       $ALL
# Required-Stop:        $ALL
# Default-Start:        3 5
# Default-Stop:         0 6
# Short-Description:    Start: Resetting RX+TX; Stop: Internettraffic sichern
# Description:          längere Beschreibung noch verfassen
### END INIT INFO

PATH=/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/usr/local/sbin
Schnittstelle=wlan0

echo "Running IP-Traffic...."

case "$1" in
        start)
                echo "Start: resetting RX + TX "
                # hier kommen alle Befehle hin, die beim Booten ausgeführt werden sollen
                # ggf. am Ende der Zeilen ein & einfügen, damit der Bootvorgang nicht stoppt
                Treiber=`/sbin/ethtool -i $Schnittstelle | grep driver | awk {'print $2'}`              # Treiber der Schnittstelle isolieren
                /sbin/modprobe -r $Treiber                                                              # Treiber stoppen
                sleep 1                                                                                 # kurz warten
                /sbin/modprobe $Treiber                                                                 # und Treiber wieder starten -> RX und TX sind jetzt auf Null gesetzt
                # sleep 1                                                                               # nicht nötig, wenn die Schnittstelle vom NetworkManager verwaltet wird
                # ifup $Schnittstelle                                                                   # Bei NetworkManager nicht nötig
        ;;
        stop)
........

jetzt bekomme ich aber eine Fehlermeldung:
systemctl status Init-Skript_IP-Traffic.service
Init-Skript_IP-Traffic.service - LSB: Start: Resetting RX+TX; Stop: Internettraffic sichern
Loaded: loaded (/etc/init.d/Init-Skript_IP-Traffic)
Active: active (exited) since Fr 2014-01-31 18:48:10 CET; 1min 32s ago
Process: 585 ExecStart=/etc/init.d/Init-Skript_IP-Traffic start (code=exited, status=0/SUCCESS)

Jan 31 18:48:09 MichasLappi systemd[1]: Starting LSB: Start: Resetting RX+TX; Stop: Internettraffic sichern...
Jan 31 18:48:09 MichasLappi Init-Skript_IP-Traffic[585]: Running IP-Traffic....
Jan 31 18:48:09 MichasLappi Init-Skript_IP-Traffic[585]: Start: resetting RX + TX
Jan 31 18:48:09 MichasLappi Init-Skript_IP-Traffic[585]: FATAL: Module iwlwifi is in use.
Jan 31 18:48:10 MichasLappi.site systemd[1]: Started LSB: Start: Resetting RX+TX; Stop: Internettraffic sichern.

und lsmod | grep iwlwifi liefert:
iwlwifi 110187 1 iwldvm
cfg80211 456679 3 iwldvm,mac80211,iwlwifi

Die letzten Tage habe ich noch das Programm "Zoneminder" mit nem Stall von Abhängigkeiten installiert. Ich würde es ja wieder deinstallieren, doch denke ich, dass die Abhängigkeiten nicht mit deinstalliert würden, oder?

Also ich verstehe das so, dass das wlan0-Modul "iwlwifi" nicht mehr entladen werden kann, weil ein anderes Modul dieses Modul verwendet. Ok, das andere Modul müsste dann wohl "cfg80211" sein. Aber was ist das für ein Modul?

Hat hier jemand einen Lösungsansatz?

Danke für jede Mithilfe.

Gruß Michael

Linux 3.11.6-4-desktop
openSuse 13.1 (i586)
KDE 4.11.3
 
Beim Systemstart wird das Modul geladen. Gleich darauf entlädst Du es wieder und lädst es neu. Welche Zähler sollen da beim 2. Mal gelöscht werden, die beim 1. Mal "übersehen" worden sind? Woher kommen Deine Werte?

Beim Systemstart wird unter anderem das sys-Dateisystem neu erzeugt, und die vom Netzwerkkarten-Modul leer angelegten Dateien in /sys/class/net/*/statistics/* werden dann im laufenden Betrieb gefüllt (und verschwinden beim Herunterfahren im Daten-Nirwana, da das sys-Dateisystem im Hauptspeicher liegt).

MiPl schrieb:
doch denke ich, dass die Abhängigkeiten nicht mit deinstalliert würden
Wenn Du in YaST unter "Optionen" "Bereinigung beim Löschen von Paketen" ausgewählt hat, werden sie entfernt.
 
Hallo und Danke für die Reaktion.

die RX- und TX-Daten werden jedoch beim Versetzen des Rechners in den Ruhestand/Tiefschlaf nicht auf 0 gesetzt. In dem Stop-Teil des Skriptes werden dann diese Daten gespeichert und beim erneuten Hochfahren weiterverarbeitet. Insofern ist das Laden und Entladen m. M. n. nicht überflüssig.

Die Frage ist jedoch, warum diese Prozedur nun nicht mehr funktioniert, nachdem ich ca. 1 Jahr damit zufrieden war? Liegts doch am Zoneminder? Gibts da möglicherweise einen Workaround, um doch beide Progs zu nutzen?


Danke für den Tip zu YaST.

Michael
 
Beim Systemstart ist die Aktion unnötig.

Für den Ruhezustand mußt Du eine separate Lösung haben, und dort wirst Du wohl in Zukunft mehr als 1 Modul entladen und wieder laden müssen, wenn Du die Phasen außerhalb der Ruhepausen getrennt erfassen willst.
 
hallo,

nochmal meinen Dank für Deine Antwort.

Was mir nicht in den Kopf will ist, dass es 1 Jahr funktionierte und nun nicht mehr. Das ist doch merkwürdig. Ok, habe Zoneminder wieder runtergeschmissen, doch das Ergebnis ist identisch: Modul kann nicht entladen werden.

Gut, ich werde mir was anderes ausdenken.

Gruß Michael
 
Oben