HARDWARE Asus G1
From Gentoo Linux Wiki
| Laptops • TV Tuner Cards • Wireless • Servers • Storage • Other Hardware • Motherboards • Related |
This page is in the process of being written.
Contents |
[edit] Hardware Summary
| Component | Status | Notes |
| ACPI | Works | Use Asus extras module |
| Go7700(video) | Works | Requires experimental 9671 version |
| ipw3945(wifi) / iwlwifi | Works | Tested with wpa v.1 |
| 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 |
[edit] 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)
[edit] 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
[edit] Details
[edit] 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:
- change all _T_0 to T0 and all _T_1 to T1
- if you don't like warnings change all Acquire (MUTE, 0xSOMETHING) to Acquire (MUTE, 0xFFFF)
- change the line 4456 from 'If (LAnd (^^^P0P2.VGA.DOSF, 0x04)) {}' to 'If (LEqual (^^^P0P2.VGA.DOSF, 0x04)) {}'
# 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
[edit] 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/modules.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)
[edit] Wireless: ipw3945
Driver install process is similar as with most other setups with this card. Be sure to disable ieee80211 support in kernel as you will be using external ones. If you plan on using wpa, be sure to enable aes module from crypto library.
Note: if you plan on using 64 bit, be sure to enable aes (x86_64) instead of the regular aes, or else you'll have problems with wpa.
[edit] Gigabit Ethernet
Just the realtek 8169 chipset controller. Enable r8169 module under Gigabit Ethernet in kernel and load to get working.
[edit] Bluetooth
This is just a typical hci_usb device. Load hci_usb module, install and start bluetooth service to get working.
[edit] 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
[edit] Webcam
Driver is available here: http://syntekdriver.sf.net. It doesn't work perfectly, but it is possible to get video in some applications.
[edit] 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
[edit] External Links
- This document is listed at the TuxMobil Linux laptop and notebook installation guides survey (ASUS).
