Gentoo Linux on HP nc6320

This is supposed to be a list of problem I've encountered with this laptop and how I solved them. The intended audience is power-users, I won't mention useless details...

My disto is Gentoo but all the stuff mentioned here should be distribution-agnostic.

During the assembly of this page, I've bought a new version of this model (upgraded to a Core 2 Duo version) but didn't really change the information. I've just appended new stuff to the end. Be sure to read everything all the way to the bottom. Especially the BIOS parts may interest you (you can avoid several upgrades).

Intel Enhanced SpeedStep (frequency scaling) not working

This was caused by a firmware bug. The F08 version was not exporting the correct ACPI symbols and the kernel didn't know the CPU supports SpeedStep.

Solved by upgrading to version F09 (nc6320_bios_f09.exe). Version F06 is known to be working, too.

Conslusion: Think twice before upgrading to F08 and try to skip this version whenever possible.

Frequency scaling is working, but the CPU never goes to 1.83GHz

Right after I've flashed the BIOS to solve the above problem, I've found that even when the governor is set to ondemand and frequency limit is set to 1.83GHz (with lower limit set to 1.00GHz), the CPU never raises the frequency above 1.33GHz.

I've solved this weirdness by setting both the minimum and maximum frequency to 1.83GHz (to force the frequency switch) and then set it back to desired values (min: 1.00GHz, max: 1.83GHz) and everything started to work.

Be sure to set this on both cores.

/usr/bin/cpufreq-set -c 0 -d 1.83GHz -u 1.83GHz -g ondemand
/usr/bin/cpufreq-set -c 1 -d 1.83GHz -u 1.83GHz -g ondemand

/usr/bin/cpufreq-set -c 0 -d 1GHz -u 1.83GHz -g ondemand
/usr/bin/cpufreq-set -c 1 -d 1GHz -u 1.83GHz -g ondemand

Wi-fi doesn't associate automatically even when ESSID is set to "any"

This is different from the previous HP laptop I had (which had ipw2200 wireless). You have to specify associate=1 as a parameter when loading the ipw3945 module.

modprobe ipw3945 associate=1

Note you need the Intel's f.cking binary blob (regulatory daemon) to make wireless work.

Update: Fortunately, you don't need any binary when using the new iwlwifi driver. Still haven't tested it thoroughly, thou.

Integrated card reader doesn't work

The Texas Instruments card reader works almost fine with the in-kernel driver (sdhci) but you have to exec the following command to make it work.

/usr/sbin/setpci -s 02:06.2 4c=0x22

I don't know what it does exactly but I've found it somewhere on the net. If you don't issue this, card reader gets detected but ignores events (card inserted, etc.) which makes it quite useless.

Note: The PCI number may differ, just use lspci to find the "Texas Instruments 5-in-1 Multimedia Card Reader (SD/MMC/MS/MS PRO/xD)".

A Core 2 Duo version bought

So I've bought a brand new nc6320 but this time with Core 2 Duo processor. The peripherals are the same. I had to perform all the mentioned steps to uncover the whole functionality but in the end it works perfectly just like the older one. This time with fully 64bit Gentoo...

Virtualization not working

The virtualization has to be enabled in BIOS first. Unfortunately, older BIOSes have no such option leaving you with VT disabled. Upgrading to F0D BIOS (nc6320_bios_f0d.exe) fixes the problem but it looks like the "1.33GHz is the max" problem re-appeared and cannot be solved by the trick mentioned above this time. :-( Will have to investigate this further...

Other BIOSes to try: