Mageia Forum

Nastavení systému a serverových služeb => Nastavení systému => Téma založeno: lukas.v1 Listopad 09, 2013, 21:38:51

Název: Provedení skriptu před a po uspání
Přispěvatel: lukas.v1 Listopad 09, 2013, 21:38:51
Zdravím všechny.

Potřebuju poradit, jak spustit skript před a po uspání PC (uspání do paměti i na disk). Jedná se o to, že mám TV kartu Technisat Airstar 2. Aby tato karta fungovala po probuzení PC ze spánku, musí se znovu načíst ovladače.

V Mageii 2 se mi automaticky spouštěl tento skript uložený jako /etc/pm/sleep.d/99_dvb:
Kód: [Vybrat]
#!/bin/bash

PATH=/sbin:/usr/sbin:/bin:/usr/bin

case "${1}" in
        hibernate|suspend)
                rmmod b2c2_flexcop_pci
                rmmod b2c2_flexcop
                rmmod mt352
                ;;
        resume|thaw)
                modprobe b2c2_flexcop_pci
                ;;
esac

Nyní mám Mageiu 3. Zatím vždy po probuzení pomocí tohoto skriptu vždy odstraním a následně načtu moduly do paměti (jako root). Poté příjem TV opět funguje.
Po studeném startu PC funguje příjem TV bez problémů.

Zkoušel jsem do skriptu vložit kód, který by mi do /var/log/soubor zapsal, co skript udělal (i mimo blok case), ale skript tento soubor vůbec nevytvořil. Zdá se, že skript není vůbec spouštěný.

V příloze posílám soubor /var/log/pm-powersave.log obsahující chybové hlášení a soubor /usr/lib64/pm-utils/power.d/pcie_aspm, na který se chyba odkazuje.
Soubor /var/log/pm-suspend.log je prázdný.

Software:
výstup uname -a:
Kód: [Vybrat]
Linux Lukas-PC 3.8.13.4-desktop-1.mga3 #1 SMP Thu Jul 4 13:56:21 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

HW:

Automaticky po probuzení nefunguje od: instalace Mageii 3 na nové PC
Poslední bezproblémové fungování: v Mageii 2 na starém PC.
Název: Re:Provedení skriptu před a po uspání
Přispěvatel: mig31 Listopad 10, 2013, 10:00:30
Ja bych zkusil spustit tento skript z souboru /etc/rc.d/rc.local jako root.

Vse co je v tomto souboru se vykonava, az na konci.
Název: Re:Provedení skriptu před a po uspání
Přispěvatel: lukas.v1 Listopad 10, 2013, 14:29:36
Tebou navrhovaný skript /etc/rc.d/rc.local jsem musel vytvořit. Spouští se jen při startu OS.
Jak píšu, při startu problém nemám. Problém je s nahráním ovladačů zpět do paměti po probuzení PC.
Nyní mám Mageiu 3. Zatím vždy po probuzení pomocí tohoto skriptu vždy odstraním a následně načtu moduly do paměti (jako root). Poté příjem TV opět funguje.
Po studeném startu PC funguje příjem TV bez problémů.

Ale zkusil jsem tvůj nápad a po probuzení TV nefunguje. Musím se přihlásit jako root a spustit příkaz pro odebrání a opětovné nahrání modulů do paměti.
Název: Re:Provedení skriptu před a po uspání
Přispěvatel: Joelp Listopad 11, 2013, 16:16:24
"Problém" je v tom, že Linuxové distribuce začínají přecházet na systemd a spousta postupů a návodů přestávají fungovat. Je nutné věci začít řešit jinak. Zkus použít /usr/lib/systemd/system-sleep/.

Případně si pročíst wiki:
https://wiki.archlinux.org/index.php/Systemd#Sleep_hooks
Název: Re:Provedení skriptu před a po uspání
Přispěvatel: Joelp Listopad 11, 2013, 16:17:47
Mohlo by ti taky pomoct toto vlákno:

https://bbs.archlinux.org/viewtopic.php?id=146790
Název: Re:Provedení skriptu před a po uspání
Přispěvatel: lukas.v1 Listopad 11, 2013, 19:49:08
Díky, funguje.

Můj skript ze složky /etc/pm/sleep.d/ jsem umístil do zmíněné složky:
/usr/lib/systemd/system-sleep

Jak je v diskuzi na archlinux.org, před uspáním PC se skript spouští s parametrem pre a po probuzení s parametrem post.

Hodnoty jsem přidal do konstrukce case ve skriptu.
Kdyby ho někdo hledal, výsledek je v příloze.
Název: Re:Provedení skriptu před a po uspání
Přispěvatel: Joelp Listopad 11, 2013, 20:54:59
Máš +1 za krásně shrnutí tvého problému a jeho řešení :)
Název: Re:Provedení skriptu před a po uspání
Přispěvatel: jany Srpen 21, 2015, 09:06:14
Zdravim, mam podobny problem, ale pouzivam debian 8 a Sky Star HD2 kartu.
Mne sa do pameti po prebudeni pc nezavedie modul mantis.
Ked som pouzival Mint 17, tak som to riesil cez pm-utils, kde som v
Kód: [Vybrat]
/usr/lib/pm-utils/defaultseditoval
Kód: [Vybrat]
#SUSPEND_MODULES="" na
Kód: [Vybrat]
SUSPEND_MODULES="mantis" Vtedy sa modul zaviedol a vsetko fungovalo.
V debiane defaultne ani pm-utils nebol nainstalovany a po instalacii som to urobil presne ako v minte. Lenze po prebudeni PC sa modul stejne nezavedie.
Jedina moznost (o ktorej viem (ak nepocitam restart)) je
Kód: [Vybrat]
rmmod mantis
modprobe mantis
vtedy sa modul zavedie a karta funguje.
Teraz som vsak nasiel tento skript a mam par otazok:
Kód: [Vybrat]
#!/bin/bash
PATH=/sbin:/usr/sbin:/bin:/usr/bin

case "${1}" in
pre|hibernate|suspend)
rmmod b2c2_flexcop_pci
rmmod b2c2_flexcop
                rmmod mt352
                ;;
post|resume|thaw)
modprobe b2c2_flexcop_pci
;;
esac
PATH znamena cesta k comu ? (sorry nie som shellista ani programator)
Moj skript by mohol teda vyzerat asi takto
Kód: [Vybrat]
#!/bin/bash
PATH=/sbin:/usr/sbin:/bin:/usr/bin

case "${1}" in
pre|hibernate|suspend)
rmmod mantis
                ;;
post|resume|thaw)
modprobe mantis
;;
esac
Název: Re:Provedení skriptu před a po uspání
Přispěvatel: jany Srpen 21, 2015, 12:02:49
Takze som to skusal a nejak mi to nefunguje. Na subor som dal chmod 755