Zawieszenie / hibernacja nie działa na laptopie Asus


11

Mam problemy z zawieszeniem Ubuntu 11.04 (Natty Narwhal) na moim nowym laptopie Asus U30SD-XA1. To nowy laptop na rynku. Czy jest to znany problem i czy można go naprawić?

Zasadniczo za każdym razem, gdy zamykam lub uśpiam laptopa, ekran staje się czarny, ale karta graficzna tak naprawdę się nie wyłącza, a następnie wentylator obraca się jeszcze szybciej niż wcześniej i robi się gorący.

Widziałem, że niektórzy ludzie mieli podobne problemy na innych laptopach i cofnęli jądro. Jestem nowicjuszem w Ubuntu i nie czuję się wyjątkowo komfortowo z bałaganem w jądrze.

Nie używam sterownika Nvidia 520M , ponieważ nie zainstaluje Unity po zainstalowaniu. Słyszałem też sporo złych rzeczy na temat sterowników na forach Ubuntu, więc wyłączyłem sterownik.


Powinienem chyba dodać, że nie używam sterownika nvidia 520m, ponieważ nie zainstaluje on jedności po zainstalowaniu. Słyszałem też sporo złych rzeczy na temat sterowników na forach ubuntu, więc wyłączyłem sterownik.
b1kjsh

Odpowiedzi:


10

Wydaje się, że jest to powszechny problem na wielu laptopach ASUS. Spróbuj tego:

Źródło: http://thecodecentral.com/2011/01/18/fix-ubuntu-10-10-suspendhibernate-not-working-bug

Uruchom to w terminalu:

gksu gedit /etc/pm/sleep.d/20_custom-ehci_hcd 

Skopiuj i wklej zawartość następujących elementów do edytora tekstu:

#!/bin/sh
#inspired by http://art.ubuntuforums.org/showpost.php?p=9744970&postcount=19
#...and http://thecodecentral.com/2011/01/18/fix-ubuntu-10-10-suspendhibernate-not-working-bug    
# tidied by tqzzaa :)

VERSION=1.1
DEV_LIST=/tmp/usb-dev-list
DRIVERS_DIR=/sys/bus/pci/drivers
DRIVERS="ehci xhci" # ehci_hcd, xhci_hcd
HEX="[[:xdigit:]]"
MAX_BIND_ATTEMPTS=2
BIND_WAIT=0.1

unbindDev() {
  echo -n > $DEV_LIST 2>/dev/null
  for driver in $DRIVERS; do
    DDIR=$DRIVERS_DIR/${driver}_hcd
    for dev in `ls $DDIR 2>/dev/null | egrep "^$HEX+:$HEX+:$HEX"`; do
      echo -n "$dev" > $DDIR/unbind
      echo "$driver $dev" >> $DEV_LIST
    done
  done
}

bindDev() {
  if [ -s $DEV_LIST ]; then
    while read driver dev; do
      DDIR=$DRIVERS_DIR/${driver}_hcd
      while [ $((MAX_BIND_ATTEMPTS)) -gt 0 ]; do
          echo -n "$dev" > $DDIR/bind
          if [ ! -L "$DDIR/$dev" ]; then
            sleep $BIND_WAIT
          else
            break
          fi
          MAX_BIND_ATTEMPTS=$((MAX_BIND_ATTEMPTS-1))
      done  
    done < $DEV_LIST
  fi
  rm $DEV_LIST 2>/dev/null
}

case "$1" in
  hibernate|suspend) unbindDev;;
  resume|thaw)       bindDev;;
esac

Zapisz więc

sudo chmod 755 /etc/pm/sleep.d/20_custom-ehci_hcd

1
Wow, to zadziałało. Dziękuję bardzo! : D Teraz muszę tylko znaleźć poprawkę dla moich przycisków głośności. Dzięki @fossfreedom!
b1kjsh,

niewiarygodne, pięć lat później to zadziałało dla mojego asusa rog gl552vw na archlinux 4.3.3
brauliobo

2

Tylko dodatkowy punkt danych:

Mam ASUS UL20FT z systemem Xubuntu 11.04. Zawieszenie działało dobrze do niedawna. Dioda LED Caps Lock miga za każdym razem, gdy próbuję zawiesić. Powiedziano mi, że to oznaczało awarię jądra.

Próbowałem powyższego skryptu, ale nie działało to dla mnie. /var/log/pm-suspend.log nie pokazał żadnych błędów (z wyjątkiem awarii w menedżerze sieci i wpa_supplicant, które były przejściowe).

Okazało się, że winowajcą były moduły jądra ładowane przez Virtualbox-4.1.

Usunąłem Virtualbox i wszystko znowu działało.


2

Mam laptopa asus U46E RAL-7. Po dodaniu nolapicdo GRUB_CMDLINE_LINUX_DEFAULTlinii działa pięknie.


To działało również na moim Dell XPS-15. Dodam też ten wiersz, który gdzieś przeczytałem. GRUB_CMDLINE_LINUX_DEFAULT = "cichy plusk i915.enable_ips = 0"
igx

to sprawiło, że działało, ale całkowicie zepsuło touchpad na moim asus rog gl552vw przy użyciu archlinuxa z jądrem 4.3.3, więc nie ma opcji :(
brauliobo

1

Dziękuję fossfreedom! Ten skrypt naprawił problemy z zawieszaniem się na moim Asusie 1225B. Nadal zamierzam wypróbować go dla 1215N i 1215B i zgłosić się tutaj.

Jeden mały dodatek ... Miałem laptop (1225B) ustawiony do zawieszenia po zamknięciu pokrywy, co zadziałało. Ale natychmiast po zawieszeniu wznawiałby (przy wciąż zamkniętej pokrywie). Nie zrobiłbym tego samego, jeśli zawiesiłem w inny sposób.

Oto jak naprawić zawieszanie / budzenie za pomocą pokrywy w Asusie 1225B:

  1. Włącz opcję BIOS, aby obudzić się na pokrywie
  2. Wyłącz opcję budzenia LID w / proc / acpi / wakeup:
    • Użyj acpitool(patrz acpitool --help)

To jedyny sposób, w jaki działam poprawnie.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.