Search:  
Gentoo Wiki

Asus_G1

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

This page is in the process of being written.

Contents

Hardware Summary

Component Status Notes
ACPI Works Use Asus extras module
Go7700(video) Works Requires experimental 9671 version
Intel PRO/Wireless 3945ABG wifi Works
Gigabit Ethernet Works
Bluetooth Works
hda_intel(sound) Works See below
TouchPad Works
CD/DVD Reader/Burner Works
Memory Card Reader Works
TV out (S-Video) Works
External displays (DVI/D-SUB) Works
PCMCIA Works
Webcam Sort-Of-Works See below
OLED display Sort-Of-Works See below
Modem Not tested

Output from 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.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 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 01)
03:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG Network Connection (rev 02)
04:01.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev b3)
04:01.1 FireWire (IEEE 1394): Ricoh Co Ltd R5C552 IEEE 1394 Controller (rev 08)
04:01.2 Class 0805: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 17)
04:01.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 08)

Output from lsusb

Bus 005 Device 001: ID 0000:0000
Bus 004 Device 007: ID 0b05:1712 ASUSTek Computer, Inc.
Bus 004 Device 001: ID 0000:0000
Bus 003 Device 001: ID 0000:0000
Bus 002 Device 004: ID 046d:c01e Logitech, Inc. MX518 Optical Mouse
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 004: ID 0b05:1726 ASUSTek Computer, Inc.
Bus 001 Device 003: ID 05e1:0501 Syntek Semiconductor Co., Ltd
Bus 001 Device 001: ID 0000:0000

Details

ACPI

Works out of the box with 2.6.19-suspend2 sources. It is recommended to include the asus_acpi module to get control over the wifi kill switch (/proc/acpi/asus/wled) and the mail indicator led (/proc/acpi/asus/mled).

It works even better with new asus-laptop module (included in 2.6.21 kernel) - you need to unload/disable asus_acpi module in order to get asus-laptop module working, as both are present.

asus-laptop included in 2.6.21 has nice support for LEDs, but to get all of them working (including gaming LED) you need recent version from http://acpi4asus.sf.net. To get new asus-laptop module you need to configure the kernel to use it instead of asus_acpi. Make sure to DISABLE 'ASUS/Medion Laptop Extras'!

Linux Kernel Configuration:
Code maturity level options --->
  [*] Prompt for development and/or incomplete code/drivers
Power management options (ACPI, APM) --->
  [*] ACPI Support
  < > ASUS/Medion Laptop Extras
Device Drivers --->
  Generic Driver Options --->
    [ ] Select only drivers that don't need compile-time external firmware
    [ ] Prevent firmware from being built
  Graphics support --->
    [*] Backlight & LCD device support --->
        <*> or <M> Lowlevel Backlight controls
  LED devices --->
    [*] LED Support
    <*> or <M> LED Class Support
  Misc devices --->
    <*> or <M> Asus Laptop Extras (EXPERIMENTAL)

To get all hotkeys working you also need to correct DSDT file:

# cat /proc/acpi/dsdt > dsdt

