Résolu [Linux général] Problème de mise en veille (suspend to ram) portable CG ATI

  • Auteur de la discussion tantal_fr
  • Date de début

tantal_fr

Grand Maître
Bonjour,

Le portable de ma femme étant en train de rendre l'àme pour cause de virus méchant (win32-Karl, 24mois) :homer:

J'ai donc récupéré un superbe portable centrino à 1,6Ghz de 2006 pour remplacer son asthmatique portable double core de 2008 sous Vista et y est installé opensuse.
Jusque là, tout vas bien dans le meilleur des monde possible, plus de ralentissements, vidéos HD fluides, tout marche bien "out of the box" comme on dit.

Le seul point noir - à l'origine de ce post - c'est cette carte graphique Ati (une x700). Pourtant, dit-on, ati, c'est bien, il ont libéré les spec, blah-blah, mais les pilote proprio ne s'installent pas, et les pilotes libres, bien que fonctionnels, se gaufrent joyeusement à la reprise de la mise en veille.
Pour arranger les chose, j'ai choisi d'installer gnome 3, qui niveau configurabilité est au sommet de son art, la seule action possible du bouton power est la mise en veille (elf-karl est attiré par les boutons qui brillent). :eek:

Donc, je vois plusieurs solutions dans l'ordre de préférence :

1/ Faire fonctionner la mise en veille de façon non plantogène.

2/ Action > /dev/null du bouton power

3/ Désactiver la mise en veille du System

Pour le 3, j'ai essayé de désinstaller les outils liés à la mise en veille (pm-utils), le problème c'est que networkmanager refuse de fonctionner sans ça.

Il peut y avoir d'autres solutions, c'est pourquoi je fait appel à votre sagesse légendaires.:merci:
 

tantal_fr

