HP Pavilion tx2000

From Gentoo Linux Wiki

Jump to: navigation, search
Please format this article according to the Style Guidelines and Wikification suggestions, then remove this notice {{Wikify}} from the article.

Reason(s):

  • instead of copying information (like how exactly to install/configure something), link to specific articles. so please cleanup this article radically

Contents

[edit] Models actually used with this wiki

These are models have actually used this wiki. If you've used this wiki, please add your model. In the very least this helps raise it in search engine results.

tx2010eo tx2108ca tx2114ca tx2100er

[edit] Kernel Parameters

If your machine seems to freeze (and have a flashing caps lock) you may want to add noapic or irqfixup to the kernel command line.

Kernel 2.6.31 has stability problems, related to disk access, that are currently very hard to debug as they seem to produce no kernel panic message. The tx25xx seems to work with 2.6.31 while tx2108 does not. 2.6.30 may be more stable.

Please see custom essay

This option in particular seems to help as well:

Linux Kernel Configuration: Bus Configuration
   Bus Options (PCI etc.)  --->
   [*] Interrupts on hypertransport devices
Note: The irqfixup and noapic options appear to have a significant performance cost (Firefox loads in 5-10 seconds with them, 2-3 seconds without them).
Note: If you want to add nolapic, as some seem to recommend it as well, be warned that it disables SMP so you you'll most likely only have one of your two cores active.

[edit] Ethernet

The nVidia MCP51 southbridge has a built-in Ethernet controller that works with the forcedeth driver. Don't be alarmed that it's listed under 10/100 Megabit, forcedeth appears to support full gigabit speeds despite this.

/usr/sbin/lspci
 00:14.0 Bridge: nVidia Corporation MCP51 Ethernet Controller (rev a3) 
Linux Kernel Configuration: Ethernet configuration
 
   Device Drivers  --->
   [*] Network Device Support  --->
     [*] Ethernet (10 or 100Mbit) --->
       [*] EISA, VLB, PCI, and on board controllers
       <*> nForce Ethernet support

In certain buggy systems the forcedeth driver must make 100 interrupts per second to check for completed transmissions. On portable systems, these 100 extra wakeups per second interfere with power savings. The tx2108ca, and potentially the entire tx2000 series, does not appear to suffer from this flaw, hence the flag to do this in the MCP51 architecture can be safely removed from drivers/net/forcedeth.c for these systems. This patch was generated from gentoo-sources-2.6.24-r8.

[edit] NVIDIA Graphics

One has 3 options: The binary from NVIDIA (x11-drivers/nvidia-drivers) which supports 3D acceleration; Or the 2D open source version; And lastly the Nouveau driver which is the open source driver which aims to give 3D acceleration. The Nouveau driver is a work in progress and if you want to use it you should read up on it on it homepage. To use the binary driver: emerge it, load the module, and then set xorg to use "nvidia" as the driver. To use the 2D open source driver emerge xorg with the nvidia use flag, and then set "nv" as the driver in xorg.conf. OpenGL performance with the closed-source drivers as reported by glxgears seems to be about 2500FPS in 16bpp and 1750fps in 24bpp.

And if you may notice that when switching between the 2 different drivers, the sizes of text are different because the open source driver ends up setting the DPI to 75, while the binary will set it to 101. Those values could be those backwards, but the important part is that they are different. And so you don't have to do the math of 1280x800 on a 12.1 inch screen, is 125. To find out your DPI run:

Code: xdpyinfo |grep resolution
resolution:    125x124 dots per inch

To prevent text from being huge, in KDE one can set the Fonts module in Control Centre to force fonts to 96 DPI. 96 DPI is mostly arbitrary but it did originate from MS Windows. If using the nvidia driver (not an option on nv?), you could instead add the line :

File: /etc/X11/xorg.conf
... 
Option   "DPI" "96 x 96"
... 

to the Device section for your nvidia card. Other useful options for the nvidia driver are:

File: /etc/X11/xorg.conf
... 
Section "Device"
        Driver          "nvidia"
        # Allow rotation through xrandr
        Option          "RandRRotation"
        # Reduce number of interrupts to save power
        Option          "OnDemandVBlankInterrupts"      "True" 
        # Allow underclocking through nvidia-settings
        Option          "Coolbits"                      "1" 
... 
Note: It is recommended that you use the latest stable version to avoid bugs. For example the old binary driver (i.e. 169.12) had a peculiar effect of turning off the display after a while and not bringing it back, even switching consoles sometimes didn't bring it back. Also prior to 173.14.08 only blank consoles were shown while X11 is running. Both issues are solved in nvidia drivers >= 173.14.08. And the old open source driver (not to be left out) from the 1.3.0 series brought about a "white light" effect when you started the X Server.

[edit] Sound

You don't need to use alsa-driver for sound, the kernel's own drivers work as of 2.6.24-r8 (perhaps earlier). Make sure you add this line to get things working. Don't forget to run update-modules afterwards, and if you run alsaconf, the line may be deleted. If you want mute button to change color, enable aggressive powermanagement for sound, and when the card goes in powersave mode it will turn red. The PC speaker, while it works, always plays through the speakers not the headphones, and interrupts whatever else is playing when it beeps, so you should probably disable it in kernel config.

File: /etc/modprobe.d/alsa
... 
options snd-hda-intel model=hp
... 

Afterwards run update-modules With alsamixer, unmute and set Master and PCM to 100%, then unmute and adjust Front and Headphone for speakers and headphone respectively. You'll have to set them fairly high. Save and restore work properly in more recent kernels. Mic might work and might not work depending on your model. No practical solution was found yet.

[edit] Remote, Keycodes, ACPI Controls

The remote should just work because it emulates keycodes. If your remote does not work right away (probably first attempt) you should take the battery out and connect the terminals in the remote to get rid of the excess charge that might have built up. A couple of buttons on the screen do not seem to report keycodes.

Laptop Base Keycodes

Volume -  Scancode 0xae as reported by SDL
Volume Mute  Scancode 0xa0 as reported by SDL
Volume +  Scancode 0xb0 as reported by SDL

Toggle Keypad Disable: Unrecognized scancode e058/0xd8 as reported by kernel Re-Enable: Unrecognized scancode e059/0xd9 as reported by kernel Wireless No keycode or ACPI event, causes bluetooth USB device removal or insertion and presumably enables or disables 802.11

FN-Key Keycodes

fn-F1 (help)  Unrecognized scancode e031/0xb1 as reported by kernel
fn-F2 (print)  LCtrl-P
fn-F3 (www)  Scancode 0xb2 as reported by SDL
fn-F4 (monitor)  Reports no keypress, amazingly actually tries to do its job
fn-F5 (sleep)  Scancode 0xdf as reported by SDL
fn-F6 (lock)  Unknown scancode e00a/0x8a as reported by kernel
fn-F7 (brightness down)  Scancode 0x65 as reported by SDL, and lowers brightness, and generates unhandled ACPI event "video LCD 00000087 
00000000"
fn-F8 (brightness up)  Scancode 0xd4 as reported by SDL, and raises brightness, and generates unhandled ACPI event "video LCD 00000086 
00000000"
fn-F9 (play/pause)  Same as remote play/pause
fn-F10 (stop)  Same as remote stop
fn-F11 (rewind)  Same as remote rewind
fn-F12 (fast-forward)  Same as remote fast-forward

Remote Keycodes

Power  Scancode 0xdf as reported by SDL
Vista  Alt-Win-Enter
Replay  Unrecognized scancode e03a/0xba as reported by kernel
Play/Pause  Scancode 0xa2 as reported by SDL
DVD  Unrecognized scancode e034/0xb4 as reported by kernel
Back  LCtrl-LShift-B
Stop  Scancode 0xa4 as reported by SDL
Forward  LCtrl-LShift-F
Black Square Upper Left(rewind)  Scancode 0x90 as reported by SDL
Black Square Up  Up
Black Square Upper Right(fast-forward)  Scancode 0x99 as repored by SDL
Black Square Left  Left
Black Square Middle(OK)  Enter
Black Square Right  Right
Black Square Lower Left  Backspace
Black Square Down  Down
Black Square Lower Right(i)  Scancode 0x75 as reported by SDL
Volume -  Same as base
Volume Mute  Same as base
Volume +  Same as base

Monitor Keycodes

DVD  Unknown scancode e00e/0x8e as repored by kernel
Replay  Unknown scancode e008/0x88 as repored by kernel
Repeat  The goggles(do nothing)

"Gear"

Back of Monitor Keycodes

Rewind  Scancode 0x90 as reported by SDL
Play/Pause  Scancode 0xa2 as reported by SDL
Fast Forward  Scancode 0x99 as reported by SDL
Stop  Scancode 0xa4 as reported by SDL

The brightness FN-keys will not do anything unless you have ACPI video control enabled in your kernel:

Linux Kernel Configuration: ACPI Video
   Device Drivers  --->
   Graphics support  --->
     <*> Lowlevel video output switch controls
     -*- Backlight & LCD device support  --->
     <*>   Lowlevel LCD controls
     Display device support  ---> 
       <*> Display panel/monitor support

 Power management options  --->
   [*] ACPI (Advanced Configuration and Power Interface) Support  --->
     <*>   Video [NEW]

