Linux on a HP Pavilion ZE4360
Last updated: 12.12.2003, by Bernhard Steiner, mailto:email@example.com
Some annotations on Windows
on a HP Pavilion ZE4360
This how-to gives some configuration steps on how to set up Linux
(in my case Debian
GNU/Linux 3.0) on the Hewlett-Packard notebook HP Pavilion ZE4360ea.
Some technical details of this notebook:
See the complete output of "lspci -vv" here.
- mobile AMD Athlon 4 (XP) 2400+ ("Barton") actually
running with 1789 MHz, 128 kB L1, 512 kB L2 cache, 266 MHz DDR
- 512 MB DDR-SDRAM with 266 MHz FSB speed (on
2 seperate modules, wow they are Infineon!)
- 60 GB HDD Toshiba MK6021GAS (see
what hdparm -I says)
- CD-R/W-(24x/10x), DVD(4x)-Combo drive (see
what hdparm -I says)
- integrated ATI Radeon Mobility IGP 320M VGA
adapter with shared memory (16-128 MB)
- SXGA+ TFT display with a resolution of 1400x1050
pixels (not only 1024x768 )
- ALi chipset with integrated audio controller
- integrated V92 modem
- 1x PCMCIA CardBus slot (looks like two slots,
but it's only one also for double-height cards)
- 3,5" floppy drive, of course
- integrated 10/100 MBit ethernet controller
- integrated 11 MBit IEEE 802.11b WLAN (wireless
- other connectors: 2x USB 1.1, 1x IEEE
1394 Firewire, 1x SVideo-out, 1x VGA,
1x parallel, 1x serial, 1x HP docking station connector
As this is the AMD-version of the HP Pavilion
ZE4xxx notebook series, there are a few things you should think
about before deciding for this specific notebook:
It's getting quite hot after running a while (not
only the battery and the bottom of the notebook but also the power
pack will get really hot). As a result of this typical AMD heat-effect
the battery "only" lasts for about 2-3 hours (depending
on what you're doing and what components are active. Hint: Switch
off WLAN if you don't need it, this results in a noticeably longer
A known but yet not explained problem of the HP ZE43xxx series
when running on battery (and only in that case!) the notebook produces
a very high but not very loud tone when pressing
a key or moving the mouse. I read several articles on the net concerning
this phenomenon but there seems to be no solution at this moment.
I find it not very disturbing, but of course, this is subjectively.
UPDATE: Thanks to the
recent BIOS update version KA.M 1.50 for the HP 4360EA this
problem is obsolete. Just download and flash the new BIOS and the
annoying tone is history! Great job, HP! I didn't know what can
be fixed with a simple BIOS update.
Ignoring these small problems you get an excellent equipped
(look at that list above!) and very fast notebook from the consumer
series of HP which is faster than most other currently available
Intel-based notebooks. And all this for a very reasonable price,
especially if you compare prices a bit on the internet. I ordered
mine on the german website technikdirekt.de
for EUR 1420,- and got it after only 2 days. Good job!
Note that this version of the HP Pavilion ZE4300 series doesn't
come with an IrDA interface, which is the only bad thing
on this notebook I discovered up to now (I think the ZE4385 would
Up to now I'm very very happy with this notebook, even though installing
Linux and as well Win2k/XP wasn't that easy (see also the page
on installing Win on this notebook).
The following steps describe a reasonable order for installing
3.0 on the HP Pavilion ZE4360ea, beginning with compiling a
suitable kernel and then going on to the more and more "nice-to-have"
Kernel with ACPI &
Most actual linux distributions ship with common and often handy
kernel configurations. Anyway, if you want to enhance your kernel
and add very specific features like software suspending, you won't
come around building your own kernel. As a purist I recommend this
in any case, because you don't have to drag around features that
others meant to be helpful for you. Decide this on your own ;-)
The following lines describe step-by-step how to build a kernel
with ACPI and software suspend support. ACPI is needed in order
to watch your battery fitness e.g. or to use the brightness buttons
(fn-f1, fn-f2) on your notebook. Software suspend is a very sophisticated
feature you probably know very well from Windows, there it's called
"hibernate": it writes your whole memory to the hard disk before
turning off the power. When you startup your machine again, memory
is restored from disk again so that you can continue working exactly
where you stopped before.
First, get a actual kernel source (latest stable release is 2.4.21,
which I took and used for the example here, get
it here). Apply the ACPI
patch (version acpi-20030619) first and then the software
suspend patch (version 1.0-2.4.21):
|$ cd /usr/src
$ tar xfj linux-2.4.21.tar.bz2
$ ln -s linux-2.4.21 linux
$ ln -s linux a # as the patch wants to get the source files
in a directory called "a"
$ ln -s linux b
$ gunzip -c acpi-20030619-2.4.21.diff.gz | patch -p0
$ tar xfzv swsusp-1.0-2.4.21.tar.gz
$ ln -s linux linux-2.4.21-acpi20030619
$ ln -s linux linux-2.4.21-acpi20030619-1.0-pre17
$ bunzip2 -c swsusp-1.0-2.4.21/acpi-option.bz2 | patch -p0
# to be able to sw suspend using "echo -n 4 > /proc/acpi/sleep"
$ bunzip2 -c swsusp-1.0-2.4.21/swsusp-1.0-2.4.21.bz2 | patch
Now go to the kernel source dir, configure your kernel (make
menuconfig), choose all you need, especially "General setup",
"Software Suspend" (if applied) and "ACPI Support":
[*] ACPI Support
<*> AC Adapter
<*> Thermal Zone
and build your kernel and modules (make dep, make bzImage,
make modules, make modules_install, make install).
For a more detailed manual on how to build a kernel in general, take
a look at the kernel HowTo.
You can also download my kernel
config file and load it using the menu item "Load an Alternate
As append-line in lilo.conf I'm using the following:
append="hdc=ide-scsi nomce idebus=66 resume=/dev/hda3"
The latter sets the resume partition for software suspend to /dev/hda3,
my actual swap partition. If you don't add this kernel parameter,
software suspend will not work!
To set the console to a resolution of 1280x1024, add this line to
A full listing of all available VESA modes for the standard console
can be downloaded here.
After installing the kernel with the ACPI features enabled, the
power on/off-button is automatically mapped to a system halt, no
more to the cruel "zzap-the-power-is-really-off". Also
the brightness-buttons already worked with only ACPI turned on.
Using the ACPI daemon (acpid), you can assign special behaviours
to the power button and also to the lid switch. E.g. add a file
called /etc/acpi/events/lid with the following contents in
order to hibernate when closing the lid:
What you can do in any case: Run your XFree server in VESA mode,
this works for sure. Disadvantage: It's very slow, especially when
running a resolution of 1400x1050 which is supported by the HP Pavilion
ZE4360. The resolution of 1400x1050 is used even with or without
a special ModeLine for this resolution (ModeLine "1400x1050"
107.85 1400 1448 1500 2000 1050 1058 1070 1150 ) .
To get the touchpad working I've just chosen the ImPS/2 protocol
and even the scrollarea worked at once!! Great!
For configuration of the special OneToch keys see
My config file XF86Config-4
running XFree 4.3.0 in VESA mode.
From version 188.8.131.52 on XFree supports the ATI Radeon Mobility
graphics chip which is used in the HP Pavilion ZE4360. In principle,
that means 2D graphics are accelerated, 3D graphics NOT! So if you're
happy with only 2D acceleration you have finished now. Just use
the option Driver "radeon" in the device section
of your XF86Config-4 (take
a look at my example XFree configuration file).
If you're also keen on 3D acceleration support, you will have to
take on of the latest developement versions from XFree, starting
with XFree 184.108.40.206 and patch the sources before compiling it by
hand. So try this solution only if you are familiar with patching
sources, compiling XFree and so on. What you also have to do: Patch
your kernel and build a DRM kernel module for your ATI Radeon card.
Only after having loaded the DRM kernel module, XFree can use DRI
(direct rendering interface), which takes over the part of 3D acceleration.
Here's how I did it:
Network adapters (ethernet
- Ethernet controller: this is chip called National
Semiconductor DP83815, so only load this kernel module and it's
OK: modprobe natsemi
- WLAN (wireless LAN) interface: download, compile
and install the latest (stable) version of the linux-wlan-ng
package including the corresponding kernel modules. You only
need to build the prism2_pci kernel module, not the ..._usb, nor
the ..._pcmcia. (make all, make install) After having
built and installed the modules (prism2_pci.o and p80211.o) and
the wlan scripts (wlanctl-ng, ...) you should configure /etc/wlan/wlan.conf
(you can take mine as a sample)
If your distribution (mine: debian) already provided a start/stop-script,
you're now able to start wlan by typing /etc/init.d/wlan start.
Probably you will also need to edit your /etc/network/interfaces
and do a ifup wlan0.
Currently I'm using my HP Pavilion in combination with the D-Link
DWL900AP+ access point with 128 bit WEP encryption and shared
key enabled. Works fine, except for the rather poor distances
you can bridge. Maybe the internal WLAN interface of the notebook
has a very poor antenna...
Update: Bought a 12 dbi
antenna (from www.der-wireless-shop.de) for the access point
and now got much higher distances covered.
Important: Very soon you should turn the option
in bios "USB legacy support" to OFF, otherwise your machine will
crash when trying to load a USB kernel module.
After disabling the legacy support you only need to load the kernel-module
"usb-ohci" (modprobe usb-ohci) and that's it. According
the USB devices you have, you might probably want to setup usbmgr
or hotplug for automatically loading the right module when plugging
in an USB device. But that's
another story...! I tested my Sony Clie on the USB port (with
module usb-storage for accessing the MemoryStick) and it worked
Quite easy: just load the module "trident" (modprobe trident)
and it's OK.
If you want to use the cool blue lit keys on your notebook for
launching your favorite email program, browser and so on, you have
to use at least the kernel module named "omnibook" (get
it here: "omnibook kernel module" and "omke-1.0"). Compile the
omnibook kernel module according to doc/INSTALL in the omnibook-dir.
Compile the omnibook module seperatly and don't do a "make kpatch",
as it may screw up your kernel source dir (it did so for mine).
After successfully compiling the module load it with
OneTouch keys should already be enabled by default, but we want
to go really sure, so enable them explicitly by using the little
perl-script omke.pl (get
it here: "omke-1.0")
As a first shot the OneTouch keys now produce so called scancodes.
To use them as you want, you have to assign them also "keycodes".
I did this using setkeycodes in a small sript, which I
call at bootup time straight after loading the omnibook-module.
Also put the "enable OneTouch keys" directive here. See your Linux
distributions doc how to add a script at bootup time (e.g. for debian:
put it in /etc/init.d and make a link to it in the according
runlevel-dirs e.g. /etc/rc5.d/S45omke)
OneTouch for KDE (tested with KDE version
OK, now all the keys are already available under KDE control
center for assigning it e.g. to reboot, logoff, etc. First,
choose "Hewlett-Packard Omnibook XE4xxx and ZE4xxx" as your
keyboard model in KDE control center (module "Keyboard layout").
And then you will be able to assign the mentioned actions like
logoff etc. in the module "Keyboard shortcuts".
Annotation: For some unknown reason the KDE assigned keys sometimes
work for me and sometimes not. :-( Didn't find a cause yet.
If you have a solution, let
OneTouch for X in general
In order to start a real program when pressing one of the keys,
another program is needed, e.g. "hotkeys" which comes e.g. with
Debian woody. Here are the customized config files for hotkeys:
/etc/hotkeys.conf (almost original,
just enabled the HP Pavilion definition as default definition
and the OSD)
This notebooks has an integrated Conexant HSF softmodem chip,
the suitable driver (for HSF chipsets), which
is available only directly from Conexant and install it. This requires
that you already have a configured kernel source. See Conexant driver
install file, very easy and worked at once for me.
Great improvement for this section: PCMCIA now works completely,
thanks to Nocho!! Take
a look at his howto and setup PCMCIA according to his document.
Finally it also worked for me running kernel 2.4.21 and pcmcia-cs