GNU/Linux >> Znalost Linux >  >> Linux

Jak resetovat/cyklovat napájení zařízení Pcie?

Mám zařízení PCIe, které funguje správně pouze tehdy, když je počítač zcela vypnutý a poté znovu zapnutý. Vydání jednoduchého reboot nebo reboot -p Zdá se, že příkaz nevypne napájení karty PCIe, což způsobí, že po restartu nebude fungovat.

Existuje způsob, jak z operačního systému zapnout a vypnout napájení zařízení ve slotu PCIe? Najdu to v /sys/bus/pci/devices/0000*/ , ale nemůžu přijít na to, jak správně resetovat desku. Přepínání napájení se zdá být jediným způsobem.

Pokud to není možné, mohu někde změnit nastavení, které způsobí úplný cyklus napájení při reboot příkaz?

Mimochodem, používám Ubuntu 12.10.

Přijatá odpověď:

Potenciální metoda č. 1

Myslím, že to můžete udělat pomocí těchto příkazů:

deaktivovat

echo 0 > /sys/bus/pci/slots/$NUMBER/power

povolit

echo 1 > /sys/bus/pci/slots/$NUMBER/power

Kde $NUMBER je číslo PCI slotu.

lspci -vv může pomoci identifikovat zařízení. To není příliš dobře zdokumentováno…

Potenciální metoda č. 2

Narazil jsem na toto vlákno na U&L, podobný problém:existuje několik odpovědí na tuto otázku, které říkají, že můžete resetovat pomocí tohoto příkazu:

echo "1" > /sys/bus/pci/devices/$NUMBER/reset

Nicméně odpovědi bych si tam přečetl! Existují podmínky, kdy to udělat tímto způsobem! Konkrétně bych si přečetl tuto odpověď!

Potenciální metoda č. 3

Existuje unixový příkaz setpci , který vám může poskytnout metodu pro resetování zařízení na sběrnici PCI.

Neviděl jsem žádné konkrétní příklady s tímto příkazem, takže budete muset hledat příklady a procházet manuálovou stránku. S tímto příkazem bych lehce našlapoval, dokud si nebudete jisti jeho používáním. Podle toho, co jsem o tom četl, manipuluje přímo s hardwarem, a proto vždy existuje riziko, když to uděláte sami v porovnání s použitím nástroje, který odhaluje tento typ funkcí!


Linux
  1. Jak nainstalovat ovladač zařízení v systému Linux

  2. Linux – Jak robustně přepnout výstupní zařízení Pulseaudio z příkazového řádku?

  3. Jak resetovat nastavení zabezpečení Jenkins z příkazového řádku?

  1. Jak používat Su Command v Linuxu

  2. Jak naplánovat příkaz Rsync?

  3. Sudo - existuje příkaz pro kontrolu, zda mám sudo a/nebo kolik času zbývá?

  1. Jak ukončit, pokud příkaz selhal?

  2. gdb se zastaví v příkazovém souboru, pokud dojde k chybě. Jak pokračovat i přes chybu?

  3. Jak připojit zařízení v Linuxu?