Running Linux On The Asus G74Sx

Intro

I started this page thinking that this was going to be an uphill battle. The time it took me to get Ubuntu Linux 11.04 (edit 2/25/2012: 11.10 too) on it after getting it home was about 45 minutes (including downloading and burning the ISO). It was a pleasant surprise that everything pretty much just worked. Here is what I did…

Installation

The G74 comes with 2 500GB/7200RPM drives. The first drive has that crappy OS on it. I had considered just blowing the entire thing away, but then I thought it might be nice to play some games on or something and I had already payed the Windows tax. So, I decided to leave it on. The first drive is NTFS and a smaller FAT32 partition for something… that all got to stay where it was. The second drive has two 249 GB NTFS partitions on it, probably for RAID (?). I nuked the partitions on the second drive using the partitioning tool in the Ubuntu installation process. I added a 5GB swap (which is more than generous). I then split the remaining space in half: one half to "/" and one half to "home" where I created an unencrypted localadmin account that can sudo just for doing system level stuff. This post roughly explains my thinking behind that without getting into it here really. All other mortal home directories are then added as ecrypt encrypted home directories. This setup gives me some extra security because of the seperate admin only account and encryption (this is a portable machine) and makes in easier to blow the system away and reinstall in the case of a system problem without loosing user data.

You can either install GRUB on the primary disk or the secondary. Installing on the primary kills the Windows boot loader. Installing on the second will not allow automatic booting into Linux unless you add Linux into the Windows boot loader. The downside to this is that you will have to go through two boot loaders… maybe that sets with you wrong, maybe not. The other option is setting the default boot device to the second hard drive in the BIOS… I can't get this to work currently for some strange reason.

I decided to install GRUB on the second drive instead of blowing away the Windows boot loader. This is just a personal preference with the major factor being that the laptop comes with no Windows 7 install media. This is a cleaner way to do it anyway when you have two drives. Just hold the escape key when the logo pops up and you can choose the boot device. I shutdown so little anyway this is not really an issue. That's pretty much it… very straight forward with the drive and install setup.

Post installation

Graphics card

You will want to install the NVIDIA drivers for the display card. Here are the Ubuntu instructions on how to do that… but just to save you the click through go to System->Administration->Hardware Drivers and check the box to enable the restricted drivers for your NVIDIA card. Easy enough your grandma could do it. Now restart.

Touchpad

I hate touchpads unless I am in a jam and this one is really sensitive. I found a touchpad switching application called Liberado Touchpad indicator. Great job guys, thank you! This is a super nice little app. Per their website here are the install instructions:

sudo add-apt-repository ppa:atareao/atareao && sudo apt-get update    
sudo apt-get install touchpad-indicator

Current Issues

Blue Tooth

This turns out not to be an issue per se, but this unit does not have Blue Tooth. Apparently the recent versions of the G74Sx do not have it at all. Presumably there was a choice to go with WiMax.

Keyboard backlight

This seems to work only after the unit has been suspended and awakened but works flawlessly after that.

Suspend (sleep)

A reader (Lars Aaberg) wrote in and said that doing the steps in this link solved this problem for him. I am now able to suspend but cannot resume. When trying to resume, it fires the disks up and then the caps lock indicator starts blinking presumably indicating a kernel panic. This seems to have corrected itself… there have been kernel changes and other core Linux component changes but there has been a BIOS upgrade too. Not sure which fixed it. Many posts suggest this is the network card and I know the network card is on of the pieces that tend to change in this model. As mentioned before it changed a while back to remove the Bluetooth hardware. Here is what my 20_custom-ehci_hcd file on the G47 looks like; make sure that you do the step after the post that explains the files or it will not work at all :

#!/bin/sh
# File: "/etc/pm/sleep.d/20_custom-ehci_hcd".
case "${1}" in
        hibernate|suspend)
              # Unbind ehci_hcd for first device 0000:00:1a.0:
               echo -n "0000:00:1a.0" | tee /sys/bus/pci/drivers/ehci_hcd/unbind
              # Unbind ehci_hcd for second device 0000:00:1d.0:
               echo -n "0000:00:1d.0" | tee /sys/bus/pci/drivers/ehci_hcd/unbind
        ;;
        resume|thaw)
              # Bind ehci_hcd for first device 0000:00:1a.0:
              echo -n "0000:00:1a.0" | tee /sys/bus/pci/drivers/ehci_hcd/bind
              # Bind ehci_hcd for second device 0000:00:1d.0:
              echo -n "0000:00:1d.0" | tee /sys/bus/pci/drivers/ehci_hcd/bind
        ;;
esac

lspci dump

00:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor Family DRAM Controller (rev 09)
    Subsystem: ASUSTeK Computer Inc. Device 1307
    Flags: bus master, fast devsel, latency 0
    Capabilities: [e0] Vendor Specific Information: Len=0c <?>

00:01.0 PCI bridge: Intel Corporation 2nd Generation Core Processor Family PCI Express Root Port (rev 09) (prog-if 00 [Normal decode])
    Flags: bus master, fast devsel, latency 0
    Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
    I/O behind bridge: 0000d000-0000dfff
    Memory behind bridge: f2000000-f40fffff
    Prefetchable memory behind bridge: 00000000e0000000-00000000ebffffff
    Capabilities: [88] Subsystem: ASUSTeK Computer Inc. Device 1307
    Capabilities: [80] Power Management version 3
    Capabilities: [90] MSI: Enable+ Count=1/1 Maskable- 64bit-
    Capabilities: [a0] Express Root Port (Slot+), MSI 00
    Capabilities: [100] Virtual Channel
    Capabilities: [140] Root Complex Link
    Kernel driver in use: pcieport
    Kernel modules: shpchp

00:16.0 Communication controller: Intel Corporation 6 Series Chipset Family MEI Controller #1 (rev 04)
    Subsystem: ASUSTeK Computer Inc. Device 1307
    Flags: bus master, fast devsel, latency 0, IRQ 11
    Memory at f6a0b000 (64-bit, non-prefetchable) [size=16]
    Capabilities: [50] Power Management version 3
    Capabilities: [8c] MSI: Enable- Count=1/1 Maskable- 64bit+

00:1a.0 USB Controller: Intel Corporation 6 Series Chipset Family USB Enhanced Host Controller #2 (rev 05) (prog-if 20 [EHCI])
    Subsystem: ASUSTeK Computer Inc. Device 1307
    Flags: bus master, medium devsel, latency 0, IRQ 16
    Memory at f6a08000 (32-bit, non-prefetchable) [size=1K]
    Capabilities: [50] Power Management version 2
    Capabilities: [58] Debug port: BAR=1 offset=00a0
    Capabilities: [98] PCI Advanced Features
    Kernel driver in use: ehci_hcd

00:1b.0 Audio device: Intel Corporation 6 Series Chipset Family High Definition Audio Controller (rev 05)
    Subsystem: ASUSTeK Computer Inc. Device 1b33
    Flags: bus master, fast devsel, latency 0, IRQ 49
    Memory at f6a00000 (64-bit, non-prefetchable) [size=16K]
    Capabilities: [50] Power Management version 2
    Capabilities: [60] MSI: Enable+ Count=1/1 Maskable- 64bit+
    Capabilities: [70] Express Root Complex Integrated Endpoint, MSI 00
    Capabilities: [100] Virtual Channel
    Capabilities: [130] Root Complex Link
    Kernel driver in use: HDA Intel
    Kernel modules: snd-hda-intel

00:1c.0 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 1 (rev b5) (prog-if 00 [Normal decode])
    Flags: bus master, fast devsel, latency 0
    Bus: primary=00, secondary=02, subordinate=02, sec-latency=0
    I/O behind bridge: 0000c000-0000cfff
    Memory behind bridge: f6000000-f69fffff
    Prefetchable memory behind bridge: 00000000ee200000-00000000eebfffff
    Capabilities: [40] Express Root Port (Slot+), MSI 00
    Capabilities: [80] MSI: Enable+ Count=1/1 Maskable- 64bit-
    Capabilities: [90] Subsystem: ASUSTeK Computer Inc. Device 1307
    Capabilities: [a0] Power Management version 2
    Kernel driver in use: pcieport
    Kernel modules: shpchp

