Partitioning the Harddrive
Installing Debian Woody with Linux 2.4.18, 2.4.2, 2.6.0-test
Framebuffer and LILO
Omnibook Kernel Module
Serial Port USB dongle
Multiple streams with "esd"
This page describes my experiences with the HP Omnibook XE3 GF (F3888H) notebook, from a Debian Woody / Linux user's point of view.
Update: I meanwhile updated to Debian Sarge, as the XFree86-version 4.2.1 available there has native accelerated support for the I830M graphics chipset.
|CPU:||Mobile P3 1GHz|
|RAM:||256 MB RAM (see Hardware Upgrades)|
|Disk:||20 GB IBM Travelstar IC25N020ATDA04-0 (see Hardware Upgrades)|
|Display:||15" XGA TFT|
|Sound:||ESS Technology ES1988 Allegro-1|
|Modem:||ESS Technology ES2838/2839 SuperLink Modem|
|DVD/CD-RW:||Toshiba DVD-ROM SD-R2102|
Would I recommend it?
Install the base system with a custom-built kernel.
Unfortunately, with the kernel-2.2.20-based Debian CD I used I could not get the NIC to
work. (Update: I installed from a Debian-3.0-pre-release snapshot.
The final-release version of Woody ships with both a 2.2 and a 2.4 kernel based boot system.
My problems with the NIC drivers of kernel 2.2.20 thus might already be dealt with when booting and
installing with Linux 2.4 ...)
I got kernel-2.4.18.tar.gz (don't use .tar.bz2 unless you have several cd's, as for some reason I don't understand the bzip2-package is not on the first Debian-cd :(, but then again this could/should have changed too with the officially released "Debian 3.0r0" aka "Woody" images) via a seperate cd and compiled it using this config. It is definitely not perfect as I didn't have much experience with neither kernel 2.4 nor notebooks at the time of this writing, but I tried some settings. Generally spoken all of the really important hardware (except for the modem which I didn't try to configure yet) works now.
Update -- 03-01-22:
I meanwhile use Linux 2.4.20, compiled with this config.
Update -- 03-08-26:
Here's my kernel-config for 2.6.0-test4. Unfortunately, I haven't figured out yet how to get the touchpad working in X (though the kernel seems to find it at boot-time!?). Using an external USB-mouse works just fine and will have to suffice for the moment.
ACPI still doesn't seem to correctly "use" the battery, and unfortunately the Omnibook Kernel Module hasn't been ported to 2.6 yet. Thus, battery support doesn't work yet and the Onetouch keys (see below) don't work anymore. (03-11-12: The kernel module has been ported, see below.)
Nevertheless, the preemptive kernel function seems to work great: I had some troubles with 2.4.21 lately with the anacron'd "find" job a few minutes after booting the machine - it rendered the machine not-responding/useless. I think this might be due to the bad performance of notebook-harddrives. Anyway, 2.6.0-test4 performs much better here (only had one short "oink" in playing OGG-files, while having find running, unpacking the kernel-source and have Mozilla Firebird open about 20 Tabs at the same time).
(BTW: This initial 2.6.0-test4 kernel-config is still based on OSS, as I just haven't had the time to switch over to ALSA yet.)
Update -- 03-08-30:
Thanks to Patrick Ruckstuhl for his mail on the Synaptics touchpad. It should be possible to get it working with 2.6 using the Synaptics TouchPad driver for XFree86. This driver includes additional functionality, check out the homepage. (I didn't get it running just yet, but I didn't try that hard ...)
If you just want to have a plain "dumb" touchpad with 2.6 again as you had with 2.4: add "psmouse_noext" as a kernel-parameter at boot-time.
04-02-02: Here's another Synaptics-Touchpad-HOWTO.
Update -- 03-09-03:
*hmpf*. It seems praising the test4-kernel for its abilities to prevent *oink*'s when playing music was too early. As soon as the notebooks harddrive has lot's of things to do (cron's extensive "find", write 100 MB, etc.), music *oink*'s a lot really :(.
Nevertheless, late 2.4 kernels seem to suffer similarly... *double-hmpf*
Update -- 03-09-05:
*argl*. I've just realized that I can't activate DMA for the harddrive. That's probably the reason for allthe *oink*'s. I assume I simply missed an option in above's kernel-config for 2.6.0-test4 ...
Update -- 03-09-09:
2.6.0-test5 is available. I compiled my kernel using this kernel-config-2.6.0-test5 which above all includes
CONFIG_BLK_DEV_PIIX=y. DMA now works again,
so it was either a bug in 2.6.0-test4, or the PIIX-code works with this notebook's
"IDE interface: Intel Corp. 82801CAM IDE U100" too. I hope that's the
final goodbye to all the *oink*'s... ;)
ACPI still can't read the battery status (though it can read all the other information on the battery such as technical specs etc.), *hmpf*.
/proc/acpi/button/lid/LID/state holds the correct state "closed" or "open".
/proc/acpi/event shows the "sleep" button being pressed.
Update -- 03-09-13:
I finally figured out that even my Linux 2.4 configuration missed DMA-support (which probably was the reason for all those *oink*'s).
Including option Intel PIIXn chipsets support solved the problem - DMA now works again. :)
Here's the corresponding kernel-config-2.4.21.
Update -- 03-11-11:
Starting with 2.4.22 and at least up to 2.4.23-rc1, the ACPI code does not power off the notebook at the end of the shutdown process anymore. To solve this, use this little ACPI patch - it works fine here with 2.4.23-rc1.
Many thanks to Adam Kessel who posted it on the OmniBook mailing list!
Update -- 03-11-20:
Kernel 2.4.23-rc2 (and most probably later too) powers off the notebook properly out of the box.
The key options are (at least for the 2.4-based kernels):
If you want to use menuconfig, you'll either need more than the first Woody cd or the download and install the package libncurses5-dev.
Finally, compile the kernel and its modules and install them
Ubuntu Linux is a really great Debian-based Linux distribution. I've decided to give it a try as soon I had heard about it -- and have been working with it since!
The installation on the HP Omnibook XE3 GF was as easy as can be, and as
far as I remember, everything has worked out of the box -- even querying the
ACPI system for the battery status ;) ...
(The only thing I haven't tried yet is the omnibook kernel module (which should enable the hot-keys). And I'm currently using the default boot manager GRUB, which I haven't tried to get to work with the Hibernation-partition yet...)
The only notebook-related thing that should really be enhanced is that, as soon
as the notebook runs on battery power, the harddrive is spun down too
early, which results in constant power-down & power-up sequences ...
(This most probably has to do with the "powernowd" that is run by default
under Ubuntu ...)
And of course there's always the suspend-to-disk-issue ...
In order to get a cool shell using all of the 15" screen, use the framebuffer device previously compiled into the kernel.
In order for this to work, add
to the global LILO-section.
This gives you 1024x768 at 16 Bit (64k) colors.
See /usr/src/linux/Documentation/fb/vesafb.txt for details on other possible modes.
Also remember, that specifying the colors in HEX-mode only works within the lilo.conf. If you want to use a different one and add the value by yourself at the LILO-prompt, you'll have to transform the value to DEC-mode - which would result in vga=791.
I compiled the kernel with IDE-SCSI-support (which can be found in the section ATA/IDE/MFM/RLL).
Remember to also include SCSI-support for this to work - I included the following:
[y] SCSI support
[y] SCSI disk support (probabely not needed)
[y] SCSI CD-ROM support
[y] SCSI generic support
In lilo.conf, add
to the corresponding section.
You'll have to access the CD drive via SCSI now, so replace the link "/dev/cdrom -> hdc" with "/dev/cdrom -> sr0".
First of all: Here is my current XF86Config-4. <03-12-04>
Update - 02-11-13:
Debian Sarge (the current testing-branch) now has XFree86-4.2.1-packages. It is now possible to use the graphics chip in an "accelerated" mode, as well as to use DPMS to save power (which is especially interesting in combination with the omnibook-kernel-module mentioned above and described below as the screen really "shuts down" and consumes no power anymore).
Update - 02-11-29:
The new Linux kernel 2.4.20 includes DRI-support for "Intel 830M" :). (Just to be sure: DRI/DRM-stuff can be found in the "Character devices" section.)
Update - 03-01-22:
I just realized I didn't write it down before: Colour-Depth is now possible to use up to 24 bit due to the improved graphics driver in XFree86-4.2.1.
Update -- 03-02-20:
Intel seems to ship Linux graphics drivers. I haven't tried them yet, and I don't know yet what's the real difference to the XFree86-4.2.1 drivers. Nevertheless: it supports "Intel® 830M graphics-controller-based system running Red Hat 8.0 using a 'Workstation' installation" and needs XFree86 >= 4.2.0 and Kernel >= 2.4.11 to be compiled and used successfully.
Update - 03-12-04:
I've realized I've been working without DRI for already a very looong time now. Anyway, here's how to fix it:
With basically no options but "Identifier" and "Driver" in XF86Config-4's section "Device" and a color depth of 24 bpp, you will find /var/log/XFree86.0.log reporting
(==) I810(0): Will alloc AGP framebuffer: 8192 kByte
(II) I810(0): [dri] Not enough memory to contain front, back, and depth buffers.
(II) I810(0): [dri] You need at least 10240K of VideoRam for this configuration.
(II) I810(0): [dri] Disabling DRI.
The i830 graphics chipset shares its memory with normal RAM. To increase the allocated memory to the needed size, add the option "VideoRam 10240" to the section "Device" and restart X. Check X's log file for the new AGP framebuffer size and DRI being loaded successfully:
(II) I810(0): [DRI] installation complete
(II) I810(0): direct rendering: Enabled
I basically just installed tasksel's X-option, as far as I recall.
Unfortunately I had some mess when configuring it.
This was basically due to the fact that I tried it with 24bit color depth, but only 16bit seem to be supported. This seems to be due to the framebuffer only support in XFree86-4.1. IMHO it doesn't matter anyway with TFT-screens...
Using 16 bit from the beginning, everything should be a straight "walk through".
I generally used debconf to configure everything. Here's what I did:
XF86Config-4 handled by Debconf X server driver: vesa (not i810) [03-01-22: remember, for X-4.2.1, "i810" would be the right choice] User kernel framebuffer device interface: YES [...] Keyboard: pc104 -- de -- nodeadkey -- [no options] Mouse: /dev/psaux -- PS/2 Monitor _is_ LCD: Medium -- 1024x768 @ 60Hz 1024, 800, 640 -- 24 bit
Starting X resulted in "no screens found". Using "16" (bit) as default depth in /etc/X11/XF86Config-4, it should work fine.
dpkg-reconfigure xserver-xfree86 handled by debconf vesa [03-01-22: remember, for X-4.2.1, "i810" would be the right choice] enter identifier video card's bus identifier: [left it blank] use kernel fb device interface: YES amount of memory: <_blank> keyoard: xfree86 -- pc104 -- de -- nodeadkeys -- [no additional keyboard options] mouse: /dev/psaux -- PS/2 -- emulate 3 buttons: YES -- enable scroll: YES monitor: enter identifier (monitor) -- LCD -- medium -- 1024x768 @ 60 Hz -- (1024, 800, 640) -- 16 bit all modules but "xtt" 2x "write? YES"
Update - 02-11-13:
With the new X-packages (4.2.1 from Debian Sarge), it is possible to use DPMS now.
In order to avoid the problem of X crashing after a deterministic amount of time or KDE not being able to load normally, comment the following line
# Option "DPMS"
In section "Monitor" of /etc/init.d/XF86Config-4. You'll be able to have
your machine running in X as long
as you want without having to interact with it all the time ;), you can use screensavers, xlock
the machine, etc.
Thanks to Stefan for this hint!
The Omnibook Kernel Module
Many thanks to Soos Peter et al for creating such a wonderful piece of software! :)
Download and extract it, read at least .../omnibook-200x-xx-xx/doc/(README|INSTALL).
Installation is basically just compiling the source resulting in a kernel module which you just have to "install" and load.
If you use a "Debian-way self-compiled kernel", in order to correctly compile the omnibook-module, simply add the kernel's EXTRAVERSION string (see appendix of the output from uname -r, this would be "-03" with "2.4.20-03") to /usr/src/linux/Makefile, 4th line, variable EXTRAVERSION. Afterwards run make and make install.
I have the module loaded each time I boot by executing a script holding the following line:
/sbin/modprobe omnibook apmemu=1
The module (as of version 2003-01-09) most importantly for me turns off the screen as soon as it is blanked
(remember the DPMS-setting of X-4.2.1 mentioned above) and - due to the command-line parameter -
creates the file /proc/apm and hereby emulates APM-functionality. This is really a great feature
as it makes it possible to have common tools such as gkrellm use the standard APM-interface to
show you the current battery-charge.
(Remember to exclude APM from the kernel when compiling one yourself!)
Since 02-12-22 it is possible to turn the LCD backlight off and on using the simple commands "echo off > /proc/omnibook/lcd" and "echo on > /proc/omnibook/lcd".
According to the omnibook kernel module changelog,
as of version 2003-11-10 and later it supports the 2.6 kernel series now.
Though I haven't tried it yet: Many THANKS again! :)
[...] I noticed you didn't mention serial port USB dongle; it does work and works great. The one that shipped with my laptop had a HP label, (model number?) MT608-2, (serial number?) 214287. It had Windows driver but the diskette had "FTDI" on it; this donlge is supported with ftdi_sio driver. The kernel may not include this module so compilation may be necesarry (USB Support/USB Serial Converter Support/USB FTDI Single Port Serial Driver (EXPERIMENTAL)), with first selecting "Prompt for development and/or incomplete code/drivers" in "Code maturity level options". After loading the module ftdi_sio, the serial port is /dev/ttyUSB0. Verified it works with 2.4.18 kernel.
Many thanks again for this information! :)
If you want to use the four additional "Onetouch" keys (except the sleep-key which doesn't work for me as I can't determine a keycode for it), you can install linEAK:
1. Omnibook Kernel Module:
Get it working and check that the onetouch keys are enabled ("cat /proc/omnibook/onetouch").
2. Install lineakd:
apt-get install lineakd
3. Edit /etc/lineakkb.def by adding the following section:
#### HP Omnibook XE3 (4 keys) #### [HPXE3] brandname = "Hewlett-Packard" modelname = "Omnibook XE3-GF (4 keys) [KEYS] mail = 236 www = 178 arrow = 244 help = 243 [END KEYS] [END HPXE3] # end HP Omnibook XE3-GF
4. Create ~/.lineak/lineakd.conf:
# LinEAK - Linux support for Easy Access and Internet Keyboards # Copyright (c) 2001,2002 Mark Smulders < Mark@PIRnet.nl > # http://lineak.sourceforge.net # # lineakd configuration file # # example key configuration: # play = "xmms --play-pause" # eject = EAK_EJECT # # available special actions: # EAK_EJECT # EAK_VOLUP # EAK_VOLDOWN # EAK_MUTE # EAK_SLEEP # # LinEAK Configuration for Microsoft Natural Keyboard Pro USB # (generated by lineakconfig) # Global settings KeyboardType = HPXE3 CdromDevice = /dev/cdrom MixerDevice = /dev/mixer # Specific keys of your keyboard mail = "/opt/sylpheed/bin/sylpheed" www = "/opt/mozilla_start-this_max" arrow = "multi-gnome-terminal --use-factory --start-factory-server" help = "EAK_MUTE" # end lineakd.conf
5. Start lineakd:
Open an xterm and start "lineakd". Your keys should work now and do what you configured them for in your lineakd.conf.
Finally, add "lineakd" to your Gnome-startup-sequence to have it being loaded each time you enter your desktop-environment.
In order to detect the onetouch-keys' keycodes, run xev, move your mouse-cursor into the new window and press the keys one by one.
If the onetouch keys were disabled, you can enable them by executing "echo 1 > /proc/omnibook/onetouch".
A description for your normal stand-alone PC can be found here.
Be careful: Whatever commands you configure your add-on keys to run will be executed even if you locked your screen! So mind to not use these buttons with any kind of security or privacy related stuff!
The sound chip ("ESS Technology ES1988 Allegro-1" according to lspci) or the Linux driver or both only support one source of sound at a given time.
If you want to be able to play several things at once (e.g. play music and hear your instant messanger's notification sound), you can e.g. use "esd - The Enlightened Sound Daemon". This seems to be GNOME2's preferred sound daemon and is quite well integrated into the GNOME2-configuration, so use the config-tools to activate ESD at startup.
To get your applications use esd, set it as the output device:
I haven't tried it yet, sorry, but I'm placing a link here so I don't forget and will try in the (near) future. :)
Update - 06-08-18: While "Hibernation" for some reason does not work, Ubuntu 6.06 LTS's "Suspend to Disk" works perfectly fine now... :)
I've successfully replaced the original harddrive
IBM Travelstar IC25N020ATDA04-0
(20 GB, 4200 rpm, 2 MB cache) with a
(60 GB, 5400 rpm, 16 MB cache).
The reason for doing this was that the old HDD simply became too small and too slow - and I can tell, the new drive is really fast compared to the old one. :-)
If you wanna do something like this on your own too: Here's HP's description on how to install/upgrade the harddrive.
If the link is broken, mail me and I'll send you a copy of it.
But mind: While - besides this 60 GB installation - I also know of a successfull installation of a 40 GB HDD in another HP Omnibook XE3-GF, this notebook officially only supports up to 30 GB harddrives!
(Mind furthermore: The howto is for the XE3-GC actually, but I couldn't find anything that wouldn't match the GF.)
I used a 256 MB RAM SO-DIMM PC133 144pin Kingston CL3 memory, placed it into the free slot at the bottom of the notebook - and there it was: 512 MB RAM, with an installation as easy as can be.
Abstract: HP's support is great.
I've discovered the sound-chip had a malfunction in the way that when using the notebook with headphones plugged into line-out, after about 15 minutes the speakers turn on additionally to the headphones.
I contacted HP support (in Austria it's the telephone number 0810 - 00 60 80). They were very kind
and told me it's a known bug, they can repair this if I give it to them. It took HP only 4 working
days until I got the notebook back, it seems it had been mended in Manchester (UK).
everything works fine now.
Watch out!: My harddrive was totally erased by the support team installing a default Windows XP HE image!
When I got the notebook back from the above mentioned repair, as a result of changing the
whole mainboard, the <>-key did not work anymore.
HP support told me that's because of "US-keyboard" was activated on the keyboard-controller. Within a few minutes they sent me the tool "kbd_sel.exe" (as I didn't have the default install of Win XP HE anymore where I would have found the programme too). Here is a german description of how to use the programme (taken from HP support's mail) to set the UK keyboard layout again and have a working <>-key.
Update - 03-01-22:
Unfortunately, I meanwhile spilled have a cup of coffee over the right hand side to rear of the
notebook (where the NIC is connected). This finally resulted in the battery not being charged anymore
and not being used as soon as the AC-cable was disconnected (the notebook just crashed instead of
using the still charged battery).
HP again repaired the notebook quite fast... great service again!
But: HP is not cheap: as HP charges kind of a "flatrate" for every error possible (except for the really expensive change of display, it seems, but that's not something necessarily true, to my knowledge), the invoice said to pay over € 500,-.
Well, as I said, not cheap, but good.
This Heise-article lists some HP notebooks that the company offers full Linux support for. HP therefore uses a specifically adapted Ubuntu Linux version.
Intel Announces the PowerTOP Utility for Linux: "What's eating the battery life of my Linux laptop? ..."