Portál AbcLinuxu, 26. dubna 2024 00:23


Dotaz: zavedenie modulu po prebudeni PC

20.8.2015 21:36 jany2 | skóre: 30 | blog: jany_blog
zavedenie modulu po prebudeni PC
Přečteno: 525×
Odpovědět | Admin
Zdravim,

mam mensi problem. V PC mam DVB kartu, ktorej modul (lsmod) sa vola mantis. Donedavna som pouzival mint 17. V minte sme to riesili tuna a fungovalo to vynikajuco.

Teraz som vsak presiel z istych dovodov na debian 8 jessie 64bit a chcel som to vyriesit podobne. Cize som si doinstaloval pm-utils a v
/usr/lib/pm-utils/defaults
som editoval
#SUSPEND_MODULES=""
na
SUSPEND_MODULES="mantis"
Ale v debiane to vobec nefunguje. Skusil som to teda rucne odstranit a znova zaviest
rmmod mantis
modprobe mantis
a toto uz funguje dobre.

Ako by sa to dalo najjednoduchsie vyriesit, aby som nemusel vzdy po prebudeni odstranovat a zavadzat modul rucne.

thx
upozornujem, ze v linuxe som vecny zaciatocnik ...
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Jendа avatar 21.8.2015 21:58 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: zavedenie modulu po prebudeni PC
Odpovědět | | Sbalit | Link | Blokovat | Admin
/etc/pm/sleep.d/foo:
#!/bin/bash

# Arguments can be:
# "suspend suspend"
# "resume suspend"
# "thaw hibernate"

case "$1" in
 "suspend")
  rmmod
 ;;
 "resume")
  modprobe
 ;;
esac

chmod +x /etc/pm/sleep.d/foo
Já to s tou denacifikací Slovenska myslel vážně.
21.8.2015 22:36 nobody
Rozbalit Rozbalit vše Re: zavedenie modulu po prebudeni PC
myslim ze to muze byt pro nej dost matouci, taky nechapu co moznejma argumentama chces rict :) takze rovnou pouzito se vsema moznejma, misto "rmmod" cistejsi "modprobe -r" a misto bash dostacujici sh ;)
#!/bin/sh

case $1 in
    suspend|suspend_hybrid|hibernate)
        modprobe -r mantis
        ;;
    # resume je probuzeni z suspend, thaw je probuzeni z hibernace
    resume|thaw)
        modprobe -r mantis
        ;;
esac

21.8.2015 22:38 nobody
Rozbalit Rozbalit vše Re: zavedenie modulu po prebudeni PC
oprava: "modprobe -r" samozrejme jen pri odebirani ;)
#!/bin/sh

case $1 in
    suspend|suspend_hybrid|hibernate)
        modprobe -r mantis
        ;;
    # resume je probuzeni z suspend, thaw je probuzeni z hibernace
    resume|thaw)
        modprobe mantis
        ;;
esac
Jendа avatar 22.8.2015 00:22 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: zavedenie modulu po prebudeni PC
taky nechapu co moznejma argumentama chces rict :)
To je opsané z nějakého example konfiguráku i s komentářema. Co přesně dělá konkrétně to "suspend suspend" netuším, ty další dvě jsou probuzení a uspání do RAM a na disk.
22.8.2015 17:14 jany2 | skóre: 30 | blog: jany_blog
Rozbalit Rozbalit vše Re: zavedenie modulu po prebudeni PC

Skusal som to nedavno podla toho, ale neslo to. Este sa s tym pohram :) thx

upozornujem, ze v linuxe som vecny zaciatocnik ...
22.8.2015 17:49 nobody
Rozbalit Rozbalit vše Re: zavedenie modulu po prebudeni PC
jak se to chova, kdyz uspis pocitac zavolanim "sudo pm-suspend" ?
co najdes po probuzeni v /var/log/pm-suspend.log ? (asi nic, kdyz systemd...)

i kdyz ono kvuli systemd nejspis nefunguji ani pm-suspend skripty a musis pouzit systemd hooks...
viz: https://wiki.archlinux.org/index.php/Power_management#Sleep_hooks

