Fedora Core 2 on a HP / Compaq Presario R3211 ( R3000 )
This is a weird piece of hardware.
I wanted to get it up and running with as few tweaks as possible, since
it belongs to a user who doesn't aspire to become a linux kernel hacker
yet.
I first tried the Linux distro the user wanted, Cern Linux 7.3.4 (based
on RedHat 7.3). Severe problems with disk and network controllers. I
then tried Fedora Core 2 instead. Much better, except I lost the
mousepad and the text consoles.
After googling a bit I found 2 possibilities. Either patch the alps
driver or upgrade to 2.6.9 kernel where the mousepad can be reprobed
after usb is done. The first solution gives real support for all
features of the mousepad, the second one just emulates a PS/2 mouse.
For the reasons given above I went with the last solution. When 2.6.10
kernel arrives the alps driver has hopefully been updated as well.
How to install 2.6.9 kernel on Fedora Core 2
RedHat have changed the way kernel source is distributed. There is also
a package called glibc-kernheaders that will let us compile kernel
modules without having the full kernel source installed. This is how to
get the kernel up and running, enabling kernel modules to be built (but
without installing full kernel source)
- Edit /etc/yum.conf and remove comments on the [development] block
I used baseurl=ftp://sunsite.uio.no/linux/Fedora/core/development/$basearch/
instead of the default repository after downloading of the kernel had
failed about 10 times.
- yum install kernel mkinitrd glibc-kernheaders
When I did this the package called udev-debuginfo was fubar, so I had
to add --exclude udev-debuginfo as the first argument to yum.
- yum upgrade gcc
Needed, as you must recompile kernel modules using the same compiler as
the kernel.
- Comment out the [development] block in /etc/yum.conf again.
Getting the mousepad working
This fix requires at least 2.6.9 kernel. Add the following file as
/etc/rc5.d/S00mousepad
<>#!/bin/sh
#
># Workaround to reset mousepad until 2.6.10 kernel fixes the problems
# and introduce real support for this alps device
#
# and introduce real support for this alps device
#
# birger 20041103
echo -n reconnect > /sys/bus/serio/devices/serio3/driver
Remember to make it executable.
Getting text consoles back
I installed the drivers from nvidia, and the problems with the
screendrivers disappeared. tuxracer also became useable. :-)
Browse to http://www.nvidia.com/
and find the linux graphics drivers in the drivers section. The name of
the file I got was NVIDIA-Linux-x86-1.0-6111-pkg1.run, and it needed a
patch to compile with this kernel.
If yours is newer, try running it and building a module. If it fails,
look in /var/log/messages. If you find a message complaining about
"nvidia: Unknown symbol __VMALLOC_RESERVE" follow this procedure:
Extract the archive using sh NVIDIA-Linux-x86-1.0-6111-pkg1.run
--extract-only
cd NVIDIA-Linux-x86-1.0-6111-pkg1/usr/src/nv
edit nv.c and add the following line at the top
unsigned int __VMALLOC_RESERVE;
cd ../../..
run nvidia-installer and it should work.
You have to change your /etc/X11/xorg.conf file to use the new driver.
Here is my file (I think I snarfed it from
http://home.gagme.com/greg/linux/xorg.conf.r3000z, but that site is
down while I write this). I have changed the resolution, the
keyboard layout and added a modeline generated with gtf.
# XFree86 4 configuration created by pyxf86config
Section "ServerLayout"
Identifier "Default Layout"
Screen "WXGA
Screen"
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection
Section "Files"
# RgbPath is the location of the RGB database. Note, this is the
name of the
# file minus the extension (like ".txt" or ".db"). There is
normally
# no need to change the default.
# Multiple FontPath entries are allowed (they are concatenated together)
# By default, Red Hat 6.0 and later now use a font server independent of
# the X server to render fonts.
RgbPath "/usr/X11R6/lib/X11/rgb"
FontPath "unix/:7100"
EndSection
Section "Module"
Load "dbe"
Load "extmod"
Load "fbdevhw"
Load "glx"
Load "record"
Load "freetype"
Load "type1"
# Load "dri"
EndSection
Section "ServerFlags"
Option "AllowMouseOpenFail" "yes"
EndSection
Section "InputDevice"
# Specify which keyboard LEDs can be user-controlled (eg, with xset(1))
# Option
"Xleds" "1 2 3"
# To disable the XKEYBOARD extension, uncomment XkbDisable.
# Option "XkbDisable"
# To customise the XKB settings to suit your keyboard, modify the
# lines below (which are the defaults). For example, for a
non-U.S.
# keyboard, you will probably want to use:
# Option
"XkbModel" "pc102"
# If you have a US Microsoft Natural keyboard, you can use:
# Option
"XkbModel" "microsoft"
#
# Then to change the language, change the Layout setting.
# For example, a german layout can be obtained with:
# Option
"XkbLayout" "de"
# or:
# Option
"XkbLayout" "de"
# Option
"XkbVariant" "nodeadkeys"
#
# If you'd like to switch the positions of your capslock and
# control keys, use:
# Option
"XkbOptions" "ctrl:swapcaps"
# Or if you just want both to be control, use:
# Option
"XkbOptions" "ctrl:nocaps"
#
Identifier "Keyboard0"
Driver "kbd"
#
Option "XkbModel" "pc105"
#
Option "XkbLayout" "us"
Option "XkbModel" "pc105"
Option "XkbLayout" "no"
EndSection
# Doesn't work
# Section "InputDevice"
# Identifier "Mouse0"
#
Driver "synaptics"
#
Option "CorePointer"
#
Option "Protocol" "event"
#
Option "Device" "/dev/input/mice"
#
Option "ZAxisMapping" "4 5"
#
Option "Emulate3Buttons" "no"
#EndSection
# Original config
Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "IMPS/2"
Option "Device" "/dev/input/mice"
Option "ZAxisMapping" "4 5"
Option "Emulate3Buttons" "true"
EndSection
# Also allow USB mouse
Section "InputDevice"
Identifier "USB Mouse"
Driver "mouse"
Option
"SendCoreEvents" "true"
Option
"Device"
"/dev/input/mice"
Option
"Protocol"
"ImPS/2"
Option
"Emulate3Buttons" "true"
Option
"ZAxisMapping" "4
5"
EndSection
Section "Modes"
Identifier "16:10"
# 1024x768 @ 60.00 Hz (GTF)
hsync: 47.70 kHz; pclk: 64.11 MHz
Modeline "1024x768"
64.11 1024 1080 1184 1344 768 769 772 795 -HSync
+Vsync
EndSection
Section "Monitor"
Identifier
"Monitor0"
VendorName
"Monitor Vendor"
ModelName
"Unknown monitor"
UseModes "16:10"
HorizSync
30-90
VertRefresh 50-75
Option
"UseEdidFreqs" "1"
Option
"FlatPanelProperties" "Scaling =
aspect-scaled"
Option "dpms"
EndSection
# Non-twinview setup
Section "Device"
Identifier "NVidia GeForce4 420 Go 32M"
Driver "nvidia"
Option "NvAgp" "3"
Option
"UseEdidFreqs" "1"
Option
"FlatPenelProperties" "Scaling = aspect-scaled"
EndSection
# This monitor is only needed in the non-twinview setup
Section "Monitor"
Identifier "WXGA LCD"
UseModes "16:10"
HorizSync 30-90
VertRefresh 50-75
Option
"UseEdidFreqs" "1"
Option
"FlatPanelProperties" "Scaling = aspect-scaled"
Option "dpms"
EndSection
Section "Screen"
Identifier "WXGA Screen"
Device "NVidia GeForce4 420 Go 32M"
Monitor
"WXGA LCD"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1024x768"
Virtual 1024 768
EndSubSection
EndSection
Section "DRI"
Group 0
Mode 0666
EndSection