Linux‎ > ‎

HP tx1000 and Fedora 12

Overview

This is a follow up account of installing Fedora 12 on my HP tx1000.  The original account can be found here.  Most issues described there are now gone and for the most part all the features of the laptop "just work" from a fresh install.  Below I've only mentioned items that either do not work or require additional steps to get working.

  • Wireless Broadcom 4328 802.11 a/b/g/n-draft - WORKS (ndiswrapper)
  • Ethernet - WORKS
  • LCD 1280x800 60Hz - WORKS (TODO - Rotating)
  • Touchscreen - WORK
  • Mouse Touchpad - WORKS
  • USB Port - WORKS (tried a USB mass storage drive)
  • Lightscribe DL DVD/CD-Rom Burner - WORKS (only tried reading)
  • Modem - UNKNOWN
  • Sound - WORKS
  • Monitor Keys (DVD button, rotate, etc) - PARTIAL WORKING (some seen as keypresses)
  • Function Key Alternates (sleep, dimmer, etc) - PARTIAL WORKING (some seen as keypresses)
  • Volume/Mute buttons - WORKS
  • Frequency Scaling - WORKS
  • Suspend/Hibernation - PARITAL WORKING
  • Web Camera - WORKS
  • Finger Print Reader - UNKNOWN
  • Memory Card Reader - WORKS

Wireless

The laptop includes a built in Broadcom BCM4328 chip and as of 1/24/2010 the kernel driver called "b43" does not support N PHYS (those that support 802.11N wireless).  I see patches being posted to the wireless devel mailing list so hopefully one day it will work (although it will require using b43-fwcutter to install firmware first).

The card does work with ndiswrapper though.  The easiest way to install ndiswrapper is to set up your box to use RPM Fussion yum repo and install from there be running "yum install ndiswrapper kmod-ndiswrapper".

Once installed, you'll need to install the Window's broadcom wireless driver and they can be found by searching on HP's website under drivers for this laptop.  Be warned that there are two versions of Windows driver; the XP (bcmwl5) and Vista (bcmwl6).  Only the XP drivers will work with ndiswrapper.

The following are some brief steps to extract files from drivers and install them.

yum install cabextract
mkdir /tmp/bcm
cd /tmp/bcm
cabextract /tmp/sp36684.exe
/usr/sbin/ndiswrapper -i bcmwl5.inf


There is also a conflict between the "ssb" loadmodules and ndiswrapper. I found the easiest work around was to add the following to end of the file /etc/rc.d/rc.local:

rmmod ssd

modprobe ndiswrapper

UPDATE 2/19/2010: I finally gave up on the trying to use the BCM4328 based card working with ndiswrapper.  The driver would constantly report some sort of interrupt problem (seems a conflict with nvidia somehow) and stop working until a reboot occurred.  Its a dead end trying to debug the binary blob so I went to eBay and searched for "tx1000 wireless" and found the other wireless card that shipped with this laptop; a BCM4311 base card.  Its very easy to replace.  The other card works with b43 driver *and* the b43-openfw so it works out of the box!  Only cost $15 with shipping.  So far its a much its worked nicely.

Touchpad

The touchpad worked with no configuration.  If you are interested in enabling more advanced features of touchpad then "yum install gpointing-device-settings.  This will add a menu option System->Preferences->Pointing Devices.

Touchscreen

The kernel has a generic HID driver that supports the eGalax touchscreen.  It automatically installs a /dev/input/event? upon bootup.

There is also a generic input event driver called "evdev" that Xorg supports.  Normally, Xorg would automatically use this driver for generic HID devices but its getting confused and incorrectly assigning the synaptics input driver instead; which fails since its not a synaptic device.

The cause of that is because of /usr/share/hal/fdi/policy/20thirdparty/10-synaptics.fdi.  It assumes anythiing registered as an "input.touchpad" is a synaptics device.  Since this laptop does have a synaptics touchpad, we have to be careful how to fix this.

There is some discussion on this issue in bugzilla bug #473144.

Update 2/1/2010 - There is a kernel bugfix required for touchscreen and its in the pipeline.  Very soon, a "yum update" will get you this fix in Fedora 12.  There is calibration that will need to be done and I suggest doing that by placing the following contents into a file named /etc/hal/fdi/policy/11-evdev.fdi.  Also, setting x11_driver to evdev is required but there is a chance something upstream will remove need for this (look at bugzilla bug to keep track).

<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- 10-synaptics.fdi is claiming all input.touchpad's as its
     own. This file is meant to be loaded afterwards and to undo
     any wrong assignments it did.
-->
<deviceinfo version="0.2">
  <device>
    <match key="info.capabilities" contains="input.touchpad">
      <match key="info.product" contains="eGalax">
        <merge key="input.x11_driver" type="string">evdev</merge>
        <merge key="input.x11_options.Calibration" type="string">35 4020 100 4000</merge>
      </match>
    </match>
  </device>
</deviceinfo>


Sound

Audio worked fine.  One interesting feature of default audio device driver is that it will go into a sleep mode when audio is not active.  This results in turning on the orange color on mute button; as if it is muted.  Assuming the device is not muted then when audio plays the hardware automatically wakes up and the mute button will turn back blue.  Kinda strange but I'll take the battery savings from it.

Short Cut Keys

The following keys were already correctly defined to standard X shortcut behaviors.  Appropriate applications would process them.

  • Rewind, Play, Fast Forward, Stop buttons on lower right portion of screen.
  • Volume Up, Down, and Mute on upper left corner of keyboard.
  • Media player (arrow chasing itself)
  • Print (fn-F2)
  • Web Browser (fn-F3)
  • Sleep (fn-F5)
  • Lock (fn-F6)
  • Dimmer (fn-F7/fn-F8)
  • Play, Stop, Rewind, Fastward (fn-F9 to fn-F12)
The follow keys didn't do anything.  I've not tried to do anything with them yet since I don't make use of short cut keys much.
  • DVD player
  • Screen Rotate (2 arrows chasing each other)
  • Setup (sprocket)
  • Help (fn-F1)
  • Monitor toggle (fn-F4 - didn't try external monitor though)

Suspend / Hibernation

The laptop would correctly go into Suspend mode when I closed the lid.  It would also correctly resume when I opened the lid.  This works SOOO much better then Vista on same laptop.

If you Suspend either using the Sleep button (fn-F5) or the option during Shutdown then it will also correctly sleep.  I've had issues with it automatically resuming from sleep when done this way.  It may be related to touching the mouse pad or something else that generates an event that wakes up the laptop.

Hibernate does not work correctly.  When it resumes, there are issues with graphics.  I think there is a "quirks" file were you can add options to help fix graphics issues during resume but I haven't tried this yet.  I think its a known issue that nouveau driver doesn't work with hibernate.

Comments