News | About | Get Frugalware | Packages | Documentation | Discussion Forums | Bug Tracker | Wiki | Community | Development

NX 7010

From FrugalWiki

Jump to: navigation, search
i18n
English
Français
Magyar

Contents

Introduction

I'm fond of the frugalware linux distribution, for many reasons, especially the -current branch which is very often updated and provide latest versions of linux.

Frugalware is easy to install for the user that knows what is a partition. The harder step yet (at the beginning of the year 2008) is that we have to manually setup the partition table. Less harder is to assign partitions to mount points. The rest is only a question of ability to press the enter key :-).

I'm going to share my experience on the Compaq Nx7010 laptop.

Typo conventions

Two quite important things on what is following:

# Line starting by # are some command entered when logged as root.
$ Line starting by a dollar are those entered when logged as any user.

Software information

  • Frugalware current (was 0.6 at the time I wrote this wiki)

Works well, with minimal hardware detection/installation. I have to setup the wifi, and the X server first.

  • Note

I really likkke frugalware, even if a lot of job is to be done to install all the hardware. This is the price I'm really ready to pay in order to work with this great distro. I hope this wiki will help others.

Hardware information

  • Laptop : Compaq nx 7010
  • Vendor : Hewlett-Packard
  • Bios
  • Cpu : Pentium(R) M 1600 Mhz (100Mhz bus)
  • Memory : 512MB (256MB added) (1GB max)
  • Graphic : ATI Radeon R250 Mobility FireGL 9000 (66Mhz)
  • FireWire IEEE 1394 interface
  • Network
    • Ethernet Realteak 8139, 100MB/s
    • Wireless Intel Pro wireless 2100 3B
  • PCMCIA : 1 slot
  • Hard drive : 40Go IDE (replaced the old one)
  • Audio : Intel AC'97
  • Modem : Intel AC'97 modem
  • Mmc card reader
  • Screen : Flat LCD screen (1280x800)
  • Touchpad

Audio configuration

  • Hardware : Intel 82801DB (A'C 97)

The cards is well configured, but the audio output is muted... (what a crazy choice alsa guys !...). We just have to enable the output, with alsamixer for example.

# pacman -S alsa-utils sox (sox is here for the play utility)
# alsamixer

Then you can raise PCM, Master and Master M volume and ... Mute the Headphone (MM must appear over <Headphon>) Mute Line Jac (MM over <Line Jac>).

  • Testing the sound
# cd /usr/share/sounds
# ls *.wav ( select one wav file)
# play ???.wav (the first wav file found).
  • See also : The Multimedia keys section of this page.

Video installation

Installing the driver

The ATI chip works well, using the radeon driver, just replace the default installed driver (vesa for me) with the more performant radeon one :

Configuration file is /etc/X11/xorg.conf I've started with the default configuration file.

# pacman -S xf86-video-ati
Section "Device"
       #Option     "ShadowFB"           	# [<bool>]
       #Option     "DefaultRefresh"     	# [<bool>]
       #Option     "ModeSetClearScreen" 	# [<bool>]
	Identifier  "Card0"
	Driver      "radeon"
	VendorName  "ATI Technologies Inc"
	BoardName   "Radeon R250 [Mobility FireGL 9000]"
	BusID       "PCI:1:0:0"
EndSection

Setting the resolution

On this laptop, the lcd flatpanel screen has a 1280x800 resolution. So you have to edit your /etc/X11/xorg.conf in order to setup an adapted screen resolution. Search for the screen section of your xorg.conf file :

Section "Screen"
	Identifier "Screen0"
	Device     "Card0"
	Monitor    "Monitor0"
	DefaultDepth 24
	SubSection "Display"
		Viewport   0 0
		Depth     16
	Modes "1280x800" "1024x768" "800x600" "640x480"
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     24
	Modes "1280x800" "1024x768" "800x600" "640x480"
	EndSubSection
EndSection
$ glxgears
5037 frames in 5.0 seconds = 1007.336 FPS

1007 fps... not so bad. The opengl layer works. I may add here some more information about games and fps if needed.

Installing Radeon Tools

Video is ok, but I cannot anymore view my DVD's on my video projector :-( I would like to use external DAC and to switch off the LCD panel while looking a DVD or a Divx...

See how the frugalware team is cool : I've proposed them to include radeon tool to there distro and this has been done quite quickly. You can now skip the rpm step and use this step instead of the rpm installation :

 # pacman -S radeontool

This tool could be removed from the distro, so you may still be able to install the rpm : Go to this url http://fdd.com/software/radeon. and download the latest rpm package. it was the radeontool-1.5-1.i386.rpm when I wrote this wiki.

Then, install the rpm :

# rpm -Uvh radeontool-1.5-1.i386.rpm

Now it is possible to duplicate the screen on the external video connector:

# radeontool dac on

And if you really want to be in the dark, and switch off the LCD screen while watching your movie :

# radeontool light off

Network

Introduction

There is two interfaces : - The Ethernet interface (eth0) - The wireless interface (wlan0, ipw2100).

For the first one, there is nothing to configure, all has been setup by the installer. The default network configuration is to use the Ethernet interface (eth0 for me).

But I want to use the wireless one...

First of all, we have to install wireless_tools, and ipw2100 things:

# pacman -S ipw2100-firmware wireless_tools

At this point, issuing a iwconfig shows that no wireless interface is detected :-(

# iwconfig
lo        no wireless extensions.
eth0      no wireless extensions.
eth1      no wireless extensions.

This is probably because I've just installed the firmware package. So I have to reload the module :

# rmmod ipw2100
# rmmod ieee80211
# modprobe ipw2100
# iwconfig
...
eth2      unassociated  ESSID:off/any  Nickname:"ipw2100"
...

That's better ! No I have to setup the ESSID and the KEY

At this point, there are three solutions

  • Do it manually
  • Use netconfig (easy way)
  • Use gnetconfig
 # pacman -S gnetconfig

I'll explain here the two first methods, manually and netconfig. My preference goes to netconfig. I've wrote how to do it manually because this is interresting in my point of view to know how to do. This can be also a falldown step if the netconfig way does not work.

You may skip the manual method describe after so...

Setup the wireless card using the command line

  • Quick readers:
# iwconfig your_interface essid YOUR_ESSID key FADA824323423FE....
# dhclient your_interface
# ifconfig eth0 down
# route add default gw ip_of_gateway your_interface
  • Long explanation

This is interesting to do this quick test. My wireless access point has a WEP key. Keep in mind that WEP is very weak (I've cracked my own WEP in 7 minutes...). WPA is more strong, and seems to be supported by frugalware. I'll try to add info about WPA here a day...

So at this point, the firmware has been uploaded into the wireless card, iwconfig tells that eth2 supports wireless extensions, but ifconfig eth2 shows that eth2 is not connected. Of course, we did not entered yet any ESSID nor a wep key ! Here is how to do, you may replace eth2 by your own wireless interface :

# iwconfig eth2 essid YOUR_ESSID key FADA824323423FE....
Replace YOUR_ESSID and the fake key with yours.
# ifconfig eth2
eth2     Link encap:Ethernet  HWaddr 00:0C:F1:10:04:12
         inet6 addr: fe80::20c:f1ff:fe10:412/64 Scope:Link
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:0 errors:12 dropped:0 overruns:0 frame:0
         TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000
         RX bytes:0 (0.0 b)  TX bytes:220 (220.0 b)
         Interrupt:5 Base address:0x2000 Memory:90000000-90000fff

Hum... Still no IP address... We have to ask one to the router

# dhclient eth2
Internet Systems Consortium DHCP Client V3.0.5
Copyright 2004-2006 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/
Listening on LPF/eth2/00:0c:f1:10:04:12
Sending on   LPF/eth2/00:0c:f1:10:04:12
Sending on   Socket/fallback
DHCPDISCOVER on eth2 to 255.255.255.255 port 67 interval 8
DHCPOFFER from 192.168.0.254
DHCPREQUEST on eth2 to 255.255.255.255 port 67
DHCPACK from 192.168.0.254
SIOCADDRT: File exists
bound to 192.168.0.20 -- renewal in 415454 seconds.

Yes !!! See the last line, I have a IP address. Next step : shut down eth0 (the Ethernet cable) and see if I'm still connected to internet :

# ifconfig eth2 (ensure we have an IP address with Wifi)
...
net addr:192.168.0.20  Bcast:192.168.0.255  Mask:255.255.255.0
...

We have an IP address (192.168.0.20), let see where IP packets are going through :

# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.0.0     *               255.255.255.0   U     0      0        0 eth0
192.168.0.0     *               255.255.255.0   U     0      0        0 eth2
loopback        *               255.0.0.0       U     0      0        0 lo
default         192.168.0.254   0.0.0.0         UG    0      0        0 eth0

We can see here that the default gateway is eth0 (UG), and that IP packets can go out through eth2. We are going to force eth2 to be the default route. First read the default line above, and keep the same IP address (192.168.0.254).

# ifconfig eth0 down (replace by your Ethernet interface)
# route add default gw 192.168.0.254 eth2 (replace the IP address and eth2)
# route
192.168.0.0     *               255.255.255.0   U     0      0        0 eth2
loopback        *               255.0.0.0       U     0      0        0 lo
default         192.168.0.254   0.0.0.0         UG    0      0        0 eth2

Ok, the gateway is now eth2 (wireless). eth0 is down. So if internet is still working, the wireless is ok !

# ping www.google.com
64 bytes from nf-in-f103.google.com (64.233.183.103): icmp_seq=1 ttl=245 time=56.2 ms
...

Hourra !!!! But this configuration is volatile. Next time you boot, no wireless...

# cat /etc/sysconfig/network/default
[eth0]
options = dhcp

Yes, eth0 is the only interface to be setup during the boot... Let see the netconfig method.

Using Netconfig to setup the network

If you have successfully setup your wireless card with the manually method described above, your are ready to setup the card with netconfig and all will probably work ! Of course you can use netconfig without testing first if the manual method works...

# netconfig
...

Now just fill the correct interface, with your ESSID and provide the correct key. All other field should be left with their default value, except the frugalware.net thing if you like (and if you have a domain).

Now let's have a look on what netconfig did on the default configuration file :

# cat /etc/sysconfig/network/default
[eth2]
essid = YOUR_ESSID
key = ...ada7e... (your key)
options = dhcp

eth0 has disappeared... We can just re-enter it manually using vim

# pacman -S vim (in case vim is not installed)
# vim /etc/sysconfig/network/default
And add this
[eth0]
options = dhcp

Now both eth0 and eth2 will be setup at the next boot. I'm going to boot and finish this network wiki...See you in few minutes...

Back after one boot.

Wireless is ok ! good point, but I missed the modification of default. If forgot to save the file, so, only eth2 was in the default file. Once re-edited and with the eth0 added, with the dhcp option, I do not want to boot one more time. This mistake will show for some of you how to restart only the network, not the computer:

# service interfaces restart
# ifconfig
... eth0 and eth2 stuff

All is ok now. Both interfaces are setup, and will be after the boot.

Touchpad

The touchpad works well. But do not features things such as vertical / horizontal slider etc... I'll try to fix this and add information here.

ACPI

TODO :-)

Extra hardware information

Here is the output of lspci

# lspci
00:00.0 Host bridge: Intel Corporation 82855PM Processor to I/O Controller (rev 03)
00:01.0 PCI bridge: Intel Corporation 82855PM Processor to AGP Controller (rev 03)
00:1d.0 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (rev 01)
00:1d.1 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (rev 01)
00:1d.2 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (rev 01)
00:1d.7 USB Controller: Intel Corporation 82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (rev 01)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev 81)
00:1f.0 ISA bridge: Intel Corporation 82801DBM (ICH4-M) LPC Interface Bridge (rev 01)
00:1f.1 IDE interface: Intel Corporation 82801DBM (ICH4-M) IDE Controller (rev 01)
00:1f.3 SMBus: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (rev 01)
00:1f.5 Multimedia audio controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 01)
00:1f.6 Modem: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (rev 01)
01:00.0 VGA compatible controller: ATI Technologies Inc Radeon R250 [Radeon Mobility 9200] (rev 01)
02:00.0 FireWire (IEEE 1394): VIA Technologies, Inc. IEEE 1394 Host Controller (rev 80)
02:01.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 20)
02:02.0 Network controller: Intel Corporation PRO/Wireless LAN 2100 3B Mini PCI Adapter (rev 04)
02:04.0 CardBus bridge: ENE Technology Inc CB1410 Cardbus Controller (rev 01)

