Asus F3Jp
From Gentoo Linux Wiki
| Laptops • TV Tuner Cards • Wireless • Servers • Storage • Other Hardware • Motherboards • Related |
Contents |
[edit] Asus F3JP-AK055C Specification
- Processor : Intel® Core™2 Duo Processor T7200
- Chipset : Mobile Intel® 945PM Express
- Main Memory : 2GB DDR2
- Display : 15.4" WSXGA+ (1680x1050)
- Video Graphics : ATI Mobility Radeon X1700 External VRAM 256MB (512MB with Hyper Memory)
- Hard Drive : 160 GB SATA (5400 tr/mn)
- Optical Drive : DVD Writer
- Card Reader : MMC/ SD/ Mini-SD/Memory Stick/ MS Pro/ MS-Duo/MS-Pro-Duo
- Fax/Modem : Intel® High Definition audio modem
- LAN/WLAN : 10/100/1000 Base T
- WLAN : Intel 3945ABG & Bluetooth® V2.0+EDR
- Video Camera : 1.3M Megabyte Pixels
- Audio : Built-in Intel® High Definition audio compliant audio chip
- Battery Pack & Life : Li-Ion 9 cells: 7200mAh, 3S3P, 79.92WHrs
- Dimension : 365 x 269.5 x 28-40.5 mm
- Weight : 2.95kg ( 6 cell battery )
- Supplied Accessories : Optical Mouse, Carrying bag
- Warranty : 2-year limited global hardware warranty, 1-year battery pack warranty
| 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.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 02) 00:1c.2 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 3 (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) 00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 02) 01:00.0 VGA compatible controller: ATI Technologies Inc Unknown device 71d5 02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. Unknown device 8168 (rev 01) 03:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG Network Connection (rev 02) 06:01.0 FireWire (IEEE 1394): Ricoh Co Ltd Unknown device 0832 06:01.1 Generic system peripheral [0805]: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 19) 06:01.2 System peripheral: Ricoh Co Ltd Unknown device 0843 (rev 01) 06:01.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 0a) |
[edit] What works and what doesn't
Audio : Works (but a bit low)
SATA Drives : Works
CD/DVD burner : Works
Video & 3D : Works (with FREE and ATI/AMD proprietary driver)
USB : Works
Keyboard hotkeys : Works
Ethernet controller : Works
Wifi : Works
Webcam : Works
FireWire : Never tried
ExpressCard : Never tried
Card reader : Works
Bluetooth : Works
Mic : Works
Integrated modem : Never tried
Cpufreq : Works
Suspend : Works
[edit] General
This Howto is about installing and configuring Gentoo 2007.0 (Arch AMD64) on the ASUS F3JP
make.conf examples
| File: /etc/make.conf |
CFLAGS="-O2 -march=nocona -fomit-frame-pointer -pipe"
CHOST="x86_64-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"
MAKEOPTS="-j3"
...
...
VIDEO_CARDS="fglrx vesa"
ALSA_CARDS="hda-intel"
INPUT_DEVICES="evdev keyboard mouse synaptics"
|
[edit] Kernel Configuration Example
| FIXME: TODO |
[edit] Audio
The driver to use is 'Intel-hda'. It work out of the box with Alsa in-kernel driver.
[edit] SATA Drives (HDD and DVD drive)
(from Asus A8Js)
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 |
<*> AHCI SATA Support [*] ATA SSF support <*> Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support ... |
[edit] CD/DVD burner
The CD/DVD burner works perfectly
[edit] Video & 3D
ATI proprietary drivers
Free drivers
At the moment there are two drivers available for the X1700 card (r500 family) :
- The radeonHD driver (r500/r600 only)
In portage : x11-drivers/xf86-video-radeonhd (2D/3D acceleration require GIT)
- The radeon driver (r100/r200/r300/r400/r500/r600)
In portage : x11-drivers/xf86-video-ati
Support for r500/r600 begins with xf86-video-ati >= 6.8.0 (3D require 6.9.0)
For 3D in both case you also need :
x11-drm >= 20080710
mesa >= 7.1 (or pre-release of 7.1)
xorg-server >=1.5 (or pre-release of 1.5)
You can follow the "radeon" and "radeonHD" developments on RadeonHD.org, Phoronix xf86-video-ati news and Phoronix RadeonHD news
Note : There is one more free driver but it is deprecated : avivo driver
[edit] USB
USB is supported out of the box by UHCI and EHCI modules
[edit] Keyboard hotkeys
Keys which work without ACPI script
Fn+F1 : suspend (may need a program like "powersave" to do something or you can make a ACPI script if you want) Fn+F5 : decrease brightness Fn+F6 : increase brightness Fn+F7 : turn on/off backlight
Using hotkeys with lapsus
- Lapsus homepage
- Lapsus ebuild (07/05/2008 : I won't update these ebuild so please take care, especially with SVN one)
For all the hotkeys not supported by lapsus you can use pieces of the acpid scripts below.
Using hotkey with acpid
(scripts and config are mostly taken from Multimedia-Keys on Asus F3JM)
Fn+F2 : Wlan Fn+F3 : Thunderbird Fn+F4 : Firefox Fn+F9 : Touchpad Fn+F10 : mute Fn+F11 : decrease volume Fn+F12 : increase volume Fn+UP : Stop/exit Amarok Fn+LEFT : Previous track in Amarok Fn+DOWN : Play/start Amarok Fn+RIGHT : Next track in Amarok Instant ON (see below) : Bluetooth (you can assign BT to Fn+F2 like in windows but this is not my choice. Feel free to provide a script...)![]()
All these hotkeys generate an ACPI event exept Fn+F2.
| Code: asus-laptop.c |
--- linux-2.6.22-gentoo-r9.old/drivers/misc/asus-laptop.c 2007-11-25 13:16:41.000000000 +0100 +++ linux-2.6.22-gentoo-r9/drivers/misc/asus-laptop.c 2007-11-25 17:13:31.000000000 +0100 @@ -105,7 +105,7 @@ * 0x5 like 0x1 or 0x4 * So, if something doesn't work as you want, just try other values =) */ -static uint wapf = 1; +static uint wapf = 4; module_param(wapf, uint, 0644); MODULE_PARM_DESC(wapf, "WAPF value"); |
Let's start with the scripts :
| File: /etc/acpi/events/default |
event=button power.* action=/sbin/init 0 ...... #event=.* #action=/etc/acpi/default.sh %e |
| File: /etc/acpi/events/hotkey |
event=hotkey ATKD .* action=/etc/acpi/hotkey.sh %e |
| File: /etc/acpi/hotkey.sh |
#!/bin/sh
user=`who| grep " :0" | awk '{print $1}'`
export XAUTHORITY=/home/$user/.Xauthority
export DISPLAY=:0
function osdtext()
{
killall -9 -q osd_cat
echo $1 | osd_cat -f "-adobe-new century schoolbook-medium-i-normal--34-240-100-100-p-182-iso8859-1" -c Green -s 1 -p bottom -A center -d 2&
}
case "$3" in
# Mute
00000032)
/etc/acpi/actions/vol.sh mute
;;
# Volume Up
00000030)
/etc/acpi/actions/vol.sh up
;;
# Volume Down
00000031)
/etc/acpi/actions/vol.sh down
;;
# Touchpad
0000006b)
/etc/acpi/actions/touchpad.sh
;;
# AMAROK - Play/pause button
00000045)
/etc/acpi/actions/amarok.sh play $user
;;
# AMAROK - Rewind button
00000040)
/etc/acpi/actions/amarok.sh prev $user
;;
# AMAROK - Stop button
00000043)
/etc/acpi/actions/amarok.sh stop $user
;;
# AMAROK - Forward button
00000041)
/etc/acpi/actions/amarok.sh next $user
;;
# THUNDERBIRD
00000050)
osdtext "Thunderbird"
su - $user -c "thunderbird --display=:0.0 &"
;;
# FIREFOX
00000051)
osdtext "Firefox"
su - $user -c "firefox --display=:0.0 &"
;;
# #Spendid
# 0000008a)
# osdtext "Splendid"
# ;;
# WIRELESS - RF_Kill ON
00000081)
/etc/acpi/actions/wireless.sh on
;;
# WIRELESS - RF_Kill OFF
00000080)
/etc/acpi/actions/wireless.sh off
;;
# WIRELESS - BT
00000095)
/etc/acpi/actions/wireless.sh bt
;;
# WIRELESS - Wlan
00000088)
/etc/acpi/actions/wireless.sh wifi
;;
esac
|
| File: /etc/actions/amarok.sh |
#!/bin/bash
export DISPLAY=:0
color="Green"
function osdtext()
{
killall -9 -q osd_cat
echo $1 | osd_cat -f "-adobe-new century schoolbook-medium-i-normal--34-240-100-100-p-182-iso8859-1" -c $color -s 1 -p bottom -A center -d 2&
}
if [ $(/usr/kde/3.5/bin/dcop --user "$2" --all-sessions amarok player isPlaying) == "true" ]; then
case "$1" in
play)
color="Red"
osdtext "Amarok Pause"
/usr/kde/3.5/bin/dcop --user "$2" --all-sessions amarok player pause
;;
prev)
osdtext "Amarok Prev"
/usr/kde/3.5/bin/dcop --user "$2" --all-sessions amarok player prev
;;
stop)
color="Red"
osdtext "Amarok Stop"
/usr/kde/3.5/bin/dcop --user "$2" --all-sessions amarok player stop
;;
next)
osdtext "Amarok Next"
/usr/kde/3.5/bin/dcop --user "$2" --all-sessions amarok player next
;;
esac
else
if [ $(/usr/kde/3.5/bin/dcop --user "$2" --all-sessions amarok player isPlaying) == "false" ]; then
case "$1" in
play)
osdtext "Amarok Play"
/usr/kde/3.5/bin/dcop --user "$2" --all-sessions amarok player play
;;
prev)
osdtext "Amarok Prev"
/usr/kde/3.5/bin/dcop --user "$2" --all-sessions amarok player prev
;;
stop)
color="Red"
osdtext "Amarok Exit"
kill $(ps -U "$2" | ps -C amarokapp -o pid=)
;;
next)
osdtext "Amarok Next"
/usr/kde/3.5/bin/dcop --user "$2" --all-sessions amarok player next
;;
esac
else
if [ $1 == "play" ]; then
osdtext "Amarok Start"
su - "$2" -c "amarokapp --display=:0.0 &"
sleep 2 # Here just to prevent from starting Amarok twice (or more...), may need to be ajusted
fi
fi
fi
|
| File: /etc/acpi/actions/touchpad.sh |
#!/bin/bash
export DISPLAY=:0
color="Green"
function osdtext()
{
killall -9 -q osd_cat
echo $1 | osd_cat -f "-adobe-new century schoolbook-medium-i-normal--34-240-100-100-p-182-iso8859-1" -c $color -s 1 -p bottom -A center -d 2&
}
if [ $# = 1 ]; then
synclient TouchpadOff=$1
else
state=$(synclient -l | grep TouchpadOff | awk -F"= " '{print $2}')
if [ "$state" = "0" ]; then
synclient TouchpadOff=1
color="Red"
osdtext "Touchpad inactive"
else
synclient TouchpadOff=0
osdtext "Touchpad active"
fi
fi
|
| File: /etc/acpi/actions/vol.sh |
#!/bin/bash
export DISPLAY=:0
color="Green"
function osdtext()
{
killall -9 -q osd_cat
echo $1 | osd_cat -f "-adobe-new century schoolbook-medium-i-normal--34-240-100-100-p-182-iso8859-1" -c $color -s 1 -p bottom -A center -d 2&
}
if [ "$1" = "mute" ]; then
amixer -q set Front toggle
if [ "$(amixer get Front | grep Left: | awk -F" " '{print $7}')" = "[off]" ]; then
color="Red"
osdtext "Sound inactive"
else
osdtext "Sound active"
fi
else
if [ "$(amixer get Front | grep Left: | awk -F" " '{print $7}')" = "[off]" ]; then
amixer -q set Front toggle
fi
case "$1" in
up)
amixer -q set Front 5+
;;
down)
color="Red"
amixer -q set Front 5-
;;
esac
killall -9 -q osd_cat
osd_cat -p bottom -s 1 -o 120 -A center -f "-adobe-new century schoolbook-medium-i-normal--34-240-100-100-p-182-iso8859-1" -c $color -b percentage -P $(amixer get Front | grep Left: | awk -F" " '{print $5}' | tr -d "[]") -T "Volume"&
fi
|
| File: /etc/acpi/actions/wireless.sh |
#!/bin/bash
export DISPLAY=:0
color="Green"
function osdtext()
{
killall -9 -q osd_cat
echo $1 | osd_cat -f "-adobe-new century schoolbook-medium-i-normal--34-240-100-100-p-182-iso8859-1" -c $color -s 1 -p bottom -A center -d 2&
}
case "$1" in
# RF_Kill ON
on)
color="Red"
osdtext "Wireless disabled"
;;
# RF_Kill OFF
off)
osdtext "Wireless enabled"
;;
# BT
bt)
if [ "$(cat /sys/devices/platform/asus-laptop/bluetooth)" = "0" ]; then
osdtext "Bluetooth enabled"
echo "1" > "/sys/devices/platform/asus-laptop/bluetooth"
else
color="Red"
osdtext "Bluetooth disabled"
echo "0" > "/sys/devices/platform/asus-laptop/bluetooth"
fi
;;
#WLAN
wifi)
if [ "$(cat /sys/devices/platform/asus-laptop/wlan)" = "0" ]; then
osdtext "Wlan enabled"
echo "1" > "/sys/devices/platform/asus-laptop/wlan"
modprobe iwl3945
else
color="Red"
osdtext "Wlan disabled"
echo "0" > "/sys/devices/platform/asus-laptop/wlan"
modprobe -r iwl3945
fi
;;
esac
|
[edit] Ethernet controller
The LAN-Card is an RTL8168 and is supported out of the box.
[edit] Wireless
[edit] Wifi
See this guide.
[edit] Bluetooth
Works out of the box with the right kernel module loaded.
[edit] Save & restore wireless state
To save Wifi & Bluetooth adapter state on reboot you can use wirelessctl or lapsus.
[edit] Webcam
The webcam works perfectly with stk11xx driver. This driver was partially merged in kernel 2.6.25 but doesn't work very well.
[edit] Suspend
Suspend (to disk & to ram) works with the standard gentoo kernel (gentoo-source).
[edit] Powersaving
[edit] Frequency scaling
This processor support frequency scaling, to use it compile appropriate option as module :
| Linux Kernel Configuration: Power management options ---> CPU Frequency scaling |
... <*> ACPI Processor P-States driver ... |
You have to load it, by example at boot time in :
| File: /etc/modules.autoload.d/kernel-2.6 |
... acpi_cpufreq acpi_cpufreq ... |


