sh: echo: E / A-Fehler unter pm-suspend Ubuntu 14.04

7

Ich habe gerade Ubuntu 14.04 auf meinem Fujitsu Lifebook U772 nach einer langen Pause mit Opensuse installiert und nach der Installation scheint es, dass es sofort pm-suspendfunktioniert. Einige Tage nach dem Einrichten funktionierte Suspend jedoch nicht mehr. Die Menüoption Suspend führte nur dazu, dass der Bildschirm vorübergehend schwarz wurde und zum Sperrbildschirm zurückkehrte.

Ich habe manuell versucht, die Maschine an einem Terminal mit anzuhalten, sudo pm-suspendaber immer noch ohne Erfolg. Ich fing an, über das pm-suspendProtokoll zu schauen /var/log/pm-suspend.log, und bemerkte etwas Seltsames:

Running hook /usr/lib/pm-utils/sleep.d/00logging suspend suspend:
Linux deathbook 3.13.0-30-generic #55-Ubuntu SMP Fri Jul 4 21:40:53 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
Module                  Size  Used by
vboxpci                23194  0 
vboxnetflt             27613  0 
vboxnetadp             25670  0 
vboxdrv               339502  3 vboxnetadp,vboxnetflt,vboxpci
pci_stub               12622  1 
ctr                    13049  1 
ccm                    17773  1 
bnep                   19624  2 
rfcomm                 69160  0 
bluetooth             395423  10 bnep,rfcomm
binfmt_misc            17468  1 
nls_iso8859_1          12713  1 
arc4                   12608  2 
iwldvm                232285  0 
intel_rapl             18773  0 
uvcvideo               80885  0 
hid_generic            12548  0 
x86_pkg_temp_thermal    14205  0 
videobuf2_vmalloc      13216  1 uvcvideo
intel_powerclamp       14705  0 
videobuf2_memops       13362  1 videobuf2_vmalloc
coretemp               13435  0 
videobuf2_core         40664  1 uvcvideo
videodev              134688  2 uvcvideo,videobuf2_core
kvm_intel             143060  0 
mac80211              626557  1 iwldvm
usbhid                 52570  0 
kvm                   451511  1 kvm_intel
i2400m_usb             36521  0 
hid                   106148  2 hid_generic,usbhid
i2400m                107913  1 i2400m_usb
wimax                  34704  1 i2400m
crct10dif_pclmul       14289  0 
snd_hda_codec_hdmi     46207  1 
crc32_pclmul           13113  0 
ghash_clmulni_intel    13216  0 
aesni_intel            55624  2 
snd_hda_codec_realtek    61438  1 
aes_x86_64             17131  1 aesni_intel
i915                  783703  4 
snd_hda_intel          52355  3 
snd_hda_codec         192906  3 snd_hda_codec_realtek,snd_hda_codec_hdmi,snd_hda_intel
lrw                    13286  1 aesni_intel
iwlwifi               169932  1 iwldvm
snd_hwdep              13602  1 snd_hda_codec
snd_pcm               102099  3 snd_hda_codec_hdmi,snd_hda_codec,snd_hda_intel
gf128mul               14951  1 lrw
drm_kms_helper         53081  1 i915
snd_page_alloc         18710  2 snd_pcm,snd_hda_intel
snd_seq_midi           13324  0 
glue_helper            13990  1 aesni_intel
drm                   303102  5 i915,drm_kms_helper
cfg80211              484040  3 iwlwifi,mac80211,iwldvm
ablk_helper            13597  1 aesni_intel
snd_seq_midi_event     14899  1 snd_seq_midi
cryptd                 20359  3 ghash_clmulni_intel,aesni_intel,ablk_helper
snd_rawmidi            30144  1 snd_seq_midi
i2c_algo_bit           13413  1 i915
snd_seq                61560  2 snd_seq_midi_event,snd_seq_midi
snd_seq_device         14497  3 snd_seq,snd_rawmidi,snd_seq_midi
snd_timer              29482  2 snd_pcm,snd_seq
mei_me                 18627  0 
mei                    82276  1 mei_me
snd                    69238  17 snd_hda_codec_realtek,snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_pcm,snd_seq,snd_rawmidi,snd_hda_codec,snd_hda_intel,snd_seq_device,snd_seq_midi
rtsx_pci_ms            18151  0 
soundcore              12680  1 snd
memstick               16966  1 rtsx_pci_ms
joydev                 17381  0 
mac_hid                13205  0 
lpc_ich                21080  0 
fujitsu_laptop         18947  0 
video                  19476  1 i915
serio_raw              13462  0 
parport_pc             32701  0 
ppdev                  17671  0 
lp                     17759  0 
parport                42348  3 lp,ppdev,parport_pc
rtsx_pci_sdmmc         23274  0 
e1000e                254433  0 
psmouse               102222  0 
ahci                   25819  5 
libahci                32168  1 ahci
rtsx_pci               45956  2 rtsx_pci_ms,rtsx_pci_sdmmc
ptp                    18933  1 e1000e
pps_core               19382  1 ptp
             total       used       free     shared    buffers     cached
Mem:       3905144    2586540    1318604     356556       6452     531508
-/+ buffers/cache:    2048580    1856564
Swap:      8190472          0    8190472
/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_grub-common suspend suspend:
/etc/pm/sleep.d/10_grub-common 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:
Selected interface 'wlan0'
OK
/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 vboxdrv...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:
stop: Unknown instance: 
/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:
Kernel modesetting video driver 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/novatel_3g_suspend suspend suspend:
/etc/pm/sleep.d/novatel_3g_suspend suspend suspend: success.

Fri Jul 11 07:17:01 PHT 2014: performing suspend
sh: echo: I/O error
Fri Jul 11 07:17:03 PHT 2014: Awake.
Fri Jul 11 07:17:03 PHT 2014: Running hooks for resume
Running hook /etc/pm/sleep.d/novatel_3g_suspend resume suspend:
/etc/pm/sleep.d/novatel_3g_suspend resume suspend: success.

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:

/dev/sda:
 setting Advanced Power Management level to 0xfe (254)
 APM_level  = 254

/dev/sdb:
 setting Advanced Power Management level to 0xfe (254)
 APM_level  = 254
/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:
Selected interface 'wlan0'
OK
/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 /etc/pm/sleep.d/10_grub-common resume suspend:
/etc/pm/sleep.d/10_grub-common 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/000record-status resume suspend:
/usr/lib/pm-utils/sleep.d/000record-status 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.

Fri Jul 11 07:17:04 PHT 2014: Finished.

Genauer gesagt war dies in diesem Sinne (dies ist der Teil, in dem das System die Unterbrechung tatsächlich durchführt):

Fri Jul 11 07:17:01 PHT 2014: performing suspend
sh: echo: I/O error
Fri Jul 11 07:17:03 PHT 2014: Awake.
Fri Jul 11 07:17:03 PHT 2014: Running hooks for resume
Running hook /etc/pm/sleep.d/novatel_3g_suspend resume suspend:
/etc/pm/sleep.d/novatel_3g_suspend resume suspend: success.

Ich denke, der seltsame Teil hier ist der sh: echo: I/O error, der jedes Mal angezeigt wird, wenn das System eine Unterbrechung ausführt. Wie Sie sehen können, wird das System sofort nach dem Fehler aktiviert.

Ich habe viele Problemumgehungen ausprobiert, die Folgendes umfassen:

  • Deaktivieren der Virtualbox- vboxdrvModule, da ich gelesen habe, dass sie manchmal die Suspendierungsfähigkeit eines Host-Computers beeinträchtigen
  • Deaktivieren aller Geräte, die das System aktivieren könnten /proc/acpi/wakeup
  • Ersetzen der errors=remount roOption für /in /etc/fstabbiserrors=continue

Trotz alledem besteht das Problem weiterhin. Könnte es ein Problem mit dem Kernel sein? Als ich noch Opensuse 12.3 verwendete, steckte ich in Kernel 3.7 fest, und jetzt hier in Ubuntu 14.04 verwende ich Kernel 3.13. Obwohl ich irgendwie bezweifle, dass der Kernel das Problem sein könnte, da 3.13 aus der Box kam und Suspend noch zu diesem Zeitpunkt funktionierte.

