Debian GNU/Linux on a HP Compaq nx6320
Opening the box, we find...
Inside the box was a computer, a power adapter and a battery. There was a bunch of other stuff, but none of that applied to me!
I booted from an Etch pre-release CD I had floating around, most things were detected and most things worked in a basic manner. I don't run Etch though, so I was upgrading to the truly bleeding edge fairly rapidly.
Normally I run Debian Unstable, so I upgraded to that immediately and that was all fine, but with Etch being released soon many developers are putting interesting stuff into Experimental, and I wanted X.org 7.2 and Gnome 2.16 which are in there...
Packages you will want to install
To get the 1400x1050 screen resolution you will need to install '915resolution'. This seems to still be the case with the packages of X.org 7.2. I have seen some interesting sounding options in the i810 man page that might be alternative ways, but the hack that 915resolution uses is a much simpler solution since it is already packaged.
To get the wireless working you will need to install 'ipw3945d' and 'ipw3945-modules-2.6.18-4-686' (or some other package of the modules - I installed the source package and used module-assistant to build the modules because I like to build my own kernel).
What is mostly working
A Tour on the PCI Bus
| 00:00.0 | Host bridge: Intel Corporation Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (rev 03) | Supported |
| 00:02.0 | VGA compatible controller: Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller (rev 03) | Supported, with 915resolution |
| 00:02.1 | Display controller: Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller (rev 03) | Supported, with 915resolution |
| 00:1b.0 | Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 01) | Supported, using Alsa |
| 00:1c.0 | PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 01) | Supported |
| 00:1c.2 | PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 3 (rev 01) | Supported |
| 00:1c.3 | PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 4 (rev 01) | Supported |
| 00:1d.0 | USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #1 (rev 01) | Supported |
| 00:1d.1 | USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #2 (rev 01) | Supported |
| 00:1d.2 | USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #3 (rev 01) | Supported |
| 00:1d.3 | USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #4 (rev 01) | Supported |
| 00:1d.7 | USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 01) | Supported |
| 00:1e.0 | PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e1) | Supported |
| 00:1f.0 | ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 01) | Supported |
| 00:1f.1 | IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller (rev 01) | Supported |
| 00:1f.2 | SATA controller: Intel Corporation 82801GBM/GHM (ICH7 Family) Serial ATA Storage Controller AHCI (rev 01) | Supported. Your kernel needs to specify the SATA AHCI, as all recent distro kernels will. |
| 02:06.0 | CardBus bridge: Texas Instruments PCIxx12 Cardbus Controller | Supported. |
| 02:06.1 | FireWire (IEEE 1394): Texas Instruments PCIxx12 OHCI Compliant IEEE 1394 Host Controller | Not tested. |
| 02:06.2 | Mass storage controller: Texas Instruments 5-in-1 Multimedia Card Reader (SD/MMC/MS/MS PRO/xD) | Update: 2007-02-23 Using the driver from http://developer.berlios.de/projects/tifmxx this is now working with a 2.6.20 kernel. |
| 02:06.3 | Generic system peripheral [0805]: Texas Instruments PCIxx12 SDA Standard Compliant SD Host Controller | Update: 2007-02-23 Using the driver from http://developer.berlios.de/projects/tifmxx this is now working with a 2.6.20 kernel. |
| 02:06.4 | Communication controller: Texas Instruments PCIxx12 GemCore based SmartCard controller | What is this? |
| 02:0e.0 | Ethernet controller: Broadcom Corporation NetXtreme BCM5788 Gigabit Ethernet (rev 03) | Supported with "tg3" driver (standard kernel) |
| 08:00.0 | Network controller: Intel Corporation PRO/Wireless 3945ABG Network Connection (rev 02) | Supported with ipw3945 driver (ipw3945.sf.net, but commonly packaged) |
Display
Once I installed 915resolution the display just works under X.org 7.1 and X.org 7.2. After a suspend to disk I have to run 915resolution again otherwise X will be shown in 1024x768. I think I could then run xrandr to switch back to 1400x1050 at that point (to be confirmed).
Touchpad
The touchpad has a scrolling area at the right of it, which works as designed, and it also seems to handle a two-finger tap as equivalent to a two-button click (i.e. what would normally be a middle button click). It seems nice, and I will probably get used to it.
PCMCIA
I pulled out my 3G card and plugged it in and it just works.
There is also one of these new fandangled PCMCIA^WCardBus replacement whatsits, but I don't anticipate having anything that actually uses that any time soon.
USB
All USB ports seem to work as expected. I seem to get pretty high speed transfers out of my camera too.
SD * MS/Pro * MMC * SM * XD
This was something that I was hopeful would actually work, since I have a few devices that use SD cards now and it definitely seems to be the format that is taking over from Compact Flash, except for in irrelevant stuff like Sony and Olympus equipment.
Unfortunately, though I compiled all of the MMC kernel stuff into my kernel (as well as the core under "Device Drivers -> MMC in the kernel configuration there are chipset drivers under "Device Drivers -> Misc devices" - go figure ). Those drivers seem to be for a "TI PCI74xx compatible" reader, and mine seems to be a "PCIxx12" something, so perhaps there just isn't a driver Right Now and I just have to wait a few months.
Update: 2007-02-23
Using the driver from http://developer.berlios.de/projects/tifmxx this is now working with a 2.6.20 kernel.
What Ain't Tested
Bluetooth
I can see the bluetooth is there with 'lsusb', and I expect that it will all work just fine, but I don't have anything that does bluetooth, so I can't say for sure.
Modem
I don't have a poorband account anywhere, so I can't test it. It isn't something I expect to ever want to use, but it looks like an AC97 modem so I expect it will work just fine.
TV Out
Since I don't have a television.
Parallel Port
Didn't these things get replaced by network printers and USB printers a bunch of years ago?
Serial Port
Yep. It has one. Weird. I wish that they had put two USB ports there instead - it would have been a much better location for stuff like my wireless mouse to plug into.
Firewire
I must pull one of my firewire HDs out and see if this works...
What Ain't Working
Suspend / Resume
Suspend to ram sometimes works for me, but on most occasions resume has left me with a working system but no keyboard input. Some googling suggests there are ways around this, but I am not sure if it is fully reliable at this stage. I have tried with the 'irqpoll' option included on the kernel boot line, which is purported to help with other laptops, but this (a) doesn't help, and (b) lots of other stuff seems to work badly with it.
Somewhere I read a suggestion to use the 'noapic' boot option, but this won't boot. I have a vague memory that the APIC is actually required for SMP systems.
Suspend to disk works, except that X comes back without the BIOS manipulations that have been done by 915resolution, so it manages to end up in a 1024x768 screen rather than 1400x1050. This can probably be fixed by also running 'xrandr' to set the resolution back after '915resolution' has been run, or by 'chvt 1' prior to suspend, then '915resolution' on resume before 'chvt 7' to bring the X screen back. I will see... Update: 2007-02-23 Suspend to disk works reliably for me now that I "chvt 1" ... suspend to disk ... "/etc/init.d/915resolution start; chvt 7".
If the keyboard is not working after a resume from ram I can plug in a USB keyboard and that does work, but unloading and reloading the atkbd, psmouse and libps2 does not help (as I had hoped it would).
This is really important to me, so I'll keep working on it until I can either workaround the problems, or it gets to be supported by 2.6.21 or so... Hopefully sooner rather than later!
Fingerprint Reader
Well, I honestly wasn't expecting to have much luck with the fingerprint reader, and I haven't. A bit of googling did throw up Michael Crusoe's Bio API implementation which I have been unable to get to build so far, as well as the proprietary driver for the UPEK fingerprint reader, which refuses to install, probably because the Bio API isn't installed...
Looking at the output of 'lsusb' it seems that it may well not be a UPEK device, since I am told "Bus 001 Device 004: ID 08ff:2580 AuthenTec, Inc.". More investigation is clearly required.
That is all more than I expected to be there, to be honest, but unfortunately not enough to get me going. Oh well, I will have to take some heart from the fact that these devices are cute, rather than fully trustable.
If I do eventually get it working, I now know that I need to revisit this setting up the fingerprint reader page, which seems comprehensive.
Overall Impressions
Background
My main complaints with my old laptop (a very large Sony Vaio) were it's utter crap battery life (around 50 minutes when new, dropping to 35 or so now), it's poor performance relative to current dual-core CPU systems, and it's weight. I did love the screen on the Vaio, but it's docking station was becoming unreliable and various "Sony-isms" had never worked. My son was throwing some scissors around one morning and managed to spear a chunk out of the screen which also made it less appealing.
So while I was at LCA this year I took the opportunity to ask Keith Packard what laptop he would recommend. He clearly wants one of the new Panasonic Toughbooks, but they are not in my price range. He did also recommend some HP notebooks however and that is what I have gone for in the end though a slightly different model.
... and so?
I have to say that the "out of box experience" is very good. All of the important stuff "just worked" from what was on a four-month old Etch install CD. The hardware is pretty much Intel all down the line, which is the best way to go for a Linux laptop at present. The only proprietary code seems to be some firmware for the wireless, and that doesn't come with complexly encumbered distribution, so it is easily installed.
The only outstanding problems right now are keyboard failure on resume (the laptop actually works because I have managed to cut and paste commands from other bits and pieces on the screen using the mouse!).
While a few pieces of hardware are untested so far (I don't have any bluetooth devices, for example), the two that don't work are really irrelevant luxuries. The bottom line for me is that I now have 2 CPUs, 2G RAM, 100G HD, Wifi, LAN, a reasonably good screen working well with X, a decent battery life (and it also takes an additional battery, which I will get before I next leave the country).
It is a bit of a shame to not have a higher resolution screen, but it seems that Intel don't produce graphics cards beyond 1400x1050 and I'm seriously sick of the endless fiddling that has seemed to be necessary for me to use the ATI and NVidia drivers.
Overall a "B+".
Updated 2007-03-22
It seems that 915resolution is no longer needed with Xorg 7.3 (as I expected, to be honest). Using a small patch to the latest Xorg -video-intel drivers everything works and I am able to nicely expand my desktop across to another monitor when I resume at work, and contract it back when I am only using the laptop panel. Nice. Worth another blog post, so I'll write that in a minute.
Meanwhile, this bug will be fixed before Xorg 7.3 is released, I am sure, and things will work brilliantly after that!
Flattr
Yep, not a UPEK fingerprint sensor
UPEK's BioAPI-compliant driver for Linux will only work with their
sensor, which (last I checked) only appears in laptops from Lenovo.
AuthenTec is a different (and bigger) player in the biometric
fingerprint sensor world. Maybe you should write them a letter
inquiring about the availability of a BioAPI 1.1 compliant Linux
driver for their sensors?
Good luck!
--
Michael R. Crusoe
[Re:] Yep, not a UPEK fingerprint sensor
A project seems to have been started in june 2007 to create a driver for the AuthenTec AES2501 : http://home.gna.org/aes2501
Sounds very similar to my
Sounds very similar to my experience with my Dell 9400. Currently I can't suspend/resume from disk because it kernel panics on resume, but previously that has been working fine and I'm prepared to ignore it for now. However the suspend to RAM keyboard failure _has_ been happening to me infrequently (say about half the time), however Ctrl+Alt+Backspace works to crash the X server and re-initialise the keyboard, which confuses me. I think this behaviour has only been happening since 2.6.19 or so...
xorg always opens in 800x600 mode
How did you use the 915resolution to overcome the lcd problem
Using 915resolution to overcome the LCD problem
For my own case, I just did "apt-get install 915resolution" which installed a small init script. This only runs on boot, normally, but I found I had to also run it on resume.
What it ends up doing is:
panelsize=`/usr/sbin/vbetool vbefp panelsize`
Then it runs:
/usr/sbin/915resolution -l
to list the modes that are already available in the BIOS. If the panel size is one of those modes, it exits.
Finally, if the panel size wasn't listed, it runs:
/usr/sbin/915resolution $mode $xres $yres
for all of the modes that are missing.
Really, that last step is all that is needed, and it could just run something like:
/usr/sbin/915resolution 5c 1400 1050 32
and then when X starts it should see the 1400 x 1050, 32bpp mode available and use it.
Cheers,
Andrew.
Copy of your xorg.conf file for Higher Resolution on the 6320
Could I possibly get a copy of how you have your xorg.conf file configured so I can get my video to go above 1024x768? Tnx
It's kind of simple, but yes...
OK, so I have had success with a non-existent xorg.conf, as far as getting a basic 1400x1050 resolution going. I currently have a few reaons for having an xorg.conf:
It could probably be shorter but anyway, here it is, in all it's glory:
Section "InputDevice" Identifier "Generic Keyboard" Driver "kbd" Option "CoreKeyboard" Option "XkbRules" "xorg" Option "XkbModel" "pc104" Option "XkbLayout" "us" Option "XkbOptions" "ctrl:nocaps,altwin:meta_win" EndSection Section "InputDevice" Identifier "Configured Mouse" Driver "mouse" Option "Emulate3Buttons" "true" Option "CorePointer" Option "Device" "/dev/input/mice" Option "Protocol" "ImPS/2" EndSection Section "InputDevice" Identifier "Synaptics Touchpad" Driver "synaptics" Option "SendCoreEvents" "true" Option "Device" "/dev/psaux" Option "Protocol" "auto-dev" Option "SHMConfig" "true" Option "MinSpeed" "0.04" Option "MaxSpeed" "0.75" Option "AccelFactor" "0.005" Option "VertScrollDelta" "20" Option "HorizScrollDelta" "50" Option "HorizEdgeScroll" "0" Option "VertEdgeScroll" "0" Option "VertTwoFingerScroll" "1" Option "HorizTwoFingerScroll" "1" Option "ScrollButtonRepeat" "0" EndSection Section "Device" Identifier "Intel 945GM Graphics Controller" Driver "intel" BusID "PCI:0:2:0" Option "UseFBDev" "true" Option "NoAccel" EndSection Section "Monitor" Identifier "Configured Monitor" Option "DPMS" DisplaySize 304 228 EndSection Section "Screen" Identifier "Default Screen" Monitor "Configured Monitor" DefaultDepth 24 SubSection "Display" Modes "1400x1050" Virtual 2880 2048 EndSubSection EndSection Section "ServerLayout" Identifier "Default Layout" Screen "Default Screen" InputDevice "Generic Keyboard" InputDevice "Configured Mouse" InputDevice "Synaptics Touchpad" EndSectionThis is currently working with xserver-xorg-video-intel 1.4.1~git20080131-1 on xorg 1.4.0 (i.e. current Debian Sid).
Hope that's useful,
Andrew McMillan.
Closing lid crashes laptop
I have installed Debian 4.0 etch on and it freezes when I close the lib. I notice that there are /proc/acpi/button/lid/C238/info , /proc/acpi/button/lid/C238/state and /etc/acpi/lid.sh that is being run when the lid is closed/opened.
Has anyone else had the same problem? I'm thinking that it's a kernel bug?
Roger
Closing the lid
If you have the acpi-support package installed, and you close the lid then a script will be run to attempt to suspend the laptop in some way. If you are using the default Etch install then the kernel will not support some of the nx6320 and I would recommend building yourself a 2.6.20.9 kernel (which is what I have been using most successfully).
Even with that kernel though, the keyboard won't work after resume from ram using the version of s2ram from the 'uswsusp' package in Etch. At present I use the following script to suspend to ram:
Linux on the HP nx6320
I have another guide for the nx6320 which you can read here.