Konfigurasi ACPI-Thinkpad di Fedora

 

ACPI adalah singkatan dari Advanced Configuration & Power Interface. Terknologi ini pada awalnya hasil kerja sama beberapa pabrikan & digunakan di beberapa produk mereka seperti Toshiba, HP, Microsoft, Intel dan Phoenix. Tapi saat ini pabrikan lain sudah mulai menggunakan terknologi tersebut seperti pada notebook Thinkpad dari IBM.

Bagi kita yang ingin memasukkan Fedora kedalam notebook thinkpad saat ini sudah bisa sedikit lega, karena pada awalnya terdapat bug yang cukup serius di Fedora yang akan digunakan notebook thinkpad. Hal ini disebabkan karena Fedora belum mendukung penuh tekonologi ACPI yang dikembangkan oleh IBM yang sudah digunakan hampir di semua notebooknya. Inilah terjadi kepada saya ketika ingin menginstalasi Fedora didalam notebook thinkpad saya. Beberapa kejadian yang sering terjadi antara lain adalah Fedora sering hang ketika dijalankan, tombol hotkey tidak berfungsi dengan baik, pencahayaan monitor yang kadang terang kadang tiba-tiba gelap, dll. Namun hal tersebut saat ini sudah teratasi dengan baik jika kita mengkonfigurasi event ACPI di Fedora kita. Berikut satu persatu langkah untuk menyelesaikan permasalahan tersebut.

Sebelumnya kita membutuhkan sebuah paket yang bernama xbinkeys. Xbindkeys sendiri adalah sebuah paket yang dapat membantu kita dalam mengkonfigurasi hotkey (menajalankan fungsi tombol Fn untuk melakukan fungsi-fungsi tertentu pada keyboard). Kita dapat menggunakan yum untuk melakukan instalasi paket tersebut.

login sebagai Supert User atau root

yafiz$ su

Password :

kemudian instalasi aplikasi xbindkeys

# yum install xbindkeys

Setelah instalasi berjalan dengan baik, langkah selanjutnya adalah mengkonfigurasi X Server. File konfigurasi tersebut dapat kita temukan di /etc/X11/xorg.conf. Tapi untuk di Fedora 10 sendiri file tersebut sudah tidak ada lagi, karena Fedora 10 sudah melakukan auto konfigurasi terhadap hardware notebook yang kita gunakan pada saat booting. Tapi jika kamu tidak menemukan file tersebut, kamu bisa membuatnya secara manual dengan cara menggunakan perintah :

# yum install system-config-display

kemudian setalah itu untuk melakukan konfigurasi gunakan perintah :

#system-config-display --reconfig

atau bisa juga buka di System > Administration > Display dan akan muncul jendela seperti di bawah ini.

 

Resolusi ACPI

Untuk resolusi di menu settings saya set ke 1024x768.

Hardware ACPI

Dan untuk Monitor Type saya memilih LCD Panel 1280x800 (sesuai dengan spesifikasi Monitor yang saya gunakan di notebook)

Setelah di sesuaikan, maka sekarang yang harus kita lakukan adalah mengedit file xorg.conf yang sudah saya sebutkan sebelumnya diatas.

#vi /etc/X11/xorg.conf

Cari dibagian section “Input Device” dengan identifier “Synaptics” dan tambah satu baris kedalamnya.

Option “SHMConfig” “on”

Jadi seperti ini :

 

Section "InputDevice"

Identifier "Synaptics"

Driver "synaptics"

Option "Device" "/dev/input/mice"

Option "Protocol" "auto-dev"

Option "Emulate3Buttons" "yes"

Option "SHMConfig" "on"

EndSection

 

Sekarang silahkan coba salah satu fungsi hotkey dan lihat apa yang terjadi.

Langkah selanjutnya adalah konfugurasi file untuk event hotkey di /etc/acpi/events/hotkeys.conf dan apabila tidak menemukan file tersebut buatlah file baru dengan perintah :

#vi /etc/acpi/events/hotkeys.conf

Isi dari file adalah sebagai berikut :

 

# Hotkey configuration

event=hotkey (ATKD|HOTK)*

action=/etc/acpi/actions/hotkeys.sh %e

 