00:1c.1 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 2 (rev b5) (prog-if 00 [Normal decode])
    Flags: bus master, fast devsel, latency 0
    Bus: primary=00, secondary=03, subordinate=03, sec-latency=0
    I/O behind bridge: 0000b000-0000bfff
    Memory behind bridge: f5600000-f5ffffff
    Prefetchable memory behind bridge: 00000000ed700000-00000000ee0fffff
    Capabilities: [40] Express Root Port (Slot+), MSI 00
    Capabilities: [80] MSI: Enable+ Count=1/1 Maskable- 64bit-
    Capabilities: [90] Subsystem: ASUSTeK Computer Inc. Device 1307
    Capabilities: [a0] Power Management version 2
    Kernel driver in use: pcieport
    Kernel modules: shpchp

00:1c.3 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 4 (rev b5) (prog-if 00 [Normal decode])
    Flags: bus master, fast devsel, latency 0
    Bus: primary=00, secondary=04, subordinate=04, sec-latency=0
    I/O behind bridge: 0000a000-0000afff
    Memory behind bridge: f4c00000-f55fffff
    Prefetchable memory behind bridge: 00000000ecc00000-00000000ed5fffff
    Capabilities: [40] Express Root Port (Slot+), MSI 00
    Capabilities: [80] MSI: Enable+ Count=1/1 Maskable- 64bit-
    Capabilities: [90] Subsystem: ASUSTeK Computer Inc. Device 1307
    Capabilities: [a0] Power Management version 2
    Kernel driver in use: pcieport
    Kernel modules: shpchp

00:1c.5 PCI bridge: Intel Corporation 6 Series Chipset Family PCI Express Root Port 6 (rev b5) (prog-if 00 [Normal decode])
    Flags: bus master, fast devsel, latency 0
    Bus: primary=00, secondary=05, subordinate=05, sec-latency=0
    I/O behind bridge: 00009000-00009fff
    Memory behind bridge: f4200000-f4bfffff
    Prefetchable memory behind bridge: 00000000ec100000-00000000ecafffff
    Capabilities: [40] Express Root Port (Slot+), MSI 00
    Capabilities: [80] MSI: Enable+ Count=1/1 Maskable- 64bit-
    Capabilities: [90] Subsystem: ASUSTeK Computer Inc. Device 1307
    Capabilities: [a0] Power Management version 2
    Kernel driver in use: pcieport
    Kernel modules: shpchp

00:1d.0 USB Controller: Intel Corporation 6 Series Chipset Family USB Enhanced Host Controller #1 (rev 05) (prog-if 20 [EHCI])
    Subsystem: ASUSTeK Computer Inc. Device 1307
    Flags: bus master, medium devsel, latency 0, IRQ 23
    Memory at f6a07000 (32-bit, non-prefetchable) [size=1K]
    Capabilities: [50] Power Management version 2
    Capabilities: [58] Debug port: BAR=1 offset=00a0
    Capabilities: [98] PCI Advanced Features
    Kernel driver in use: ehci_hcd

00:1f.0 ISA bridge: Intel Corporation HM65 Express Chipset Family LPC Controller (rev 05)
    Subsystem: ASUSTeK Computer Inc. Device 1307
    Flags: bus master, medium devsel, latency 0
    Capabilities: [e0] Vendor Specific Information: Len=0c <?>
    Kernel modules: iTCO_wdt

00:1f.2 SATA controller: Intel Corporation 6 Series Chipset Family 6 port SATA AHCI Controller (rev 05) (prog-if 01 [AHCI 1.0])
    Subsystem: ASUSTeK Computer Inc. Device 1307
    Flags: bus master, 66MHz, medium devsel, latency 0, IRQ 46
    I/O ports at e070 [size=8]
    I/O ports at e060 [size=4]
    I/O ports at e050 [size=8]
    I/O ports at e040 [size=4]
    I/O ports at e020 [size=32]
    Memory at f6a06000 (32-bit, non-prefetchable) [size=2K]
    Capabilities: [80] MSI: Enable+ Count=1/1 Maskable- 64bit-
    Capabilities: [70] Power Management version 3
    Capabilities: [a8] SATA HBA v1.0
    Capabilities: [b0] PCI Advanced Features
    Kernel driver in use: ahci
    Kernel modules: ahci

