Home Linux on an HP ze4100
Red Hat Linux on an HP Pavilion ze4100 Notebook - Hardware Configuration Print E-mail
Written by Bruce R. Copeland   
Wednesday, 07 January 2004 22:12
Article Index
Red Hat Linux on an HP Pavilion ze4100 Notebook
Hardware Configuration
Building a 2.4.23 Kernel
Graphics Configuration
Other Useful Links
All Pages


CD writers require SCSI emulation under Linux. This means the kernel needs SCSI support, and the parameter hdc=ide-scsi is required for booting. The CD/CDRW/DVD drive on this notebook reads CDs and DVDs quite well. It also writes CDs successfully, although I had trouble getting it to write a Memorex CD-RW disk a second time (eventually I had to blank the disk on another machine before I could write it again with this drive). DVD capability was tested using xine after making a /dev/dvd symlink (ln -s /dev/sd0 /dev/dvd).

Ethernet Controller

This notebook spends most of its time connected to the company LAN. The embedded National Semiconductor ethernet controller has performed flawlessly.


The Conexant 56 Kbps ACLink modem is a winmodem. Binary drivers and compatibility test utilities are available for Linux from the MBSI HSFLinmodem Site. I downloaded and installed the rpm package hsflinmodem-5.03.27lnxtbeta03042700-1.i386.rpm. The modem works quite well using this driver. The hsflinmodem package compiles the driver based on whatever kernel is currently in use. If you change or add a new kernel, you need to run the installed hsfconfig program again.

The MBSI site is now charging for the full 56 kbps ACLink modem drivers. I understand their need to recover development costs in this fashion. It is unfortunate that hardware manufacturers/vendors which benefit from open source operating systems (including HP) are not supporting companies like MBSI.


Sound worked immediately upon installation of Red Hat 8, although I had to increase the volume quite a bit using the Gnome volume control. The onboard Altec Lansing speakers are a bit weak and tinny, but the sound through a pair of headphones is excellent!


The Red Hat installation program produced an initial /etc/X11/XF86Config file configured for a standard 2 button PS/2 mouse. Although the ze4100 touchpad and buttons worked fine with that configuration, the embedded scrollpad did not work. To achieve full functionality, I therefore downloaded and installed synaptics-0.11.3.tar.gz and modified the /etc/X11/XF86Config file to use the synaptics driver with appropriate options. (See XF86Config-vesa file.)

One-Touch Multimedia Keys

Some of the one-touch multimedia keys were enabled initially, and all of the keys had mappings to function keys in /etc/X11/Xmodmap as follows:
    236  F13  (mail key)
    243 F14 (TV output key)
    178 F15 (browser key)
    241 F16 (system lock key)
    240 F17 (help key)
    174 F19 (sound mute button)
    176 F20 (sound increase button)
The omke.pl script from the Omnibook Project can be used to enable ALL the one-touch keys. To do this at startup, I added the omke.pl script to the /etc/rc.d directory, then created an executable file /etc/rc.d/enable_keys with the content
    # Use omke script to enable one-touch keys
    # enable the multimedia keys on HP notebooks

    /etc/rc.d/omke.pl -k 1
and finally added the following two lines to the end of the /etc/rc.d/rc.local file
    # Use omke script to enable one-touch keys
[On Compaq and HP notebooks using the AMD athlon instead of the Intel pentium, it appears that the omke.pl script doesn't do anything meaningful. However, you can achieve the same functionality by getting and installing the omnibook kernel module and then replacing the /etc/rc.d/omke.pl -k 1 line above with insmod omnibook.]

Even if the multimedia keys are enabled, they won't do anything meaningful unless they have actions assigned to them. In a login with Metacity as window manager, use the gconf editor to assign actions under Apps/metacity. For example, to make the browser button functional, assign the value F15 to run_command_3 under global_keybindings. Then assign the value mozilla to command_3 under keybinding_commands. Alternatively with Sawfish as window manager, select the Keybindings menu option and then use the Sawfish configurator to add keys and link them to the appropriate 'run shell command: ...'

USB Floppy Drive

Although this notebook doesn't have a built-in floppy drive, I was able to obtain a USB floppy drive from HP for free (after rebate). The device location for the USB drive is /dev/sda. To make mounting easier, I defined the symlink /dev/floppy (using the command ln -s /dev/sda /dev/floppy) and added the line
    /dev/floppy  /mnt/floppy  auto  noauto,users,exec  0 0
to my /etc/fstab file. With these modifications, the USB floppy drive works just fine under Linux. However, for some reason I am unable to boot into Linux with a boot disk on this drive. I get a "Boot Failed" message no matter how I set up the boot disk. Judging from posts on various online forums, this is a timing problem in the kernel. (The USB floppy drive boots into Windows XP just fine.) This doesn't pose a serious problem, because I have used the CDRW drive to create several different boot and rescue CDs. These are generally more convenient anyway.


I tested PCMCIA under Red Hat 9 with a NetGear MA401NA wireless 802.11b network card. I chose the 16-bit MA401 (Prism2 chipset) in preference to the 32-bit MA521 (Realtek 8180 chipset) because the Prism2 chipset has excellent open source support under Linux. Recent stock Linux kernels contain an Orinoco driver that will work with Prism 2 chipsets. However, I do not recommend this driver because it supports only limited speed and WEP features. Instead, the linux-wlan-ng project provides a really good driver for the Prism2 chipset. To use this driver with a custom kernel, follow these steps:
  1. Make sure your kernel supports 16/32-bit PCMCIA and hotplugging (CONFIG_PCMCIA, CONFIG_CARDBUS, CONFIG_ISA, and CONFIG_HOTPLUG). Support for a Prism2 wireless driver isn't necessary.
  2. Download the pcmcia-cs source and build it.
  3. Download the most recent linux-wlan-ng source and build it.
  4. Configure /etc/pcmcia/network.opts with appropriate network settings. Look at the Networking HOWTO if you are unsure what settings to use.
  5. Edit the /etc/wlan/wlan.conf file for your intended WiFi use. If you intend to connect to any available network, there isn't much to do. If you plan to connect to a specific wireless SSID, then you need to change the line




    You also need to copy /etc/wlan/wlancfg-DEFAULT to /etc/wlan/wlancfg-yourSSID and set any appropriate paramaters (WEP, etc.) in the new file.
  6. Change /etc/sysconfig/network-scripts/ifcfg-eth0 to have ONBOOT=N.
  7. Reboot and verify desired network functionality with ifconfig, route, and ping commands.
If using a stock Red Hat kernel, you should download and install the linux-wlan-ng packages (make sure you also have the appropriate kernel-pcmcia-cs package installed), and then carry out the configuration steps 4-7 above.

The NetGear MA401 WiFi card and linux-wlan-ng driver have worked flawlessly.
Last Updated on Tuesday, 28 October 2008 17:56
Copyright © 2010 CyberSym Technologies, Template designed by SiteGround web hosting