From Fedora Project Wiki

Fedora Core 6 on HP Compaq NC8430

I decided to replace my old Dell Inspiron 3800 with a new notebook. However I did not want a Dell again, the build quality simply isn't very good. The NC8430 seemed to fit my needs, it is very solid and professionally looking without any silly design.

I installed the FC6 respin from 11 Jan 2007 and used the Extras and Livna repositories, as well as freshrpms for drivers.

Summary

Intel Dual Core 2 2GHz (T7200) <#00FF00> Works The FC6 respin correctly installs the i686 kernel and SMP is automatically detected by the kernel.
15.4" 1680x1050 widescreen display <#00FF00> Works The open source provider does not provide the full resolution, but fglrx does. See also next point.
ATI Mobility Radeon X1600 (256MB) <#00FF00> Works The proprietary driver drives the full resolution, including OpenGL, but not AIGLX. For more information, see below .
1GB RAM <#00FF00> Works No issues.
100GB SATA (5400RPM) <#00FF00> Works No serious issues, but see also Power Management .
Intel PRO/Wireless 3945BG WiFi <#00FF00> Works No problem with the dkms-ipw3945 package from Freshrpms. NetworkManager and its vpnc plugin work perfectly out of the box!
Internal 56k Modem <#FEa050> Possibly works After installing the slmodem-alsa package from Livna I could connect to the modem using minicom, but have not yet succeeded in making a call.
Firewire Not yet tried The interface is recognized, but I have yet to connect a device to it.
Bluetooth <#00FF00> Works My mobile phone, a Sony Ericcson, detected the notebook and dialog popped up in Gnome to enter the pin.
DVD-RW <#00FF00> Works Reading works, writing not yet tested.
4800 mAh Lithium Ion Battery <#00FF00> Works See Power Management .
AD1981 Sound Card <#00FF00> Works ALSA, no issues.
Integrated Microphone <#00FF00> Works Use alsamixer to set the recording device and level correctly.
Integrated Speakers <#00FF00> Works No issues.
Headphone out <#00FF00> Works No issues.
SD Card reader <#00FF00> Works Add the line /sbin/modprobe tifm_sd to /etc/rc.local, see also Power Management .
Smart Card reader Unknown The device seems to get detected, but I have neither means and knowledge to try it out .
PCMCIA <#00FF00> Works An old network card was recognized and appeared as a device in the network configurator.
Touchpad <#00FF00> Works This is a synaptics touchpad, the strip on the right side works as the vertical scroll wheel, dragging left-right at the bottom simulates a horizontal scroll wheel. Install the gsynaptics package from Extras for more extensive configuration. All three mouse buttons work as expected.
Pointing Stick <#00FF00> Works No issues. All three mouse buttons work as expected.
ACPI <#FEa050> Partly works See Power Management .
USB <#00FF00> Works All three USB ports work.
Special Buttons <#00FF00> Works See Special Buttons .

Graphics Card

I did not try very hard to push the open source driver to higher resolution, as I assumed it would only work with the proprietary one anyway. I installed the package xorg-x11-drv-fglrx from Livna. The configuration was simple (as root):

aticonfig --initial

Do enable DRI and thus OpenGL acceleration, the Composite extension needs to be disabled, i.e., in /etc/X11/xorg.conf:

Section "Extensions"
Option    "Composite" "Disable"
EndSection

Unfortunately, AIGLX currently does not work with fglrx, since it needs both DRI and Composite. :-( I installed the Xgl which works satisfactorily, although I think AIGLX is the cleaner solution.

I did not try out Xinerama, but connected an external monitor and projector to it. If the external monitor is connected at boot time, it is recognized and the display is cloned. If the resolution is too big, for example 1680x1050, then it is panned on the external video device.

If the device is connected after boot, then you can show all devices using

aticonfig --query-monitor

which will typically return something like

Connected monitors: lvds, crt1
Enabled monitors: lvds

The external monitor must then be enabled with

aticonfig --enable-montor=lvds,crt1

Resolution is easily switched using xrandr, but you can also use gnome-display-properties if you prefer a GUI to CLI. Unfortunately, whatever the resolution, the image is always stretched to fill the screen, even if it is 4:3 instead of 16:10.


Power Management (ACPI)

ACPI seems to be the weak point of any Linux installations on notebooks, and this one is no exceptions. In fact, not much does work out of the book. However with a little work, much can be done to improve it.

First of all, there is a problem, which is either due to a bug in a kernel driver or in the ACPI firmwire. After shutting down or rebooting, many functions wouldn't work anymore. For example, the CPU frequency can only be set to a maximum of 1.67GHz instead of 2GHz, or the multimedia buttons don't work. It seems that when the pcmouse driver is active during shutdown, the ACPI is left in a bad state. The only solution is to disconnect AC power and Battery, before booting again. A better solution is to recompile the kernel and to build the psmouse driver as a module. If the psmouse module is rmmod'ed during shutdown, the problem doesn't appear. There is a bug report to build the kernel with the psmouse as a loadable module:

https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=217513

Suspend-to-RAM and hibernate don't seem to work at all out of the box. I installed a suspend2 kernel from atrpms.net. Here hibernate works much better. Sometimes the SD Card reader wouldn't work after resume. Simply unloading and reloading the tifm_sd generally fixes this. I tried to let the hibernate script do this automatically by specifying it in the configuration file, but it doesn't always work. Suspend-to-RAM seems to work at first, but when awakening the computer is unresponsive to input. Graphics seems to be alright and the cursor blinks, but neither keyboard nor mouse work.

I also tried to increase battery life as much as possible. CPU frequency can be changed down to 1GHz. This can also be done automatically based on system load using the ondemand governor. The cpuspeed service needs to be installed for this work. I don't know how well this works, however. Dimming the screen also helps, since the screen consumes most of energy. Interestingly the video card can also be configured consume less power, for example for slower, but less power, set:

aticonfig --set-powerstate=1

For faster, but more power, set

aticonfig --set-powerstate=3

Normally the power state is set to 2. The fglrx driver package installs some power management scripts to set the state according to whether the computer runs on AC or battery power.

I installed the laptop-mode-tools package from rpmforge. I haven't yet seen any noticeable improvement however. In fact, I wonder if the HD ever spins down! Battery life is not very long so far, about 90min with full power and 2h30 with power-saving features on. I have not done any extensive benchmarks, however.


Special Buttons

In Gnome, the mute and volume buttons work without any configuration. When the sound is muted, the light on the mute button is on. Suprisingly the Wireless button (with the blue light, when on) seems to work perfectly as well. It toggles the Wireless and Bluetooth radios.

The fn-f3 key starts Suspend-to-RAM as it should, but as already mentioned, this doesn't work correctly. However, the power button initiates a perfectly regular power off sequence, a useful feature.

The keys for changing the display brightness, fn-f9 and fn-f10, work, while the range seems to be a little narrow. There is a third key, fn-f11, for automatically setting the brightness based on ambient light. This does something, i.e., it lowers the brightness, but I don't know if it works as it should.

The battery key fn-f8 and the external monitor key fn-f4 do not work. They may be configured to do something useful using the same method as below.

The Information and Presentation keys are not bound to anything. I suggest using lineakd from Extras. The keycodes for the buttons must however be configured in rc.local.


Configuration files

Here is the rc.local file that I use:

cpufreq-set -u 2000000

/sbin/modprobe tifm_sd

/sbin/modprobe snd_virmidi

setkeycodes e059 232 # Info
setkeycodes e008 134 # Presentation

/sbin/hdparm -q -S 4 /dev/sda

In /etc/laptop-mode/laptop-mode.conf it seems that lvm volume needs to be explicitly mentioned:

PARTITIONS="auto /dev/mapper/VolGroup00-LogVol00 /dev/mapper/*"

For lineakd, the HP-NC6230 entry can be used if it is changed to look like this (the wireless and sound buttons already work as they should):

[HP-NC6230] 
brandname = "Hewlett Packard"
modelname = "Compaq NC6230"
[KEYS] 
Information      = 228
Presentation     = 191
[END KEYS] 
[END HP-NC6230] 

Note, that the keycodes for lineakd and setkeycodes are different.

My $HOME/.lineak/lineakd.conf looks as follows:

CdromDevice = /dev/cdrom
Display_align = center
Display_color = 0aff00
Display_font = -adobe-helvetica-bold-r-normal-*-*-140-*-*-p-*-*-*
Display_hoffset = 0
Display_plugin = xosd
Display_pos = bottom
Display_soffset = 1
Display_timeout = 3
Display_voffset = 50
KeyboardType = HP-NC6230
MixerDevice = /dev/mixer
conffilename = /home/gemi/.lineak/lineakd.conf
[Gnome System Monitor]  Information = gnome-system-monitor
[Eject CD]  Information+control = EAK_EJECT
[Hibernate]  Information+alt = pm-hibernate
[Home Folder]  Presentation = nautilus


Conclusion

I like this Notebook. It looks very good, has a tasteful design, it is slim and rather light. Most functions work with FC6. The downside is non-working Suspend-to-RAM, and the non-optimal battery-life. These may work better some time in the near future. These features are not that important for me, anyway.

Links

Other reports on installing Linux on NC8430: