Table of Contents
HP zv5000
Laptop computer HP Pavilion zv5340ea
Configuration
- AMD Athlon64 3000+ 1.8GHz
- RAM Infineon 2×256=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 :
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.
- To unplug the keyboard, the touchpad, and the facade buttons, try to pull the brown part before removing the ribbon cable.
- 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 :
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.
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