Pagina 1 di 1

Problemi sospensione notebook

Inviato: sab 10 dic 2005, 10:54
da Burroughs
Ho ricompilato il kernel (2.6.10) della mia Slack 10.1 per attivare il "sosftware suspend" ed utilizzare così la sospensione (funzione per me quasi essenziale) sul mio portatile, un Acer TravelMate 291 LMi.
Ho scelto la soluzione che consiste di usare parte della partizione di swap, il cosiddetto "suspend to disk".
Bene, quando lancio il classico "echo 4 > /proc/acpi/sleep", il portatile va a fare la nanna ed al "resume" non ho particolari problemi.
L'unica cosa che mi sta dando difficoltà (a parte il demone di MySQL che - chi lo sa perché - devo stoppare prima di andare in sospensione) è il mouse wireless della Logitech, connesso via USB.
Il kernel non riece a mandarlo in sospensione ed al riavvio non me lo ritrovo più; vi posto per completezza quanto mi restituisce il "dmesg" quando mando in sospensione il notebook:

Codice: Seleziona tutto

usb 3-1: new low speed USB device using uhci_hcd and address 5
uhci_hcd 0000:00:1d.1: Unlink after no-IRQ?  Different ACPI or APIC settings may help.
usb 3-1: khubd timed out on ep0in
usb 3-1: khubd timed out on ep0out
usb 3-1: khubd timed out on ep0out
usb 3-1: device not accepting address 5, error -110
usb 3-1: new low speed USB device using uhci_hcd and address 6
usb 3-1: khubd timed out on ep0in
usb 3-1: khubd timed out on ep0out
Stopping tasks: ===================================================<4>usb 3-1: khubd timed out on ep0out
usb 3-1: device not accepting address 6, error -110
Ad essere onesti anche su Windows 'sto mouse impediva al sistema di sospendersi correttamente.
Ecco, qualcuno si è imbattuto in un problema simile ed ha un workaround su come uscirne?

Burroughs.

Inviato: dom 11 dic 2005, 12:13
da Burroughs
Faccio il punto della situazione: come scritto sopra, la sospensione su disco funziona ma al risveglio, diciamo così, le periferiche USB connesse "a caldo" non vengono rilevate e - aggiungo - l'orologio appare fermo al momento in cui è stata effettuata la sospensione.
Per questo secondo problema, la soluzione penso di averla già trovata, mentre per il primo avevo pensato di realizzare due script - uno per la sospensione, l'altro per il "resume".
Nel primo (quello per la sospensione) rimuovo i moduli per l'USB, nel secondo li ricarico.
Mi domandavo quali fossero di preciso tutti i moduli che gestiscono l'USB nella mia macchina.
In base ad un lsmod che qui vi posto

Codice: Seleziona tutto

root@andy:~# lsmod |more
Module                  Size  Used by
ipw2200               166792  0
firmware_class          7296  1 ipw2200
ieee80211              44036  1 ipw2200
ieee80211_crypt         4808  2 ipw2200,ieee80211
bluetooth              40196  0
acerhk                 26948  0
ipt_multiport           1920  4
ipt_state               1664  1
ip_conntrack           38644  1 ipt_state
iptable_filter          3072  1
ip_tables              16000  3 ipt_multiport,ipt_state,iptable_filter
snd_pcm_oss            46880  0
snd_mixer_oss          16384  1 snd_pcm_oss
ipv6                  221312  10
ohci_hcd               18824  0
intel_agp              18716  1
uhci_hcd               28944  0
ehci_hcd               28420  0
shpchp                 91236  0
i2c_i801                7692  0
i2c_core               17680  1 i2c_i801
eth1394                17416  0
snd_intel8x0           27584  1
snd_ac97_codec         75388  1 snd_intel8x0
snd_pcm                75528  3 snd_pcm_oss,snd_intel8x0,snd_ac97_codec
snd_timer              19844  1 snd_pcm
snd                    44260  8 snd_pcm_oss,snd_mixer_oss,snd_intel8x0,snd_ac97_codec,snd_
pcm,snd_timer
soundcore               6880  1 snd
snd_page_alloc          7428  2 snd_intel8x0,snd_pcm
ohci1394               29572  0
ieee1394               89400  2 eth1394,ohci1394
8139too                20480  0
mii                     3968  1 8139too
yenta_socket           18304  0
pcmcia_core            46272  1 yenta_socket
nls_utf8                1792  2
ntfs                  170640  2
nls_iso8859_1           3968  1
nls_cp437               5632  1
vfat                   10880  1
fat                    35360  1 vfat
evdev                   7168  0
agpgart                27432  1 intel_agp
psmouse                18824  0
reiserfs              223824  2
Vi riconoscerei solo "uhci_hcd"; voi che ne pensate?