Grand Maître
Les logs qui vont bien :
Code:
[   59.944023] radeon 0000:01:00.0: Refused to change power state, currently in D0
[   59.944079] radeon 0000:01:00.0: power state changed by ACPI to D3
[   59.944123] PM: suspend of devices complete after 547.769 msecs
[   59.960114] PM: late suspend of devices complete after 15.985 msecs
[   59.960261] ACPI: Preparing to enter system sleep state S3
[   59.996244] PM: Saving platform NVS memory
[   59.996911] Disabling non-boot CPUs ...
[   59.996911] ACPI: Low-level resume complete
[   59.996911] PM: Restoring platform NVS memory
[   59.996911] Force enabled HPET at resume
[   59.996911] ACPI: Waking up from system sleep state S3
[   60.104088] pcieport 0000:00:01.0: restoring config space at offset 0xf (was 0x100, writing 0xc010a)
[   60.104096] pcieport 0000:00:01.0: restoring config space at offset 0x9 (was 0xfff0, writing 0xcff0c000)
[   60.104101] pcieport 0000:00:01.0: restoring config space at offset 0x8 (was 0xfff0, writing 0xb010b010)
[   60.104105] pcieport 0000:00:01.0: restoring config space at offset 0x7 (was 0xf0, writing 0x3030)
[   60.104109] pcieport 0000:00:01.0: restoring config space at offset 0x6 (was 0x0, writing 0x10100)
[   60.104115] pcieport 0000:00:01.0: restoring config space at offset 0x3 (was 0x10000, writing 0x10008)
[   60.104119] pcieport 0000:00:01.0: restoring config space at offset 0x1 (was 0x100000, writing 0x100407)
[   60.104145] pcieport 0000:00:1c.0: restoring config space at offset 0xf (was 0x100, writing 0x4010a)
[   60.104155] pcieport 0000:00:1c.0: restoring config space at offset 0x9 (was 0x10001, writing 0x44b144a1)
[   60.104160] pcieport 0000:00:1c.0: restoring config space at offset 0x8 (was 0x0, writing 0x44904480)
[   60.104165] pcieport 0000:00:1c.0: restoring config space at offset 0x7 (was 0x0, writing 0x7070)
[   60.104170] pcieport 0000:00:1c.0: restoring config space at offset 0x6 (was 0x0, writing 0x90900)
[   60.104176] pcieport 0000:00:1c.0: restoring config space at offset 0x3 (was 0x810000, writing 0x810008)
[   60.104182] pcieport 0000:00:1c.0: restoring config space at offset 0x1 (was 0x100000, writing 0x100407)
[   60.104214] pcieport 0000:00:1c.1: restoring config space at offset 0xf (was 0x200, writing 0x4020a)
[   60.104223] pcieport 0000:00:1c.1: restoring config space at offset 0x9 (was 0x10001, writing 0x44714461)
[   60.104228] pcieport 0000:00:1c.1: restoring config space at offset 0x8 (was 0x0, writing 0x44504440)
[   60.104233] pcieport 0000:00:1c.1: restoring config space at offset 0x7 (was 0x0, writing 0x6060)
[   60.104238] pcieport 0000:00:1c.1: restoring config space at offset 0x6 (was 0x0, writing 0xa0a00)
[   60.104245] pcieport 0000:00:1c.1: restoring config space at offset 0x3 (was 0x810000, writing 0x810008)
[   60.104251] pcieport 0000:00:1c.1: restoring config space at offset 0x1 (was 0x100000, writing 0x100407)
[   60.104283] pcieport 0000:00:1c.2: restoring config space at offset 0xf (was 0x40300, writing 0x4030b)
[   60.104292] pcieport 0000:00:1c.2: restoring config space at offset 0x9 (was 0x1fff1, writing 0x44314421)
[   60.104297] pcieport 0000:00:1c.2: restoring config space at offset 0x8 (was 0xfff0, writing 0x44104400)
[   60.104302] pcieport 0000:00:1c.2: restoring config space at offset 0x7 (was 0x200000f0, writing 0x5050)
[   60.104307] pcieport 0000:00:1c.2: restoring config space at offset 0x6 (was 0x200, writing 0x40200)
[   60.104315] pcieport 0000:00:1c.2: restoring config space at offset 0x1 (was 0x100000, writing 0x100407)
[   60.104342] uhci_hcd 0000:00:1d.0: restoring config space at offset 0xf (was 0x100, writing 0x10b)
[   60.104353] uhci_hcd 0000:00:1d.0: restoring config space at offset 0x8 (was 0x1, writing 0x1801)
[   60.104364] uhci_hcd 0000:00:1d.0: restoring config space at offset 0x1 (was 0x2800000, writing 0x2800001)
[   60.104374] uhci_hcd 0000:00:1d.1: restoring config space at offset 0xf (was 0x200, writing 0x20b)
[   60.104385] uhci_hcd 0000:00:1d.1: restoring config space at offset 0x8 (was 0x1, writing 0x1821)
[   60.104396] uhci_hcd 0000:00:1d.1: restoring config space at offset 0x1 (was 0x2800000, writing 0x2800001)
[   60.104406] uhci_hcd 0000:00:1d.2: restoring config space at offset 0xf (was 0x300, writing 0x30b)
[   60.104416] uhci_hcd 0000:00:1d.2: restoring config space at offset 0x8 (was 0x1, writing 0x1841)
[   60.104427] uhci_hcd 0000:00:1d.2: restoring config space at offset 0x1 (was 0x2800000, writing 0x2800001)
[   60.104437] uhci_hcd 0000:00:1d.3: restoring config space at offset 0xf (was 0x400, writing 0x40a)
[   60.104447] uhci_hcd 0000:00:1d.3: restoring config space at offset 0x8 (was 0x1, writing 0x1861)
[   60.104458] uhci_hcd 0000:00:1d.3: restoring config space at offset 0x1 (was 0x2800000, writing 0x2800001)
[   60.104474] ehci_hcd 0000:00:1d.7: restoring config space at offset 0xf (was 0x100, writing 0x10b)
[   60.104490] ehci_hcd 0000:00:1d.7: restoring config space at offset 0x4 (was 0x0, writing 0xb0000000)
[   60.104497] ehci_hcd 0000:00:1d.7: restoring config space at offset 0x1 (was 0x2900000, writing 0x2900002)
[   60.104515] pci 0000:00:1e.0: restoring config space at offset 0xf (was 0x40000, writing 0x400ff)
[   60.104525] pci 0000:00:1e.0: restoring config space at offset 0x9 (was 0x1fff1, writing 0x43f14001)
[   60.104530] pci 0000:00:1e.0: restoring config space at offset 0x8 (was 0xfff0, writing 0xb020b020)
[   60.104535] pci 0000:00:1e.0: restoring config space at offset 0x7 (was 0x228000f0, writing 0x22804040)
[   60.104540] pci 0000:00:1e.0: restoring config space at offset 0x6 (was 0xd8070600, writing 0xd8080600)
[   60.104558] snd_intel8x0 0000:00:1e.2: restoring config space at offset 0xf (was 0x100, writing 0x10a)
[   60.104569] snd_intel8x0 0000:00:1e.2: restoring config space at offset 0x7 (was 0x0, writing 0xb0000400)
[   60.104574] snd_intel8x0 0000:00:1e.2: restoring config space at offset 0x6 (was 0x0, writing 0xb0000800)
[   60.104579] snd_intel8x0 0000:00:1e.2: restoring config space at offset 0x5 (was 0x1301, writing 0x1881)
[   60.104584] snd_intel8x0 0000:00:1e.2: restoring config space at offset 0x4 (was 0x1201, writing 0x1c01)
[   60.104591] snd_intel8x0 0000:00:1e.2: restoring config space at offset 0x1 (was 0x2900005, writing 0x2900003)
[   60.104605] snd_intel8x0m 0000:00:1e.3: restoring config space at offset 0xf (was 0x200, writing 0x20b)
[   60.104617] snd_intel8x0m 0000:00:1e.3: restoring config space at offset 0x5 (was 0x1501, writing 0x2001)
[   60.104622] snd_intel8x0m 0000:00:1e.3: restoring config space at offset 0x4 (was 0x1401, writing 0x2401)
[   60.104629] snd_intel8x0m 0000:00:1e.3: restoring config space at offset 0x1 (was 0x2900005, writing 0x2900001)
[   60.104665] ata_piix 0000:00:1f.1: restoring config space at offset 0xf (was 0x100, writing 0x1ff)
[   60.104676] ata_piix 0000:00:1f.1: restoring config space at offset 0x8 (was 0x1, writing 0x18c1)
[   60.104687] ata_piix 0000:00:1f.1: restoring config space at offset 0x1 (was 0x2800000, writing 0x2880005)
[   60.104698] i801_smbus 0000:00:1f.3: restoring config space at offset 0xf (was 0x200, writing 0x20b)
[   60.104711] i801_smbus 0000:00:1f.3: restoring config space at offset 0x8 (was 0x1101, writing 0x20a1)
[   60.104735] radeon 0000:01:00.0: restoring config space at offset 0xf (was 0x1ff, writing 0x10a)
[   60.104745] radeon 0000:01:00.0: restoring config space at offset 0x6 (was 0x0, writing 0xb0100000)
[   60.104750] radeon 0000:01:00.0: restoring config space at offset 0x5 (was 0x1, writing 0x3001)
[   60.104755] radeon 0000:01:00.0: restoring config space at offset 0x4 (was 0x8, writing 0xc0000008)
[   60.104760] radeon 0000:01:00.0: restoring config space at offset 0x3 (was 0x0, writing 0x8)
[   60.104765] radeon 0000:01:00.0: restoring config space at offset 0x1 (was 0x100000, writing 0x100407)
[   60.104793] yenta_cardbus 0000:06:01.0: restoring config space at offset 0xf (was 0x34001ff, writing 0x5c0010b)
[   60.104799] yenta_cardbus 0000:06:01.0: restoring config space at offset 0xe (was 0x0, writing 0x40fc)
[   60.104804] yenta_cardbus 0000:06:01.0: restoring config space at offset 0xd (was 0x0, writing 0x4000)
[   60.104810] yenta_cardbus 0000:06:01.0: restoring config space at offset 0xc (was 0x0, writing 0x44fc)
[   60.104815] yenta_cardbus 0000:06:01.0: restoring config space at offset 0xb (was 0x0, writing 0x4400)
[   60.104821] yenta_cardbus 0000:06:01.0: restoring config space at offset 0xa (was 0x0, writing 0x4bfff000)
[   60.104827] yenta_cardbus 0000:06:01.0: restoring config space at offset 0x9 (was 0x0, writing 0x48000000)
[   60.104832] yenta_cardbus 0000:06:01.0: restoring config space at offset 0x8 (was 0x0, writing 0x43fff000)
[   60.104838] yenta_cardbus 0000:06:01.0: restoring config space at offset 0x7 (was 0x0, writing 0x40000000)
[   60.104844] yenta_cardbus 0000:06:01.0: restoring config space at offset 0x6 (was 0x0, writing 0xb0080706)
[   60.104850] yenta_cardbus 0000:06:01.0: restoring config space at offset 0x4 (was 0x0, writing 0xb0216000)
[   60.104856] yenta_cardbus 0000:06:01.0: restoring config space at offset 0x3 (was 0x820000, writing 0x82a810)
[   60.104863] yenta_cardbus 0000:06:01.0: restoring config space at offset 0x1 (was 0x2100000, writing 0x2100007)
[   60.104896] firewire_ohci 0000:06:01.2: restoring config space at offset 0xf (was 0x4030100, writing 0x403010b)
[   60.104912] firewire_ohci 0000:06:01.2: restoring config space at offset 0x5 (was 0x0, writing 0xb0210000)
[   60.104918] firewire_ohci 0000:06:01.2: restoring config space at offset 0x4 (was 0x0, writing 0xb0217000)
[   60.104924] firewire_ohci 0000:06:01.2: restoring config space at offset 0x3 (was 0x800000, writing 0x802008)
[   60.104931] firewire_ohci 0000:06:01.2: restoring config space at offset 0x1 (was 0x2100000, writing 0x2100016)
[   60.104949] tifm_7xx1 0000:06:01.3: restoring config space at offset 0xf (was 0x40701ff, writing 0x407010b)
[   60.104965] tifm_7xx1 0000:06:01.3: restoring config space at offset 0x4 (was 0x0, writing 0xb0214000)
[   60.104971] tifm_7xx1 0000:06:01.3: restoring config space at offset 0x3 (was 0x800000, writing 0x803908)
[   60.104978] tifm_7xx1 0000:06:01.3: restoring config space at offset 0x1 (was 0x2100000, writing 0x2100006)
[   60.104996] ipw2200 0000:06:03.0: restoring config space at offset 0xf (was 0x18030100, writing 0x1803010b)
[   60.105013] ipw2200 0000:06:03.0: restoring config space at offset 0x4 (was 0x0, writing 0xb0218000)
[   60.105018] ipw2200 0000:06:03.0: restoring config space at offset 0x3 (was 0x0, writing 0x2008)
[   60.105025] ipw2200 0000:06:03.0: restoring config space at offset 0x1 (was 0x2900000, writing 0x2900016)
[   60.105066] tg3 0000:06:08.0: restoring config space at offset 0x1 (was 0x2b00012, writing 0x2b00006)
[   60.105254] PM: early resume of devices complete after 1.212 msecs
[   60.105389] uhci_hcd 0000:00:1d.0: PCI INT A -> GSI 23 (level, low) -> IRQ 23
[   60.105395] uhci_hcd 0000:00:1d.0: setting latency timer to 64
[   60.105417] usb usb2: root hub lost power or was reset
[   60.105429] uhci_hcd 0000:00:1d.1: PCI INT B -> GSI 19 (level, low) -> IRQ 19
[   60.105435] uhci_hcd 0000:00:1d.1: setting latency timer to 64
[   60.105454] usb usb3: root hub lost power or was reset
[   60.105465] uhci_hcd 0000:00:1d.2: PCI INT C -> GSI 18 (level, low) -> IRQ 18
[   60.105470] uhci_hcd 0000:00:1d.2: setting latency timer to 64
[   60.105490] usb usb4: root hub lost power or was reset
[   60.105500] uhci_hcd 0000:00:1d.3: PCI INT D -> GSI 16 (level, low) -> IRQ 16
[   60.105505] uhci_hcd 0000:00:1d.3: setting latency timer to 64
[   60.105525] usb usb5: root hub lost power or was reset
[   60.105536] ehci_hcd 0000:00:1d.7: PCI INT A -> GSI 23 (level, low) -> IRQ 23
[   60.105542] ehci_hcd 0000:00:1d.7: setting latency timer to 64
[   60.105581] pci 0000:00:1e.0: setting latency timer to 64
[   60.105590] snd_intel8x0 0000:00:1e.2: PCI INT A -> GSI 17 (level, low) -> IRQ 17
[   60.105595] snd_intel8x0 0000:00:1e.2: setting latency timer to 64
[   60.105621] snd_intel8x0m 0000:00:1e.3: PCI INT B -> GSI 20 (level, low) -> IRQ 20
[   60.105627] snd_intel8x0m 0000:00:1e.3: setting latency timer to 64
[   60.105660] ata_piix 0000:00:1f.1: PCI INT A -> GSI 18 (level, low) -> IRQ 18
[   60.105665] ata_piix 0000:00:1f.1: setting latency timer to 64
[   60.105719] tifm_7xx1 0000:06:01.3: PCI INT A -> GSI 18 (level, low) -> IRQ 18
[   60.105734] eth1: Coming out of suspend...
[   60.105741] ipw2200 0000:06:03.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
[   60.225741] firewire_core: skipped bus generations, destroying all nodes
[   60.225911] radeon 0000:01:00.0: power state changed by ACPI to D0
[   60.225917] radeon 0000:01:00.0: power state changed by ACPI to D0
[   60.225923] radeon 0000:01:00.0: power state changed by ACPI to D0
[   60.225927] radeon 0000:01:00.0: power state changed by ACPI to D0
[   60.225933] radeon 0000:01:00.0: setting latency timer to 64
[   60.225942] radeon 0000:01:00.0: f5fab200 unpin not necessary
[   60.226799] tg3 0000:06:08.0: wake-up capability disabled by ACPI
[   60.226806] tg3 0000:06:08.0: PME# disabled
[   60.227807] ata2: port disabled--ignoring
[   60.228085] sd 0:0:0:0: [sda] Starting disk
[   60.234736] [drm] PCIE GART of 512M enabled (table at 0xC0040000).
[   60.234746] [drm] radeon: 2 quad pipes, 1 z pipes initialized.
[   60.234754] radeon 0000:01:00.0: WB enabled
[   60.234787] [drm] radeon: ring at 0x00000000A0001000
[   60.234810] [drm] ring test succeeded in 1 usecs
[   60.234847] [drm] ib test succeeded in 0 usecs
[   61.202104] firewire_core: rediscovered device fw0
[   61.532579] ata1.01: ACPI cmd ef/03:0c:00:00:00:b0 (SET FEATURES) filtered out
[   61.532584] ata1.01: ACPI cmd ef/03:41:00:00:00:b0 (SET FEATURES) filtered out
[   61.540438] ata1.00: ACPI cmd ef/03:0c:00:00:00:a0 (SET FEATURES) filtered out
[   61.540442] ata1.00: ACPI cmd ef/03:45:00:00:00:a0 (SET FEATURES) filtered out
[   61.558256] ata1.00: configured for UDMA/100
[   61.572471] ata1.01: configured for UDMA/33
[   61.720194] PM: resume of devices complete after 1614.909 msecs
[   61.720538] PM: Finishing wakeup.
[   61.720540] Restarting tasks ... done.
[   61.736236] video LNXVIDEO:00: Restoring backlight state
[   62.076247] Disabling lock debugging due to kernel taint
[   62.083479] ndiswrapper version 1.56 loaded (smp=yes, preempt=no)
[   62.111838] usbcore: registered new interface driver ndiswrapper
[   62.135971] ADDRCONF(NETDEV_UP): eth1: link is not ready
[   62.412589] ADDRCONF(NETDEV_UP): eth0: link is not ready
[   63.429487] ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready
[   63.814183] EXT4-fs (sda5): re-mounted. Opts: acl,user_xattr,commit=0
[   63.826934] EXT4-fs (sda6): re-mounted. Opts: acl,user_xattr,commit=0
 

