HP Compaq nc6220

From ArchWiki
Revision as of 14:24, 7 November 2008 by RedShift (talk | contribs) (Fix Resolution)
Jump to: navigation, search


My plan when I finish is to have my laptop (HP Compaq nc6220) dual booted with Windows XP Pro (work image). I repartitioned my hard drive with Gparted Live CD. It only took a minute or so. I will be doing the install with the arch 0.8 beta2 base cd. There is an installation guide (0.7.2) that may help.I will do my best to give as much detail as possible.

NOTE: Per HP's website, this laptop is Novell Linux Desktop 9 certified. So getting linux on this laptop should not be too hard.

System Specifications

HP Compaq nc6220 - Intel Centrino

  • Intel Pentium M processor 750 (1.86-GHz, 533-MHz FSB, 2-MB L2 cache)
  • Mobile Intel 915GM Express Chipset
  • 512-MB 533-MHz DDR2 SDRAM
  • 60-GB 5400 rpm IDE ATA Harddrive
  • 14.1-inch color TFT SXGA+ (1400 x 1050 resolution and 16 M colors)
  • Intel Graphics Media Accelerator 900 with up to 128 MB of shared system memory
  • ADI AC '97 CODEC
  • 9.5-mm DVD/CD-RW Combo (Matshita UJDA775 IDE ATA 8x DVD/24x CDRW)
  • 56K Fax/Modem
  • NetXtreme Gigabit PCI Express Ethernet Controller (10/100/1000 NIC)
  • Intel PRO/Wireless 2200BG 802.11b/g WLAN
  • One Type I/II PC Card Slot??
  • One Integrated Smart Card Reader??
  • One Integrated Secure Digital Slot??
  • Dual pointing devices (both Pointstick and Touchpad)
  • 6-cell high capacity Lithium-Ion (52Wh)
  • External 65W adapter

Output of lshwd

00:00.0 Host bridge: Intel Corp.|Mobile Memory Controller Hub (intel-agp)
00:02.0 VGA compatible controller: Intel Corp.|Mobile 915GM/GMS/910GML Express Graphics Controller (i810)
00:02.1 Display controller: Intel Corp.|Mobile Graphics Controller (vesa)
00:1c.0 PCI bridge: Intel Corp.|I/O Controller Hub PCI Express Port 0 (unknown)
00:1c.1 PCI bridge: Intel Corp.|I/O Controller Hub PCI Express Port 1 (unknown)
00:1d.0 USB Controller: Intel Corp.|I/O Controller Hub USB (unknown)
00:1d.1 USB Controller: Intel Corp.|I/O Controller Hub USB (unknown)
00:1d.2 USB Controller: Intel Corp.|I/O Controller Hub USB (unknown)
00:1d.7 USB Controller: Intel Corp.|I/O Controller Hub USB2 (unknown)
00:1e.0 PCI bridge: Intel Corp.|82801 Hub Interface to PCI Bridge (hw_random)
00:1e.2 Multimedia audio controller: Intel Corp.|82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (snd-intel8x0)
00:1e.3 Modem: Intel Corp.|I/OController Hub Modem (Hsf:www.linmodems.org)
00:1f.0 ISA bridge: Intel Corp.|I/O Controller Hub LPC (i810-tco)
00:1f.1 IDE interface: Intel Corp.|I/O Controller Hub PATA (piix)
02:04.0 Network controller: Intel Corp.|Intel(R) PRO/Wireless 2200BG (ipw2200)
02:06.0 CardBus bridge: Texas Instruments|Texas Instruments PCIxx21/x515 Cardbus Controller (yenta_socket)
02:06.3 Mass storage controller: Texas Instruments|Texas Instruments PCIxx21 Integrated FlashMedia Controller (unknown)
02:06.4 : Texas Instruments|Texas Instruments PCI6411, PCI6421, PCI6611, PCI6621, PCI7411, PCI7421, PCI7611, PCI7621 Secure Digital (SD) C (unknown)
02:06.5 : Texas Instruments|Texas Instruments PCI6411, PCI6421, PCI6611, PCI6621, PCI7411, PCI7421, PCI7611, PCI7621 Smart Card Controller (unknown)
10:00.0 Ethernet controller: Broadcom Corp.|NetXtreme BCM5751M Gigabit Ethernet PCI Express (tg3)
004:001 USB Hub: Virtual|Hub (unknown)
003:001 USB Hub: Virtual|Hub (unknown)
002:001 USB Hub: Virtual|Hub (unknown)
001:001 USB Hub: Virtual|Hub (unknown)

What works/What doesn't

Pretty much everything works on this laptop except the SD-card reader. I am still working on it. The screen needs a little tweaking to get the full resolution and works great. Also I have not tried the modem (no POTS line) or tried to suspend the laptop yet.


Boot from the CD and do the base installation from the CD. My partitions are setup as follows:

HDA1 20gb Win XP
HDA5 32mb /boot
HDA6 1gb swap (needed for hibernate mode...I think)
HDA7 39gb /

With Windows XP as an option, the grub boot loader should look something like this:

# Windows XP
title  Microsoft Windows XP Professional
rootnoverify (hd0,0)
chainloader +1

# (0) Arch Linux
title  Arch Linux
root   (hd0,4)
kernel /vmlinuz26 root=/dev/sda7 ro
initrd /kernel26.img

# (1) Arch Linux
title  Arch Linux Fallback
root   (hd0,4)
kernel /vmlinuz26 root=/dev/sda7 ro
initrd /kernel26-fallback.img

Post Installation

First, create your user account:

#useradd -m <user>

Add yourself to some needed group:

#gpasswd -a <user> audio; gpasswd -a <user> optical; gpasswd -a <user> storage; gpasswd -a <user> users

Next is to upgrade:

#pacman -Syu


Video Driver

The NC6220 has an onboard Intel 9xx series VGA, supported by the xf86-video-intel driver.


There is a synaptic touchpad on this laptop. If you follow this howto, you should have no problems getting this to work. It works great for me. Note: Make sure you update the modules in /etc/rc.conf.

Compiz Fusion

This laptop supports Compiz Fusion. So I followed the wiki, and it worked great.

Fix Resolution

xf86-video-i810 used to required 915resolution to get a correct resolution. This isn't needed anymore by the superseeding xf86-video-intel driver.

Section "ServerLayout"
        Identifier     "Xorg Configured"
        Screen      0  "Screen0" 0 0
        InputDevice    "Keyboard0" "CoreKeyboard"
        InputDevice    "Touchpad" "SendCoreEvents"
        Option         "AIGLX" "true"

Section "ServerFlags"
        Option "AllowMouseOpenFail"  "true" 

Section "Files"
        RgbPath      "/usr/share/X11/rgb"
        ModulePath   "/usr/lib/xorg/modules"
        FontPath     "/usr/share/fonts/misc:unscaled"
        FontPath     "/usr/share/fonts/misc"
        FontPath     "/usr/share/fonts/75dpi:unscaled"
        FontPath     "/usr/share/fonts/75dpi"
        FontPath     "/usr/share/fonts/100dpi:unscaled"
        FontPath     "/usr/share/fonts/100dpi"
        FontPath     "/usr/share/fonts/PEX"
        FontPath     "/usr/share/fonts/cyrillic"
        FontPath     "/usr/share/fonts/Type1"
        FontPath     "/usr/share/fonts/ttf/western"
        FontPath     "/usr/share/fonts/ttf/decoratives"
        FontPath     "/usr/share/fonts/truetype"
        FontPath     "/usr/share/fonts/truetype/openoffice"
        FontPath     "/usr/share/fonts/truetype/ttf-bitstream-vera"
        FontPath     "/usr/share/fonts/latex-ttf-fonts"
        FontPath     "/usr/share/fonts/defoma/CID"
        FontPath     "/usr/share/fonts/defoma/TrueType"

Section "Module"
        Load  "ddc"  # ddc probing of monitor
        Load  "dbe"
        Load  "dri"
        Load  "extmod"
        Load  "glx"
        Load  "bitmap" # bitmap-fonts
        Load  "type1"
        Load  "freetype"
        Load  "record"
        Load  "synaptics"

Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "keyboard"
        Option      "CoreKeyboard"
        Option "XkbRules" "xorg"
        Option "XkbModel" "pc105"
        Option "XkbLayout" ""
        Option "XkbVariant" ""

Section "InputDevice"
        Identifier      "USB Mouse"
        Driver          "mouse"
        Option          "Device"                "/dev/input/mice"
        Option          "SendCoreEvents"        "true"
        Option          "Protocol"              "IMPS/2"
        Option          "ZAxisMapping"          "4 5"
        Option          "Buttons"               "5"

Section "InputDevice"
        Identifier  "Touchpad"
        Driver      "synaptics"
        Option      "Device" "/dev/input/mouse1"
        Option      "Protocol" "auto-dev"
        Option      "LeftEdge" "1700"
        Option      "RightEdge" "5300"
        Option      "TopEdge" "1700"
        Option      "BottomEdge" "4200"
        Option      "FingerLow" "25"
        Option      "FingerHigh" "30"
        Option      "MaxTapTime" "180"
        Option      "MaxTapMove" "220"
        Option      "VertScrollDelta" "100"
        Option      "MinSpeed" "0.06"
        Option      "MaxSpeed" "0.12"
        Option      "AccelFactor" "0.0010"
        Option      "SHMConfig" "true"

Section "Monitor"
        Identifier "Monitor0"
                Option "DPMS" "true"
        HorizSync    28.0 - 96.0 # Warning: This may fry old Monitors
        VertRefresh  50.0 - 75.0 # Very conservative. May flicker.
        # 1400x1050 @ 60.00 Hz (GTF) hsync: 65.22 kHz; pclk: 122.61 MHz
        ModeLine "1400x1050"  122.61  1400 1488 1640 1880  1050 1051 1054 1087  -HSync +Vsync

Section "Device"
        Identifier  "Card0"
        Driver      "i810"
        VendorName  "Intel Corp."
        BoardName   "Unknown Board"
        Option      "XAANoOffscreenPixmaps" "true"
        Option      "DRI" "true"

Section "Screen"
        Identifier "Screen0"
        Device     "Card0"
        Monitor    "Monitor0"
        DefaultColorDepth 24
        SubSection "Display"
                Depth     24
                Modes "1400x1050"

Section "DRI"
        Mode 0666

Section "Extensions"
        Option  "Composite"     "Enable"


Now for the sound. It works out of the box, but alsa needs to be installed for saving sound setting and all the other good stuff alsa does. Thankfully there is a howto here.



The wired connection worked out of the box. The Neworkmanager, that we will setup in the next section, will manage this as well as the wireless.


Now lets get wireless going. There is a wireless setup howto and there is a Networkmanager howto. I will go into detail about this because wireless is one of the most difficult things to get running (generally). This should be pretty easy to get going.

Install wireless drivers and network tools

#pacman -Sy ipw2200-fw wireless_tools gnome-network-manager

Add yourself to the network group

#gpasswd -a <user> network

Load module

#modprobe ipw2200

See what device the wireless card it on:

lo        no wireless extensions.

eth0      no wireless extensions.

eth1      IEEE 802.11g  ESSID:""  
          Mode:Managed  Frequency:2.442 GHz  Access Point: 00:90:4C:7E:00:10   
          Bit Rate:54 Mb/s   Tx-Power=20 dBm   Sensitivity=8/0  
          Retry limit:7   RTS thr:off   Fragment thr:off
          Power Management:off
          Link Quality=98/100  Signal level=-27 dBm  Noise level=-92 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

While still in the /etc/rc.conf file still open, edit the network part of the file:

INTERFACES=(lo !eth0 !eth1)

I belive this is optional. It is just to get the blue LED to light up when the wireless is enabled. I added the following to /etc/modprobe.conf:

options ipw2200 led=1 hwcrypto=0

With /etc/rc.conf still open, edit it to stop the network daemon from starting and have networkmanager and dhcdpd daemons start at boot:

DAEMONS=(... !network ... networkmanager dhcdbd)

Now reboot or stop/start the daemons:

# /etc/rc.d/network stop;/etc/rc.d/networkmanager start;/etc/rc.d/dhcdbd start

That should do it. Note, this is a generic way to set it up. My wireless router is broadcasting its SSID and has no encryption on it. I want to get WPA working though. That will be a task for later.

Troubles with wireless

It appears the NC6220 can come with a "restricted" ethernet controller. If for some reason you can't get the wireless working, try unplugging the ethernet adaptor. Symptoms are: sending commands to the wireless fails (for example: ipw2200: Failed to send POWER_MODE: Command timed out), the kernel complains about the "Radio Frequency Kill Switch is On".


Have not tried.


When I login to gnome, I keep getting a acpi did not load error. I installed:

pacman -Sy acpid gnome-power-manager

And I added the daemons in the /etc/rc.conf file

DAEMONS=(... acpid)

And rebooted. Now I have the battery monitor to the gnome panel and life is good.

Card Readers


As far as I've understood from other reports, the pcmcia card works as expected. I don't have one at this time, so I can't confirm it.

Compact Flash

The same goes for the Compact Flash. It's supposed to work as it uses the same interfaces as the PCMCIA does, but I can't confirm anything since I don't have a CF-card.

Secure Digital

The SD-card reader on the other hand is a pain! It uses proprietary drivers from ricoh under windows and there are no drivers under linux. I would really want this working but I think the only chance would be to reverse engineer the reader and I guess not enough coders have this device. Subsequently, there are no drivers now and there won't be in the foreseeable future...

Other Tweaks


I use the beyond kernel because I am looking to get suspend working. There is a list of different kernel patches/patchsets here. Now, lets install the beyond kernel:

# pacman -Sy kernel26beyond

Now add the following to the boot loader. For me, it is grub:

# (0) Arch Linux
title  Arch Linux
root   (hd0,4)
kernel /vmlinuz26beyond root=/dev/sda7 ro
initrd /kernel26beyond.img

# (1) Arch Linux
title  Arch Linux Fallback
root   (hd0,4)
kernel /vmlinuz26beyond root=/dev/sda7 ro
initrd /kernel26beyond-fallback.img


I like to use sudo to manage my system. So as root, I do a:

# pacman -Sy sudo

Then I do a give myself rights:

# visudo -f /etc/sudoers

Add myself under root.


I disabled the IPV6 module because I do not need it. Here is the howto to get this.


To connect to other shares and doing updates I use SSHfs. Here is a howto for that.


jre # Java

Files Edited


External Links