And the output of more verbose lswh

# lshw

compaq
    description: Notebook
    product: Compaq nx7010 (DJ342T#ABF)
    vendor: Hewlett-Packard
    version: F.55
    serial: CND4090BPX
    width: 32 bits
    capabilities: smbios-2.3 dmi-2.3
    configuration: boot=normal chassis=notebook uuid=947FF8E6-D269-D811-0BA4-6699080BF529
  *-core
       description: Motherboard
       product: 0860
       vendor: COMPAL
       physical id: 0
       version: 8051 Version 24.56
     *-firmware
          description: BIOS
          vendor: Hewlett-Packard
          physical id: 0
          version: 68BAL Ver. F.55 (07/14/2005)
          size: 128KB
          capacity: 448KB
          capabilities: pci pcmcia pnp apm upgrade shadowing cdboot bootselect edd int13floppy720 int5printscreen int9keyboard int14serial int17printer acpi usb agp ls120boot smartbattery biosbootspecification netboot
     *-cpu
          description: CPU
          product: Intel(R) Pentium(R) M processor 1400MHz
          vendor: Intel Corp.
          physical id: 4
          bus info: cpu@0
          version: 6.9.5
          slot: U10
          size: 1400MHz
          capacity: 1400MHz
          width: 32 bits
          clock: 100MHz
          capabilities: fpu fpu_exception wp vme de pse tsc msr mce cx8 sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 tm pbe up est tm2
        *-cache:0
             description: L1 cache
             physical id: 5
             slot: Internal L1 Cache
             size: 64KB
             capacity: 64KB
             capabilities: burst internal write-back unified
        *-cache:1
             description: L2 cache
             physical id: 6
             slot: Internal L2 Cache
             size: 1MB
             capacity: 1MB
             capabilities: burst external write-back unified
     *-memory
          description: System Memory
          physical id: 9
          slot: System board or motherboard
          size: 512MB
          capacity: 1GB
        *-bank:0
             description: SODIMM DDR Synchronous
             physical id: 0
             slot: DIMM #1
             size: 256MB
             width: 64 bits
        *-bank:1
             description: SODIMM DDR Synchronous
             physical id: 1
             slot: DIMM #2
             size: 256MB
             width: 64 bits
     *-pci
          description: Host bridge
          product: 82855PM Processor to I/O Controller
          vendor: Intel Corporation
          physical id: 100
          bus info: pci@0000:00:00.0
          version: 03
          width: 32 bits
          clock: 33MHz
          configuration: driver=agpgart-intel module=intel_agp
        *-pci:0
             description: PCI bridge
             product: 82855PM Processor to AGP Controller
             vendor: Intel Corporation
             physical id: 1
             bus info: pci@0000:00:01.0
             version: 03
             width: 32 bits
             clock: 66MHz
             capabilities: pci normal_decode bus_master
           *-display
                description: VGA compatible controller
                product: Radeon R250 [Mobility FireGL 9000]
                vendor: ATI Technologies Inc
                physical id: 0
                bus info: pci@0000:01:00.0
                version: 01
                width: 32 bits
                clock: 66MHz
                capabilities: agp agp-2.0 pm vga bus_master cap_list
                configuration: latency=128 mingnt=8
        *-usb:0
             description: USB Controller
             product: 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1
             vendor: Intel Corporation
             physical id: 1d
             bus info: pci@0000:00:1d.0
             version: 01
             width: 32 bits
             clock: 33MHz
             capabilities: uhci bus_master
             configuration: driver=uhci_hcd latency=0 module=uhci_hcd
           *-usbhost
                product: UHCI Host Controller
                vendor: Linux 2.6.20-fw4 uhci_hcd
                physical id: 1
                bus info: usb@2
                logical name: usb2
                version: 2.06
                capabilities: usb-1.10
                configuration: driver=hub maxpower=0mA slots=2 speed=12.0MB/s
        *-usb:1
             description: USB Controller
             product: 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2
             vendor: Intel Corporation
             physical id: 1d.1
             bus info: pci@0000:00:1d.1
             version: 01
             width: 32 bits
             clock: 33MHz
             capabilities: uhci bus_master
             configuration: driver=uhci_hcd latency=0 module=uhci_hcd
           *-usbhost
                product: UHCI Host Controller
                vendor: Linux 2.6.20-fw4 uhci_hcd
                physical id: 1
                bus info: usb@3
                logical name: usb3
                version: 2.06
                capabilities: usb-1.10
                configuration: driver=hub maxpower=0mA slots=2 speed=12.0MB/s
        *-usb:2
             description: USB Controller
             product: 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3
             vendor: Intel Corporation
             physical id: 1d.2
             bus info: pci@0000:00:1d.2
             version: 01
             width: 32 bits
             clock: 33MHz
             capabilities: uhci bus_master
             configuration: driver=uhci_hcd latency=0 module=uhci_hcd
           *-usbhost
                product: UHCI Host Controller
                vendor: Linux 2.6.20-fw4 uhci_hcd
                physical id: 1
                bus info: usb@4
                logical name: usb4
                version: 2.06
                capabilities: usb-1.10
                configuration: driver=hub maxpower=0mA slots=2 speed=12.0MB/s
              *-usb
                   description: Mouse
                   product: USB Receiver
                   vendor: Logitech
                   physical id: 1
                   bus info: usb@4:1
                   version: 9.10
                   capabilities: usb-1.10
                   configuration: driver=usbhid maxpower=50mA speed=1.5MB/s
        *-usb:3
             description: USB Controller
             product: 82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller
             vendor: Intel Corporation
             physical id: 1d.7
             bus info: pci@0000:00:1d.7
             version: 01
             width: 32 bits
             clock: 33MHz
             capabilities: pm debug ehci bus_master cap_list
             configuration: driver=ehci_hcd latency=0 module=ehci_hcd
           *-usbhost
                product: EHCI Host Controller
                vendor: Linux 2.6.20-fw4 ehci_hcd
                physical id: 1
                bus info: usb@1
                logical name: usb1
                version: 2.06
                capabilities: usb-2.00
                configuration: driver=hub maxpower=0mA slots=6 speed=480.0MB/s
        *-pci:1
             description: PCI bridge
             product: 82801 Mobile PCI Bridge
             vendor: Intel Corporation
             physical id: 1e
             bus info: pci@0000:00:1e.0
             version: 81
             width: 32 bits
             clock: 33MHz
             capabilities: pci normal_decode bus_master
           *-firewire
                description: FireWire (IEEE 1394)
                product: IEEE 1394 Host Controller
                vendor: VIA Technologies, Inc.
                physical id: 0
                bus info: pci@0000:02:00.0
                version: 80
                width: 32 bits
                clock: 33MHz
                capabilities: pm ohci bus_master cap_list
                configuration: driver=ohci1394 latency=128 maxlatency=32 module=ohci1394
           *-network:0
                description: Ethernet interface
                product: RTL-8139/8139C/8139C+
                vendor: Realtek Semiconductor Co., Ltd.
                physical id: 1
                bus info: pci@0000:02:01.0
                logical name: eth0
                version: 20
                serial: 00:02:3f:6b:c8:66
                size: 100MB/s
                capacity: 100MB/s
                width: 32 bits
                clock: 33MHz
                capabilities: pm bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd autonegotiation
                configuration: autonegotiation=on broadcast=yes driver=8139cp driverversion=1.3 duplex=full ip=192.168.0.5 latency=128 link=yes maxlatency=64 mingnt=32 module=8139cp multicast=yes port=MII speed=100MB/s
           *-network:1 UNCLAIMED
                description: Network controller
                product: PRO/Wireless LAN 2100 3B Mini PCI Adapter
                vendor: Intel Corporation
                physical id: 2
                bus info: pci@0000:02:02.0
                version: 04
                width: 32 bits
                clock: 33MHz
                capabilities: pm cap_list
                configuration: latency=128 maxlatency=34 mingnt=2
           *-pcmcia
                description: CardBus bridge
                product: CB1410 Cardbus Controller
                vendor: ENE Technology Inc
                physical id: 4
                bus info: pci@0000:02:04.0
                version: 01
                width: 32 bits
                clock: 33MHz
                capabilities: pcmcia bus_master cap_list
                configuration: driver=yenta_cardbus latency=176 maxlatency=5 mingnt=192 module=yenta_socket
        *-isa
             description: ISA bridge
             product: 82801DBM (ICH4-M) LPC Interface Bridge
             vendor: Intel Corporation
             physical id: 1f
             bus info: pci@0000:00:1f.0
             version: 01
             width: 32 bits
             clock: 33MHz
             capabilities: isa bus_master
             configuration: latency=0
        *-ide
             description: IDE interface
             product: 82801DBM (ICH4-M) IDE Controller
             vendor: Intel Corporation
             physical id: 1f.1
             bus info: pci@0000:00:1f.1
             version: 01
             width: 32 bits
             clock: 33MHz
             capabilities: ide bus_master
             configuration: driver=PIIX_IDE latency=0
           *-ide:0
                description: IDE Channel 0
                physical id: 0
                bus info: ide@0
                logical name: ide0
                clock: 33MHz
              *-disk
                   description: ATA Disk
                   product: HITACHI_DK23FA-40
                   vendor: Hitachi
                   physical id: 0
                   bus info: ide@0.0
                   logical name: /dev/hda
                   version: 00M5A0A0
                   serial: 2SH719
                   size: 37GB
                   capacity: 37GB
                   capabilities: ata dma lba iordy smart security pm apm partitioned partitioned:dos
                   configuration: apm=off mode=udma5 smart=on
                 *-volume:0
                      description: Linux filesystem partition
                      physical id: 1
                      bus info: ide@0.0,1
                      logical name: /dev/hda1
                      capacity: 14GB
                      capabilities: primary
                 *-volume:1
                      description: Extended partition
                      physical id: 2
                      bus info: ide@0.0,2
                      logical name: /dev/hda2
                      size: 1474MB
                      capacity: 1474MB
                      capabilities: primary extended partitioned partitioned:extended
                    *-logicalvolume
                         description: Linux swap / Solaris partition
                         physical id: 5
                         logical name: /dev/hda5
                         capacity: 1474MB
                         capabilities: nofs
                 *-volume:2
                      description: Linux filesystem partition
                      physical id: 3
                      bus info: ide@0.0,3
                      logical name: /dev/hda3
                      capacity: 20GB
                      capabilities: primary
           *-ide:1
                description: IDE Channel 1
                physical id: 1
                bus info: ide@1
                logical name: ide1
                clock: 33MHz
              *-cdrom
                   description: DVD reader
                   product: SD-R2512
                   physical id: 0
                   bus info: ide@1.0
                   logical name: /dev/hdc
                   version: 1A04
                   serial: 144F302125
                   capabilities: packet atapi cdrom removable nonmagnetic dma lba iordy audio cd-r cd-rw dvd
                   configuration: status=ready
                 *-disc
                      physical id: 0
                      logical name: /dev/hdc
        *-serial
             description: SMBus
             product: 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller
             vendor: Intel Corporation
             physical id: 1f.3
             bus info: pci@0000:00:1f.3
             version: 01
             width: 32 bits
             clock: 33MHz
             configuration: driver=i801_smbus latency=0 module=i2c_i801
        *-multimedia
             description: Multimedia audio controller
             product: 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller
             vendor: Intel Corporation
             physical id: 1f.5
             bus info: pci@0000:00:1f.5
             version: 01
             width: 32 bits
             clock: 33MHz
             capabilities: pm bus_master cap_list
             configuration: driver=Intel ICH latency=0 module=snd_intel8x0
        *-communication
             description: Modem
             product: 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller
             vendor: Intel Corporation
             physical id: 1f.6
             bus info: pci@0000:00:1f.6
             version: 01
             width: 32 bits
             clock: 33MHz
             capabilities: pm generic bus_master cap_list
             configuration: driver=Intel ICH Modem latency=0 module=snd_intel8x0m
  *-network DISABLED
       description: IEEE1394 interface
       physical id: 1
       logical name: eth1
       serial: 00:02:3f:41:4a:00
       capabilities: ieee1394 physical
       configuration: broadcast=yes driver=eth1394 multicast=yes

Multimedia Keys

Once again, there is more than one way to setup your multimedia keys under linux. I'll show you three way to achieve this. 1 - under KDE, fast but not complete. 2 - hard way, for those who wants to know low level commands etc. 3 - keytouchd, easier and we can configure almost all multimedia keys.

Under KDE

There is a user level very easy way to configure the multimedia keyboard : Open the KDE control center, then select regional settings / keyboard. There, you can choose a keyboard. I don't know which one is the most appropriate, but for the sound (mute, level up and down) almost every multimedia model is ok. For example, I've choosen 'Super power multimedia keyboard', and Volume keys works well. File:Frug-mulkeys-fr.png

Preparation

French people may have a first look here http://lea-linux.org/cached/index/Hardware-hard_autres-clavier_multimedia.html

We have to install xev in order to learn keycodes of multimedia keys :

# pacman -S xev xmodmap

Now let's have a log to those keycodes

# xev | grep keycode | uniq | tee xevents

Run this command, then press some multimedia keys in a given order. Don't forget to position the mouse pointer on the small window that has appeared. When finished, close this window. For the nx7010, I press VolumeIncrease, VolumeDecrease, Mute keys in that order and had this result :

# cat xevents

.

state 0x0, keycode 176 (keysym 0x0, NoSymbol), same_screen YES,
state 0x0, keycode 176 (keysym 0x0, NoSymbol), same_screen YES,
state 0x0, keycode 174 (keysym 0x0, NoSymbol), same_screen YES,
state 0x0, keycode 174 (keysym 0x0, NoSymbol), same_screen YES,
state 0x0, keycode 160 (keysym 0x0, NoSymbol), same_screen YES,
state 0x0, keycode 160 (keysym 0x0, NoSymbol), same_screen YES,

What is interresting here are the keycodes, here are the ones I've fetch for the nx7010 laptop :

176 : Volume Increase
174 : Volume Decrease
160 : Mute
162 : Play
144 : Prev
153 : Next
223 : Sleep

Then, we have to edit a xmodmaprc file and add the symbolic name of these keys. A file containing all known symbols is /usr/share/X11/XKeysymDB (found with a search on XKeysymDB on frugalware packages page). Select only symbols starting by XF86.

In my case, the name of the keys are

 176 : XF86AudioRaiseVolume
 174 : XF86AudioLowerVolume
 160 : XF86AudioMute

In case you cannot find a valuable name in XKeysymDB, just select a unused symbol.

Installation of the mapping (for users)

Now you have all information to edit your ~/.xmodmaprc file

 $ vim ~/.xmodmaprc

And here the content of this file in my case (nx7010 laptop).

keycode 176 = XF86AudioRaiseVolume
keycode 174 = XF86AudioLowerVolume
keycode 160 = XF86AudioMute

Here we are. We now can install the new mapping :

$ xmodmap ~/.xmodmaprc

Yeah !! When I press any of the volume keys, that works !

A simpler way to do this

Frugalware includes, at least in the -current branch, the keytouch tool :

# pacman -S keytouch

Unfortunately, there is no definition file for this Laptop, so I've take the closest file and after some minor changes, wrote a specific file for this laptop. You want to save this file at this place (filename is important) :

"/usr/share/keytouch/keyboards/Compaq Nx7010 Integrated keyboard.Hp"

Now open a graphic session using any user, and run this :

# keytouch

You will now find the Compaq nx7010 keyboard. Select it, configure actions, and make some tests. Almost all default actions is relevant, except for WWW in my case (I prefer firefox). This can be easilly change. As an exercice, I let you find the tab where to change the default :-).

Once all that is done, the last step is to install keytouch as a service for the next reboot (untested yet).

# service keytouch add

Now enjoy !

The XML keybord configuration file

Copy this in the XML file mentionned above (as root) :

<keyboard>
	<file-info>
		<syntax-version>1.0</syntax-version>
		<last-change format="%d-%m-%Y">05-04-2007</last-change>
		<author>Biot Francois (from France)</author>
	</file-info>
	<keyboard-info>
		<keyboard-name>
			<manufacturer>Hp</manufacturer>
			<model>Compaq Nx7010 Integrated keyboard</model>
		</keyboard-name>
	</keyboard-info>
	<key-list>
		<key>
			<name>Lock Screen</name>
			<scancode>223</scancode>
			<keycode>SLEEP</keycode>
			<default-action action-type="plugin">
        			<plugin-name>Lock Screen</plugin-name>
        			<plugin-function>Lock Screen</plugin-function>
			</default-action>
		</key>
		<key>
			<name>My Home</name>
			<scancode>178</scancode>
			<keycode>HOMEPAGE</keycode>
			<default-action action-type="plugin">
				<plugin-name>WWW Browser</plugin-name>
				<plugin-function>Home</plugin-function>
			</default-action>
		</key>
		<key>
			<name>Mute</name>
			<scancode>160</scancode>
			<keycode>MUTE</keycode>
			<default-action action-type="plugin">
				<plugin-name>Amixer</plugin-name>
				<plugin-function>Mute</plugin-function>
			</default-action>
		</key>
		<key>
			<name>Volume Down</name>
			<scancode>174</scancode>
			<keycode>VOLUMEDOWN</keycode>
			<default-action action-type="plugin">
				<plugin-name>Amixer</plugin-name>
				<plugin-function>Volume decrease</plugin-function>
			</default-action>
		</key>
		<key>
			<name>Volume Up</name>
			<scancode>176</scancode>
			<keycode>VOLUMEUP</keycode>
			<default-action action-type="plugin">
				<plugin-name>Amixer</plugin-name>
				<plugin-function>Volume increase</plugin-function>
			</default-action>
		</key>
		<key>
			<name>Audio play/pause</name>
			<scancode>162</scancode>
			<keycode>PLAYPAUSE</keycode>
			<default-action action-type="plugin">
				<plugin-name>XMMS</plugin-name>
				<plugin-function>Play/Pause</plugin-function>
			</default-action>
		</key>
		<key>
			<name>Audio stop</name>
			<scancode>164</scancode>
			<keycode>STOP</keycode>
			<default-action action-type="plugin">
				<plugin-name>XMMS</plugin-name>
				<plugin-function>Stop</plugin-function>
			</default-action>
		</key>
		<key>
			<name>Audio previous</name>
			<scancode>144</scancode>
			<keycode>PREVIOUSSONG</keycode>
			<default-action action-type="plugin">
				<plugin-name>XMMS</plugin-name>
				<plugin-function>Previous</plugin-function>
			</default-action>
		</key>
		<key>
			<name>Audio next</name>
			<scancode>153</scancode>
			<keycode>NEXTSONG</keycode>
			<default-action action-type="plugin">
				<plugin-name>XMMS</plugin-name>
				<plugin-function>Next</plugin-function>
			</default-action>
		</key>
	</key-list>
</keyboard>

Testing all those new functions

I'm going to play with amarok in order to test the keys

# pacman -S amarok

Miscelaneous

Ntp

I like to keep my computer at the right time using ntp :

# pacman -S ntp
Pacman asks to remove openntp, the open source ntp server which is not needed for me, and then installs ntp.
# ntpdate ntp-sop.inria.fr
This command set the time (french) correctly on my computer.
It is possible to add this command during the initialization of frugalware linux, right after the network is up.

User notes

Add your comments here

For convenience, if you have remarks or questions, you may put them here. I'll try to find any solution and merge with this page (you may of course edit the page yourself !!!).

|
|
|
Personal tools
Namespaces
Variants
Actions