HARDWARE Asus F3Jr
From Gentoo Linux Wiki
| Laptops • TV Tuner Cards • Wireless • Servers • Storage • Other Hardware • Motherboards • Related |
[edit] Asus PRO31JR-AP035C (F3Jr) Specification
- Processor : Intel® Core™2 Duo CPU T7200 @ 2.00GHz
- Chipset : Mobile Intel® 945PM Express
- Main Memory : 2GB DDR2
- Display : 15.4" WXGA (1280x800)
- Video Graphics : ATI Mobility Radeon X2300 , 128Mb DDR2 Ram
- 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 not included in this model -
- Video Camera : - Not included in this model -
- Audio : Built-in Intel® High Definition audio compliant audio chip (Realtek ALC660-VD)
- Battery Pack & Life : Li-Ion 6 cells: 4800mAh
- Dimension : 365 x 270 x 30-40.5 mm
- Weight : 2927g ( 6 cell battery )
- Supplied Accessories : Unsure (Bought used)
- 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, 943/940GML and 945GT Express Memory Controller Hub (rev 03) 00:01.0 PCI bridge: Intel Corporation Mobile 945GM/PM/GMS, 943/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 Controller #1 (rev 02) 00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2 (rev 02) 00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3 (rev 02) 00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #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) SATA IDE Controller (rev 02) 00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 02) 01:00.0 VGA compatible controller: ATI Technologies Inc Mobility Radeon X2300 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) 06:01.0 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 IEEE 1394 Controller 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
SATA Drives : Works
CD/DVD burner : Works
Video & 3D : Works
USB : Works
Keyboard hotkeys : Works
Ethernet controller : Works
Wifi : Works
Webcam : Works
FireWire : Never tried
ExpressCard : Never tried
SDcard reader : Works
Mic : Works
Integrated modem : Never tried
Cpufreq : Works
Suspend : Doesn't Works (Yet)
Hardware Monitoring : Only CPU temp
[edit] General
This Howto is about installing and configuring Gentoo 2007.0 (Arch AMD64) on the ASUS F3Jr
make.conf examples
For CFLAGS, see the CPU section.
| File: /etc/make.conf |
VIDEO_CARDS="fglrx" INPUT_DEVICES="synaptics keyboard mouse" |
[edit] Kernel Configuration Example
| FIXME: TODO |
[edit] CPU
See this HowTo.
[edit] Audio
The driver to use is 'Intel-hda'. It work out of the box with Alsa in-kernel driver.
Anyway, if you are using a 2.6.24 kernel you need to select the Realtek codec to fully control the Audio driver.
| Linux Kernel Configuration: Device Drivers ---> Sound ---> Advanced Linux Sound Architecture ---> PCI devices |
<M> Intel HD Audio [*] Build Realtek HD-audio codec support |
[edit] SATA Drives (HDD and DVD drive)
(from HARDWARE 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 |
<*> ATA device support ... <*> Intel PIIX/ICH SATA support ... |
[edit] CD/DVD burner
The CD/DVD burner works perfectly
[edit] Video & 3D
ATI proprietary drivers
At the moment i only tested the ATI proprietary drivers
[edit] USB
USB is supported out of the box by UHCI and EHCI modules
[edit] Keyboard hotkeys
| Linux Kernel Configuration: Power management options ---> ACPI (Advanced Configuration and Power Interface) Support |
<*> ASUS/Medion Laptop Extras |
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 Fn+F6 Fn+F7
For the LCD keys to work (Fn+F5 and Fn+F6) you'll need ALSO the ACPI_VIDEO compiled as a module.
| Linux Kernel Configuration: Power management options ---> ACPI (Advanced Configuration and Power Interface) Support |
<M> Video |
Using hotkeys with lapsus
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
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"); |
In order to display the OSD, like "Konqueror is starting" or else, we need XOSD to be installed, and we could even test it (Look at the top/left edge of the screen!):
| Code: XOSD is needed to display text on the screen |
emerge xosd echo "Ciao Mondo!" | osd_cat -d 3 |
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" -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 - Wlan
00000088)
/etc/acpi/actions/wireless.sh wifi
;;
esac
|
| File: /etc/acpi/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" -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" -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" -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" -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" -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"
;;
#WLAN
wifi)
if [ "$(cat /sys/devices/platform/asus-laptop/wlan)" = "0" ]; then
osdtext "Wlan enabled"
echo "1" > "/sys/devices/platform/asus-laptop/wlan"
modprobe ipw3945
else
color="Red"
osdtext "Wlan disabled"
echo "0" > "/sys/devices/platform/asus-laptop/wlan"
modprobe -r ipw3945
fi
;;
esac
|
| Code: Don't forget to set the right permissions to the scripts |
chmod 755 /etc/acpi/hotkey.sh chmod 755 /etc/acpi/actions/amarok.sh chmod 755 /etc/acpi/actions/touchpad.sh chmod 755 /etc/acpi/actions/vol.sh chmod 755 /etc/acpi/actions/wireless.sh |
[edit] Ethernet controller
The LAN-Card is an RTL8168 and is supported out of the box.
[edit] Wireless
[edit] Wifi
Wifi is supported by 2 drivers : IPW3945 and IWLWIFI.
To make it work at boot I load ipw3945 add boot
| File: /etc/modules.autoload.d/kernel-2.6 |
|
ipw3945 |
and load ipw3945d service :
rc-update add ipw3945d default
With these setings interface eth1 show up at boot.
currently masked in tree, but is included in 2.4.24
| Note: With "net-wireless/iwlwifi-1.2.23", works well. |
[edit] Save & restore wireless state
To save Wifi adapter on reboot you can use lapsus or a little script : wirelessctl (Never used it).
[edit] Suspend
Suspend (to disk) works with the standard gentoo kernel (gentoo-sources-2.6.23-r9) and with tuxonice (tuxonice-sources-2.6.24-r3) but suspend to ram and standby doesn't work, the first suspends the PC but is not able to resume it, the second doesn't turn off the video.
Only tried with powersave.
[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 ... |
[edit] Hardware Monitoring
lm_sensors is able to monitor only the CPU temperature, it's currently impossible to monitor the fan speed or the voltages. to get lm_sensors to work, you can follow the HARDWARE_Sensors guide, there's no need to enable all the sensors to test wich works, instead you can use this kernel configuration:
| Linux Kernel Configuration: Kernel modules |
Device Drivers --->
<M> I2C support --->
<M> I2C device interface
<M> Hardware Monitoring Support --->
[M] Intel Core (2) Duo/Solo temperature sensor
|