btw: nejedu debian8 ani systemd, takze varim z vody a vysledku hledani ;)
22.8.2015 18:23 jany2 | skóre: 30 | blog: jany_blog
Rozbalit Rozbalit vše Re: zavedenie modulu po prebudeni PC
btw nobody v riadku 5 by malo byt rmmod. To nevadi, aj tak mi to nefunguje :(

Ked chcem uspat cez "sudo pm-suspend" tak vizualne monitor je black, ale po chvili je zase normalny a v /var/log/pm-suspend.log je
Initial commandline parameters: 
So aug 22 18:10:56 CEST 2015: Running hooks for suspend.
Running hook /usr/lib/pm-utils/sleep.d/000kernel-change suspend suspend:
/usr/lib/pm-utils/sleep.d/000kernel-change suspend suspend: success.

Running hook /usr/lib/pm-utils/sleep.d/00logging suspend suspend:
Linux debian 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1+deb8u3 (2015-08-04) x86_64 GNU/Linux
Module                  Size  Used by
mantis                 21478  0 
mantis_core            34868  1 mantis
dvb_core              102010  1 mantis_core
nls_utf8               12456  1 
nls_cp437              16553  1 
vfat                   17135  1 
fat                    61986  1 vfat
cfg80211              405538  0 
rfkill                 18867  1 cfg80211
cpufreq_userspace      12525  0 
cpufreq_stats          12782  0 
cpufreq_powersave      12454  0 
cpufreq_conservative    14184  0 
lnbp21                 12616  1 
stb6100                12684  1 
stb0899                38581  1 
snd_hda_codec_hdmi     45118  4 
nvidia              10507891  39 
ppdev                  16782  0 
snd_hda_codec_realtek    67127  1 
snd_hda_codec_generic    63181  1 snd_hda_codec_realtek
iTCO_wdt               12831  0 
iTCO_vendor_support    12649  1 iTCO_wdt
coretemp               12820  0 
kvm_intel             139116  0 
kvm                   388635  1 kvm_intel
evdev                  17445  24 
snd_hda_intel          26327  7 
i2c_i801               16965  0 
snd_hda_controller     26646  1 snd_hda_intel
pcspkr                 12595  0 
serio_raw              12849  0 
drm                   249955  3 nvidia
snd_hda_codec         104463  5 snd_hda_codec_realtek,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_intel,snd_hda_controller
snd_hwdep              13148  1 snd_hda_codec
snd_pcm                88662  5 snd_hda_codec_hdmi,snd_hda_codec,snd_hda_intel,snd_hda_controller
snd_timer              26614  1 snd_pcm
snd                    65244  21 snd_hda_codec_realtek,snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_pcm,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel
soundcore              13026  2 snd,snd_hda_codec
i2c_core               46012  8 drm,i2c_i801,mantis_core,stb0899,stb6100,mantis,lnbp21,nvidia
parport_pc             26300  0 
lpc_ich                20768  0 
mfd_core               12601  1 lpc_ich
rng_core               12733  0 
parport                35749  2 ppdev,parport_pc
shpchp                 31121  0 
button                 12944  0 
acpi_cpufreq           17218  0 
processor              28221  3 acpi_cpufreq
thermal_sys            27642  1 processor
fuse                   83350  3 
autofs4                35529  2 
ext4                  473802  2 
crc16                  12343  1 ext4
mbcache                17171  1 ext4
jbd2                   82413  1 ext4
hid_generic            12393  0 
hid_topseed            12432  0 
usbhid                 44460  0 
hid                   102264  3 hid_generic,hid_topseed,usbhid
usb_storage            56215  1 
sd_mod                 44356  7 
crc_t10dif             12431  1 sd_mod
crct10dif_generic      12581  1 
sg                     29973  0 
sr_mod                 21903  0 
cdrom                  47424  1 sr_mod
crct10dif_common       12356  2 crct10dif_generic,crc_t10dif
ata_generic            12490  0 
ata_piix               33592  4 
libata                177457  2 ata_generic,ata_piix
scsi_mod              191405  5 sg,usb_storage,libata,sd_mod,sr_mod
uhci_hcd               43499  0 
ehci_pci               12512  0 
ehci_hcd               69837  1 ehci_pci
r8169                  68262  0 
mii                    12675  1 r8169
usbcore               195340  5 uhci_hcd,usb_storage,ehci_hcd,ehci_pci,usbhid
usb_common             12440  1 usbcore
             total       used       free     shared    buffers     cached
Mem:       4057640    1288808    2768832      51024      34060     530452
-/+ buffers/cache:     724296    3333344
Swap:      3243004          0    3243004
/usr/lib/pm-utils/sleep.d/00logging suspend suspend: success.

Running hook /usr/lib/pm-utils/sleep.d/00powersave suspend suspend:
/usr/lib/pm-utils/sleep.d/00powersave suspend suspend: success.

Running hook /etc/pm/sleep.d/10_unattended-upgrades-hibernate suspend suspend:
/etc/pm/sleep.d/10_unattended-upgrades-hibernate suspend suspend: success.

Running hook /usr/lib/pm-utils/sleep.d/50unload_alx suspend suspend:
/usr/lib/pm-utils/sleep.d/50unload_alx suspend suspend: success.

Running hook /usr/lib/pm-utils/sleep.d/60_wpa_supplicant suspend suspend:
Failed to connect to non-global ctrl_ifname: (null)  error: No such file or directory
/usr/lib/pm-utils/sleep.d/60_wpa_supplicant suspend suspend: success.

Running hook /usr/lib/pm-utils/sleep.d/75modules suspend suspend:
Unloading kernel module mantis...Done.
/usr/lib/pm-utils/sleep.d/75modules suspend suspend: success.

Running hook /usr/lib/pm-utils/sleep.d/90clock suspend suspend:
/usr/lib/pm-utils/sleep.d/90clock suspend suspend: not applicable.

Running hook /usr/lib/pm-utils/sleep.d/94cpufreq suspend suspend:
/usr/lib/pm-utils/sleep.d/94cpufreq suspend suspend: success.

Running hook /usr/lib/pm-utils/sleep.d/95anacron suspend suspend:
/usr/lib/pm-utils/sleep.d/95anacron suspend suspend: success.

Running hook /usr/lib/pm-utils/sleep.d/95hdparm-apm suspend suspend:
/usr/lib/pm-utils/sleep.d/95hdparm-apm suspend suspend: not applicable.

Running hook /usr/lib/pm-utils/sleep.d/95led suspend suspend:
/usr/lib/pm-utils/sleep.d/95led suspend suspend: not applicable.

Running hook /usr/lib/pm-utils/sleep.d/98video-quirk-db-handler suspend suspend:
nVidia binary video drive detected, not using quirks.
/usr/lib/pm-utils/sleep.d/98video-quirk-db-handler suspend suspend: success.

Running hook /usr/lib/pm-utils/sleep.d/99video suspend suspend:
kernel.acpi_video_flags = 0
/usr/lib/pm-utils/sleep.d/99video suspend suspend: success.

Running hook /etc/pm/sleep.d/foo suspend suspend:
rmmod: invalid option -- 'r'
/etc/pm/sleep.d/foo suspend suspend: Returned exit code 1.

So aug 22 18:10:57 CEST 2015: Inhibit found, will not perform suspend
So aug 22 18:10:57 CEST 2015: Running hooks for resume
Running hook /usr/lib/pm-utils/sleep.d/99video resume suspend:
/usr/lib/pm-utils/sleep.d/99video resume suspend: success.

Running hook /usr/lib/pm-utils/sleep.d/98video-quirk-db-handler resume suspend:
/usr/lib/pm-utils/sleep.d/98video-quirk-db-handler resume suspend: success.

Running hook /usr/lib/pm-utils/sleep.d/95led resume suspend:
/usr/lib/pm-utils/sleep.d/95led resume suspend: not applicable.

Running hook /usr/lib/pm-utils/sleep.d/95hdparm-apm resume suspend:
/usr/lib/pm-utils/sleep.d/95hdparm-apm resume suspend: success.

Running hook /usr/lib/pm-utils/sleep.d/95anacron resume suspend:
/usr/lib/pm-utils/sleep.d/95anacron resume suspend: success.

Running hook /usr/lib/pm-utils/sleep.d/94cpufreq resume suspend:
/usr/lib/pm-utils/sleep.d/94cpufreq resume suspend: success.

Running hook /usr/lib/pm-utils/sleep.d/90clock resume suspend:
/usr/lib/pm-utils/sleep.d/90clock resume suspend: not applicable.

Running hook /usr/lib/pm-utils/sleep.d/75modules resume suspend:
Reloaded unloaded modules.
/usr/lib/pm-utils/sleep.d/75modules resume suspend: success.

Running hook /usr/lib/pm-utils/sleep.d/60_wpa_supplicant resume suspend:
Failed to connect to non-global ctrl_ifname: (null)  error: No such file or directory
/usr/lib/pm-utils/sleep.d/60_wpa_supplicant resume suspend: success.

Running hook /usr/lib/pm-utils/sleep.d/50unload_alx resume suspend:
/usr/lib/pm-utils/sleep.d/50unload_alx resume suspend: success.

Running hook /etc/pm/sleep.d/10_unattended-upgrades-hibernate resume suspend:
/etc/pm/sleep.d/10_unattended-upgrades-hibernate resume suspend: success.

Running hook /usr/lib/pm-utils/sleep.d/00powersave resume suspend:
/usr/lib/pm-utils/sleep.d/00powersave resume suspend: success.

Running hook /usr/lib/pm-utils/sleep.d/00logging resume suspend:
/usr/lib/pm-utils/sleep.d/00logging resume suspend: success.

Running hook /usr/lib/pm-utils/sleep.d/000kernel-change resume suspend:
/usr/lib/pm-utils/sleep.d/000kernel-change resume suspend: success.
upozornujem, ze v linuxe som vecny zaciatocnik ...
Jendа avatar 22.8.2015 20:27 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: zavedenie modulu po prebudeni PC
btw nobody v riadku 5 by malo byt rmmod
Ne, nemělo, píše, že modprobe -r je čistší (afaik protože řeší závislosti).

Zjevně to pm-suspendem nejde a GUI nebo jak to uspáváš to dělá nějak jinak.
23.8.2015 01:11 nobody
Rozbalit Rozbalit vše Re: zavedenie modulu po prebudeni PC
u "modprobe -r mantis" znamena -r remove, tedy odebrat modul, je to obdoba "rmmod mantis", ale resi to zavislosti a odstranuje ty nadale nepouzivane... k modprobe -r nabada i primo man page pro rmmod ktere se i samo oznacuje za trivialni, naproti tomu modprobe se oznacuje jako inteligentni ;)
rmmod is a trivial program to remove a module (when module unloading support is provided) from the kernel. Most users will want to use modprobe(8) with the -r option instead.

nicmene pokud ti to chodi rucne s rmmod a chtel si ve skriptu rmmod, nemel si nechavat to -r, protoze pak ti hlasi v logu error a nic to neodebiralo... viz:
Running hook /etc/pm/sleep.d/foo suspend suspend:
rmmod: invalid option -- 'r'
/etc/pm/sleep.d/foo suspend suspend: Returned exit code 1.


podle logu se to snazilo uspat, ale neco se do toho vecpalo(nemyslim ze ten vadnej -r parametr, ale muzes to v tom foo opravit a zkusit pm-suspend znovu) a tak misto uspani se zaclo zas probouzet, viz:
So aug 22 18:10:57 CEST 2015: Inhibit found, will not perform suspend
So aug 22 18:10:57 CEST 2015: Running hooks for resume



kazdopadne, kdyz zkusis po te oprave a nahodou by to slo, jeste otazka co pouziva tve gui kde volis uspavani, nebo lid (zavreni vika), nejsnaze zjistis:
pouzijes gui a/nebo zavreni_vika a po probuzeni zkontrolujes pm-suspend.log jestli nic noveho => nepouziva se...
to co se pouziva pak mozna poznas podle logu, idealne si je seradit podle data a projit logy s casem uspavani/probouzeni...
nebo rovnou vyzkousej si prepsat "foo" do systemd hooks viz
nebo pockej az se ozve nekdo kdo ma Debian8 na zeleze :)
23.8.2015 09:19 jany2 | skóre: 30 | blog: jany_blog
Rozbalit Rozbalit vše Re: zavedenie modulu po prebudeni PC

