Gentoo on an HP Pavilion dv5000 (dv5139)
When my Compaq Presario X1000 (X1010US) died I was sad. It took me some time to get gentoo to work correctly with the hardware. The biggest hurdle that I faced was getting the wireless to work. At the time ndiswrapper wasn’t working very well and would often either lock up my system or cause a kernel panic. The second hurdle that I faced was getting 3d acceleration to work. When I was forced to give up the ghost on my beloved Compaq Presario X1000 I ended up purcharsing a HP Pavilion dv5000 (dv5139):
- AMD Turion 64 ML-37 (2.0Ghz)
- 2x1GB DDR333
- 120GB 5400 RPM Seagate HD
- 15.4" Wide 1280x800
- ATI XPRESS 200M
- 8x DVD-RW DL with lightscribe
- 54a/b/g wireless
- Bluetooth
- Windows XP MCE 2005 (which was wiped out right after removing it from the box )
Again, I was having problems with the wireless and video. The laptop has a bcm4319 chip and from what I’ve read, the native Linux kernel only has drivers that support the bcm4318 and earlier. However, I was able to get the ndiswrapper to work with the Windows drivers. The video card took a lot of monkeying around with but after many many hours I was able to get it to work. Unforunately there are some strange bugs in the driver such as once X starts you can’t switch back to the VT without seeing some tripy colours.
Kernel Configuration
Power management options -->
[ * ] Power Management support
[ * ] Software Suspend
( /dev/hda4 ) Default resume partition
ACPI (Advanced Configuration and Power Interface Support) -->
[ * ] Sleep States
< * > AC Adapter
< * > Battery
< * > Button
< * > Fan
< * > Processor
< * > Thermal Zone
CPU Frequency scaling -->
[ * ] CPU Frequency scaling
< * > CPU frequency translation statistics
< * > Powersave governor
< * > userspace governor for userspace frequency scaling
< * > AMD Operton/Athlon64 PowerNow!
< * > ACPI Processor P-States driver
Bus options (PCI etc)
[ * ] PCI Express support
[ * ] Root Port advanced Error Reporting support
PCCARD (PCMCIA/CardBus) Support -->
< * > PCCard (PCMCIA/CardBus) Support
< * > 16-bit PCMCIA Support
[ * ] Load CIS updates from userspace
[ * ] PCMCIA Control ioctl
< * > CardBus yenta-compatible bridge support
Executable file formats / Emulations
[ * ] IA32 Emulation
< * > IA32 a.out support
Networking -->
< * > IrDA (infrared) subsystem support -->
< * > IrLAN protocol
< * > IrCOMM protocol
Infrared-port device drivers -->
< * > IrTTY (uses Linux serial driver)
< * > SigmaTel STIr4200 bridge (EXPERIMENTAL)
< * > NSC PC87108/PC87338
< * > Winbond W83977AF (IR)
< * > SMSC IrCC (EXPERIMENTAL)
< * > ALi M5123 FIR (EXPERIMENTAL)
<*> VLSI 82C147 SIR/MIR/FIR (EXPERIMENTAL)
<*> VIA VT8231/VT1211 SIR/MIR/FIR
< * > Bluetooth subsystem support -->
< * > L2CAP protocol support
< * > SCO links support
< * > RFCOMM protocol support
[ * ] RFCOMM TTY support
< * > GNEP Protocol Support
< * > HIDP protocol support
Bluetooth device drivers --->
< * > HCI UART driver
[ * ] UART (H4) protocol support
[ * ] BCSP protocol support.
Device Drivers -->
< * > ATA/ATAPI/MFM/RLL support -->
< * > ATI IXP chipset IDE support
SCSI device support -->
< * > SCSI disk support
< * > SCSI CDROM support
< * > SCSI generic support
< * > Serial ATA (prod) and Parallel ATA (experimental) drivers -->
< * > AHCI SATA support
< * > ATI PATA support (Experimental)
IEEE 1394 (FireWire) Support
< * > IEEE 1394 (FireWire support - alternative stack, EXPERIMENTAL
< * > Support for OHCI FireWire host controllers
< * > Support for storage devices (SBP-2 protocol driver)
< * > IEEE 1394 (FireWire) support
< * > Texas Intruments PCILynx support
< * > OHCI-1394 support
< * > OHCI-1394 Video support
< * > SBP-2 support (Harddisks etc.)
< * > IP over 1394
< * > OHCI-DB I/O support
< * > Raw IEEE1394 I/O support
Network Device support -->
[ * ] Network device support
< * > Universal TUN/TAP device driver support
Ethernet (10 or 100MBit) -->
[ * ] Ethernet (10 or 100Mbit)
[ * ] EISA, VLB, PCI and onboard controllers
< * > RealTek RTL-8139 C+ PCI Fast Ethernet Adapter support
< * > RealTek RTL-8129/8130/8139 PCI Fast Ethernet Adapter
Wireless LAN -->
[ * ] Wireless LAN (IEEE 802.11)
< M > Broadcom BCM43xx wireless support
[ * ] Broadcom BCM43xx debugging
BCM43xx data transfer mode (DMA + PIO)
< * > PPP (point-to-point protocol) support
[ * ] PPP multilink support
< * > PPP support for async serial ports
< * > PPP support for sync tty ports
< * > PPP MPPE compression (encryption)
< * > PPP Over Ethernet
< * >Hardware Monitoring support -->
< * > AMD Athlon64/FX or Opteron Temperature sensor
Advanced Linux Sound Architecture -->
< * > Advanced Linux Sound Architecture
< * > Sequencer support
< * > Sequencer dummy client
< * > OSS mixer API
< * > OSS PCM (digital audio) API
[ * ] OSS PCM (Digital audio) API - Include plugin system
[ * ] OSS Sequencer API
< * > RTC Timer support
[ * ] Use RTC as default sequencer timer
PCI Devices -->
< * > ATI IXP AC97 Controller
< * > ATI IXP Modem
< * > MMC/SD card support -->
< * > MMC block device driver
< * > Secure Digital Host Controller Interface support
< * > TI Flash Media MMC/SD Interface support
There are no thermal sensors in the laptop, however there is a thermal sensor in the processor that can be accessed via the PCI bus.
cat /sys/bus/pci/devices/0000\:00\:18.3/temp1_input 42000
The 42000 means 42 degrees Celcius.
I would also like to point out that even though there is “support” for Broadcom chips in the kernel, they don’t actually work right with the BCM43xx drivers. It’s better to use ndiswrapper.
NDISWrapper
Installing the ndiswrapper driver is pretty striaght foward:
echo "net-wireless/ndiswrapper" >> /etc/portage/package.keywords
echo "net-wireless/ndiswrapper" >> /etc/portage/package.unmask
echo "net-wireless/bcm43xx" >> /etc/portage/package.keywords
echo "net-wireless/bcm43xx" >> /etc/portage/package.unmask
emerge ndiswrapper bcm43xx-fwcutter wireless-tools
bcm43xx-fwcutter -w /lib/firmware bcwl564.sys
ndiswrapper -i netbc564.ini
cd /etc/ndiswrapper/netbc564
ln -s 14E4\:4320.5.conf 14E4\:4319.5.conf
ndiswrapper -d 14e4:4319 netbc564
ndiswrapper -m
modprobe ndiswrapper
Download the drivers for wireless card here.
X Configuration
I’m not going to beat a dead horse with a stick, I’ve blogged about installing XOrg using an ATI card. So for me to repeat myself would be rather pointless. However, in the dv5139 there is a PCI-E video card opposed to AGP.
emerge ati-drivers xorg-x11 mesa-progs xvinfo
env-update && source /etc/profile
eselect opengl set ati
aticonfig --intial --input=/etc/X11/xorg.conf.example --output=/etc/X11/xorg.conf
Modify the xorg.conf file:
Section
Identifier "aticonfig-Device[0]"
Driver "fglrx"
BusID "PCI:1:5:0"
# Option "DesktopSetup" "horizontal"
# for multiple monitors.
Option "VideoOverlay" "on" Option "UseFastTLS" "2"
Option "EnablePrivateBackZ" "on"
EndSection
Section "Extensions"
Option "XVideo" "Enable"
EndSection
Try as I might I still have problems when I start X and then try to drop into another VT. I still get either a blank screen or a screen full of flashing vertical bars. The upside is that valuable CPU cycles are not wasted on processing graphics calculations. To save time, you can download the kernel from here. The version is 2.6.22-gentoo-r8.