UPDATE :

Ich habe festgestellt, dass die Ursache für das Echo, das den E / A-Fehler verursacht, in Zeile 321 von liegt /usr/lib/pm-utils/pm-functions. Ich habe dies erreicht, indem ich die ausführliche Protokollierung und das Debuggen für pm-suspendaktiviert und alle Hooks deaktiviert habe (indem ich sie vorübergehend in ein anderes Verzeichnis verschoben habe).

Dies ist die fragliche Zeile:

 do_suspend() { echo -n "mem" >/sys/power/state; }

Soweit ich weiß, ist dies von echoentscheidender Bedeutung, da die Schnittstelle zwischen pm-suspendund den Funktionen auf niedriger Ebene im Kernel angehalten wird. Das Problem ist nun, warum in diesem Moment ein E / A-Fehler auftreten würde. Ich werde versuchen, den Befehl manuell auf einem Terminal auszuführen und festzustellen, ob immer noch ein E / A-Fehler auftritt.

rey_balgs
quelle
Ich habe das gleiche Problem unter Linux Mint 17 (gleiche Basis wie Ubuntu 14.04). Tatsächlich betrifft das Problem nur den Ruhezustand, während das Anhalten einwandfrei funktioniert. Im Ruhezustand wird die gleiche Meldung "sh: echo: I / O error" angezeigt, und der Ruhezustand wird sofort abgebrochen. Dies ist sehr ärgerlich, da der Ruhezustand mit dieser Hardware früher einwandfrei funktioniert hat. Meine Frage lautet also: 1. Betrifft dieser Fehler alle oder nur bestimmte Hardware? 2. Ist auf Launchpad bereits ein Fehler aufgetreten?
Der Ruhezustand funktioniert bei mir, obwohl dies nicht der Fall ist, wenn Chrome oder viele RAM-hungrige Apps geöffnet sind (es dauert lange, vielleicht 2-3 Minuten, und gibt dann ganz auf). Fand einen unheimlich ähnlichen Fall hier auf Launchpad: answers.launchpad.net/ubuntu/+question/249560
rey_balgs
In meinem Fall meldete meine SSD lediglich E / A-Fehler, da nicht genügend Speicherplatz vorhanden war. Stellen Sie sicher, dass auf Ihrem Laufwerk genügend Speicherplatz für neue Schreibvorgänge vorhanden ist! ncdu /
Nick Sweeting

Antworten:

4

Okay, ich habe es endlich geschafft, den Schuldigen für dieses Problem zu finden, aber zunächst ein kleiner Hintergrund: Ich habe es versäumt zu erwähnen, dass mein Laptop standardmäßig über eine Hybrid-Festplatte verfügt. Es handelt sich um eine normale mechanische 500-GB-Festplatte, die durch eine 24-GB-SSD ergänzt wird, die früher von Windows 8 für den Ruhezustand und wahrscheinlich für den Cache verwendet wurde. Ich habe die SSD verwendet, um meine Root-Partition zuvor in OpenSUSE zu speichern, bis sie schließlich starb (E / A-Fehler bis zum Ende), was mich dazu veranlasste, die Partition auf die Festplatte zu verschieben und gleichzeitig Ubuntu 14.04 zu installieren.

Lange Rede, kurzer Sinn: Die E / A-Fehler, die ich im Standby-Modus erhalte, wurden irgendwie durch meine fehlerhafte SSD verursacht.

Um dies zu beheben, habe ich das Blockgerät der SSD entfernt /dev. In meinem Fall wird meine SSD immer als angezeigt /dev/sdb, daher habe ich Folgendes in einem Terminal als root eingegeben (Lösung mit freundlicher Genehmigung dieses hilfreichen Artikels ):

# echo 1 > /sys/block/sdb/device/delete

Stellen Sie sicher, dass Sie 'sdb' durch das Gerät ersetzen, das Sie für fehlerhaft halten . Ich habe es nur so, /dev/sdbweil, wie ich bereits erwähnt habe, meine SSD das immer zuerst bekommt.

