Forum: PC Hard- und Software Linux: PCI Karte "abschalten" ?


von FlorianSirian (Gast)


Lesenswert?

Hallo.

Die Frage mag etwas blöd klingen - aber kann man bei Linux eine PCI 
Karte "abschalten"? Also quasi die Treiber/Kernelmodule die die Karte 
zum Leben erwecken auf Befehl deaktivieren? Wie würde man die 
Kernelmodule identifizieren?

danke

von Sven B. (scummos)


Lesenswert?

Ja, das ist einfach: in lspci -v nach der Karte schauen, da steht 
"kernel driver in use: <name>"; dann einfach "sudo rmmod <name>".
So komplett abgeschaltet wird die Karte dadurch allerdings nicht, kriegt 
immer noch Strom etc. Was willst du denn erreichen?

Grüße,
Sven

von Gerd E. (robberknight)


Lesenswert?

Sven B. schrieb:
> Ja, das ist einfach: in lspci -v nach der Karte schauen, da steht
> "kernel driver in use: <name>"; dann einfach "sudo rmmod <name>".

dann entfernst du aber den ganzen treiber aus dem kernel. der selbe 
treiber kann aber von verschiedenen karten genutzt werden - die gehen 
dann alle nicht mehr. außerdem kann der treiber auch fest in den kernel 
compiliert sein, dann geht das sowieso nicht so.

du kannst über das sysfs die verknüpfung zwischen karte und treiber 
aufheben. dazu suchst du dir unter /sys/bus/pci/devices das richtige 
device raus (vorher mit lspci nach der adresse schauen).

dort gibts dann nen symlink "driver" und dort die datei "unbind". dort 
schreibst du dann die pci-adresse rein um den befehl zum trennen zu 
geben:
echo 0000:00:19.0 > /sys/bus/pci/drivers/foo/unbind

damit ist die karte aber noch "da", sie hat nur keinen treiber mehr. 
wenn du sie wirklich auf pci-ebene abschalten willst, gibt es im sysfs 
unter /sys/bus/pci/devices noch "enable" und "remove" die man auch über 
echo ansteueren kann.

von FlorianSirian (Gast)


Lesenswert?

danke für die schnelle Antwort.

Was ich erreichen will ist folgendes:
Ich habe eine eSATA/USB3 Karte im Rechner - an der hängt ein NAS (über 
USB3) ... das NAS schaltet sich selbst in nen Standby Modus wenn der 
Rechner abgeschalten wird oder das NAS an keinem Rechner hängt.
Meine Vermutung ist, dass das NAS sich auch so verhält, wenn die Karte 
nicht mehr aktiv ist.

Grad probiert ... scheint aber nicht so einfach zu sein:

lspci -v

...
01:00.0 USB controller: NEC Corporation uPD720200 USB 3.0 Host 
Controller (rev 03) (prog-if 30 [XHCI])
        Flags: bus master, fast devsel, latency 0, IRQ 16
        Memory at f7c00000 (64-bit, non-prefetchable) [size=8K]
...
        Kernel driver in use: xhci_hcd
...

rmmod xhci_hcd
ERROR: Module xhci_hcd does not exist in /proc/modules

von FlorianSirian (Gast)


Lesenswert?

danke!

Die Variante mit "/sys/bus/pci/drivers/foo/unbind" funktioniert ... 
Supi!!!

von Kirk (Gast)


Lesenswert?

Warscheinlich ist xhci_hcd fest im Kernel (usb3 = xhci) d.h. du must 
entweder den Kernel neu kompilieren oder mittels "find /sys/|grep xhci" 
nach den Parametern suchen welche per User geändert werden dürfen 
vielleicht kannst du da ja per "echo 0>/sys/device.../xhci*/power" die 
Spannungsversorgung abschalten oder so in etwa...

von Sven B. (scummos)


Lesenswert?

Ok -- die Methode von Gerd ist besser ;)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.