Search:  
Gentoo Wiki

Asus_A8Js

This article is part of the Hardware series.
Laptops TV Tuner Cards Wireless Servers Storage Other Hardware Motherboards Related

Contents

Introduction

Here is information on how to set up an Asus A8Js laptop with Gentoo Linux. Thankfully, it isn't too hard and most things seem to simply work out of the box.

When installing Gentoo, I was unable to use the Gentoo LiveCD because it didn't seem to have proper support for the ethernet card (it seemed to have the proper module but it just wouldn't work). To get around this, I actually used and Ubuntu LiveCD to install Gentoo. I used Ubuntu 6.10 for my install.

Hardware

Code: lspci
00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS/940GML and 945GT Express Memory Controller Hub (rev 03)
00:01.0 PCI bridge: Intel Corporation Mobile 945GM/PM/GMS/940GML and 945GT Express PCI Express Root Port (rev 03)
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02)
00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 02)
00:1c.2 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 3 (rev 02)
00:1c.3 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 4 (rev 02)
00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #3 (rev 02)
00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #4 (rev 02)
00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)
00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02)
00:1f.2 IDE interface: Intel Corporation 82801GBM/GHM (ICH7 Family) Serial ATA Storage Controller IDE (rev 02)
01:00.0 VGA compatible controller: nVidia Corporation Unknown device 0397 (rev a1)
02:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG Network Connection (rev 02)
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 01)
06:00.0 FireWire (IEEE 1394): Ricoh Co Ltd Unknown device 0832
06:00.1 Class 0805: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 19)
06:00.2 System peripheral: Ricoh Co Ltd Unknown device 0843 (rev 01)
06:00.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 0a)
06:00.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev 05)
Code: lsusb
Bus 005 Device 001: ID 0000:0000
Bus 004 Device 001: ID 0000:0000
Bus 003 Device 001: ID 0000:0000
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 002: ID 0ac8:0321 Z-Star Microelectronics Corp.
Bus 001 Device 001: ID 0000:0000

What Works

Here are the devices and features I have tested and can confirm work:

What Does Not Work

These features have known issues:

Untested

I have not tested the following features:

Kernel Configuration

I am using the sys-kernel/suspend2-sources kernel for the A8Js. Here is what I have found to work well for kernel options specific to the A8Js.

ACPI (Power Management)

ACPI configuration is pretty straight forward, these are the options I use:

Linux Kernel Configuration: Power management options ---> ACPI (Advanced Configuration and Power Interface) Support
[*] ACPI Support
[*]   Sleep States
[ ]     /proc/acpi/sleep (deprecated)
<*>   AC Adapter
<*>   Battery
<*>   Button
<*>   Video
< >   Generic Hotkey (EXPERIMENTAL)
<*>   Fan
< >   Dock
<*>   Processor
<*>     Thermal Zone
<*>   ASUS/Medion Laptop Extras
< >   IBM ThinkPad Laptop Extras
< >   Toshiba Laptop Extras
[ ]   Debug Statements
---   ACPI0004,PNP0A05 and PNP0A06 Container Driver (EXPERIMENTAL)
< >   Smart Battery System (EXPERIMENTAL)

Be sure to "emerge sys-power/acpid" and "rc-update add acpid boot" to ensure that you get the full capabilities of ACPI.

CPU

See this HowTo.

Frequency Scaling

Frequency scaling on the A8Js is tricky right now due to problems all BIOS versions higher than 204 that have not yet been addressed by Asus (as of Dec. 31, 2006). Thankfully, an Intel developer has been nice enough to create a patch for Linux 2.6.19 to hack around the problem that is available at this kernel bug page. After patching drivers/acpi/processor_perflib.c in your kernel sources, frequency scaling should work with these settings:

Linux Kernel Configuration: Power management options ---> CPU Frequency scaling
[*] CPU Frequency scaling
[ ]   Enable CPUfreq debugging
<*>   CPU frequency translation statistics
[ ]     CPU frequency translation statistics details
      Default CPUFreq governor (performance)  --->
---   'performance' governor
<*>   'powersave' governor
<*>   'userspace' governor for userspace frequency scaling
<*>   'ondemand' cpufreq policy governor
<*>   'conservative' cpufreq governor
---   CPUFreq processor drivers
< >   AMD Opteron/Athlon64 PowerNow!
<*>   Intel Enhanced SpeedStep
<*>   ACPI Processor P-States driver
---   shared options
[ ]   /proc/acpi/processor/../performance interface (deprecated)

Ethernet

The A8Js includes a Realtek 8168B PCI Express Gigabit Ethernet controller. For this device we can use the driver for the 8169 even though the model number is one more.

Linux Kernel Configuration: Device Drivers ---> Network device support ---> Ethernet (1000 Mbit)
...
<*> Realtek 8169 gigabit ethernet support
...
Note: I have heard of people using an r1000 driver but have never explored this option before as it seems it is not in the mainstream kernel.
Warning: For dual-boot users, Windows may be turning off the network card on shutdown if WakeOnLan is disabled. Check out HARDWARE_RTL8168 for a description of the problem and some fixes.

SATA Drives (HDD and DVD drive)

What is important about configuring the kernel for the hard drive and the DVD drive is that they are both SATA and not IDE. You will want to disable the entire IDE section of the kernel otherwise the DVD drive will be detected as an IDE drive under some compatibility mode and cause some DMA havoc.

Linux Kernel Configuration: Device Drivers ---> ATA/ATAPI/MFM/RLL support
< > ATA/ATAPI/MFM/RLL support

SCSI support for our discs because SATA drives are treated like SCSI.

Linux Kernel Configuration: Device Drivers ---> SCSI device support
...
<*> SCSI disk support
...
<*> SCSI CDROM support
[*]   Enable vendor-specific extensions (for SCSI CDROM)
<*> SCSI generic support
...

Support for our SATA chipset.

Linux Kernel Configuration: Device Drivers ---> Serial ATA (prod) and Parallel ATA (experimental) drivers
<*> ATA device support
...
<*>   Intel PIIX/ICH SATA support
...

Memory Card Reader

The A8Js has a Ricoh R5C822 memory card reader. It is supported in the kernel with the following options:

Linux Kernel Configuration: Device Drivers ---> MMC/SD Card support
<*> MMC support
[ ]   MMC debugging
<*>   MMC block device driver
<*>   Secure Digital Host Controller Interface support  (EXPERIMENTAL)
< >   Winbond W83L51xD SD/MMC Card Interface support
< >   TI Flash Media MMC/SD Interface support  (EXPERIMENTAL)

Inserted memory cards should appear as /dev/mmcblk* and can be mounted like any other disc.

Note: KDE or HAL does not seem to recognize when a card has been inserted and will not offer the automatic mount options. Any advice in regards to this would be nice.

Sound

The A8Js uses an Intel High Definition Audio Controller. It should be compiled as a module because it requires some parameters for it to work properly.

Linux Kernel Configuration: Device Drivers ---> Sound ---> Advanced Linux Sound Architecture --- > PCI devices
...
<M> Intel HD Audio
...

You must apply these modules options in order for the card to work properly. This allows all features to work including having the speakers turn off when headphones are plugged in. This option isnt requered anymore if you use ALSA driver => 1.0.15

File: /etc/modprobe.d/alsa
...
options snd-hda-intel position_fix=1 model=3stack
...

Afterwards run update-modules.

Webcam

For the webcam to work, we need to enable V4L in the kernel.

Linux Kernel Configuration: Device Drivers ---> Multimedia devices
...
<*> Video For Linux
[*]   Enable Video For Linux API 1 (DEPRECATED)
...

I have always used V4L1 instead of V4L2 because I have had trouble previously with V4L2 with other webcams. V4L2 may work but I have not tried it.

The built-in Z-Star 321 webcam is supported by the gspca driver. Just "emerge media-video/gspca" for the appropriate kernel modules for the webcam.

Note: I have not been able to get the video from the webcam to look very good; it seems that the image is always very over exposed and grainy. Any ideas on how to fix this would be appreciated.

WLAN

See this guide.

Xorg

I am using the latest testing nvidia-drivers (1.0.9746) and they support the GeForce Go 7700 just fine. Running "X --configure" pretty much configured perfectly minus one or two lines; it was much more painless than I had anticipated considering it is a widescreen monitor. My resulting xorg.conf after a few changes is:

Code: xorg.conf
Section "ServerLayout"
	Identifier     "X.org Configured"
	Screen      0  "LCD Screen" 0 0
	InputDevice    "Touchpad" "AlwaysCore"
EndSection

Section "Extensions"
	Option         "Composite" "Enable"
EndSection

Section "Files"
	RgbPath      "/usr/share/X11/rgb"
	ModulePath   "/usr/lib64/xorg/modules"
	FontPath     "/usr/share/fonts/misc/"
	FontPath     "/usr/share/fonts/TTF/"
	FontPath     "/usr/share/fonts/OTF"
	FontPath     "/usr/share/fonts/Type1/"
	FontPath     "/usr/share/fonts/CID/"
	FontPath     "/usr/share/fonts/100dpi/"
	FontPath     "/usr/share/fonts/75dpi/"
EndSection

Section "Module"
	Load  "record"
	Load  "xtrap"
	Load  "glx"
	Load  "extmod"
	Load  "dbe"
	Load  "freetype"
	Load  "type1"
EndSection

Section "InputDevice"
	Driver       "synaptics"
	Identifier   "Touchpad"
	Option       "Protocol"     "auto-dev"
	Option       "SHMConfig"    "on"
EndSection

Section "Monitor"
	Identifier   "LCD"
	VendorName   "Asus"
	ModelName    "A8Js"
EndSection

Section "Device"
	Identifier  "GeForce 7700 Go"
	Driver      "nvidia"
	VendorName  "nVidia Corporation"
	BoardName   "GeForce 7700 Go"
	BusID       "PCI:1:0:0"
	Option      "NoLogo" "true"
	Option      "BackingStore" "true"
EndSection

Section "Screen"
	Identifier "LCD Screen"
	Device     "GeForce 7700 Go"
	Monitor    "LCD"
	Option     "AddARGBGLXVisuals" "true"
	SubSection "Display"
		Viewport   0 0
		Depth     8
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     16
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     24
	EndSubSection
EndSection

All the specific resolutions and video settings get detected properly by the nvidia driver and Xorg automatically detects the keyboard and external mice which allows for such an empty xorg.conf. All synaptics features for the touchpad work as well.

Other Resources

For more Informations you can also take a look at Christian's Homepage, where you'll find additional information on getting the modem and some other parts of this laptop working. You can find acpi scripts for the extra buttons and config files there, too.

Another resource is this guide which is a general Linux compatibility guide.

This guide is listed at the TuxMobil Linux laptop and notebook installation guides survey (ASUS).

Retrieved from "http://www.gentoo-wiki.info/Asus_A8Js"

Last modified: Sat, 19 Jul 2008 11:28:00 +0000 Hits: 9,765