HP Compaq nc6220
- 1 Introduction
- 2 Installation
- 3 Post Installation
- 4 Install GUI
- 5 Audio
- 6 Network
- 7 ACPI
- 8 Card Readers
- 9 Other Tweaks
- 10 External Links
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.
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) makeactive 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
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:
Now, lets get the gui going.
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
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.
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.
This laptop supports Compiz Fusion. So I followed the wiki, and it worked great.
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" "SendCoreEvents" 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
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
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:
# /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
And rebooted. Now I have the battery monitor to the gnome panel and life is good.
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.
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.
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...
# 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.
affinity firefox thunderbird flashplugin flashplayer-standalone jre # Java mplayer vlc Glipper tomboy gaim ms-fonts ntp tracker affinity f-spot
rc.local rc.conf pacman.conf modprobe.conf inittab xorg.conf sudoers
- This report is listed at the TuxMobil: Linux Laptop and Notebook Installation Guides Survey: Fujitsu-Siemens - FSC.