tantal_fr

Grand Maître
Après recherche, la mise en veille ne marche toujours pas, en cause la carte ATI.
Je n'ai toujours pas trouvé comment empêcher gnome de mette en veille lors de l'appuis sur le bouton power.

Conclusion : ATI à éviter avec linux, préférez nvidia ou mieux intel (pilote libre), et gnome n'est pas configurable (ça c'est une révélation).

 

tantal_fr

Grand Maître
Meilleure réponse
Ça-y-est, j'ai trouvé (entre temps, je suis passé sur archlinux, mais ça doit marcher partout) ! C'est par là =>

To disable suspend and hibernation, add a file named 50-admin.pkla to:
/etc/polkit-1/localauthority/50-local.d

full path as reference: /etc/polkit-1/localauthority/50-local.d/50-admin.pkla

Add the following text to the file and save it. Log out and back in. This will remove suspend and hibernate from the shut down menus

[disable suspend]
Identity=unix-user:*
Action=org.freedesktop.upower.suspend
ResultAny=no
ResultInactive=no
ResultActive=no

[disable hibernate]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultAny=no
ResultInactive=no
ResultActive=no

Il falais jouer avec policykit :)
 

tantal_fr

Grand Maître
DISCLAIMER : Le forum partant en sucette, il semblerais que ma réponse soit en plusieurs exemplaire (nombreuses erreurs 500 + 404 + autres bug). Je re-post une dernière fois et demande solennellement au maître des lieux de supprimer les posts en trop au dessus de celui-ci.

Plop,

Je déterre le topic car depuis le passage à systemd, la solution est différente (la solution via policy-kit ne fonctionne plus):

systemd handles some power-related ACPI events. They can be configured via the following options from /etc/systemd/logind.conf:
HandlePowerKey: specifies which action is invoked when the power key is pressed.
HandleSuspendKey: specifies which action is invoked when the suspend key is pressed.
HandleHibernateKey: specifies which action is invoked when the hibernate key is pressed.
HandleLidSwitch: specifies which action is invoked when the lid is closed.

The specified action can be one of ignore,
poweroff,
reboot,
halt,
suspend,
hibernate,
hybrid-sleep,
lock or
kexec.

If these options are not configured, systemd will use its defaults: HandlePowerKey=poweroff,
HandleSuspendKey=suspend,
HandleHibernateKey=hibernate, and
HandleLidSwitch=suspend.
Source : https://wiki.archlinux.org/index.php/Systemd#ACPI_power_management
Code:
HandlePowerKey=ignore
HandleSuspendKey=ignore
HandleHibernateKey=ignore
HandleLidSwitch=ignore
Pour tout désactiver dans /etc/systemd/logind.conf

Sinon, j'ai trouvé une solution pour mes problèmes de reprise de veille corrompue :
I got resuming-from-suspend to work by installing app-laptop/radeontool and executing the following after resuming from a suspend:
radeontool light off
radeonreg regset 0x00000284 0x1bd34208
radeonreg regset 0x000002d0 0x003c00a1
radeonreg regset CL:03 0x001c0007
radeonreg regset CL:04 0x0002004a
radeonreg regset CL:05 0x0002004a
radeonreg regset CL:06 0x0002004a
radeontool light on

(You can find what those values probably should be while it's working with "radeonreg regmatch CL:03" etc.)
Source : rapport de bug :

Pour moi, les valueurs de CL:03, 4, 5 et 6 étais 0x00020047.

J'ai mis un hook dans /usr/lib/systemd/system-sleep
Code:
# cat /usr/lib/systemd/system-sleep/radeon.sh 
#!/bin/sh
case $1/$2 in
  pre/*)
    echo "Going to $2..."
    ;;
  post/*)
    echo "Waking up from $2..."
   radeontool light off 
   radeonreg regset 0x00000284 0x1bd34208 
   radeonreg regset 0x000002d0 0x003c00a1 
   radeonreg regset CL:03 0x001c0007 
   radeonreg regset CL:04 0x00020047 
   radeonreg regset CL:05 0x00020047 
   radeonreg regset CL:06 0x00020047 
   radeontool light on
    ;;
esac

Finalement, tout est pour le mieux dans le meilleur des mondes possibles.


 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 098
Messages
6 717 052
Membres
1 586 282
Dernier membre
Yannick3553
Partager cette page
Haut