00:1f.3 SMBus: Intel Corporation 6 Series Chipset Family SMBus Controller (rev 05)
    Subsystem: ASUSTeK Computer Inc. Device 1307
    Flags: medium devsel, IRQ 5
    Memory at f6a05000 (64-bit, non-prefetchable) [size=256]
    I/O ports at e000 [size=32]
    Kernel modules: i2c-i801

01:00.0 VGA compatible controller: nVidia Corporation Device 1251 (rev a1) (prog-if 00 [VGA controller])
    Subsystem: ASUSTeK Computer Inc. Device 204a
    Flags: bus master, fast devsel, latency 0, IRQ 16
    Memory at f2000000 (32-bit, non-prefetchable) [size=32M]
    Memory at e0000000 (64-bit, prefetchable) [size=128M]
    Memory at e8000000 (64-bit, prefetchable) [size=64M]
    I/O ports at d000 [size=128]
    [virtual] Expansion ROM at f4000000 [disabled] [size=512K]
    Capabilities: [60] Power Management version 3
    Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+
    Capabilities: [78] Express Endpoint, MSI 00
    Capabilities: [b4] Vendor Specific Information: Len=14 <?>
    Capabilities: [100] Virtual Channel
    Capabilities: [128] Power Budgeting <?>
    Capabilities: [600] Vendor Specific Information: ID=0001 Rev=1 Len=024 <?>
    Kernel driver in use: nvidia
    Kernel modules: nvidia-current, nouveau, nvidiafb

01:00.1 Audio device: nVidia Corporation Device 0bee (rev a1)
    Subsystem: ASUSTeK Computer Inc. Device 204a
    Flags: bus master, fast devsel, latency 0, IRQ 17
    Memory at f4080000 (32-bit, non-prefetchable) [size=16K]
    Capabilities: [60] Power Management version 3
    Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+
    Capabilities: [78] Express Endpoint, MSI 00
    Kernel driver in use: HDA Intel
    Kernel modules: snd-hda-intel

03:00.0 Network controller: Intel Corporation Centrino Wireless-N + WiMAX 6150 (rev 67)
    Subsystem: Intel Corporation Centrino Wireless-N + WiMAX 6150 BGN
    Flags: bus master, fast devsel, latency 0, IRQ 48
    Memory at f5600000 (64-bit, non-prefetchable) [size=8K]
    Capabilities: [c8] Power Management version 3
    Capabilities: [d0] MSI: Enable+ Count=1/1 Maskable- 64bit+
    Capabilities: [e0] Express Endpoint, MSI 00
    Capabilities: [100] Advanced Error Reporting
    Capabilities: [140] Device Serial Number 40-25-c2-ff-ff-2f-ec-58
    Kernel driver in use: iwlagn
    Kernel modules: iwlagn

04:00.0 USB Controller: Fresco Logic FL1000G USB 3.0 Host Controller (rev 04) (prog-if 30 [XHCI])
    Subsystem: ASUSTeK Computer Inc. Device 1039
    Flags: bus master, fast devsel, latency 0, IRQ 47
    Memory at f4c00000 (32-bit, non-prefetchable) [size=64K]
    Capabilities: [50] Power Management version 3
    Capabilities: [68] MSI: Enable+ Count=1/1 Maskable- 64bit+
    Capabilities: [80] Express Endpoint, MSI 00
    Kernel driver in use: xhci_hcd
    Kernel modules: xhci-hcd

05:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)
    Subsystem: ASUSTeK Computer Inc. U6V laptop
    Flags: bus master, fast devsel, latency 0, IRQ 45
    I/O ports at 9000 [size=256]
    Memory at ec104000 (64-bit, prefetchable) [size=4K]
    Memory at ec100000 (64-bit, prefetchable) [size=16K]
    Capabilities: [40] Power Management version 3
    Capabilities: [50] MSI: Enable+ Count=1/1 Maskable- 64bit+
    Capabilities: [70] Express Endpoint, MSI 01
    Capabilities: [b0] MSI-X: Enable- Count=4 Masked-
    Capabilities: [d0] Vital Product Data
    Capabilities: [100] Advanced Error Reporting
    Capabilities: [140] Virtual Channel
    Capabilities: [160] Device Serial Number 44-48-73-25-68-4c-e0-00
    Kernel driver in use: r8169
    Kernel modules: r8169
Unless otherwise stated, the content of this page is licensed under GNU Free Documentation License.