Das "Löschen" wird bei jedem Neustart zurückgesetzt. Ich habe also diese Zeile zu meiner hinzugefügt, um sicherzustellen /etc/rc.local, dass /dev/sdbsie beim Booten gelöscht wird. Dies kann sich auf das Booten mit Wechseldatenträgern auswirken, die auf Ihrem Computer /dev/sdbinstalliert sind. In meinem Fall ist die SSD jedoch ohnehin physisch Teil der Festplatte, sodass das Blockgerät automatisch abgerufen wird, nachdem die Festplatte empfangen wurde /dev/sda.

rey_balgs
quelle
Ich hatte das gleiche Problem. Wie um alles in der Welt sollte ein Sterblicher das herausfinden? Ich kann dir nicht genug danken ...
musiKk
1

Die wahrscheinlichste Ursache für dieses Problem (für Personen, die dies lesen) ist, dass ein USB-Stick oder eine SD-Karte im Laptop angeschlossen bleibt (nicht unbedingt montiert). Hängen Sie die Bereitstellung aus, wenn sie gemountet ist (der E / A-Fehler bedeutet, dass dies unwahrscheinlich ist). Wenn Sie zufrieden sind, dass es nicht montiert ist, entfernen Sie es und versuchen Sie es pm-suspenderneut.

Ein großes Dankeschön an @ rey-balgs für das Teilen seiner Forschungen (und das Ersparen von viel Kummer).

Nic Sandfield
quelle
0

Gleiches Problem hier: sh: echo: I/O errorin /var/log/pm-suspend.log14.04 (oder besser Mint 17).

Andere Antwort. Ich habe stattdessen mit 'su pm-hibernate' gespielt, es schlägt auch mit netten Warnungen wie "Einfrieren von Aufgaben fehlgeschlagen nach ..." fehl. Wenn Sie dann "dmesg | less" ausführen und mit "/ Freezing" suchen, wird eine Stapelspur mit "fuse" angezeigt. Der Grund: ein offener Netzwerk-Mount in Files / Nautilus / Nemo. Das Update: In der GUI aushängen. Verwenden Sie dann stattdessen den Eintrag / etc / fstab, um das Netzwerklaufwerk bereitzustellen. Das ist weitaus robuster.


[122274.535148] Freezing user space processes ... 
[122294.540137] Freezing of tasks failed after 20.009 seconds (1 tasks refusing to freeze, wq_busy=0):
[122294.540167] bash            D ffff88022ec74480     0  6868   6825 0x00000004
[122294.540178]  ffff88021e6ddb50 0000000000000082 ffff8800c8a9e000 ffff88021e6ddfd8
[122294.540180]  0000000000014480 0000000000014480 ffff8800c8a9e000 ffff88021f7c8660
[122294.540181]  ffff880034813800 ffff88021e6ddb78 ffff88021f7c8740 ffff88021f7c8660
[122294.540183] Call Trace:
[122294.540188]  [<ffffffff81723129>] schedule+0x29/0x70
[122294.540192]  [<ffffffff812aaa95>] __fuse_request_send+0x115/0x280
[122294.540195]  [<ffffffff810aafd0>] ? prepare_to_wait_event+0x100/0x100
[122294.540197]  [<ffffffff812aac12>] fuse_request_send+0x12/0x20
S Imphead
quelle
Dies ist möglicherweise eher ein Problem bei der Handhabung der Verbindung durch Nemo (ich kann mich nicht erinnern, dass auf Ubuntu, Fedora und anderen Linux-Betriebssystemen auf diese Weise Probleme aufgetreten sind), sodass Sie das Problem den Mint-Entwicklern melden können (nicht ganz sicher, wo) kann hier sein ). Sie können auch angeben, wie Sie den /etc/ftstabEintrag hinzugefügt haben . danke
Wilf
Wilf, danke für den Hinweis. Gespeichert
S Imphead
0

Ich hatte ein ähnliches Problem und es ging um: swapoff

Versuchen Sie zu laufen:

sudo swapon -a
ChaosPredictor
quelle