PC davam do usporneho rezimu (suspend to ram (polmesiacik na klavesnici)). Skusal som to aj s modprobe  -r aj s rmmod, ale nefunguje nic. Pises aby som si foo prepisal do systemd hook (nemam ponatia ako to urobit :) som obycajny uzivatel linuxu a mozno viem nejake zaklady a hlavne neviem dobre anglicky, takze mi je dost tazko cerpat z nejakych manualovych stranok).
Vyhladal som si nieco o systemd a vacsina s tym nie je spokojna a nadava na to (ze lepsi bol pre nich init). Ja som nemal ponatia co je to init, alebo systemd, teraz viem, ze sa stara o spravu sluzieb je spusteny ako prvy s PID 1.
No ak sa mi to nepodari vyriesit s vasou pomocou, tak mi ostane na krku spustat to rucne po prebudeni :(

upozornujem, ze v linuxe som vecny zaciatocnik ...
30.8.2015 21:44 ekvivalent
Rozbalit Rozbalit vše Re: zavedenie modulu po prebudeni PC
Zdravím ťa,

Vyzerá to tak, že o uspanie a zobudenie sytému sa stará systemd, je potrebné vytvoriť nasledujúce služby. V adresári /etc/systemd/system, si vytvoríš dva nasledujúce súbory:

sudo nano /etc/systemd/system/root-suspend.service, naplníš ho nasledujúcim obsahom:
[Unit]
Description=Local system suspend actions
Before=sleep.target

[Service]
Type=simple
ExecStart=-/usr/bin/modprobe -r mantis

[Install]
WantedBy=sleep.target

sudo nano /etc/systemd/system/root-resume.service, naplníš ho nasledujúcim obsahom:
[Unit]
Description=Local system resume actions
After=suspend.target

[Service]
Type=simple
ExecStart=-/usr/bin/modprobe mantis

[Install]
WantedBy=suspend.target

Následne povolíš tieto 2 služby:
sudo systemctl enable root-suspend.service
sudo systemctl enable root-resume.service

Mám to odskúšané na distribúci GNU/Linuxu ArchLinux, vychádzal som z ArchLinux wiki.
30.8.2015 23:38 MadCatX
Rozbalit Rozbalit vše Re: zavedenie modulu po prebudeni PC
Jde to i jednodušeji:
#!/bin/bash

case $1/$2 in
        pre/*)
                echo "System going to $2" >> /stest.txt
                ;;
        post/*)
                echo "System has woken up from $2" >> /stest.txt
                ;;
esac
Skript libovolného jména stačí umístit do /usr/lib/systemd/system-sleep a nastavit ho jako spustitelný. Inspirace též z ArchWiki.
1.9.2015 21:02 jany2 | skóre: 30 | blog: jany_blog
Rozbalit Rozbalit vše Re: zavedenie modulu po prebudeni PC
Skusil som to, ale neviem preco to nefunguje. Mas tiez tu istu DVB kartu ?
upozornujem, ze v linuxe som vecny zaciatocnik ...
1.9.2015 22:26 nobody
Rozbalit Rozbalit vše Re: zavedenie modulu po prebudeni PC
radky s ExecStart zkus provizorne zmenit na:
# v root-suspend.service
ExecStart= - /bin/echo usinam $(/bin/date) >> /tmp/spanekd.txt

# v root-resume.service
ExecStart= - /bin/echo probouzim $(/bin/date) >> /tmp/spanekd.txt
po probuzeni zkontroluj obsah souboru /tmp/spanekd.txt, pokud tam budes mit oba radky, mas jistotu ze se ti pri uspavani/probouzeni ty service opravdu poustej..
22.8.2015 20:24 Andrej | skóre: 51 | blog: Republic of Mordor
Rozbalit Rozbalit vše Re: zavedenie modulu po prebudeni PC
Odpovědět | | Sbalit | Link | Blokovat | Admin

Zároveň by bylo super nahlásit bug, protože driver od toho DVB modulu by měl být schopen vypořádat se korektně s uspáním a probuzením počítače. Pokud to neumí a vyžaduje takovýto podivný zásah, je v něm zjevně něco špatně a každému by prospělo, kdyby to někdo opravil.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.