Search:  
Gentoo Wiki

Asus_F3Jp

This article is still a Stub. You can help Gentoo-Wiki by expanding it.

Contents

Asus F3JP-AK055C Specification


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)


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


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"


Note: To use both cores of the processor for compile you have to set MAKEOPTS to -j3 as shown below.



Kernel Configuration Example


Note: Keep in mind that this is only an example for the settings I use so don't blame me if it doesn't work or screw your system. Maybe you need some different settings because you like other things to do with your box.


FIXME: TODO


Audio

The driver to use is 'Intel-hda'. It work out of the box with Alsa in-kernel driver.

Image:Alsamixer_F3JP.png


Note: Instead of MASTER volume control, you get a FRONT one.

Note: Even with PCM + FRONT volume mixer at max, sound is a bit low.



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
...

CD/DVD burner

The CD/DVD burner works perfectly

Video & 3D

Free drivers

At the moment there are two drivers available for the X1700 card (r500 family) :

In portage : x11-drivers/xf86-video-radeonhd
Full support for r500 begins with xf86-video-radeonhd >= 1.2.2

In portage : x11-drivers/xf86-video-ati
Full support for r500 begins with xf86-video-ati >= 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

ATI proprietary drivers


USB

USB is supported out of the box by UHCI and EHCI modules


Keyboard hotkeys


Warning: FIRST, you have to load asus-laptop module or build it in the kernel


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

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...)

Image:Hotkeys.png


All these hotkeys generate an ACPI event exept Fn+F2.

Note: The Wireless key (Fn+F2) doesn't work out of the box. to make it works (generate an ACPI event) you have to patch the kernel


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
 


Note: The "--all-sessions" dcop parameter permits to let keys remain active even with more than one session with the same user name


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
 


Note: Something strange I note : The value in "/sys/devices/platform/asus-laptop/bluetooth" control the BT LED and the BT interface. But the value "/sys/devices/platform/asus-laptop/wlan" control just the LED so you have to (des)activate it by (un)loading the iwl3945 module. On the last BIOS (208), I try to correct the DSDT but nothing changes at all...So, it's not the cause or I wrongly corrected it...



Ethernet controller

The LAN-Card is an RTL8168 and is supported out of the box.


Wireless

Wifi

See this guide.

Bluetooth

Works out of the box with the right kernel module loaded.

Save & restore wireless state

To save Wifi & Bluetooth adapter state on reboot you can use wirelessctl or lapsus.

Webcam

The webcam works perfectly with stk11xx driver. This driver was partially merged in kernel 2.6.25 but doesn't work very well.

Suspend

Suspend (to disk & to ram) works with the standard gentoo kernel (gentoo-source).

Powersaving

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
...


Note: YOU HAVE TO LOAD IT TWICE, the first time it says : FATAL: Error inserting acpi_cpufreq (/lib/modules/2.6.23-gentoo-r8/kernel/arch/x86_64/kernel/cpufreq/acpi-cpufreq.ko): No such device.



Links

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

Last modified: Wed, 15 Oct 2008 00:23:00 +0000 Hits: 7,767