FreeBSD : Compaq Presario V3010AU

Got myself a Compaq Presario V3010AU notebook 2 months ago and installed FreeBSD. And finally got time to drop down some notes on setup of this laptop. I’m not keen to get it run on amd64, so i386 is the option to go.
Compaq V3000 series come with a layer lamination, subtle looking pinstripe patterns on the chassis, which ensures greater protection from scratches. The v3000 series truly looks and feels impressive.
In addition, I don’t pay for M$ Windows licence as the unit comes with FreeDOS preinstalled.
THE SPECIFICATIONS
The HP Compaq presario V3010AU specs stated as per HP website :-
Processor : AMD Turion 64 X2 Mobile Technology TL-50 1.60 GHz, Level 2 cache 256 KB + 256 KB
Standard memory : 512 MB DDR2 533 MHz
hard disk drive : 60 GB 5400 rpm
Optical drive : Super Multi DVD Writer (+/-R +/-RW) with Double Layer support
Modem : High speed 56K modem
Network interface : 10/100 LAN Ethernet integrated
External I/O ports : 1 VGA, 3 USB 2.0 ports, 1 IEEE-1394, 1 RJ-11, 1 RJ -45, S-video TV out, 1 headphone-out, 1 microphone-in, 1 Expansion Port 3 connector, AC Adapter, 2 Omni - directional microphones
Expansion slots : One ExpressCard/54 slot (also supports ExpressCard/34)
Display size : 14.1″ WXGA High Definition BrightView Widescreen Display max resolution 1280 x 800
Video adapter : NVIDIA® GeForce Go 6150
Speakers and microphone : Altec Lansing® speakers, Dual omni-directional microphones
Keyboard : Full-sized Keyboard
Pointing device : Touch Pad with dedicated vertical Scroll Up/Down pad
Power supply type : 65 W AC Adapter
Weight : 2.4 kg (5.31 lbs)
FREEBSD INSTALLATION
The installation was an easy task. However, getting the device working tends to be tricky and involves considerably much of upgrading and patching of FreeBSD operating system. Booting straight away from FreeBSD 6.1/6.2-beta1, requires to escape to loader prompt, by pressing 6 at beastie boot menu.
Type set hint.apic.0.disabled=1
and follow by boot to resume booting process. At this stage, FreeBSD will boot into installer and start installation as usual discribed in the FreeBSD handbook. Refer to the handbook if you have problem with installation.
TIPS : Please note that FreeBSD 6.2-beta installer CD is recommended as nve(4) is detected properly. This is a plus as it allows you to upgrade your system with cvsup via the nic without hassle.
Complete the installation and reboot. Again, you need to escape to loader prompt again and have apic disabled.
CONFIGURATION
UPDATE :
Ariff Abdullah has created a single RELENG_6 patch for presario v3000. After applying this patch, you can skip all the patches below except Project evil driver conversion.
Sound
Install cvsup and sync src according to FreeBSD branch you wish to follow. If you are on RELENG_6, grab a patch by Ariff Abdullah to get Conexant Venice HDA sound card working. Big thanks for his dedicated work. Please read the instructions on the site and download the correct patch. His patch was merged into FreeBSD -current. So you can skip this step if you following -current development branch.
Broadcom wireless
UPDATE : If you apply single RELENG_6 patch from Ariff, you can skip this patch.
ndis patch made by Scot Hetzel got the broadcom working. You will get kernel panic if you do not apply this patch.
# fetch http://bsd.ipv6.la/ndis.patch
# patch -d /usr/src -p0 < ndis.patch
# cd /usr/src/sys/modules/ndis && make obj && make && make install
You can either patch and recompile the kernel or just compile ndis module as above.
Project evil
# fetch ftp://ftp.hp.com/pub/softpaq/sp33001-33500/sp33008.exe
# cabextract -F 'bcmwl5*' sp33008.exe
# ndisgen bcmwl5.inf bcmwl5.sys
# kldload ./bcmwl5_sys.ko
# cp bcmwl5_sys.ko /boot/kernel/
# kldxref /boot/kernel
Using ndis0 with wpa_supplicant
Set up /etc/wpa_supplicant.conf with your WIFI network information. Below is an example for WEP protected WLAN with DHCP enabled:-
network={
ssid="mywifi"
scan_ssid=1
key_mgmt=NONE
wep_tx_keyidx=1
wep_key1=your_104bit_wep_key
}
Enable wpa_supplicant automatically, set /etc/rc.conf with ifconfig_ndis0="WPA DHCP". To initialise it, run /etc/rc.d/netif start ndis0.
Nvidia Geforce 6150 Go display
# cd /usr/ports/x11/nvidia-driver
&& make && make install
and configure xorg.conf as usual with xconfigurator of your choice; Xorg -configure, xorgconfig and etc.
If you want to have a peek of my xorg.conf, it is here.
Firewire
Working properly though did not test completely.
DVD +/- burner
Working properly.
APIC
UPDATE : If you apply single RELENG_6 patch from Ariff, you can skip this patch.
As pointed by soh, again great work by Ariff Abdullah allows APIC to work. It really gives you an edge if you have an identical laptop model to developers’.
Thanks soh!
AMD PowerNow!
UPDATE : If you apply single RELENG_6 patch from Ariff, you can skip this patch.
Bruno Ducrot has made a patch for AMD Turion 64 X2 system.
# fetch http://people.freebsd.org/~bruno/powernow.c.pending_bit_stuck.diff
# patch -d /usr/src/sys/i386/cpufreq -p0 < powernow.c.pending_bit_stuck.diff
If cpufreq is configured as module:-
# cd /sys/modules/cpufreq
# make install clean
Recompile your kernel if you included cpufreq. Lastly, enable powerd in rc.conf.
MISCELLANEOUS
/boot/loader.conf
add entry in /boot/loader.conf to load the module at startup.
hw.apic.idle_cpu=2 # For debugging #boot_verbose="YES" # Kernel Modules acpi_load="YES" sound_load="YES" snd_hda_load="YES" nvidia_load="YES" #WIFI bcmwl5_sys_load="YES" if_ndis_load="YES" wlan_wep_load="YES" wlan_ccmp_load="YES" wlan_tkip_load="YES" wlan_xauth_load="YES" wlan_acl_load="YES"
Multimedia keys
You can use xev to determine keycodes and put them into ~/.Xmodmap for binding.
keycode 177 = XF86Launch2 keycode 136 = XF86Launch1 keycode 138 = XF86ScreenSaver keycode 144 = XF86AudioPrev keycode 153 = XF86AudioNext keycode 162 = XF86AudioPlay keycode 164 = XF86AudioStop keycode 178 = XF86WWW keycode 176 = XF86AudioRaiseVolume keycode 174 = XF86AudioLowerVolume keycode 160 = XF86AudioMute
I use these keys to bind to ~/.fluxbox/keys
For example:-
None XF86Launch1 :ExecCommand mrxvt & None XF86Launch2 :ExecCommand fbrun & None XF86AudioPrev :ExecCommand xmms -r & None XF86AudioNext :ExecCommand xmms -f & None XF86AudioPlay :ExecCommand xmms -t & None XF86AudioStop :ExecCommand xmms -s & None XF86WWW :ExecCommand opera & None XF86AudioMute :ExecCommand mixer pcm 0 & None XF86AudioLowerVolume :ExecCommand mixer pcm -2 & None XF86AudioRaiseVolume :ExecCommand mixer pcm +2 &
dmesg output
Can be found here v3010au.dmesg.
DEVICE CURRENTLY NOT WORKING
1) Ricoh SD/MMC card reader
2) ACPI suspense/resume/hibernation
3) Win modem
4) ExpressCard
“pciconf -lv” output is as follow:-
none0@pci0:0:0: class=0x050000 card=0x30b5103c chip=0x02f010de rev=0xa2 hdr=0x00
vendor = 'NVIDIA Corporation'
class = memory
subclass = RAM
none1@pci0:0:1: class=0x050000 card=0x30b5103c chip=0x02fa10de rev=0xa2 hdr=0x00
vendor = 'NVIDIA Corporation'
class = memory
subclass = RAM
none2@pci0:0:2: class=0x050000 card=0x30b5103c chip=0x02fe10de rev=0xa2 hdr=0x00
vendor = 'NVIDIA Corporation'
class = memory
subclass = RAM
none3@pci0:0:3: class=0x050000 card=0x30b5103c chip=0x02f810de rev=0xa2 hdr=0x00
vendor = 'NVIDIA Corporation'
class = memory
subclass = RAM
none4@pci0:0:4: class=0x050000 card=0x30b5103c chip=0x02f910de rev=0xa2 hdr=0x00
vendor = 'NVIDIA Corporation'
class = memory
subclass = RAM
none5@pci0:0:5: class=0x050000 card=0x30b5103c chip=0x02ff10de rev=0xa2 hdr=0x00
vendor = 'NVIDIA Corporation'
class = memory
subclass = RAM
none6@pci0:0:6: class=0x050000 card=0x30b5103c chip=0x027f10de rev=0xa2 hdr=0x00
vendor = 'NVIDIA Corporation'
class = memory
subclass = RAM
none7@pci0:0:7: class=0x050000 card=0x30b5103c chip=0x027e10de rev=0xa2 hdr=0x00
vendor = 'NVIDIA Corporation'
class = memory
subclass = RAM
none8@pci0:9:0: class=0x050000 card=0x30b5103c chip=0x027010de rev=0xa2 hdr=0x00
vendor = 'NVIDIA Corporation'
class = memory
subclass = RAM
none9@pci0:10:1: class=0x0c0500 card=0x30b5103c chip=0x026410de rev=0xa3 hdr=0x00
vendor = 'NVIDIA Corporation'
class = serial bus
subclass = SMBus
none10@pci0:10:3: class=0x0b4000 card=0x30b5103c chip=0x027110de rev=0xa3 hdr=0x00
vendor = 'NVIDIA Corporation'
class = processor
none11@pci3:9:1: class=0x080500 card=0x30b5103c chip=0x08221180 rev=0x19 hdr=0x00
vendor = 'Ricoh Co Ltd'
device = 'SD Bus Host Adapter'
class = base peripheral
none12@pci3:9:2: class=0x088000 card=0x30b5103c chip=0x08431180 rev=0x01 hdr=0x00
vendor = 'Ricoh Co Ltd'
class = base peripheral
none13@pci3:9:3: class=0x088000 card=0x30b5103c chip=0x05921180 rev=0x0a hdr=0x00
vendor = 'Ricoh Co Ltd'
device = 'Memory Stick Bus Host Adapter'
class = base peripheral
none14@pci3:9:4: class=0x088000 card=0x30b5103c chip=0x08521180 rev=0x05 hdr=0x00
vendor = 'Ricoh Co Ltd'
class = base peripheral
SUGGESTION
Suggestion/advice/patch/tips are welcome. Let me know if you have similar system and got devices running properly.




November 29th, 2006 at 4:51 pm
If you want to enable SMP, apply his other patch:

http://people.freebsd.org/~ariff/misc/idlecpu_apic_3.diff
Set “hw.apic.idle_cpu=2″, re-enable apic, boot smp kernel and have fun
November 29th, 2006 at 8:21 pm
Thanks for the tip, soh. It’s working. Cool.
December 5th, 2006 at 7:03 pm
how much u buy this ?
i think to get V3119AU
December 11th, 2006 at 10:22 am
not trying amd64 is a good choice … too much unknown. I tried out kubuntu amd64 and had a heck of a time trying to figure out some of the errors …
December 11th, 2006 at 4:06 pm
It’s another way of saying “I’m chicken out!” :-D. Anyway, getting the unit to operate fully on i386 is already a challenge to me, too many unsupported devices. ariff@ has a complied patch for RELENG_6.