[vox-tech] Ubuntu x86 on Compaq Presario v2310us (amd64)
Ken Bloom
kbloom at gmail.com
Thu Sep 1 12:12:52 PDT 2005
This is a howto that I plan to submit to linux-laptop.net (once it's
archived on vox-tech) for installing Ubuntu on the Compaq Presario
v2310us. Please read all of the directions before trying this for
yourself, because some of the defaults can set you up for nasty
crashes.
*** Executive Summary ***
The wireless card needs ndiswrapper to run. There doesn't seem to be a
64bit windows driver that supports this card, so you'll need to use 32
bit Linux + 32 bit ndiswrapper + 32bit windows driver to make this
work.
The video seems to require ATI's proprietary fglrx driver to run. This
driver does not support resuming yet.
I think you need kernel 2.6.11 or later to get DMA working.
*** Specs ***
The specs for this laptop are as follows (copied from
http://reviews.designtechnica.com/review2907_specs14544.html, with
slight modifications to add slightly more techinal information)
Processor: AMD Turion 64 processor ml-28+ with PowerNow! 1.60GHz
Shipping operating system: Windows XP Professional with Service Pack 2
Memory: 512MB DDR SDRAM (2 x 256MB) at 333MHz; maximum memory
2048MB DDR SDRAM
Graphics card: ATI MOBILITY RADEON 200M with 128MB DDR (dedicated)
Hard drive: 80GB Enhanced IDE [gigabyte is defined as 1,000,000,000
bytes, accessible capacity may vary]
Primary CD/DVD drive: DVD/CD-RW combo drive
Display: 14.0" WXGA High-Definition BrightView Widescreen (1280 x
768) display
Wireless connectivity: 54g Integrated 802.11b/g wireless LAN with
25HSM/SpeedBooster support (based on a Broadcom chipset)
Digital media: 6-in-1 integrated Digital Media Reader for Secure
Digital cards, MultiMediaCard, Memory Stick, Memory Stick Pro,
SmartMedia or xD-Picture Cards
External ports: 3 Universal Serial Bus (USB) 2.0, 1 notebook
expansion port, 1 IEEE 1394 (FireWire)
Communications: Integrated 10/100Base-T Ethernet LAN (RJ-45
connector), high speed 56K modem (RJ-11 connector)
Dimensions: 13.15" (L) x 9.1" (W) x 1.29" (H) (min) or 1.53" (H) (max)
Weight: 5.38 lb.
Sound: Altec Lansing
*** Previous Attempt ***
A previous attempt to install Debian AMD64 on this laptop failed when
the wireless card did not work (even with ndiswrapper). It is common
knowledge that there is no open source driver for Broadcom wireless
cards at this time, instead requiring users to rely on using the
windows driver and ndiswrapper to make use of their wireless card. The
AMD64 windows driver
(http://ubuntuforums.org/attachment.php?attachmentid=186) turns out
not to support this laptop's wireless card (PCI ID 14E4:4318), even
after using ndiswrapper -d to add that device's PCI ID.
Failing that, I could just have easily decided to install Debian x86,
but instead I decided to install ubuntu so that I wouldn't have to
think so hard about what packages I needed to install to get a usable
system.
I'll mention hardware in the order I encounter issues. If I fail to
mention it, then either I didn't test it at all, or it so obviously
worked that I forgot to write about it.
*** CD/DVD burner ***
*** Ethernet card ***
Using the remnants of the Debian system, I successfully downloaded the
ubuntu CD via wired ethernet, and burned it to CD using the built-in
CD/DVD burner. The CD burner seemed to burn only coasters until I
added the "noapic" kernel option to bootup. (This also silences an
annoying message about apic errors.) It burned at a pokey 3.4x, which
means I probably was stupid and forgot to do something like turn on
DMA. I didn't investigate further, because I didn't want to burn
another coaster while apt-getting hdparm.
*** Ubuntu install ***
1. booted using "linux noapic"
(I couldn't do anything to enable DMA during the install)
2. let the ubuntu install do its thing (it can take a while to format
an 80GB hard drive without DMA)
*** DMA and kernels in general ***
It turns out the default ubuntu kernel doesn't have DMA for this
laptop. Several hours after I started the install, it was done slowly
apt-getting stuff, and I could use the computer. I promptely
uncommented the universe lines in /etc/apt/sources.list, and installed
linux-image-2.6.11-1-686 and rebooted. I then installed
linux-headers-2.6.11-1-686 because I would need those to compile
ndiswrapper.
I can't imagine the ubuntu folks shipping a kernel version that
supported DMA on my chipset but not turning that DMA support on, so I
think you need kernel 2.6.11 or later to make DMA work.
It turns out that 2.6.11 had some problem with kernel preemption. I
would get an error that looked kind of like this repeatedly, before
the kernel eventually paniced.
scheduling while atomic: gam_server/0xffffffc3/6277
(and in my syslog I'd have more details:
Aug 30 16:45:23 localhost kernel: scheduling while atomic:
gam_server/0xffffffc3/6277
Aug 30 16:45:23 localhost kernel: [schedule+1293/1298] schedule+0x50d/0x512
Aug 30 16:45:23 localhost kernel: [schedule_timeout+99/183]
schedule_timeout+0x63/0xb7
Aug 30 16:45:23 localhost kernel: [process_timeout+0/9]
process_timeout+0x0/0x9Aug 30 16:45:23 localhost kernel:
[do_poll+161/192] do_poll+0xa1/0xc0
Aug 30 16:45:23 localhost kernel: [sys_poll+335/527] sys_poll+0x14f/0x20f
Aug 30 16:45:23 localhost kernel: [sys_gettimeofday+59/127]
sys_gettimeofday+0x3b/0x7f
Aug 30 16:45:23 localhost kernel: [__pollwait+0/198] __pollwait+0x0/0xc6
Aug 30 16:45:23 localhost kernel: [sysenter_past_esp+82/117]
sysenter_past_esp+0x52/0x75
)
I finally found out that this was some problem with kernel preemption,
and I compiled my own 2.6.13 kernel without preemption. (I stole the
2.6.11-1-686 kernel config file, and modified it by changing the
processor to match my own, and turned off preemption.)
*** Video ***
The Ubuntu installer chooses to use the "ati" driver by default. DO
NOT ATTEMPT TO LOG USING X BEFORE RECONFIGURING THE X SERVER. If you
do, then as soon as QT attempts to draw a widget on the screen, the
system will lock hard (no mouse, no keyboard, no virtual-console
switching, and apparently no log messages explaining what went wrong.)
A fuller description of the problem I encountered is in the vox-tech
archives at http://www.lugod.org/mailinglists/archives/vox-tech/2005-08/msg00097.html
.
Because I needed X to do stuff like visit websites to make this work,
I configured the screen to 1024x768 using the vesa driver. It wasn't
optimal, but at least I could find enough information about how to
reconfigure it better.
I found someone (http://forums.fedoraforum.org/showthread.php?t=72172)
who said that he used FireGL drivers and had been mostly successful.
Unfortunately, ubuntu's packaged firegl drivers don't compile, so I
went to ATI's site to get the FireGL drivers
https://support.ati.com/ics/support/default.asp?deptID=894&task=knowledge&folderID=300
and I installed those instead.
I let fglrxconfig configure my xorg.conf for me, but afterwards, I had
to manually edit the file it generated to enter the right screen
resolution. Depending on what you chose in fglrxconfig, the edit
should look something like this.
Subsection "Display"
Depth 24
- Modes "1024x768" "800x600" "640x480"
+ Modes "1280x768" "1024x768" "800x600" "640x480"
ViewPort 0 0 # initial origin if mode is smaller than desktop
# Virtual 1280 1024
EndSubsection
There were some mutterings
(http://www.lugod.org/mailinglists/archives/vox/2005-08/msg00060.html)
about the Synaptics driver for the touchpad not being optimal. I
didn't spend any time trying to make it work -- I just removed that
part from the xorg file. In fact, I think that fglrxconfig didn't even
generate a stanza for the synaptics touchpad. I just used
/dev/input/mice which captures the touchpad as well as any USB mice.
*** Wireless Card ***
The procedure for installing the wireless card drivers (for x86) is
here: http://www.redhat.com/archives/fedora-list/2005-August/msg02589.html
I got the x86 driver from compaq.com -- it was the lastest one for
this model of laptop.
(http://h10025.www1.hp.com/ewfrf/wc/softwareDownloadIndex?dlc=en&lc=en&os=228&product=500279&lang=en&cc=us&softwareitem=ob-31557-1)
Do not use the one linked from
http://www.linuxant.com/driverloader/drivers.php -- it does not
support this laptop's card.
I found that after installing the driver ndiswrapper wouldn't load --
it left the following syslog message:
Aug 30 16:09:56 localhost loadndisdriver: loadndisdriver: load_driver(318): too
many .conf files for driver bcmwl5
the solution was easy enough -- cd into /etc/ndiswrapper/bcmwl5, and
delete some of the files that don't correspond to my wireless card. In
this case, I just did the following:
$ cd /etc/ndiswrapper/bcmwl5/
$ sudo rm -rf *4324*
$ sudo rm -rf *4320*
Then ndiswrapper worked like a charm.
*** Power management ***
A tip (http://www.lugod.org/mailinglists/archives/vox/2005-08/msg00056.html)
on vox-tech told me to add the 'acpi_sleep=s3_bios' kernel parameter
to make suspend work. I did that, but there it seems there is a known
issue with resuming from sleep when using the firegl driver. See
https://support.ati.com/ics/support/default.asp?deptID=894&task=knowledge&folderID=27
for confirmation, but not really so much more information. I hope they
get this fixed soon.
--Ken Bloom
More information about the vox-tech
mailing list