If you disable the touchpad with the key, closing the monitor face-up seems to re-enable it even though the indicator stays red. Turning it back on then off disables it again.

Removing the AC adapter decreases monitor brightness even though plugging it in doesn't increase it. You can increase it manually with fn-f8, or add the following to the battery) section of /etc/acpi.d/default.sh:

                if grep -q "on-line" /proc/acpi/ac_adapter/ACAD/state
                then
                        echo 80 > /proc/acpi/video/UVGA/LCD/brightness
                else
                        echo 24 > /proc/acpi/video/UVGA/LCD/brightness
                fi

ACPI events

Increase Brightness:  video LCD 00000087 00000000
Decrease Brightness:   video LCD 00000087 00000000
Close Lid:  button/lid LID 00000080 00000001
Open Lid:  button/lid LID 00000080 00000001
Plug/Unplug AC adapter:  ac_adapter ACAD 00000080 00000000
fn-F4 VGA key:  video UVGA 00000080 00000000

[edit] Tablet

To get the active and the passive touch screen to work one can use the built in kernel module or emerge x11-drivers/linuxwacom to get the wacom module. It provides two event interfaces, one for the wacom pen (the stylus and the eraser) and one for the touch screen. If your stylus doesn't work when close to (and not touching) the screen and its calibration seems wildly off, you may have swapped them.

Note: /dev/input/mice includes the touchscreen interface but not the pen one for some reason, so it may be best to configure X11 for seperate interfaces. /dev/input/mice excludes devices that get used explicitly. To exclude a device from being used while still using /dev/input/mice, you can use a third-party utility, http://burningsmell.org/code-snippets/grab.c . It will grab a given input device exclusively and do nothing with it, preventing its events from propagating to /dev/input/mice . Run it in /etc/conf.d/local.start .
Note: It has been reported that Wacom tablets 009x don't work with linuxwacom driver from 2.6.25. because it is not listed in wacom_wac.c.
File: /etc/X11/xorg.conf
... 
# Synaptics Touchpad device
Section "InputDevice"
    Identifier "touchpad"
    Option     "Protocol"        "IMPS/2"
    Option     "Device"          "/dev/input/mice"
    Option     "Emulate3Buttons"
#   Option     "Emulate3Timeout" "50"
EndSection

# wacom pen device
Section "InputDevice"
    Driver     "wacom"
    Identifier "stylus"
    Option     "type"           "stylus"
    Option     "device"         "/dev/input/tablet-tpc93-stylus"
    Option     "USB"            "on"
    Option     "ForceDevice"    "ISDV4"#Doesn't seem to be needed with option above
# Without this, the button on the stylus won't work with newer linuxwacom
    Option     "TPCButton" "off"
# Make the stylus button a right-click
    Option     "Button2"        "3"
EndSection

Section "InputDevice"
    Driver     "wacom"
    Identifier "eraser"
    Option     "type"           "eraser"
    Option     "device"         "/dev/input/tablet-tpc93-stylus"
    Option     "USB"            "on"
    Option     "ForceDevice"    "ISDV4"#Doesn't seem to be needed with option above
EndSection

# Wacom touchscreen
Section "InputDevice"
    Driver     "wacom"
    Identifier "touch"
    Option     "type"           "touch"
    Option     "device"         "/dev/input/tablet-tpc93-touch"
    Option     "USB"            "on"
    Option     "ForceDevice"    "ISDV4"$Doesn't seem to be needed with above option
# Calibration for the touch screen (same options for above devices).  Yours may vary and you should try without these first.
    Option     "TopX"           "1025"
    Option     "TopY"           "800"
    Option     "BottomX"        "25400"
    Option     "BottomY"        "15500"
EndSection


... 
Section "ServerLayout"
    InputDevice "touchpad"      "CorePointer"
    InputDevice "stylus"        "SendCoreEvents"
    InputDevice "eraser"        "SendCoreEvents"
    InputDevice "touch"         "SendCoreEvents"
... 
EndSection


Note: The above values for devices are for udev-141 and linuxwacom-0.8.3_p2, and may be different depending on those versions. It seems to be consistent that event8 and event9 in /dev/input/ are symlinked to something like the above. For example it used to be

/dev/input/by-path/pci-0000:00:0b.1-usb-0:2.3:1.0-wacom and

/dev/input/by-path/pci-0000:00:0b.1-usb-0:2.3:1.1-wacom

and then that changed to

/dev/input/by-path/pci-0000:00:0b.1-usb-0:2.3:1.0-event-mouse and

