HARDWARE HP Compaq nc8430
From Gentoo Linux Wiki
| Laptops • TV Tuner Cards • Wireless • Servers • Storage • Other Hardware • Motherboards • Related |
Contents |
[edit] Introduction
The Compaq nc8430 is one of the first HP laptops that contain the Centrino Duo type. Meaning it contains an Intel Core Duo processor (T2400, T2500 or T2600).
Novell certified this nc8430 laptop.
[edit] Introduction to the guide
This is not a guide to install gentoo distribution on the Laptop (for help with that see the Gentoo Handbook). Rather, it contains some explanation on the non-trivial step to get most of the hardware. Most of the guide is Gentoo centered, but the guide might be insteresting for other linux distribution as well.
[edit] Overview of current supported hardware
[edit] Fully Supported
- The processor and the SATA drives
- The ipw3945 wireless card
- Intel Enhanced Speedstep (On the core 2 duo boards you *MUST* install the firmware P.0d or higher)
[edit] Untested Hardware
Nearly everything as we are just in the middle of installing it.
[edit] Not working
I have not yet flagged anything into the non-working category
[edit] Description of the hardware
First of all, here's the output of lspci:
| Code: #lspci |
00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS/940GML and 945GT Express Memory Controller Hub (rev 03) 00:01.0 PCI bridge: Intel Corporation Mobile 945GM/PM/GMS/940GML and 945GT Express PCI Express Root Port (rev 03) 00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 01) 00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 01) 00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 01) 00:1c.3 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 4 (rev 01) 00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #1 (rev 01) 00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #2 (rev 01) 00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #3 (rev 01) 00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #4 (rev 01) 00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 01) 00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e1) 00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 01) 00:1f.1 IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller (rev 01) 00:1f.2 SATA controller: Intel Corporation 82801GBM/GHM (ICH7 Family) Serial ATA Storage Controller AHCI (rev 01) 01:00.0 VGA compatible controller: ATI Technologies Inc M56P [Radeon Mobility X1600] 02:06.0 CardBus bridge: Texas Instruments PCIxx12 Cardbus Controller 02:06.1 FireWire (IEEE 1394): Texas Instruments PCIxx12 OHCI Compliant IEEE 1394 Host Controller 02:06.2 Mass storage controller: Texas Instruments 5-in-1 Multimedia Card Reader (SD/MMC/MS/MS PRO/xD) 02:06.3 Class 0805: Texas Instruments PCIxx12 SDA Standard Compliant SD Host Controller 02:06.4 Communication controller: Texas Instruments PCIxx12 GemCore based SmartCard controller 08:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5753M Gigabit Ethernet PCI Express (rev 21) 10:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG Network Connection (rev 02) |
[edit] Before you start
Although I haven't tested it myself on this hardware, a good thing to do is to update your BIOS configuration as can be read in this [HP Pavilion zv5000] guide. You can find information on updating your BIOS here or here
[edit] Configuration
[edit] Wireless (WLAN) card
My wireless card is indicated by lspci as one of the following type 'Intel Corporation PRO/Wireless 3945ABG Network Connection'. One obvious start to get the drivers is to install the ipw3945 modules. There is a homepage for the driver details and updates. These source files are installed by emerging the package 'ipw3945'. In combination with the package 'wireless-tools' it should give you all the required file to set-up your wireless card.
Another route is to install the 'wpa_supplicant' driver, which is supposed to be slightly better and support a wider variety of encryption algorithms. however at the time of this writing the ipw3945 was not yet claimed to be supported on their project website. The gentoo forums seems to indicate that it works though.
Back to the ipw3945 modules. The first thing to do is to configure your kernel such that include the WLAN modules.
Device Drivers --->
Network device support --->
Wireless LAN (non-hamradio) --->
[*] Wireless LAN drivers (non-hamradio) & Wireless Extensions
Cryptographic options --->
<M> AES cipher algorithms (i586)
<M> ARC4 cipher algorithm
<M> Michael MIC keyed digest algorithm
After a restart with the new kernel, your next step is to successfully emerge the 'ieee80211' module.
You have to first remove the old ieee80211. The command for this removal is displayed, or you can in a more direct way execute the command below:
/bin/sh /usr/portage/net-wireless/ieee80211/files/remove-old /usr/src/linux
and you can safely say yes to the answers to remove the old ieee80211 files in the stock. After this command the emerge of the ieee80211 should work out fine.
When the ipw3945 is being installed there is another complaint that the userspace firmware loading should be supported. Grrr. Again a compilation of the kernel is awaiting us:
Device Drivers --->
Generic Driver Options --->
<M> Userspace firmware loading support
I have put into a module in order not to need to recompile my full kernel. Afterwards this the ipw3945 emerges perfectly. Here are the list of modules which can then be loaded into the kernel at this stage.
linux # modprobe ipw3945 linux # lsmod Module Size Used by ipw3945 112416 1 ieee80211 29384 1 ipw3945 ieee80211_crypt 4992 1 ieee80211 firmware_class 7360 1 ipw3945
The next three things you need to do is: make an init script, a wireless configuration file, and let the ipw3945 load automatically during boot time.
So, the init script is a simple symbolic link to net.lo
Linux # cd /etc/init.d Linux # ln -s net.lo net.eth1
Furthermore, you have to create a wireless configuration file. Mine is given below:
mode_eth0="auto" adhoc_essid_eth0="WLAN" key_MyAP="ab45-3288-FF08-1039-A21F-333C-00" preferred_aps=( "MyAP" ) associate_order="any" #blacklist_aps=( "ESSID 1" "ESSID 2" )
You furthermore enforce that the ipw3945 modules are loaded by adding a line 'ipw3945' to the following file: /etc/modules.autoload.d/kernel-2.6. I think one should run the program 'modules-update' whenever you changes the above file. And I'm not sure if it is completely necessary. I always do so.
Note: From my experience, at least >=sys-apps/udev-104 will autoload the ipw3945 module. -2007.03.03
Before you can start doing some test on wireless channels, you need to make sure whether you have it physically on. This is done simply done by pressing the key with the wireless icon on the keywoard. Please, do not forget this last steps, cause you wireless card won't be found.
[edit] Alsa sound
I have mainly followed the {HOWTO ALSA}
[edit] Problems & Solutions
[edit] ACPI & DSDT Issues
Once I had gentoo pretty operable on my nc8430 I began to notice some weird problems with ACPI on this computer. After searching around, I found that I was by far not the only one to run into these issues. Most of them are prevalent in most newer HP/Compaq computers. Some of the issues and the paths to what worked for me are listed below:
[edit] Noticed ACPI Issuses
You may experience two types of problems:
- the systems stays in BIOS for about 30 second before proceeding next to boot the operating system. This is called "bad ACPI state" and you can only get the system from this state by turning the machine off and even removing the batery for a while.
- the AC/Battery status is not displayed properly.
This problem has been reported by user of some other recent HP laptops. The recommended solution is to compile the support for a PS2 mouse as a module and RMMOD the module before reboot.
However both problems appear to be solved in the new kernel 2.6.20.
[edit] ACPI Solutions
If you search around with some diligence you will come across about five or six pages detailing problems with newer HP laptops and in particular the nc8430, some of these links will be listed at the end of this section.
- To begin with, make sure you go to the HP Driver section for this laptop and update to the latest BIOS version! I can't recommend this enough. There have been a lot of ACPI problems that have been solved and many ongoing problems, that this article attempts to solve through work arounds, may be solved in later BIOS releases. At the time of the writing of this article the current version is F.0F. Even though HP don't support Linux with this model and they only provide EXE file for this BIOS update, it is not difficult at all to update your BIOS. There are several ways but perhaps the easiest one is to emerge wine and execute the exe file from within wine. A graphical interface will appear that will offer you to create a bootable image. Accepting it, burning the image (back in Linux) and rebooting and following the instructions on the screen.
- Another thing that can solve a few problems you may be experiencing is to make sure that you are on the most recent stable kernel version that is available. I used the most recent gentoo-sources version.
- If that didn't fix your problems for you, I would recommend following this HOWTO Fix Common ACPI Problems to begin to troubleshoot all of the DSDT problems that this laptop has. It can be a bit daunting at first, but it helped fix a number of things that I found buggy.
- Finally, if none of these other more "correct" options worked well for you, you can try a work around of making psmouse a module (seen as "PS/2 mouse" under "Device Drivers -> Input Device Support -> Mouse" in your kernel config). Then add this modules to modules.autoload.d to make this load at boot time, and finally type "echo 'modprobe -r psmouse' >> /etc/conf.d/local.stop" to unload this module just before the system powers off. This option is the one that I eventually ended up at, and the one that I had the most success with. This work around seems to reset the bad state that the computer is left in on power off.
[edit] Helpful Links
If none of this helped you, or for more information, please feel free to consult the following links:
