HP Compaq nc6220

From ArchWiki
Revision as of 21:42, 7 April 2007 by TripleE (Talk | contribs) (Packages)

Jump to: navigation, search

Tango-document-new.pngThis article is a stub.Tango-document-new.png

Notes: please use the first argument of the template to provide more detailed indications. (Discuss in Talk:HP Compaq nc6220#)

Introduction

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.

Installation

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)
makeactive
chainloader +1

# (0) Arch Linux
title  Arch Linux
root   (hd0,4)
kernel /vmlinuz26 root=/dev/hda7 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

Install GUI

Now, lets get the gui going.

Video Driver

First things first. Lets install the driver. Per the lshwd command I displayed earlier, it should be the i810 driver. Let's search for it:

#pacman -Ss i810
current/xf86-video-i810 1.7.4-2
    X.org Intel i810/i830/i915 video drivers

Now let's install it:

#pacman -S xf86-video-i810

Xorg/Gnome

I am a gnome person. To get it installed, I followed the Xorg and Gnome wikis. They provide enough information to get it setup. I will post my xorg.conf file in the next section. Note: Make sure you update the daemons in /etc/rc.conf.

Mouse

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.

AIGLX/Beryl

This laptop has an Intel graphics card greater than i810, and ArchLinux has the latest Xorg. Currently it is xorg-server 1.2.0 (Xorg 7.2). This means that AIGLX and Beryl will work on it. I followed the AIGLX howto and the Beryl howto and restarted xorg. Bingo, it worked.

Fix Resolution

When I got Gnome up and running, I wanted to get the display to its native resolution to 1400x1050. I installed 915resolution. To configure it, I found a good site called 915Resolution: Intel Video BIOS Hack. There is also a wiki howto for it. I followed this howto, and it worked like a champ. This is what I did:

#pacman -Sy 915resolution

You will need to uncomment the community repo from /etc/pacman.conf. Next to list the resolutions:

#915resolution -l
Intel 800/900 Series VBIOS Hack : version 0.5.2

Chipset: 915GM
BIOS: TYPE 1
Mode Table Offset: $C0000 + $269
Mode Table Entries: 36

Mode 30 : 640x480, 8 bits/pixel
Mode 32 : 800x600, 8 bits/pixel
Mode 34 : 1024x768, 8 bits/pixel
Mode 38 : 1280x1024, 8 bits/pixel
Mode 3a : 1600x1200, 8 bits/pixel
Mode 3c : 1920x1440, 8 bits/pixel
Mode 41 : 640x480, 16 bits/pixel
Mode 43 : 800x600, 16 bits/pixel
Mode 45 : 1024x768, 16 bits/pixel
Mode 49 : 1280x1024, 16 bits/pixel
Mode 4b : 1600x1200, 16 bits/pixel
Mode 4d : 1920x1440, 16 bits/pixel
Mode 50 : 640x480, 32 bits/pixel
Mode 52 : 800x600, 32 bits/pixel
Mode 54 : 1024x768, 32 bits/pixel
Mode 58 : 1280x1024, 32 bits/pixel
Mode 5a : 1600x1200, 32 bits/pixel
Mode 5c : 1920x1440, 32 bits/pixel

Now pick the one you want to overwrite. For me, it is 3c. So I then do a:

#915resolution 3c 1400 1050

Now to make sure it took:

#915resolution -l
Intel 800/900 Series VBIOS Hack : version 0.5.2 
Chipset: 915GM
BIOS: TYPE 1
Mode Table Offset: $C0000 + $269
Mode Table Entries: 36

Mode 30 : 640x480, 8 bits/pixel
Mode 32 : 800x600, 8 bits/pixel
Mode 34 : 1024x768, 8 bits/pixel
Mode 38 : 1280x1024, 8 bits/pixel
Mode 3a : 1600x1200, 8 bits/pixel
Mode 3c : 1400x1050, 8 bits/pixel
Mode 41 : 640x480, 16 bits/pixel
Mode 43 : 800x600, 16 bits/pixel
Mode 45 : 1024x768, 16 bits/pixel
Mode 49 : 1280x1024, 16 bits/pixel
Mode 4b : 1600x1200, 16 bits/pixel
Mode 4d : 1400x1050, 16 bits/pixel
Mode 50 : 640x480, 32 bits/pixel
Mode 52 : 800x600, 32 bits/pixel
Mode 54 : 1024x768, 32 bits/pixel
Mode 58 : 1280x1024, 32 bits/pixel
Mode 5a : 1600x1200, 32 bits/pixel
Mode 5c : 1400x1050, 32 bits/pixel

Now you can start/restart the xserver. I did not reboot because it would mess up my settings. Now to make sure that this works. I want to make sure that it will do this automatically. I added the following into /etc/rc.local:

/usr/sbin/915resolution 3c 1400 1050

Now I can reboot without any more worries.

Here is the output of my /etc/X11/xorg.conf:

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

Section "ServerFlags"
        Option "AllowMouseOpenFail"  "true" 
EndSection

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"
EndSection

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"
EndSection

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

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"
EndSection

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"
EndSection

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
EndSection

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

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

Section "DRI"
        Mode 0666
EndSection

Section "Extensions"
        Option  "Composite"     "Enable"
EndSection

Audio

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.

Network

Wired

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.

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

Load module

#modprobe ipw2200

See what device the wireless card it on:

#iwconfig
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:

lo="lo 127.0.0.1"
eth0="dhcp"
eth1="dhcp"
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:

sudo /etc/rc.d/network stop;sudo /etc/rc.d/networkmanager start;sudo /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.

Modem

Have not tried.

ACPI

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

PCMCIA

Template:Sn 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

Packages

I have a repository with some tweaked packages. Most noticeably, there's an archck8-kernel, compiled for the lifebook p7010, as well as other packages compiled for the pentium-m processor (which could be used for other laptops too), such as a few of the KDE 3.4.3 packages, e17, and a few other things. Information on how to use my repository can be found here

SUDO
deskbar-applet
DISABLE IPV6??
firefox
thunderbird
flashplugin
flashplayer-standalone
jre # Java
mplayer
vlc
Glipper
tomboy
gaim
ms-fonts
kernel26beyond
ntp
tracker
affinity

Files Edited

rc.local
rc.conf
pacman.conf
modprobe.conf
inittab
xorg.conf

External Links