Burroughs.

Inviato: dom 11 dic 2005, 12:18
da gallows
Hai provato al resume a far ripartire hotplug?

sh /etc/rc.d/rc.hotplug force-reload

Inviato: dom 11 dic 2005, 15:39
da sir_alex
Io su un asus non ho problemi con l'usb, hai provato ad installare hibernate (che tra l'altro si può integrare al volo dentro le regole di acpi, per mandare il sistema in suspend quando chiudi lo schermo) ed a usare il suo file di configurazione? Ti permette sia di continuare a coordinare l'orologio di sistema con linux che di rimuovere e ricaricare processi e moduli che hanno problemi in maniera automatica!

Inviato: dom 11 dic 2005, 18:59
da elettronicha
Concordo anch'io sul fatto che sia meglio utilizzare uno script ben fatto comq hibernate p.es.

Inviato: dom 11 dic 2005, 19:07
da Burroughs
Ti riferisci allo script hibernate del Software Suspend 2?
E' utilizzabile anche con il Software Suspend disponibile di default in un kernel come il 2.6.10 precompilato?

Burroughs.

Inviato: lun 19 dic 2005, 10:27
da Burroughs
Allora, riporto i risultati degli esperimenti che ho condotto negli ultimi giorni.
Ho provato, con lo scriptarello che mi son fatto, a sospendere e a riavviare la macchina, ma il problema non si è risolto nemmeno effettuando un "rmmod" ed un "modprobe" dei moduli USB "uhci_hcd", "ehci_hcd", "ohci_hcd" e "usb_storage" che supponevo mi impedissero di utilizzare il mouse USB al risveglio del sistema.
Ho provato persino a forzare il caricamento di hotplug al riavvio, con un "./rc.hotplug force-reload" ma la situazione non si è spostata di un centimetro: al "resume" del sistema, hotplug non funziona più.
Ho notato però che, se riavvio X, il mouse torna a funzionare correttamente.
Qualche idea?

Burroughs.

Inviato: mar 20 dic 2005, 12:08
da absinthe
cioè scusa: tu esci da x e vai in sospensione?
oppure vai in sospensione da x e poi sei costretto a killarlo e riavviarlo?

comunque se con x il mouse funziona è perchè il server prende "il controllo" delle periferiche caricando i driver per il mouse...

un pò di idee buttate là:

se vai in sospensione non da x ma da console... ma che c'entra il mouse? non è che usi il demone per muoverti in console con il mouse? e non è che sia quello allora? così per dare un'idea.

altra idea: hai provato effettivamente a mettere qualche altra periferica su usb, tipo una pennina se ce l'hai... così da vedere che succede?

infino: scusa ma se al resume sfili e reinfili il mouse, dmesg | tail che dice???

M.

Inviato: mar 20 dic 2005, 18:13
da Burroughs
Allora, cerco di spiegarmi in modo più chiaro.
Ci sono due scenari:

Scenario 1: non avvio X, la sospensione e la ripresa funzionano.
Nel momento in cui lancio il server grafico (quindi dopo aver eseguito lo script di "resume") riesco a lavorare con il mouse perché nello script di "suspend" do l'istruzione per arrestare hotplug ed in quello di "resume" l'istruzione per avviarlo;

Scenario 2: X è "up and running", la sospensione funziona, alla ripresa però non riesco a lavorare con nessuna periferica che venga connessa "a caldo", nonostante le istruzioni di cui sopra.
Se do un "dmesg |tail", ottengo:

Codice: Seleziona tutto

root@andy:~# dmesg |tail
pciehp: add_host_bridge: status 5
pciehp: Fails to gain control of native hot-plug
usb 2-1: new low speed USB device using uhci_hcd and address 2
uhci_hcd 0000:00:1d.1: Unlink after no-IRQ?  Different ACPI or APIC settings may help.
usb 2-1: khubd timed out on ep0in
usb 2-1: khubd timed out on ep0out
usb 2-1: khubd timed out on ep0out
usb 2-1: device not accepting address 2, error -110
usb 2-1: new low speed USB device using uhci_hcd and address 3
usb 2-1: khubd timed out on ep0in
Questo è quanto.

Burroughs.

Inviato: gio 22 dic 2005, 11:36
da pablomrg
Io ho lo stesso problema, al risveglio del pc il mouse usb (ottico col cavo) è defunto... e non c'e' modo (che io conosca) di farlo riprendere al di là del riavvio...

In RH e simili esiste uno script (/etc/init.d/usb restart) che dovrebbe riavviare il sottosistema usb, non so come farlo con SlackWare xò...