Page 1 of 12 12311 ... LastLast
Results 1 to 10 of 114

Thread: Asus U43JC

  1. #1
    Join Date
    Aug 2006
    Beans
    87

    [Howto] Asus U43JC

    Ubuntu 12.04 Precise Pangolin on an Asus U43JC-X1

    Edit: Updated for Precise! This will be edited as known issues are solved.

    Automatic Nvidia Power Management

    Let's begin by installing bumblebee to handle Nvidia power management as well as Optimus:

    Code:
    $ sudo add-apt-repository ppa:bumblebee/stable
    $ sudo apt-get update
    $ sudo apt-get install bumblebee
    This makes it so the nvidia card will be disabled automatically on boot (and remain so even after resume from standby), and therefore will not consume any power or generate additional heat. To test if it worked, reboot, unplug the laptop from the power outlet and do a:

    Code:
    $ cat /proc/acpi/battery/BAT0/state
    The "Present rate" line should be around 13500 mW. With WiFi off, low screen brightness, and no USB devices attached, it should get as low as 11500 mW!

    To run opengl applications manually using Nvidia's binary driver, execute:

    Code:
    $ optirun <application>

    Touchpad Fixup

    To configure the touchpad beyond what is available in Gnome configuration, we will use the hotplug-command hook available in the new gnome-settings-daemon. Start off by creating this script somewhere in your executable path, such as $HOME/bin:

    $HOME/bin/touchpadconf
    Code:
    #!/bin/bash
    #
    # This script is an example hotplug script for use with the various
    # input devices plugins.
    #
    # The script is called with the arguments:
    # -t [added|present|removed] <device name>
    #	   added ... device was just plugged in
    #	   present.. device was present at gnome-settings-daemon startup
    #	   removed.. device was just removed
    # -i <device ID>
    #	   device ID being the XInput device ID
    # <device name> The name of the device
    #
    # The script should return 0 if the device is to be
    # ignored from future configuration.
    #
    
    args=`getopt "t:i:" $*`
    
    set -- $args
    
    while [ $# -gt 0 ]; do
    	case $1 in
    	-t)
    		shift;
    		type="$1"
    		;;
    	 -i)
    		shift;
    		id="$1"
    		;;
    	 --)
    		shift;
    		device="$@"
    		break;
    		;;
    	*)
    		echo "Unknown option $1";
    		exit 1
    		;;
    	esac
    	shift
    done
    
    retval=0
    case $type in
    	added|present)
    		if [ "$device" == "ETPS/2 Elantech Touchpad" ]; then
    			xinput set-prop $id "Synaptics Tap Action" 0, 0, 0, 0, 1, 2, 3
    		fi
    		;;
    	removed)
    		;;
    	*)
    		retval=1
    		;;
    esac
    
    # All further processing will be disabled if $retval == 0
    exit $retval
    Now make it executable:

    Code:
    $ chmod a+x $HOME/bin/touchpadconf
    Edit the "Synaptics Tap Action" line to whatever you like - that's where the actual configuration is set. Refer to "man synaptics" for possible keys/values.

    Now execute the following to set the hook. It'll be executed whenever g-s-d is called, be it at startup, after resume, of when you plug/unplug a device. "touchpadconf" refers to the script you created above. If it's not in your path, change it to include absolute path information.

    Code:
    $ gsettings set org.gnome.settings-daemon.peripherals.input-devices hotplug-command touchpadconf
    Fix Suspend

    We have to unbind the USB buses manually before suspending. Create /etc/pm/sleep.d/20_custom-asus-u43jc:

    Code:
    #!/bin/sh
    
    EHCI_BUSES="0000:00:1a.0 0000:00:1d.0"
    XHCI_BUSES="0000:04:00.0"
    
    case "${1}" in
        hibernate|suspend)
            # Switch USB buses off
            for bus in $EHCI_BUSES; do
                echo -n $bus | tee /sys/bus/pci/drivers/ehci_hcd/unbind
            done
            for bus in $XHCI_BUSES; do
                echo -n $bus | tee /sys/bus/pci/drivers/xhci_hcd/unbind
            done
            ;;
        resume|thaw)
            # Switch USB buses back on
            for bus in $EHCI_BUSES; do
                echo -n $bus | tee /sys/bus/pci/drivers/ehci_hcd/bind
            done
            for bus in $XHCI_BUSES; do
                echo -n $bus | tee /sys/bus/pci/drivers/xhci_hcd/bind
            done
            ;;
    esac
    And make it executable:

    Code:
    $ sudo chmod a+x /etc/pm/sleep.d/20_custom-asus-u43jc

    Fix Hibernation

    To fix hibernation, simply create /etc/pm/config.d/hibernate_mode with the following contents:

    Code:
    HIBERNATE_MODE="shutdown"
    Reboot, and try it out. It is kinda slow either hibernating or resuming, so be patient. This is one of the reasons I plan to get a fast SSD some time in the near future.


    Fix CPU Frequency Scaling

    Sometimes the BIOS limits the available CPU frequency to just 1.2GHz, either when on the power cord on on the battery. Since recent kernels respect this limit (a feature not present in Ubuntu 10.04, for instance), the workaround is to tell the kernel to ignore it.

    To check if you have the same problem, do:

    Code:
    $ cat /sys/devices/system/cpu/cpu0/cpufreq/bios_limit
    If it's anything less than 2400000, you got the same problem. The fix is to add "processor.ignore_ppc=1" as a boot parameter to the kernel. To do so, edit /etc/default/grub and modify the GRUB_CMDLINE_LINUX_DEFAULT parameter so it reads:

    Code:
    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash processor.ignore_ppc=1"
    Then update grub.cfg:

    Code:
    $ sudo update-grub
    Reboot.


    Known Issues

    * No WiDi out.
    Last edited by arbrandes; May 25th, 2012 at 05:21 PM. Reason: Updated for 12.04.

  2. #2
    Join Date
    Aug 2006
    Beans
    87

    Re: Asus U43JC

    Hibernation workaround discovered here:

    http://ubuntuforums.org/showpost.php...&postcount=188

    Howto updated.

  3. #3
    Join Date
    Jan 2010
    Beans
    2

    Re: Asus U43JC

    Thanks for mentioning me

  4. #4
    Join Date
    Aug 2006
    Beans
    87

    Re: Asus U43JC

    np, bdkoepke. Without your help, disabling nvidia would've been tough.

    btw, howto updated with modprobe configuration for the Elan touchpad. Solves the sensitivity issue.

  5. #5
    Join Date
    Aug 2006
    Beans
    87

    Re: Asus U43JC

    Just discovered CPU frequency scaling does not work. CPU cores are always stuck at 1.2GHz, no matter what the load on them.

    This is probably due to this kernel bug (which points to a possible hardware bug): https://bugzilla.kernel.org/show_bug.cgi?id=19702. There are a few patches there, I'm going to try them out eventually. Would much prefer a userspace workaround, though...

    On launchpad there's a related bug, https://bugs.launchpad.net/ubuntu/+s...ux/+bug/637845.

  6. #6
    Join Date
    Aug 2006
    Beans
    87

    Re: Asus U43JC

    Found out why cpu freq scaling is not working: the BIOS is limiting it at 1.2GHz. One can check by doing:

    $ cat /sys/devices/system/cpu/cpu0/cpufreq/bios_limit

    If it's anything less than 2400000, you got the same problem. The fix is to add "processor.ignore_ppc=1" as a boot parameter to the kernel. Will update the howto accordingly.

    "Why did it work with Ubuntu 10.04?", one might ask. This is because until very recently, the Linux kernel simply ignored BIOS limitations on cpu frequency.

    Some day I'm going to try updating the U43JC's BIOS to see if it helps (there's a new version on Asus's site, number 214 from October 14th), but for now, this workaround will do.

  7. #7
    Join Date
    Apr 2007
    Location
    Coffee corner
    Beans
    405
    Distro
    Kubuntu 11.04 Natty Narwhal

    Re: Asus U43JC

    Great howto, thanks a lot!
    A few remarks regarding my system (Kubuntu 10.10 on u43jc-X1):
    My BIOS limit was 2400000 - the computer shipped from Amazon on Oct 14, so maybe it already has a newer BIOS?

    For KDE users: touchpad configuration works out of the box with the psmouse.force_elantech=1 boot option.

  8. #8
    Join Date
    Aug 2006
    Beans
    87

    Re: Asus U43JC

    Quote Originally Posted by rosencrantz View Post
    the computer shipped from Amazon on Oct 14, so maybe it already has a newer BIOS?
    Mine shipped out a week after yours, so I'm guessing its a configuration option somewhere. Couldn't find it in the BIOS, so it's probably the "Super Hybrid Engine" thing which I turned on in Windows. I'm gonna try disabling it and booting without the ppc boot parameter.

    Could never figure out what that Super Hybrid stuff does, anyhow!

  9. #9
    Join Date
    Nov 2010
    Beans
    1

    Re: Asus U43JC

    how do i patch dsdt on linux mint?

  10. #10
    Join Date
    Feb 2008
    Beans
    70

    Re: Asus U43JC

    Quote Originally Posted by arbrandes View Post
    Mine shipped out a week after yours, so I'm guessing its a configuration option somewhere. Couldn't find it in the BIOS, so it's probably the "Super Hybrid Engine" thing which I turned on in Windows. I'm gonna try disabling it and booting without the ppc boot parameter.

    Could never figure out what that Super Hybrid stuff does, anyhow!
    I ran across this thread because my girlfriend is shopping for a new computer and I was wondering how the newer ASUS PCs would run under Ubuntu - esp. regarding the video card. Anyway, here's my 2 cents about the Super Hybrid stuff:
    Assuming it works the same as in the eeePC line (I have an eeePC 1005 that works like a charm with UNE once you do a bit of tweaking) the super hybrid engine is meant to improve battery life by throttling the processor. My eeePC has 3 modes - performance (no throttling, less than 2 hours battery life), normal, and powersave (3-4 hours of battery life, but the CPU speed is severely capped).
    So it could well be that the problem you mentioned has something to do with these settings. On my eeePC I have a program called the eee control tray installed that lets me toggle this setting while running Ubuntu:
    http://greg.geekmind.org/eee-control/
    The downsides are that it's not in the repositories and it's meant for the eeePC line so I have no idea if it works for a full size laptop although it sounds like ASUS uses similar technologies in both. It's not mentioned on the website I gave above but there is a ppa for this program - see here:
    http://linux.aldeby.org/eee-control-...r-eee-pcs.html
    It's possible it'll solve the CPU problem (it also helps with hotkey support on the eeePC). I'll add the warning that it's not 100% stable on my machine, and occasionally becomes a runaway and eats CPU.

Page 1 of 12 12311 ... LastLast

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •