Page 1 of 3 123 LastLast
Results 1 to 10 of 30

Thread: HOWTO: running Ubuntu on HP nx7400 laptops

  1. #1
    Join Date
    Feb 2007
    Beans
    Hidden!

    HOWTO: running Ubuntu on HP nx7400 laptops

    Introduction
    This is an attempt to describe steps required to unlock full functionality of Ubuntu on HP nx7400 laptops. Please note that nx7400 come in wide array of configurations (there are differences in processor types and wireless cards). HP nx7400 is Linux-friendly laptop, and (almost) everything works out-of-the-box in Ubuntu 6.10 (Edgy). Notable exception is ACPI support, which requires a little tweaking.

    Problems
    HP nx7400 laptops, as many other recent HP laptops, sufer from "bad state" problem. Laptop enters bad state whenever it is shut down or rebooted. This affects the latest official Ubuntu (6.10), the latest SUSE (10.2), and perhaps quite a few other distributions. Possible indicators of this problem are: CPU frequency scaling (speedstepping) does not work, support for some of the ACPI events (such as power source change from AC to battery) is broken, battery state is not updated when running under battery power. A quick workarround is to remove all power sources (both battery and AC) and wait for up to 20 seconds. To fix it permanently, it is necessarry to unload "psmouse" before laptop is shut down or rebooted. Furthermore, suspend2ram requires module "i8042" to be removed before suspend. (SUSE team has done a great job in fixing these problems in their kernel. Compiled kernel which fixes these probems is already available from their FTP servers, and patches should make into the next official kernel update. I wonder if Ubuntu folks could do a similar thing.)

    The laptop also fails to resume from suspend2ram. While kernels < 2.6.19 had broken SATA support and could not wake up at all, the latest kernels seem to have a problem with "i8042" (keyboard) module.

    Another problem is wireless support. If you are unlucky to have Broadcom wireless card, you will have to use ndiswrapper to enable it.

    Solution
    Ubuntu kernels include psmouse compiled as module by default, however, "i8042" is compiled into kernel, so you will need to recompile the kernel and enable it as module. To compile a new kernel, you may use this tutorial: http://www.ubuntuforums.org/showthread.php?t=311158. I used 2.6.20 kernel, but you might want to experiment with earlier (more stable) versions. In the kernel configuration step you will need to set up i8042 as module. During configuration phase you must also enable SATA support, or the new kernel won't boot.

    It's time to modify /etc/init.d/halt.local and /etc/init.d/reboot.local scripts to remove psmouse before reboot. For example scripts, see this (http://emisca.altervista.org/nx7400) page. To enable suspend2ram, it's necessary to edit /etc/default/acpi-support file to unload "psmouse" and "i8042" before suspend. For example acpi-support script, see this (http://www.ubuntuforums.org/showthre...ghlight=nx7400) page. It is very important to unload these modules, otherwise all the work with compiling a custom kernel is useless.

    That's it - you laptop should now read the correct battery charge, and should be able to suspend and wake up.

    Wireless support requires LATEST version of ndiswrapper - older versions, like the one currently is installed by Automatix, may not work. Windows drivers can be downloaded from HP site (search for "support", then for "nx7400"). Follow the guide from [5] when installing ndiswrapper.

    Kernel configuration (SATA compiled in, psmouse and i8042 as module)
    The following is a copy from http://www.ubuntuforums.org/showpost...5&postcount=95

    For SATA:
    Now what to enable in the make xconfig:
    Device Drivers:
    |---ATA/ATAPI/MFM/RLL support
    |------ATA/ATAPI/MFM/RLL support
    |----------Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support
    |--------------support for SATA(deprecated;conflicts with libata SATA driver)
    ---------------#enable above choice, make sure it's a Y, not M(module)
    |---SCSI device support
    |-------SCSI device support
    --------#enable above choice, make sure it's a Y, not M(module)
    |-------SCSI disk support
    --------#enable above choice, make sure it's a Y, not M(module)
    |---Serial ATA(prod) and Parallel ATA(experimental) drivers
    |-------ATA device support
    --------#enable above choice, make sure it's a Y, not M(module)
    |-----------Intel PIIX/ICH SATA support
    ------------#there are many kinds of support here, for me I chose this, to understand what you should choose, see below.

    How to decide which ATA device support driver you should choose:
    I used lspci |grep IDE and it gives:
    00:1f.2 IDE interface: Intel Corporation 82801GBM/GHM (ICH7 Family) Serial ATA Storage Controller IDE (rev 01)
    And after looking through all the device supported with keyword "intel" in xconfig, I found 3, only 1 for mine, the other 2 were for PATA, so I hope yours isn't too complicated either.
    For i8042:
    In xconfig

    1) go to General Setup -> configure standard kernel features, enable it (Y)
    2) go to Device Drivers -> Input Device Support -> Keyboards, change AT Keyboard to M (module)
    3) Device Drivers -> Input Device Support -> Hardware IO ports -> you should now be able to set i8042 as module
    For psmouse:
    No need to change anything if you are using default Ubuntu configuration. If you are compiling a new kernel, make sure it is a module (M) instead of compiled in (Y).

    "E820-reserverd" errors when booting kernels >= 2.6.20
    If you get this when booting kernel:
    PCI: BIOS Bug: MCFG area at f0000000 is not E820-reserverd
    PCI: Not using MMCONFIG
    As far as I know, this error is not dangerous, but in case it is annoying, it's very easy to get rid of it. You can simply add kernel parameter "pci=nommconf" in your /boot/grub/menu.conf. Read more about that here: http://www.ubuntuforums.org/showthre...ghlight=nx7400

    Troubleshooting
    In case the speedstepping is still not working, you might be required to update your BIOS version.

    References
    [1] http://emisca.altervista.org/nx7400/ - Information about Debian/Ubuntu
    [2] http://en.opensuse.org/HCL/Laptops/HP Some info on SUSE kernels
    [3] https://bugzilla.novell.com/show_bug.cgi?id=179702 More about the bad state problem
    [4] http://www.ubuntuforums.org/showthre...ghlight=nx7400 How to get rid of i8042 kernel module
    [5] http://floppyjoes.homeip.net/phpBB2/viewtopic.php?t=3 Howto compile the latest ndiswrapper
    [6] https://wiki.ubuntu.com/LaptopTestingTeam/HPnx7400 - Some general tips / workarrounds
    [7] http://www.ubuntuforums.org/showpost...5&postcount=95 - Howto enable SATA support when compiling kernel

    Todo
    Perhaps I should add links to Ubuntu Lauchpad bugs related to HP laptops. Currently, the only problem remaining is screen back light. When display goes into sleep mode, the back light sometimes stays on, and sometimes switches on later. I am certain that I will find a solution for this, but I don't have time for that right now.
    Last edited by john_brown_jr; March 15th, 2007 at 10:01 PM.

  2. #2
    Join Date
    Sep 2005
    Location
    Northfleet, Kent, UK
    Beans
    346
    Distro
    Ubuntu 11.04 Natty Narwhal

    Re: HOWTO: running Ubuntu on HP nx7400 laptops

    Thanks for this. I have an HP nx7400 laptop and have decided to recompile my 2.6.20-9 kernel with i8042 as a module.

    I followed the instructions found here but am an unable to change the i8042 option to a module in qconf - it is included by default.

    Any ideas how to enable this option in qconf?

    Thanks in advance

  3. #3
    Join Date
    Feb 2007
    Beans
    Hidden!

    Re: HOWTO: running Ubuntu on HP nx7400 laptops

    Hi,

    In xconfig

    1) go to General Setup -> configure standard kernel features, enable it (Y)
    2) go to Device Drivers -> Input Device Support -> Keyboards, change AT Keyboard to M (module)
    3) Device Drivers -> Input Device Support -> Hardware IO ports -> you should now be able to set i8042 as module

    Let me know how it goes.

    Best wishes,
    John

  4. #4
    Join Date
    Sep 2006
    Beans
    Hidden!

    Re: HOWTO: running Ubuntu on HP nx7400 laptops

    I run FF Herd 5 on a nx9420 and have the keyboard issue when suspending to ram, ie module i8042 problem. When resuming I get the password control on the screen but cannot type in anything. I am not very keen on compiling an own kernel and was wondering if this issue will be solved in future versions?

    Thanks,
    Adrian

  5. #5
    Join Date
    Sep 2005
    Location
    Northfleet, Kent, UK
    Beans
    346
    Distro
    Ubuntu 11.04 Natty Narwhal

    Re: HOWTO: running Ubuntu on HP nx7400 laptops

    Thanks for replying so quickly john_brown_jr.

    I have now managed to compile my kernel as per your instructions.

    However, when I boot I get this message several times:

    [ xxx.yyyyyy] device-mapper: ioctl: error adding target to table
    [ xxx.yyyyyy] device-mapper: table: 254:0: linear: dm-linear: Device lookup failed
    (note the values for xxx.yyyyyy varies but the message is always the same)

    I can successfully boot, but I still cannot hibernate. When I try, I see the same messages as above, and then my machine goes into the lock screen (i.e. screensaver) mode. When I unlock, I get the message (in a speech bubble near the clock):

    HAL failed to hibernate. Check the help file for common problems.
    Can anyone enlighten me further?

    Thanks again.

  6. #6
    Join Date
    Feb 2007
    Beans
    Hidden!

    Re: HOWTO: running Ubuntu on HP nx7400 laptops

    beercz, are you using Feisty? I had all sorts of weird issues with Feisty on my desktop (in fact, it locks every 2-3 minutes), so I haven't tried Feisty on my nx7400 yet,.

  7. #7
    Join Date
    Sep 2005
    Location
    Northfleet, Kent, UK
    Beans
    346
    Distro
    Ubuntu 11.04 Natty Narwhal

    Re: HOWTO: running Ubuntu on HP nx7400 laptops

    Yep - using feisty

    Hmmm!! That could be a problem by the sound of it!

    I am using kernel 2.6.20.10-generic at the moment (not my compiled one).

    I read somewhere (here - message dated 7th March by Emilio Scalise) that patches for psmouse to correct the bad state problem are included in vanilla kernel 2.6.21-rc2.

    I might have another go later or wait a while for an updated kernel.
    Last edited by beercz; March 13th, 2007 at 12:03 PM.

  8. #8
    Join Date
    Sep 2005
    Location
    Northfleet, Kent, UK
    Beans
    346
    Distro
    Ubuntu 11.04 Natty Narwhal

    Re: HOWTO: running Ubuntu on HP nx7400 laptops

    Quote Originally Posted by john_brown_jr View Post
    ..... During configuration phase you must also enable SATA support, or the new kernel won't boot.
    john_brown_jr I am tempted to have another go at compiling a new kernel (in feisty) to see if I can get the bad state problem resolved. I've got everything backed up and a live CD handy, so if I break my ubuntu I can recover.

    Where in qconf does one exactly enable SATA support?

    Thanks in advance.

    Wish me luck!!

  9. #9
    Join Date
    Feb 2007
    Beans
    Hidden!

    Re: HOWTO: running Ubuntu on HP nx7400 laptops

    I have updated nx7400 tutorial and included information about enabling SATA (see a couple of posts above).

    As for the bad state problem - I think we should actually create a bug report in Launchpad. This bug is nasty enough, and affects quite a few HP laptops, so I believe that we can get Ubuntu kernel developers to fix it once and for all.

  10. #10
    Join Date
    Sep 2005
    Location
    Northfleet, Kent, UK
    Beans
    346
    Distro
    Ubuntu 11.04 Natty Narwhal

    Re: HOWTO: running Ubuntu on HP nx7400 laptops

    Thanks john_brown_jr - I will have a go at compiling later.

    There is already a reported bug:

    https://launchpad.net/ubuntu/+source....20/+bug/81767

Page 1 of 3 123 LastLast

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •