Asus U31SD

This wiki is intended to help to fix problems related to Ubuntu and the Asus U31SD laptop. Apart from the following fixes, the Asus U31SD laptop works well with Ubuntu 12.04.

Note These minor fixes have been tested the models below but they should work under other models as well.

  • Ubuntu 12.04 Beta 2 (Precise Pangolin) on an Asus U31SD-RX260V

  • Ubuntu 12.04 (Precise Pangolin) on an Asus U31SD-XA1

  • Ubuntu 12.04.2 (Precise Pangolin) on an Asus U31SD-XH51

Disclaimer

Warning I make no guarantees, nor take any responsibility for any consequences following the use of this wiki page. Use at your own risk.

Fixing or enabling notebook functionalities

This section will guide you through fixing bug or enable functionalities which don't work out of the box.

Suspend and Hibernate

Warning: The script below simply disables Suspend and Hibernation on U-series models. As of Ubuntu 12.04.2 LTS, suspension is fixed. If the problem still persists, then use the script below.

To fix the suspension and hibernation bug you can use the 20_suspend-ehci-hcd script:

   1 #!/bin/sh
   2 #
   3 # Suspend and Hibernate Fix Script
   4 #
   5 # Credits: Cuong Tham
   6 
   7 TMPLIST_E=/tmp/ehci-dev-list
   8 TMPLIST_X=/tmp/xhci-dev-list
   9 E_DIR=/sys/bus/pci/drivers/ehci_hcd
  10 X_DIR=/sys/bus/pci/drivers/xhci_hcd
  11 E_BIND=$E_DIR""/bind
  12 E_UNBIND=$E_DIR""/unbind
  13 X_BIND=$X_DIR""/bind
  14 X_UNBIND=$X_DIR""/unbind
  15 
  16 unbindDev() {
  17   echo -n '' > $1
  18   for i in `ls $2 | egrep '[0-9a-z]+\:[0-9a-z]+\:.*$'`; do
  19     echo -n "$i" | tee $3
  20     echo "$i" >> $1
  21   done
  22 }
  23 
  24 bindDev() {
  25   [ -f $1 ] || return
  26 
  27   for i in `cat $1`; do
  28     echo -n "$i" | tee $2
  29   done
  30 
  31   rm $1
  32 }
  33 
  34 case "${1}" in
  35   hibernate|suspend)
  36     unbindDev $TMPLIST_E $E_DIR $E_UNBIND
  37     unbindDev $TMPLIST_X $X_DIR $X_UNBIND
  38     ;;
  39   resume|thaw)
  40     bindDev $TMPLIST_E $E_BIND
  41     bindDev $TMPLIST_X $X_BIND
  42     ;;
  43 esac
  44 

Paste the script in /etc/pm/sleep.d/20_suspend-ehci-hcd and save it

sudo nano /etc/pm/sleep.d/20_suspend-ehci-hcd

The script can have any name, but to ensure the load order, use the prefix 20_

add the execution permission:

sudo chmod 755 /etc/pm/sleep.d/20_suspend-ehci-hcd

To remove the script in case it does not work:

sudo rm /etc/pm/sleep.d/20_suspend-ehci-hcd

Package available suspend-ehci-hcd

Power consumption

I followed the instructions on installing Bumblebee, and after rebooting the computer, the power consumption went down from ~14W to ~8W due to the nVidia 520M discrete GPU is now disabled.

To do this, it was sufficient to add the Bumblebee PPA repository and update it via:

sudo add-apt-repository ppa:bumblebee/stable

sudo apt-get update

Install Bumblebee using the proprietary nvidia driver:

sudo apt-get install bumblebee bumblebee-nvidia linux-headers-generic

Install simple Bumblebee (with only power-saving functionality):

sudo apt-get install --no-install-recommends bumblebee linux-headers-generic

Reboot the computer.

To run certain apps such as heavy 3D programs or games with discrete nVidia GPU (using the proprietary nvidia driver), simply run:

optirun application-name


Reference links:

Asus_U31SD (last edited 2013-12-13 21:05:17 by knome)