Asus G74SX

Overview
List of working and non-working components on laptop, hardware info, kernel and general system configuration tips.

lspci output
lspci

lsusb output
lsusb

LAN Support
Device Driver --> Network device support --> Ethernet Driver Support -->

General network stack configuration. No other special considerations for this NIC.

WLAN Support
Device Driver --> Network device support --> Wireless LAN -->

I have debugging enabled to report bugs, as there are some known issues with the atheros card that are currently being worked on. You may also not need the bluetooth coexistence support depending if you have/use bluetooth. General network stack configuration for WLAN.

You'll want to probably install the following for general wireless setup :

Some experience random network dropping issues, reported fix:

If you want to use network-manager - you'll want to make sure the net.$ are not loaded in an rc-script, and NetworkManager is. Example:

KDE's NetworkManager front end can be installed :

http://en.gentoo-wiki.com/wiki/Wireless/Configuration http://www.gentoo.org/doc/en/handbook/handbook-amd64.xml?part=4&chap=4 http://en.gentoo-wiki.com/wiki/NetworkManager

Sound Support
Device Driver -> Sound card support ->

General sound configuration and setup. Everything tested functional, HDA Intel PCH and HDA Nvidia audio devices has full audio playback/record. You might need the closed source nvidia-drivers for hdmi output (oss nv drivers weren't tested).

http://www.gentoo.org/doc/en/alsa-guide.xml

Webcam Support
Device Drivers -> Multimedia Support ->

If you've compiled mplayer with v4l support you can test the webcam using :

http://en.gentoo-wiki.com/wiki/Webcam

Sentelic Touchpad
Make sure you have your kernel built with the following options:

Device Drivers -> Input Device Support ->

The stock linux kernel drivers work fine for the basic touchpad needs. However as of 3.3.1 they still haven't added functionality like multi-touch in, which would give you some gesture support like two finger scrolling. There are two branches of the Sentelic drivers that add this functionality.

https://github.com/saaros/sentelic/

https://github.com/ReubenBond/sentelic-multitouch

To use the Saaros drivers, for example :

Download the sentelic.c and sentelic.h files from the above link's src/ folder.

Copy the two files:

Clean up previous compiled files

Rebuild the kernel

Copy your new kernel to your /boot, however you've set it up, so the newest drivers/build will be applied.

If you compiled mouse/sentellic support in as a module you will need to rmmod/modprobe the respective modules to use the newly built drivers. If you built it into your kernel you will need to reboot for the changes to take effect.

If you use KDE -> The following two packages give you some configuration options that may work/tweak some of the touchpad settings in KDE's `systemsettings`

You should see options under: systemsettings -> Input Devices -> Touchpad systemsettings -> Lost And Found -> Touchpad This will give you a little bit more functionality as if the sentelic touchpad were a more traditional synaptic.

You can check out the Gentoo wiki on Sentelic for any relevant info http://en.gentoo-wiki.com/wiki/Sentelic_touchpad

There's a link to a possible daemon that monitors typing and should disable the touchpad from accidental bumping while typing. https://int.ed.ntnu.no/svn/public/fspd/ You will need inotify-tools for it to work :

Checkout or download the svn trunk, and copy the files to the proper folders ->

Then to start the daemon (and add it to default runlevel) ->

`syndaemon` may also work for you depending how you've configured your system. syndaemon is provided by the xorg synaptic driver

SD/MMC Card Reader
Device Drivers -> Staging Drivers ->

If you build it as a module then you'll need to modprobe it

It should auto-load on boot, but you might want to add it to your `/etc/conf.d/modules` anyways.

If you use KDE when you insert a card into the built in card reader, the Device Notifier widget should pop up and give you some available mount/run options. Might need to add your user to plug-dev group to get permission to mount devices.

If you have general USB debugging enabled in the kernel the rts5139 will dump a lot of data to syslog, and grow about 100MB a day. So either disable USB debugging or use logrotate or manually watch `/var/log/messages` so it doesn't get out of control.

USB 3.0 Ports
In addition to the common usb kernel options, the following module is necessary to add 3.0 support:

Device Drivers -> USB Support ->

If you built it as a module you'll need to :

And you'll probably want to to add it to your `/etc/conf.d/modules`

USB 3 speeds will vary, but the ports are fully functional on this laptop.

Bluetooth
The relevant usb entry for this bluetooth is: Bus 001 Device 003: ID 13d3:3304 IMC Networks

You'll probably want a newer kernel >3.2.11

And you'll also need the linux-firmware for the ath3k (ath3k-1.fw). You can either get the latest git repository

And place it in `/lib/modules/`

Or install the portage package :

You'll may want the following kernel configuration:

Networking Support -> Bluetooth Subsystem Support ->

You'll want to load the modules (or boot new kernel if compiled in):

The following packages will help configure bluetooth if you use KDE :

If you have a different Atheros bluetooth device you may need to add the relevant device id strings from lsusb -vv to the `ath3k.c` and `btusb.c` in `/usr/src/linux/drivers/bluetooth` so it is recognized correctly. For example:

After the modules are installed and functioning (check `/var/log/messages` for any problems), you might want to:

And add the ath3k and bluetooth modules to your `/etc/conf.d/modules`

In KDE: systemsettings -> Bluetooth Should give you the ability to scan and connect to nearby bluetooth devices.

Check out: http://www.gentoo.org/doc/en/bluetooth-guide.xml http://wiki.gentoo.org/wiki/Bluetooth For more information on general bluetooth config on Gentoo.

Video/Nvidia card
Assuming you want to use the proprietary nvidia-drivers for full functionality on this laptop, you'll want to add the following line to `/etc/make.conf`

Then compile the drivers:

And modprobe the new module and set opengl

You may also wish to add it to your `/etc/conf.d/modules` at this time (if not X should autoload it for you)

See below for working xorg.conf example.

Configuration
Post installation tweaking and configuring.

Keyboard Backlight
Make sure you have the following compiled into your kernel :

Device Drivers ->

You can use a simple bash script to control the backlight afterwards using a /sys dev call

Then to use the script simply ->

Sleep/Hibernate Controls
You'll probably want pm-tools and laptop-mode-tools installed for advanced control over quirks and process' for suspending properly. Included are also the /sys acpi method for suspend if you want to use a custom script to control (see below).

Tweak your suspend.conf file appropriately (example):

You may also need to add the resume= and resume2= kernel line options to your boot entry.. ex:

The following pm files may be necessary for functioning suspend/hibernate on this laptop:

Make sure you have the appropriate rc-scripts setup:

Assuming you built your kernel correctly and modules got auto-loaded. Either of the following two commands should put your computer to a memory suspend mode.

or

Likewise, either of the following two commands should put your pc to a "suspend to disk" state:

or

KDE's power management package can be installed by :

Also giving you the "Battery Monitor" widget available for KDE.

You can configure many options from a GUI on power management features there or use ACPI event scripts in `/etc/acpi`

Xorg Configuration
The following xorg.conf file is a working example on this laptop:

make.conf example
Below is a working make.conf example for this laptop :

Touchpad Control
If you have xinput and xbindkeys installed, you can use the following exampled to get the touchpad Fn key working.

You can toggle it by simply

To bind it to the Fn key, which is recognized by X but wouldnt control it, either add this to or create a new xbindkeysrc. EX:

You can put this file in your ~/ or wherever you want. There are also other options available depending on your window manager, but this should be a universal solution.

Test to make sure the bindkeys script is working:

You'll want to auto start it when your X starts, you can add it to your WM autostart or you can add it to xinitrc (see example below).

For KDE you can:

The following example will create a script that monitors for keyboard input and will disable the touchpad while typing.. It is a crude method to get the job done..

This file needs to be called after X has started, or else it'll fail to bind to display. You can use an autostart method like above, or you can use xinitrc.d.. The below example may not be elegant, and since fsp requires root privileges, it relies on sudo and allowing all xhost (you can edit to allow just yours).. EX:

The following sudo setup allows execution of fsp.sh without root password authentication.

Add the following lines:

And you might want to make sure you are in the wheel group.