Skip to main content

Thread: Setting up Ubuntu Lucid Lynx (10.04) on the Asus U35JC


install newer kernel

code:
$ sudo add-apt-repository ppa:kernel-ppa/ppa $ sudo apt-get update $ sudo apt-get install linux-image-generic-pae-lts-backport-maverick \                      linux-headers-generic-pae-lts-backport-maverick \                      build-essential
reboot use new kernel (2.6.35-19 @ time of writing).

update: 2.6.35-19 best kernel tried far regarding battery usage, can low 8w it, while newer kernels don't drop below 12w (tried 2.6.35-22 , 2.6.37-7 kernel ppa).

install acpi_call disable nvidia card

nvidia discrete graphics card doesn’t work @ time of writing, it’s best disable save battery. you’ll need acpi_call module so:
code:
$ git clone http://github.com/mkottman/acpi_call.git $ cd acpi_call $ make
this builds kernel module named acpi_call.ko. try , see if works:
code:
$ grep rate /proc/acpi/battery/bat0/state present rate:            19913 mw $ sudo insmod acpi_call.ko $ sudo echo '\_sb.pci0.peg1.gfx0._off' > /proc/acpi/call $ grep rate /proc/acpi/battery/bat0/state present rate:            12558 mw
copy module current kernel's modules library. you'll need after each kernel upgrade :
code:
$ sudo cp acpi_call.ko /lib/modules/`uname -r`/kernel/drivers/acpi/ $ sudo depmod
and have loaded @ boot time: edit /etc/modules , add acpi_call line it. how looks on system after fresh install:
code:
# /etc/modules: kernel modules load @ boot time. # # file contains names of kernel modules should loaded # @ boot time, 1 per line. lines beginning "#" ignored.  lp acpi_call
to disable discrete graphics card @ startup, edit /etc/rc.local , add acpi_call command it, e.g.:
code:
#!/bin/sh -e # # rc.local # # script executed @ end of each multiuser runlevel. # make sure script "exit 0" on success or other # value on error. # # in order enable or disable script change execution # bits. # # default script nothing.  echo '\_sb.pci0.peg1.gfx0._off' > /proc/acpi/call  exit 0
last not least, blacklist nouveau driver (it caused instability on system when playing acpi_call). create file named /etc/modprobe.d/blacklist-nvidia.conf content:
code:
blacklist nouveau blacklist nvidia
and regenerate initramfs image current kernel:
code:
$ sudo update-initramfs -u
reboot, , verify power consumption @ minimum.

have acpi_call recompiled after each kernel upgrade, copy acpi_call source /usr/local/src:
code:
$ cd .. && sudo mkdir -p /usr/local/src && sudo cp -r acpi_call /usr/local/src
then create script named /etc/kernel/postinst.d/acpi-call , put following in it:
code:
#!/bin/bash  # we're passed version of kernel being installed inst_kern=$1  if [ ! -e /usr/local/src/acpi_call ] ;     echo "acpi_call: warning - failed find source directory /usr/local/src/acpi_call.  cannot proceed" >&2     exit 0 fi  cd /usr/local/src/acpi_call/ rm -f acpi_call.ko make  if [ ! -e acpi_call.ko ] ;     echo "acpi_call: warning - failed build.  not installed in new kernel" >&2     exit 0 fi  cp acpi_call.ko /lib/modules/${inst_kern}/kernel/drivers/acpi/
and make executable:
code:
$ sudo chmod 755 /etc/kernel/postinst.d/acpi-call
make trackpad toggle (fn+f9) button work

edit /etc/acpi/asus-touchpad.sh , replace script this:
code:
#!/bin/sh [ -f /usr/share/acpi-support/state-funcs ] || exit 0   . /usr/share/acpi-support/power-funcs  getxconsole  device_id=`xinput -list | grep -i touchpad | grep id= | sed 's/.*id=\([0-9]*\).*/\1/' `  if xinput -list-props $device_id | grep "device enabled" | grep "1$" > /dev/null     xinput set-int-prop $device_id "device enabled" 8 0 else     xinput set-int-prop $device_id "device enabled" 8 1 fi
configure trackpad x

trackpad recognized correctly synaptics device maverick’s (2.6.35) kernel. has effect of making “multitouch” functions stop work. add in /etc/x11/xorg.conf bring them back:
code:
section "inputclass"     identifier "touchpad catchall"     matchistouchpad "on"     matchdevicepath "/dev/input/event*"     driver "synaptics"     option "verttwofingerscroll" "on"     option "horiztwofingerscroll" "on"     option "circularscrolling" "off"     option "criculartrigger" "0"     option "tapbutton1" "1"     option "tapbutton2" "2"     option "tapbutton3" "3" endsection
note: may not necessary, trackpad stopped function once , haven't been able reproduce issue. can fix if happens config though.

fix suspend

suspend doesn’t work out of box because of problem usb buses, need disable them before going sleep.

need switch nvidia card on before suspending, or becomes impossible switch off acpi_call after 2 suspend cycles.

create file named /etc/pm/sleep.d/20_custom-asus-u35jc , paste script:
code:
#!/bin/sh  buses="0000:00:1a.0 0000:00:1d.0"  case "${1}" in     hibernate|suspend)         # switch usb buses off         bus in $buses;             echo -n $bus | tee /sys/bus/pci/drivers/ehci_hcd/unbind         done         # switch nvidia card on before going sleep, avoids "constant on"         # bug occurs after 2 suspend/resume cycles (thanks kos888)         echo '\_sb.pci0.peg1.gfx0._on' > /proc/acpi/call         ;;     resume|thaw)         # switch usb buses on , nvidia card off         bus in $buses;             echo -n $bus | tee /sys/bus/pci/drivers/ehci_hcd/bind         done         echo '\_sb.pci0.peg1.gfx0._off' > /proc/acpi/call         ;; esac
don’t forget make executable :
code:
chmod +x /etc/pm/sleep.d/20_custom-asus-u35jc
fix flipped webcam under skype

video comes out flipped upside down. here trick make behave correctly under skype. create script, e.g. in /usr/bin/skype-webcam-fixed:
code:
#!/bin/sh export libv4lcontrol_flags=3  ld_preload=/usr/lib/libv4l/v4l1compat.so /usr/bin/skype
or on 64 bits systems:
code:
#!/bin/sh export libv4lcontrol_flags=3  ld_preload=/usr/lib32/libv4l/v4l1compat.so /usr/bin/skype
make executable :
code:
chmod +x /usr/bin/skype-webcam-fixed
now when want run skype use script instead of /usr/bin/skype.

things not working
  • hibernate results in black screen, though works in single user mode should not hard fix. reboot use magic sysrq sequence (hold alt+print scr , type r, e, i, s, u, b)
  • nvidia card not working


this adapted blog post, compilation of infos around internet , forum.

hibernate works in single user mode, , @ first login screen. once logged in fails, ending black screen. going login screen doesn't help, have reboot work again, must service started after login makes hibernation fail.


Forum The Ubuntu Forum Community Ubuntu Official Flavours Support Hardware [all variants] Setting up Ubuntu Lucid Lynx (10.04) on the Asus U35JC


Ubuntu

Comments

Popular posts from this blog

Hur installera Joomla på One.com - Joomla! Forum - community, help and support

removing index.php from URL address - Joomla! Forum - community, help and support

「イメージマップのアンカー名には、...」のエラーが出ないようにしたい