/dev/input/by-path/pci-0000:00:0b.1-usb-0:2.3:1.1-event- for stylus and touch, respectively.

As of calibration values(TopX, BottomX etc), there are some guidelines:

  • Top coordinates are always lower than bottom ones.
  • Maximum value is about 35000.
  • You can use wacomcpl program to get approximate calibration values, it saves them automatically into ~/.xinitrc or ~/.xsession.
  • You can fine-tune calibration values with commands like
    xsetwacom set Stylus BottomX <some value>
  • Calibration values for stylus and eraser should be equal, but they MUST be explicitly set in xorg.conf or with xsetwacom. Calibration for stylus does not match calibration for touch.
  • If you can not calibrate your tablet, there are 3 possible reasons:
    • You should try harder
    • You are trying to achive the impossible (even perfectly calibrated tablet will have some glitches when stylus is at some specific (more than 45 degrees) angle or near the edge). As a general rule of thumb, error at the center of the screen should be about 1-1.5 mm, at the edge - up to 3mm. Touch is not that perfect, so you will get about 3-4 mm error wherever you touch it.
    • Your tablet is broken. In such case you will also be unable to calibrate it in windows. You can not fix it with software. Typical defect is when your calibrated grid seems to be a bit rotated.
  • If you set high sensivity to the stylus/touch, you might end up getting random clicks.
  • High filtering values will increase lag.
  • Resistive touchscreen may give some odd coordinates when it is touched and released very often. This might happen when you try to drag a window. In such case, increase filtering. If this does not help, press harder or use your nail as a stylus=)
  • If you don't like touch you can disable it with xsetwacom.

Rotation script can be found here. You can bind it to any key you prefer, and it will cycle through rotation positions.

[edit] Wireless

[edit] Bluetooth

To get Bluetooth to work following the Bluetooth guide. net-wireless/kdebluetooth is some software to try out. However, there is a file collision issue with this package and a KDE 4.2 package. Also to make the start up behave better, add rfcomm to /etc/modules.autoload.d/kernel-2.6 and let udev handle the rest.

[edit] WLAN

For the broadcom (4328 (rev 03)), only Broadcom's own broadcom-sta binary driver supports it. Fortunately there's both 32-bit and 64-bit varieties. Your kernel will need these options compiled as modules: http://forums.gentoo.org/viewtopic-t-776327.html

[edit] Webcam

The Webcam is a Suyin Corp. USB webcam with USB ID 064e:a110, and has had kernel support since 2.6.26. If you are using a kernel older than that, you can use the media-video/linux-uvc driver. You must have Video for Linux enabled in your kernel to emerge this driver. The compiled module will be called uvcvideo.

Linux Kernel Configuration: Webcam configuration for >=2.6.26
   Device Drivers  --->
      Multimedia Devices  --->
        <*> Video for Linux
        [*] Video Capture Devices  --->
           [*] V4L USB devices  --->
              <M>   USB Video Class (UVC)
Note: This driver does not support read()/write() operations, just memory-mapped I/O, so don't be alarmed when cat /dev/video0 reports 'no such device'.

The media-video/luvcview application can be used to test the webcam once the module is loaded. Or one can jump right in and use media-video/cheese. Note that this webcam supports yuv capture, but not jpg capture.

Code: luvcview -L -d /dev/video0
 
  luvcview version 0.2.1 
Video driver: x11
A window manager is available
video /dev/video0 
/dev/video0 does not support read i/o
{ pixelformat = 'YUYV', description = 'YUV 4:2:2 (YUYV)' }
{ discrete: width = 640, height = 480 }
        Time interval between frame: 1/30, 1/20, 1/15, 1/10, 1/5, 1/1, 
{ discrete: width = 352, height = 288 }
        Time interval between frame: 1/30, 1/20, 1/15, 1/10, 1/5, 1/1, 
{ discrete: width = 320, height = 240 }
        Time interval between frame: 1/30, 1/20, 1/15, 1/10, 1/5, 1/1, 
{ discrete: width = 176, height = 144 }
        Time interval between frame: 1/30, 1/20, 1/15, 1/10, 1/5, 1/1, 
{ discrete: width = 160, height = 120 }
        Time interval between frame: 1/30, 1/20, 1/15, 1/10, 1/5, 1/1, 
Code: luvcview -d /dev/video0 -f yuv
  luvcview version 0.2.1 
Video driver: x11
A window manager is available
video /dev/video0
... 
Stop asked
 Clean Up done Quit 

[edit] Powersave

