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í!