====== HP zv5000 ======
**Laptop computer** HP Pavilion zv5340ea
===== Configuration =====
* AMD Athlon64 3000+ 1.8GHz
* RAM Infineon 2x256=512MB upgraded Kingston 1024+256=1.25GB
* HD Hitachi 80GB 4200trs 8Mo, upgraded Toshiba 120GB 5400trs 8Mo (stopped spinning up ...)
* Nvidia GeForce4 420 Go 32MB
* DVD+RW
* Chipset nForce3
* Ethernet 100Mb/s Realteak RTL-8139
* Wifi 802.11b/g Broadcom BCM4306
* 2 x USB1.1 + 1 x USB2.0
* Firewire Texas Instruments TSB43AB21
* PCCard Texas Instruments PCI1620
* Digital Media reader SD-MS/pro-MMC-SM
===== The bad contact in the DC connector =====
I learned that HP laptops are known to have very bad DC connectors subjects to bad contact. I had this problem, and I disassembled my laptop in order to solder back the connector.
First, an exploded view of the zv5340ea :
{{ exploded_laptop.jpg?640 }}
Unfortunately, you really need to completely disassemble the laptop to get access to the faulty solder. Some advice :
* Completely remove the two screws under the DVD player, so that you can remove the DVD player by pulling it out of its place. There is a hidden screw that you can only access by removing the DVD player.
* Once you've taken out all screws on the bottom, you can pull out the piece at the top of the keyboard (with power & wifi & multimedia buttons). You'll have to use some //brute force//. Finish removing all visible screws (and remember ;-)).
* If you want full access to the connector (and not only the solder), you'll have to remove also 4 big screws with springs that maintain the dissipator on the processor, and 3 little screws that maintain a small steel plate on the other side of the mainboard.
{{dissipator.jpg?300}} {{plate.jpg?300}}
* To unplug the keyboard, the touchpad, and the facade buttons, try to pull the brown part before removing the ribbon cable.
{{ ribbon.jpg }}
* Disassemble the screen, and take the wifi card out (let it connected to the screen, it's the antenna). Unplug the fans too.
My DC connector solder looked that :
{{ bad_contact.jpg }}
So it was pretty obvious what was the problem. Unfortunately, the wire of the connector was very hostile to tin. I had to heat a lot to make the solder, I did it twice and each time the bad contact was back after one month.
The third time, I completely removed the connector, cleaned all the wires, and resoldered it properly. For now it resists.
I had also a bad contact in a USB connector, and some soldering made it also.
{{ usb.jpg }}
===== With Linux =====
==== Multimedia keys ====
You can catch up most of multimedia keys of your laptop under Linux, with ''lineakd''.
''/etc/lineakb.def'' already contains some codes of keys for HPzv5000, but with ''xev'' you can find more :
[HPzv5000p]
brandname = "Hewlett-Packard"
modelname = "Pavilion zv5000"
[KEYS]
Mute = 160
VolumeDown = 174
VolumeUp = 176
WWW = 178
FnWWW = 233
FnMusic = 234
FnPhoto = 178 # Same as WWW !
PlayPause = 162
Previous = 144
Next = 153
Stop = 164
Suspend = 223
Pause = 110
ScreenShot = 111
Attn = 37 # Same as Control_L !!
Popup = 117
# caution, prevent keys from acting normally
Win = 115
FnWin = 116
WinG = 115
WinD = 116
[END KEYS]
[END HPzv5000p]
And then for example in ''/etc/lineak/lineakd.conf'' :
Mute =amixer sset Master toggle
VolumeUp =amixer sset Master 1+
VolumeDown =amixer sset Master 1-
WWW = "firefox"
FnWWW = ""
FnMusic = ""
PlayPause = "audacious -t"
Previous = "audacious -r"
Next = "audacious -f"
Stop = "audacious -s"
Suspend = "gksudo hibernate-ram"
ScreenShot = ""import -window root `date +/home/cyril/screenshots/shot-%Y-%m-%d_%H-%M-%S.png`
Popup = ""
==== Touchpad ====
HP zv5000 laptops have a Synaptics touchpad (this is the case of a lot of laptops). You can dowload the synaptics driver (there is a gentoo package, and probably for other distributions), and use it instead of the default driver. It allows you to configure a lot of things, for example disabling the click on tap when you are typing.
=== Install the driver ===
emerge synaptics libsynaptics
You have to modify your xorg.conf to use the driver :
In ServerLayout section : InputDevice "Touchpad" "AlwaysCore"
In Module section : Load "synaptics"
And finally add the section :
Section "InputDevice"
Identifier "Touchpad"
Driver "synaptics"
Option "Device" "/dev/input/mouse0"
Option "Protocol" "auto-dev"
Option "LeftEdge" "20"
Option "RightEdge" "990"
Option "TopEdge" "20"
Option "BottomEdge" "730"
# Option "FingerLow" "25"
# Option "FingerHigh" "30"
Option "MaxTapTime" "150"
Option "MaxTapMove" "150"
Option "MaxDoubleTapTime" "100"
# Option "SingleTapTimeout" "50"
Option "FastTaps" "1"
Option "VertScrollDelta" "100"
Option "MinSpeed" "0.25"
Option "MaxSpeed" "0.80"
Option "AccelFactor" "0.025"
Option "SHMConfig" "true"
Option "UpDownScrolling" "1"
# Option "RTCornerButton" "0"
# Option "BTCornerButton" "0"
## Option "Repeater" "/dev/input/mouse0"
EndSection
=== Configure the touchpad ===
As you can see in the example of my xorg.conf there are a lot of options you can configure.
You can get a list of them with current values with
synclient -l
You can get some extra info (for example x,y,z position of your finger) with
synclient -m 100
You can modify it to test it with
synclient MaxTapTime=150
and then put it in xorg.conf when you are sure of your modification.
== Tips ==
* To have vertical scrolling on the edge (and horiz scrolling too), you have to set RightEdge LESS than the maximum you can have with ''synclient -m 100'', because it scrolls OUTSIDE of your declared touchpad size.
=== Use the daemon ===
The daemon permits you to have more advanced features, such as disabling click on tape when typing.
You can run it for example with the command (see man page)
syndaemon -t -d -k -i 2
==== Wireless Broadcom BCM4306 802.11b/g ====
=== With the linux driver ===
Since 2.6.17-r2 kernel, linux supports Broadcom 43xx wifi cards.
First, enable options in the kernel config and recompile it :
Networking
--> Generic IEEE 802.11 Networking Stack
--> Software MAC add-on to the IEEE 802.11 networking stack
Device Drivers
--> Network device support
--> Wireless LAN (non-hamradio)
--> BroadcomBCM43xx wireless support
--> BCM43xx data transfer mode (DMA+PIO)
You have also to install the driver and ''wireless-tools'' :
emerge bcm43xx-fwcutter
emerge wireless-tools
Then find on your windows partition or download on the web your windows driver ''bcmwl5.sys'', and excute the following line :
mkdir /lib/firmware
bcm43xx-fwcutter -w /lib/firmware bcmwl5.sys
(the path can change if not gentoo, see [[http://acx100.sourceforge.net/wiki/Firmware]])
And finally either reboot or type :
rmmod bcm43xx
modprobe bcm43xx
To use it :
ifconfig eth1 up
iwconfig eth1 essid on
iwlist eth1 scan
iwconfig eth1 essid "name-of-the-essid-you-want"
Or more simply with gentoo :
cp /etc/init.d/net.eth0 /etc/init.d/net.eth1 # the first time
/etc/init.d/net.eth1 start # each time
== Note ==
If your eth0 (ethernet card) is up, don't forget to disable it to use wifi, because Linux will still try to use it even if there is no cable :
ifconfig eth0 down # for linux users
/etc/init.d/net.eth0 stop # for gentoo users
=== Using WPA ===
Install ''wpa_supplicant''.
Configure your network in ''/etc/wpa_supplicant/wpa_supplicant.conf'' :
network={
ssid="my-ssid"
psk="my-pass-phrase"
key_mgmt=WPA-PSK
proto=WPA
}
And finally in ''/etc/conf.d/net'' :
config_eth1=( "dhcp" )
modules=( "wpa_supplicant")
wpa_supplicant_eth1="-Dwext"
And you're done !
=== With ndiswrapper ===
This was the way to have wifi working before the kernel module, but it still works.
== Installation ==
As root :
emerge ndiswrapper
# get bcmwl5.inf and bcmwl5.sys from windows installation
ndiswrapper -i /path_to_bcmwl5/bcmwl5.inf
== Activation ==
As root :
modprobe ndiswrapper # to load ndiswrapper (have wlan0 in iwconfig)
iwconfig wlan0 essid on # to activate the card
dhclient wlan0 # DEBIAN-based : to get the ip
dhcpcd -n wlan0 # GENTOO-based : to get the ip
ifdown eth0 # to oblige to use wifi if eth0 is connected
sudo iwlist wlan0 scanning # to see wifi networks
==== Nvidia drivers for GeForce4 440 Go ====
To have 3D acceleration, compile xorg with these flags in ''/etc/make.conf'' :
USE="aiglx dri" # or aiglx in package.use : xorg-server aiglx
VIDEO_CARDS="nvidia"
Then (you have to do it each time you rebuild your kernel) :
emerge nvidia-drivers
The video card is not compatible with drivers >= 100.0.0 (uses legacy driver, with version number < 100), so gentoo users have to add ''>=x11-drivers/nvidia-drivers-100.0.0'' in ''/etc/portage/package.mask'' to not be bothered by updates.
Finally in ''/etc/X11/xorg.conf'', set ''nvidia'' instead of ''nv'' for the driver in the ''Device'' section, comment ''dri'' in options and add ''glx''.
[EN] [[http://www.gentoo.org/doc/en/nvidia-guide.xml]]\\
[FR] [[http://www.gentoo.org/doc/fr/nvidia-guide.xml]]