Sony Vaio VGN-FE21B

From ArchWiki
Revision as of 12:08, 26 August 2011 by Karol (Talk | contribs) (It's a guide for Arch Linux 0.7.2 ...)

Jump to: navigation, search

Tango-view-refresh-red.pngThis article or section is out of date.Tango-view-refresh-red.png

Reason: please use the first argument of the template to provide a brief explanation. (Discuss in Talk:Sony Vaio VGN-FE21B#)

Tango-document-new.pngThis article is a stub.Tango-document-new.png

Notes: please use the first argument of the template to provide more detailed indications. (Discuss in Talk:Sony Vaio VGN-FE21B#)

Introduction

This is a mini guide to configure a Sony Vaio VGN-FE21B on Arch linux 0.7.2

Specs

  • Intel core duo T2300 1.66 MHz
  • 1GB DDR2 SDRAM
  • 80GB disk
  • 1280x800 WXGA 15,4" LCD
  • Double layer DVD-RW
  • Nvidia GeForce Go 7400
  • Intel pro wireless 3945

lspci output:

00:00.0 Host bridge: Intel Corporation Mobile Memory Controller Hub (rev 03)
00:01.0 PCI bridge: Intel Corporation Mobile PCI Express Graphics Port (rev 03)
00:1b.0 Class 0403: 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: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.1 IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller (rev 02)
00:1f.2 IDE interface: Intel Corporation 82801GBM/GHM (ICH7 Family) Serial ATA Storage Controllers cc=IDE (rev 02)
00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 02)
01:00.0 VGA compatible controller: nVidia Corporation Unknown device 01d8 (rev a1)
06:00.0 Network controller: Intel Corporation Unknown device 4222 (rev 02)
0a:03.0 CardBus bridge: Texas Instruments Unknown device 8039
0a:03.1 FireWire (IEEE 1394): Texas Instruments Unknown device 803a
0a:03.2 Mass storage controller: Texas Instruments Unknown device 803b
0a:08.0 Ethernet controller: Intel Corporation Unknown device 1092 (rev 02


Power management

Power profiles and CPU frequency scaling works fine with powersave I have decided to install latest versions of powersaved and kpowersave (the arch version is outdated):

  1. Download both packages from powersave.sf.net
  2. Install hal hdparm acpid cpufrequtils vbetool
  3. Install both packages
    1. powersaved: ./configure --prefix=/usr && make && make install
    2. kpowersave: ./configure --prefix=/opt/kde && make && make install
  4. run 'groupadd power' and add your normal user to that group
  5. Copy necessary files
    1. Download them from http://cvs.archlinux.org/cgi-bin/viewcvs.cgi/daemons/powersave/?cvsroot=Unstable&only_with_tag=CURRENT
    2. copy powersave.conf to /etc/dbus-1/system.d/
    3. copy powersaved to /etc/rc.d
  6. Add the following modules to rc.conf: speedstep-centrino cpufreq_conservative cpufreq_stats cpufreq_powersave cpufreq_userspace cpufreq_ondemand
  7. Add the following service to rc.conf (at least after hal and debus): powersaved
  8. Restart linux

Once in KDE you can run kpowesave

Brightness control works with smartdimmer, but is not supported in powersave (or it is?)

TODO: Make suspend to disk work

Wireless

That one is easy:

  1. pacman -S iwlwifi-3945-ucode
  2. Add module iwl3945 to rc.conf


I recommend to use this with WICD networkmanager. It works out of the box.

xorg

Nvidia drivers works fine (2D and 3D), you should set resolution to 1280x800

TODO:

  • make tvout work
  • make touch pad scrolling work

Audio

No problems here

Special keys (fn and so...) Part 1

I didn't manage to make the fn key work, but that is what I have done:

  • Mute key is hardware driven
  • Volume keys:
  1. edit .kde/Autostart/keycodes.sh and add:
xmodmap -e 'keycode 174=F21' # lower volume
xmodmap -e 'keycode 176=F22' # raise volume
exit 0
  1. Run source .kde/Autostart/keycodes.sh
  2. Go to Preferences -> Regional settings -> Add actions
  3. Create a group named Vaio keys (or whatever)
  4. Add acctions:
    1. volup: dcop action, app: kmix, remote object: mixer0, function: IncreaseVolume, args: 0
    2. voldown: dcop action, app: kmix, remote object: mixer0, function: DecreaseVolume, args: 0
    3. brightup: command, I use ctrl+F5 bind key, command: ~/bin/brightdown.sh
    4. brightdown: command, I use ctrl+F6 bind key, command: ~/bin/brightup.sh

This is the contents of the bright scripts:

brightdown.sh:

#!/bin/sh
smartdimmer -d

brightup.sh:

#!/bin/sh
smartdimmer -i

Part 2(About Volume Keys)

The method above works fine if you have only one keyboard layout. But if you use couple languages then keycodes are reseted. What I did to bypass this problem was to set these keys as F20 and F21 modifying keycodes in xkb.

Ok here's what I did:

I use "Generic 105-key PC" keyboard as my keyboard model.(You can change it in Control Center--> Regional& Accessibility-->Keyboard Layout).

after that edit corresponding keycode file(for "Generic 105-key PC" it was /usr/share/X11/xkb/keycodes/digital_vndr/pc), add key codes to your keyboard section or as I did it to pc_common section. It should look something like this:

<part of file>

   xkb_keycodes "pc_common" {
   // "Function" keys
   <FK20>       = 174; // <--- Volume button key code assigned to FK20
   <FK21>       = 176; //<--- Volume button key code assigned to FK20
   <FK01>      = 9;
   <FK02>      = 15;
   <FK03>      = 23;
   <FK04>      = 31;
   <FK05>      = 39;

</part of file>

after that you need to assign it as F20 and F21 buttons on your keyboard. To do that edit file /usr/share/X11/xkb/symbols/pc (or corresponding file if you use other keyboard model in Settings)

there you gonna find a part where F keys are assigned it should be something like this

<part of file>

       key <FK10> {
       type="CTRL+ALT",
       symbols[Group1]= [ F10, XF86_Switch_VT_10 ]
   };
   key <FK11> {
       type="CTRL+ALT",
       symbols[Group1]= [ F11, XF86_Switch_VT_11 ]
   };
   key <FK12> {
       type="CTRL+ALT",
       symbols[Group1]= [ F12, XF86_Switch_VT_12 ]
   };

</part of file>

All you have to do now is to add our "new" keys here:

<part of file>

   key <FK12> {
       type="CTRL+ALT",
       symbols[Group1]= [ F12, XF86_Switch_VT_12 ]
   };
   key <FK20> {
       type="CTRL+ALT",                                  //<-- for F20 key
       symbols[Group1]= [ F20, XF86_Switch_VT_20 ]
   };
   key <FK21> {
       type="CTRL+ALT",                                  //<-- for F21 key
       symbols[Group1]= [ F21, XF86_Switch_VT_20 ]
   };

</part of file>

That is it - now your volume keys are assigned. But they don't change the volume yet. To do that go to Control Center-->Regional&Accessibility-->Input Actions and add new group(name it as you like). Add new action, set Action Type to "Keyboard Shortcut -> DCOP Call(simple)". In a "Keyboard Shortcut" press the box and press Vol- button on your keyboard. In "Dcop Call Settings" set(case sensetive):

  • Remote application: kmix
  • Remote object: Mixer0
  • Called function: decreaseVolume
  • Arguments:0

Then press try. And your volume should go down. Press Apply button

Add the same action for your Vol+ button. except change "decreaseVolume" to "increaseVolume".

That's it now your volume keys shoud work. Hit/Tip: To check keycodes use type "xev" in terminal. Pressing button should give you output with keycode.

Nomail 08:40, 14 June 2008 (EDT)

Quake 4 sound fix

Yeah, I also play on arch linux

  1. Edit ~/.quake4-demo/q4base/Quake4Config.cfg
  2. Change s_driver value to oss

And you are done