Also read next section for hibernation.

  • Get cpufreq driver(see above in kernel config), install cpufreq and frontend. Works just fine.
  • Use nvidia proprietary driver - it helps throttle down video,helps a lot.(5-7%)
  • Dimm the LCD to at most 50% - this will increase battery life by about 30%.
  • Set up rfkill driver (kernel module is named rfkill). This will allow you to shut down wifi adapter.

Doing so will save about 3% of battery life.

  • Set up laptop-mode. Spindown will not save a lotof power itself, but it will lessen the noise and heat, so the fan will rotate at slowest speed. Total to-ram load saves about 5% of uptime and gets the things to run MUCH faster. With 2 GB of ram - you can set up 64M ramdisk for /tmp. In fact, this is HIGHLY recommended if you are ever going to use GNOME software, since gconfd will spinup your harddrive every 2-4 mins otherwise.
  • Use ext3 wherever possible since it has the commit option. Reiserfs daemon will spinup your HDD every 5 mins even in laptop-mode.
File: /etc/fstab
/dev/sda1       /       ext3    noatime,nodiratime,rw,commit=1800      0 1
tmpfs   /tmp            tmpfs   nodev,nosuid,size=64000000              0 0
  • Set powersave option to 1 second in kernel config for intel HDA audio - this will not save much, but it will make mute led to go red when audio is idle/totally muted.
  • when using tablet mode, keyboard and touchpad are powered down. I don't know how much this saves, but it shuold save some=)
  • AFAIK tablet does not consume tons of power, just like touchscreen.

[edit] Tuxonice (Hibernation)

One has to be careful about nomenclature here. There are three different methods: S3, ACPI standby (that's to RAM); S4, ACPI suspend (that's to disk); And S5, ACPI suspend (that's to disk) with soft power off.

The readme file for the nvidia proprietary driver mentions S3 and S4 only. And even mentions that S4 support is in BETA. That being said it recommends (in Chapter 22) running echo 0 > /sys/power/tuxonice/extra_pages_allowance, which disappears after reboot so you should put it in an init script.

With regards to S5, one has a few different possible results (using tuxonice-2.6.25): Complete file system corruption; The computer freezing on hibernate; And the expected working result. However, the working result still had "<unsupported>" popping up on the screen, which was probably due to IOMMU having to be disabled leading to usb devices (like a mouse and touch screen) not working. The other caveat was that the binary nvidia module had to be unloaded during the process so that means that X could not be running

[edit] Lightscribe

The official software recognizes the drive, and properly burns labels even under 32-bit emulation, but needs root access to do so.

[edit] Fingerprint Reader

The tx2000 series uses the fairly common AuthenTec aes1610 fingerprint reader.

Code: lsusb
Bus 001 Device 006: ID 08ff:1600 AuthenTec, Inc.

The libraries and software for this model are still in an overlay, so installing them may be a bit involved. One can use the howto in the Asus M50SV#Fingerprint reader section to get the reader working.

As of July 12 2008, the aes1610 only works with the 0.0.x series of libfprint, not the 9999 series which is actually built from the latest source from git(a CVS-like system). The aes1610 driver has not yet been converted to the newer driver model. The combination of =app-misc/fprint_demo-0.4, =sys-auth/pam_fprint-0.2, and =media-libs/libfprint-0.0.5 works for fingerprint authentication.

[edit] SD/SDHC/MS/MMC/XD Card Reader

The card reader imitates a full-fledged USB mass storage device that works with the normal usb-storage driver. It presents actual USB device insertions and removals when media is added and removed. The reader has been tested with MMC, SD, XD, SDHC (up to 4 Gb) and Memory Stick media so far. It properly reports the position of write-protect tabs.

[edit] Software

Some suggested software to get most of this laptop:

  • acpid
  • hal
  • cpufreq & frontend
  • NetworkManager & frontend
  • laptop-mode-tools / powersaved / both
  • gimp
  • gwenview - nice viewer designed for use with muse only.
  • kpdf - perfect to read pdf while scrolling with finger.
  • xournal (for notetaking)
  • wacomcpl (to set up the tablet input in the easy way)
  • nvidia-drivers - otherwise your video will be at max power all the time, and it will consume tons of power.
  • cellwriter/xstroke (for text recognition)
  • a nice windowmanager with large buttons if you want to use touchscreen (e17 will do it well, xfce could also be tuned that way. KDE & Gnome are a bit too heavy for max powersave mode). Be aware that using compiz will decrease battery life a lot.
  • K3B (gets to work all CDROM's features)
  • kbluetooth
  • proper keymap (there are some for this laptop, so you will not hassle with key setup)
  • Dolphin or something like that as a filemanager (to use it in tablet mode of course)

Good luck!

[edit] Links

Personal tools