Update 10.6.2008: IrDa is working (smsc-ircc2-Module , only showing up if ISA Support is enabled. So I uploaded a new Config. Also with 2.6.26 finally the newer BIOS is woking (after I sent my Notebook to Asus for repair of the hinges, they just flashed it new)

We have a fully working system, now!

This site shall collect information about the ASUS A8Js-Notebook and the difficulties of running it with the operation system Linux.

Everything, but the 3D Graphic Chip should be identically with the A8Jp-Model. The A8Jn model seems to be even closer, though it has a different nvidia graphic chip (Geforce Go 7300), which works with the same driver.

If you want to make contributions, you can write me an email, or write to the guestbook (take a look at the main page to do that and don't forget to delete the "nospam"). Additionally you can find my ICQ number on the "about me" page. MSN, Skype and Yabber is available, too, just ask or search me.

As usual: If you wreck your system doing what's written here it's your problem. All information is supplied without any guarantee. It's working (at least) for me and some others who contacted me about several issues. I'm always trying to merge their issues to this site to help others who might have similar problems.

I chose the Gentoo-Distribution, currently running (Vanilla-)Kernel 2.6.26-rc1. Here you find my kernel-config.
Here is a working xorg.conf.

As I heard (K)Ubuntu and Sabayon are running fine on this machine, too.

Finally the newer Bios versions (>204) are making problems with Speedstep and the Backlight keys (the newer seem to make additional problems with external S-ata controllers). I am staying with 203, which is working properly. Downgrade at your own risk, but it solved those problems for others who contacted me by email. You can also use the workarounds if you want, with those the whole thing is running more or less with the new Bios versions, too. There is a PCI-E Assignment Bug in the Bios versions 210/211. (here) is a kernel patch against it.

There is no known way by now to change the fan speeds manually using Linux, fan control seems to be done within the BIOS itself. With Windows one can do this with nhc. This is mainly an issue of the acpi driver, as fan control is provided within the Bios acpi implementation. Perhaps somebody is able to resolve this.

Undervolting is working on this machine, see (here)


Overview about the current status:

Untested
doesn't work
works partially
works, but not out of the box
works out of the box

CPU
Core 2 DUO T7200 (2gHz)

Speedstep works out of the Box, my default gouvernor is usermode, so you need a tool like "powernowd" if you want to use my kernel-config or you have to change it to the gouvernor you want. Again you have to use at least the newest version of powernowd (0.97) to get the smp+throttling working. An other option are the cpufrequtils, who have more options to control the throttling/speedstepping

There seems to be a problem with the newer BIOS versions (205-210) and Speedstep. At least I got a report about that, but I am still on (203) which works quite perfect for me. An Intel developer wrote a patch to cope this problem (Link). After patching the kernel Speedstep should work with the newer BIOS versions, too.

Additionally I recommend the Gentoo Power Management Guide. Link: DE EN
Another idea is to undervolt the CPU, which improves the battery running time in non-idle situations. (linux-phc)
A fan control module is available here.
RAM
2GB (DDR2-667)
Controller Chips
Intel Mobile 945 PM Express Chipset
Serial-ATA, legacy free
Graphic Board
Nvidia GeForce Go7700 512MB
Works with the propritary Nvidia-Driver in full display resolution (1440x900).

Sadly the speedstepping of the graphic chip is currently not implemented. Neither the driver nor the nvclock tool are supporting this 7700go feature yet, so we have to wait for that. It would give us up to an hour extra battery runtime...

Release 9746 of the driver seems to support Coolbits with this graphic chip. I was able to change the 2D clockrate from 100/135 to 25/82. Sadly it doesn't provide much additional runtime, only something like 10 minutes more. The graphic speedstep is working most of the time, but sometimes after several changes the chip locks up at the default speed.

Underclocking-Howto: -----------Absolutely on your own risk !!!!! ------------

       Add Option "Coolbits" "1" to the Xorg-section (or use my xorg.conf)
       You can change the clockrate with nvidia-settings manually now.

Set underclock nvidia-settings -a GPUOverclockingState=1 -a GPU2DClockFreqs=25,82   -a GPU3DClockFreqs=112,200
Back to default nvidia-settings -a GPUOverclockingState=0
Query state 
nvidia-settings -q GPUOverclockingState -q GPU2DClockFreqs                   -q GPU3DClockFreqs

TV-Out/DVI currently untested, but the graphics driver finds the interfaces, so they should be switchable with the nvidia-tools.

VGA-Out working with nvidia-settings.

Console Framebuffer is working in 1024x768 with the vga=0x317 kernel boot option. With the vesafb-tng the native display resolution should work, too.
Display
1440x900 WXGA+ Pixel Shine Glare LCD

The buttons for switching the backlight on/off and changing the brightness are working out of the box. So nothing to do here.

With new Bios revisions the backlight-down key isn't working as it should. You either have to downgrade the bios or to write an acpi-script to throttle the backlight with an other FN-key
HDD
120GB FUJITSU MHV2120B s-ata

Since we have serial-ata here we can't use hdparm. Anyway s-ata doesn't support PIO Mode so we are in DMA mode anyway and nothing has to be changed to have a quick harddisk access
CD/DVD
HL-DT-ST DVDRAM GSA-T10N, seems to work as it should, at least I was able to write on both, CDs and DVDs. Supported by K3B (cdrecord/ growisofs/ cdrdao).

Sadly I haven't found a newer Firmware for this drive, yet. The only existing thing is a modified Firmware by the dangerous brothers.

The drive spins down to 2x speed if a video-dvd is loaded.
Audio
Intel-HD-Audio (included in alsa-drivers as well as the kernel itself)

Works only with additional Kernel parameters (alsa 1.0.13)
"options snd-hda-intel position_fix=1 model=3stack" has to be added to the file /etc/modules.d/alsa, after that a modules-update and reboot is necessary to get sound working. The Alsa team is informed about that, perhaps we won't have to do this too long.

So I tried again: with model=3stack everything is working, but the external microphone. With model=laptop everything is working, but the internal microphone. So you have the choice

Sound Output works
SPDIF works (Just enable the IEC958 in your mixer application)
Build in and external Microphone jack are working (sadly not with the same parameters)
Cardreader
Works with the MMC/SD-Kernel Modules. (Howto)
Is recognized by DBUS/HAL like an ordiary USB-Memorystick/Harddrive

If you plan to use MMC (not SD)-Cards, please apply the following patch (MMC-patch), without it only SD is supported by the kernel module.
Webcam
Works! You need at least gspcav1-01.00.10 (05-12-2006) driver from here. Alternatively you can just emerge gspca on gentoo.

There is a new driver revision out (01.00.11, 16-12-2006). I just tried it and it compiles without source code changes. Indeed it sometimes shows wrong colors but I think it's closer to usability than the first version.

I use the camstream paket to test the webcam. It provides an info program as well as a simple testing program.

Another problem is that the webcam doesn't wake up from S3 sometimes and that it's getting warm if you are in S3 mode, so I think we have to unload that driver beforehand, even if it's working without that.  With the newer version this seems to be solved.

The camera still get's pretty warm, if somebody has an answer to this just report.

If you get the following error:

make -C /lib/modules/`uname -r`/build SUBDIRS=/root/Desktop/gspcav1-01.00.10 CC=cc modules
make[1]: Entering directory `/root/linux-2.6.19'
CC [M] /root/Desktop/gspcav1-01.00.10/gspca_core.o
/root/Desktop/gspcav1-01.00.10/gspca_core.c: In function `gspca_init_transfert':
/root/Desktop/gspcav1-01.00.10/gspca_core.c:973: warning: assignment from incompatible pointer type
/root/Desktop/gspcav1-01.00.10/gspca_core.c: At top level:
/root/Desktop/gspcav1-01.00.10/gspca_core.c:1056: error: conflicting types for 'spca50x_isoc_irq'
/root/Desktop/gspcav1-01.00.10/gspca_core.c:154: error: previous declaration of 'spca50x_isoc_irq' was here
/root/Desktop/gspcav1-01.00.10/gspca_core.c:1056: error: conflicting types for 'spca50x_isoc_irq'
/root/Desktop/gspcav1-01.00.10/gspca_core.c:154: error: previous declaration of 'spca50x_isoc_irq' was here
/root/Desktop/gspcav1-01.00.10/gspca_core.c:154: warning: 'spca50x_isoc_irq' used but never defined
/root/Desktop/gspcav1-01.00.10/gspca_core.c:1056: warning: 'spca50x_isoc_irq' defined but not used
make[2]: *** [/root/Desktop/gspcav1-01.00.10/gspca_core.o] Error 1
make[1]: *** [_module_/root/Desktop/gspcav1-01.00.10] Error 2

The solution is quite easy: Open the gspca_core.c file with the editor of your choice and go to line 1056 (or better: go to the line which is written in your error Message). There you'll find an IFDEF-Block with 2 Module declarations. You have to delete the function header producing this error, so the one with just 1 Value behind the declaration AND the IFDEF's. Seems to be a conflicting thing with the new Kernels which leads to a double declaration.

Before:
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19)
static void
spca50x_isoc_irq(struct urb *urb, struct pt_regs *regs)
#else
static void
spca50x_isoc_irq(struct urb *urb)
#endif
After:
static void
spca50x_isoc_irq(struct urb *urb, struct pt_regs *regs)
LAN
Driver only included in newer Kernels (RTL8168b/8111b), Module name "r8169" or alternatively the proprietary Realtek-driver "r1000".

I recommend to use the build in kernel driver, because it's making less trouble during an upgrade and it's working as it should.
WLan
Works with the Intel drivers ipw3945.
All encryptions WEP/WPA/WPA2 working (with wpa_supplicant).

You have to emerge ipw3945, ipw3945-ucode, ipw3945d and wpa_supplicant. Don't forget to add ipw3945d to a bootup runlevel (rc-update add ipw3945d boot), without it the card won't work.

After changing the wpa_supplicant configfiles (example/howto here: de en) the whole wireless network works.

Update: it's working with the intel binary-free drivers on newer kernel versions, too
Bluetooth
Works with the Kernel modules and the Bluez-Stack (tested with Headset and GPS-Mouse). See here for more information about Bluetooth under Gentoo.

The bluetooth switch in the upper row (2nd button from the left) is working out of the box. If your driver doesn't find the bluetooth device try to press that button and look if the device appears in lsusb.
Modem
Works. You currently have to patch a driver file within the alsa-driver or the kernel, because the hardware codec isn't known by the driver (they just changed the manufacturer ID to Motorola for some reason)

The patched file is /usr/src/linux/sound/pci/hda/patch_si3054.c, just add a line with the modems device ID (0x15433155) there. Because of the 3155 suffix I concluded it might be this modem codec just sold under a different brand name.

In more detail: Just add the following line to the file patch_si3054.c around line 300 (you'll find it there are other similar entries). Alternatively you can change a line which is already there, if you don't use those kernel files on a different computer.

{ .id = 0x15433155, .name = "Si3054", .patch = patch_si3054 },

After that rebuild the modules, install them, restart alsa and you should find pcm6c and pcm6p in /proc/asound/Intel. The Scanmodem-script of the slmodemd packet will find the modem and you'll be able to install it (parameters of slmodemd are: "--alsa hw:0,6 -c=<Your Country Name>"). Then you can use the modem scripts of your choice and connect with the device /dev/ttySL0.

This patch has been included in Alsa hg, and will be available with the 1.0.14final Alsa version. Also the current Alsa versions have a problem with the 9600 Hz setup needed by the modem. This was broken after Kernel 2.6.19, in 2.6.22 and in the 1.0.14final this issue is fixed, so the modem works again. Meanwhile you can simply install a new alsa version upon your currently running kernel, after that it should work, too.
Express Card
I don't have one, so I can't test it. It's reported to work
Touchpad
Synaptics Touchpad, works with the synaptics-X11-driver (including scrollbars). -> emerge x11-drivers/synaptics
Firewire/USB
Works both with Kernel Drivers (uhci, ehci and ohci1394)
ACPI
CPU Temperature Sensors are working (Acpi)
Leds are switchable (ASUS-Acpi-Module).

You can insert the newest version of acpi4asus (.31) into the kernel (It's basically just overwriting one .c file), then the notebook will be fully recognized and you'll get an additional acpi software switch for switching the bluetooth on and off (which works without that, too). This is not necessary to use the scripts below! This update might be included into the next kernel release.
Hibernate/Suspend
Suspend to RAM and HDD (suspend) works, if you use the kernelconfig you just have to add the usual resume=/dev/sda<x> into the grub-config file.

Suspend to RAM only works when an X-server is up running, otherwise the Backlight won't come back. Also for some weird reason you can't reboot after using Suspend to Ram, you have to power down first.

Standby (S2) seems to have a problem with the Backlight (at least my Laptop doesn't come fully back from Standby, who needs Standby anyway...)
Infrared
Working with the smsc-ircc2 module (ISA has to be enabled in the kernel)
Function Keys
Without any demon running:

Bluetooth Key
Display Keys (Brightness, Backlight on/off).

With acpid running:

Volume/Mute (FN+F10-12)
FN+F1 = S3 (Could be S2, but my Backlight is black afterwards. If you want to try S2 just change the /etc/acpi/events/s2)
FN+F3 = S3 (Suspend to RAM)
FN+F4 = S4 (Suspend to HDD, don't forget to setup the resume=/dev/xdxx in grub before trying that one)
FN+F2 = Wlan & Bluetooth toggle (0-0,0-1,1-0,1-1)
Wlan-Key = Wlan ON/OFF (Hardware Radio)
FN+F9 = Touchpad ON/OFF
(Runner-Button = Logs me into the university network by one keypress)

Needed scripts for S2-S4, Mute, Volume Control, Wlan-keys

Thanks for the idea to Zé Luis

Still dead keys:

Screen Changer key (FN+F8) (But it's fully programmable, so we just have to find a way to start the right tool to switch the external port on.)



lspci-Hardware Overview:

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)

lsusb USB-Hardware Overview:

Bus 004 Device 001: ID 0000:0000
Bus 001 Device 004: ID 0ac8:0321 Z-Star Microelectronics Corp.
Bus 001 Device 001: ID 0000:0000
Bus 003 Device 002: ID 0b05:1712 ASUSTek Computer, Inc.
Bus 003 Device 001: ID 0000:0000
Bus 005 Device 001: ID 0000:0000
Bus 002 Device 002: ID 046d:c016 Logitech, Inc. M-UV69a Optical Wheel Mouse
Bus 002 Device 001: ID 0000:0000

Links:

Information on the A8Jc (very similar Notebook)

A8Js Bios-Upgrade-Boot-CD by Brian: (ISO)(README)

Fancontrol by Dmitry Ursegov (link)

Dugan Chen has made a A8Js howto for Slackware 12 (Link)

Linux On Laptops TuxMobil - Linux on Laptops, Notebooks, PDAs and Mobile Phones

Site History:

First Version 5.12.2006

Update 6.12.2006: Webcam works, Suspend2RAM works, Hotkeys work partially

Update 10.12.2006: Modem might work (can't try it right now), Changed Kernelconfig (Suspend-Modes added)

Update 17.12.2006: Some Changes regarding the Webcam and the Speedstepping.

Update 18.12.2006 (00:10): Sound/S3/S4-Keys are working with acpid, new xorg.conf (DPMS-Modes for the display, probably frequency scaling for the graphics chip enabled)

Update 18.12.2006 (15:00): New acpi scripts (real mute, wireless working), FN+F2 working

Update 19.12.2006 (13:00): Webcam driver changed, cosmetic changes, acpi update

Update 19.12.2006 (17:00): New Webcam driver works better than the old version, compiles without patching, New Kernel config supporting the Framebuffer Cosole

Update 22.12.2006 (17:30): The Modem works, I'm just online with that one :-D. You find the how-to in the modem section, currently you have to patch a file, but I already contacted the alsa-headquater.

Update 26.12.2006 (23:30): The new Bios (210) seems to have a bug, SPDIF confirmed to work.

Update 5.1.2007 (22:30): Back from my holidays in Uppsala/Sweden I uploaded my make.conf as many of you asked me to do. Additionally the new webcam driver seems to make less trouble with heat.

Update 10.1.2007 (14:00): There is a solution for the Speedstep-Problem with BIOS Versions > 204. See CPU section

Update 12.1.2007 (18:00): Cosmetic changes, better explanations. NEW: Touchpad disable acpi script (FN+F9)

Update 28.1.2007 (23:00): Another problem with newer Bios Revisions: The backlight keys aren't working properly (at least with (K)ubuntu)

Update 5.2.2007 (20:30): Seems as if Coolbits are free to use now, so downclocking the graphic chip works, external microphone makes problems with 3stack (see sound section)

Update 19.2.2007: 3D-Clockdown is working, added the Options for that.

Update 30.3.2007: Webcam driver in Portage, still problems with Bios Rev. 211

Update 18.4.2007: The Asus A8Jn seems to be almost identical and working with the same driverset

Update 17.5.2007: Kernel patch added agains PCI-E assignment Bug (Bios 210/211), Modem problem with Kernel >=2.6.20

Update 18.5.2007: Good news everyone: our Modem will be supported in Alsa 1.0.14final. Additionally the new Gentoo Install disc supports the network card.

Update 21.6.2007: Brian has made a A8Js "Bios-upgrade-boot-cd" with 203, 211, 212 and 213. Links: (ISO)(README)

Update 1.9.2007: Dugan Chen has created a howto for Slackware 12 (Link)

Update 30.9.2007: There's a problem with MMC Cards and the cardreader, solution is added to the cardreader section. Additionally I managed to use linux-phc to undervolt the cpu which improves battery running time.

Update 7.1.2008: First update 2008. Dmitry has build a Fancontrol driver for Linux. So we can customize the temperatures and the fan activity now. This is only for people who know what they are doing, because it can completely destroy the laptop. When you know what you are doing, take a look at it.