(install iasl, because you probably don't have it yet)

# iasl -d dsdt

Edit dsdt.dsl file, and:

# iasl -tc dsdt.dsl

Copy dsdt.hex to /usr/src/dsdt_table.h

Edit kernel configuration:

Linux Kernel Configuration:
Code maturity level options --->
  [*] Prompt for development and/or incomplete code/drivers
Power management options (ACPI, APM) --->
  ACPI (Advanced Configuration and Power Interface) Support --->
    [*] Include Custom DSDT
    (/usr/src/dsdt_table.h) Custom DSDT Table file to include

Recompile the kernel and reboot with the new one. Your 'brightness up' should work now. There are also other ways to change DSDT with initrd, but I haven't done that - check at http://acpi.sourceforge.net

Video Card: nVidia Go7700

Works with the latest 9671 drivers. Non experimental drivers caused problems with framebuffer corruption when switching to console from X. Old drivers also caused problems with hibernate, 9671 drivers work perfectly, I would remove them from hibernate's blacklist for best results.

To get rid of the screen flickering which occurs while using Beryl with the nvidia binary driver, use the following module parameters in /etc/modprobe.d/nvidia

options nvidia NVreg_Mobile=3 NVreg_SoftEDIDs=0 NVreg_RegistryDwords="PerfLevelSrc=0x2222"

(Some say these parameters might be dangerous, but they work on my G1 at least) Afterwards run update-modules.

WLAN

See this guide.

Note: If you plan on using 64bit, be sure to enable aes (x86_64) instead of the regular aes, or else you'll have problems with WPA.

Gigabit Ethernet

Just the realtek 8169 chipset controller. Enable r8169 module under Gigabit Ethernet in kernel and load to get working.

Bluetooth

This is just a typical hci_usb device. Load hci_usb module, install and start bluetooth services to get working.

Sound: hda_intel

ALSA included in kernels < 2.6.19 had and error which lead to kernel oops.

Sound card works fine with current ALSA snapshot, and the version included in 2.6.21 kernel.

There are some more details here: http://forums.gentoo.org/viewtopic-p-3802155.html

Webcam

Driver is available here: http://syntekdriver.sf.net. It doesn't work perfectly, but it is possible to get video in some applications.

the linux-uvc driver will run the webcam (on the G1s-A1 model anyway). It works in Skype and java applets recognize the device. It can also be accessed through a program called luvcview which is available in portage.

Problems

OLED device is not supported. And it causes problems in 2.6.21 kernel - check if your dmesg shows similar messages:

usb 5-7: reset high speed USB device using ehci_hcd and address 6 

If so, check details of this issue: http://bugzilla.kernel.org/show_bug.cgi?id=8432

There is a patch available. Simple fix is to run the command during every boot (5-7 might be something different - check your dmesg output!):

# echo -n 5-7 >/sys/bus/usb/drivers/usb/unbind

You can use the OLED-display with "asusoled" found on http://codebrowse.launchpad.net/~agoliveira/asusoled/trunk/changes (VERY early version), BUT: you are required to have ACPI_ASUS [ASUS/Medion Laptop Extras] compiled into the kernel (which means you can't have ASUS_LAPTOP [Asus Laptop Extras] in your kernel) and exclude USB_HID [USB Human Interface Device (full HID) support] from your kernel or compile it as module (because you need to unload the the module usbhid by rmmod in order to use asusoled)

Prerequisites for asusoled (assuming usual compiling-stuff like gcc and libc is already installed):

 cmake (dev-util/cmake)
 libusb (dev-libs/libusb)
 libSDL (media-libs/libsdl)
 LibSDL-image (media-libs/sdl-image)

You can compile it by changing into the directory with the asusoled-source files and running these commands:

$ cmake .
$ make
$./asusoled -h

(can be executed by a normal user, but (if USB_HID was compiled as a module) root has to unload the module USB_HID by running the command "rmmod usbhid")

For using that program with scrips you may want to remove the message that says "Press [Enter] to continue" when you insert a image to roll over the oled display.

This can be done by deleting or commenting out the lines 248 until 251 containing the following code and then (re)compiling the program:

 if (func == DRAW_ROLL) {
   fprintf(stdout, "Press [Enter] to continue\n");
   getchar();
 }


There is also a separate kernel driver based on asusoled: (Asus OLED). It works without patching usbhid or removing asus_laptop. Just load it before usbhid module gets loaded and it will work. It contains small Qt utility, which can be used as a drop-in replacement for asusoled, and has some additional features.


Also, cpufreq will not work without patching the kernel. The patch and some more details are here: http://bugzilla.kernel.org/show_bug.cgi?id=7578

External Links

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

Last modified: Thu, 28 Aug 2008 07:47:00 +0000 Hits: 10,178