Kemudian buat file hotkeys.sh di /etc/acpi/events. Untuk mempersingkat waktu copy kemudian paste kode dibawah ini, namun jangan lupa mengganti user nya dengan user yang anda gunakan di Fedora.

#vi /etc/acpi/events/hotkeys.sh

#!/bin/sh

PATH=/sbin:/bin:/usr/bin

# Possible values:

# "0" = multi user system

# "your_username" = single user system

user="yafiz"

# Detect the currently active user on multi user systems

checkuser()

{

if [ $user = "0" ]

then

uid_session=$(

ck-list-sessions | \

awk '

/^Session[0-9]+:$/ { uid = active = x11 = "" ; next }

{ gsub(/'\''/, "", $3) }

$1 == "uid" { uid = $3 }

$1 == "active" { active = $3 }

$1 == "x11-display" { x11 = $3 }

active == "TRUE" && x11 != "" {

print uid

exit

}'

)

user_data=(`cat /etc/passwd | grep $uid_session | tr ':' ' '`)

user=${user_data[0]}

fi

}

# Assign actions to the hotkeys

case $3 in

# Start Evolution (email button)

00000050)

checkuser

su - $user -c "evolution --component=mail &> /dev/null &"

;;

# Start Firefox (browser button)

00000051)

checkuser

su - $user -c "firefox &> /dev/null &"

;;

# Toggle touchpad on|off (touchpad button)

0000006b)

tp_status=(`synclient -l | grep TouchpadOff`)

if [ ${tp_status[2]} = "1" ]

then

synclient TouchpadOff=0

echo 1 > /sys/class/leds/asus:touchpad/brightness

else

synclient TouchpadOff=1

echo 0 > /sys/class/leds/asus:touchpad/brightness

fi

;;

# Lower volume (Fn + F11)

00000031)

amixer sset Master Playback Volume 5%- &> /dev/null

;;

# Raise volume (Fn + F12)

00000030)

amixer sset Master Playback Volume 5%+ &> /dev/null

;;


# Toggle mute (0% - last state) (Fn + F10)

00000032)

snd_status=(`amixer sget Master Playback Volume | egrep "\[on|off\]$"`)

cur_vol=$(echo ${snd_status[4]} | tr '[|]|%' ' ')

if [ $cur_vol != "0" ]

then

cat /dev/null > /opt/.volume

echo $cur_vol > /opt/.volume

amixer sset Master Playback Volume 0% &> /dev/null

else

sav_vol=$(cat /opt/.volume)

if [ $sav_vol = "" ]

then amixer sset Master Playback Volume 50% &> /dev/null

else amixer sset Master Playback Volume $sav_vol% &> /dev/null

fi

fi

;;

esac

exit 0

File tersebut juga berfungsi agar service ACPI berjalan otomatis ketika Fedora di restart setiap saat. Dan untuk mengoptimalisasi edit file /etc/gdm/Init/Default.

 

#vi /etc/gdm/Init/Default

 

tambahkan kalimat berikut dan diletakkan dipaling bawah sebelum kata exit.

# acpid workaround

/etc/init.d/acpid restart

<!--[endif]-->Jadi seperti ini.

[....]

# acpid workaround

/etc/init.d/acpid restart

exit 0

 

Sekarang service ACPI sudah berjalan otomatis dan berjalan dengan baik ketika Fedora di restart setiap saat.

Dan langkah terakhir adalah menangani event Xev.

#xbindkeys --defaults > $HOME/.xbindkeysrc

#vi ~/.xbindkeysr

 

# MM play/pause

"/usr/bin/audacious -p"

c:162

# MM stop

"/usr/bin/audacious -s"

c:164

# MM rewind

"/usr/bin/audacious -r"

c:144

# MM forward

"/usr/bin/audacious -f"

c:153

 

Dalam hal ini saya menggunakan notebook Thinkpad SL400 dan Fedora 10 yang sudah diinstall sebelumnya dan bisa juga digunakan di Fedora versi yang lain dengan catatan bahwa konfigurasi disesuaikan dengan Fedora tersebut. Jika tidak ada kesalahan konfigurasi Fedora akan berjalan dengan baik. Untuk lebih lanjut bisa didiskusikan di forum Konfigurasi ACPI di Fedora.

Selamat mencoba. Laughing