====== 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]]