Linux on a Gateway Solo 450
Last updated 31 January 2004.
I'm running Fedora Core 1, dual-booted with Windows XP (Professional).
I've given Windows 8 GB and Linux gets the rest of the 40 GB drive.
Overall I'm fairly pleased with the 450.
Important Note: I do not have the "Centrino"
version of the 450. In particular, the miniPCI wireless card on
my machine advertises itself as a "Lucent Technologies WaveLAN/IEEE"
and is handled by the orinoco and orinoco_cs drivers.
I originally installed RedHat 7.3 (see
original installation notes) and recently upgraded to Fedora Core
1, mostly because RedHat dropped support for RH 7.3.
The upgrade went fairly smoothly except for a fubar of my own making
with the installation CDs (note to self -- always check the
installation CDs for integrity and correct content before starting the
install), but as usual with any major upgrade there are lots of little
things that either need to be worked out or are just annoying. Please
note however that this was indeed an upgrade to Fedora and not
a virgin install, so it's hard for me to predict how a virgin install
of Fedora Core 1 would actually go. I suspect it would be ok but I
can't be entirely sure (i.e. YMMV), plus I can't tell how many of the
fixes I needed for RH 7.3 are still needed for Fedora. Fedora Core 1
is a lot slicker than 7.3 was, especially with respect to GUI-operated
configuration tools, so I'm not really sorry I upgraded (plus there's
that whole no-support-from-RedHat issue).
Things that work:
- XCDroast -- works fine. I haven't tried writing a CD-RW
yet, but given the low cost of CD-R media it's not likely I will anytime
in the near future. They seem to have fixed the business with needed to
run "xhost +" before it will start up. Note also that in this version,
XCD-Roast is on the "System Tools" menu under "CD Writer".
- Sound -- worked fine; I didn't have to run sndconfig or
anything. I don't know if that's a result of the RH7.3 install or
if Fedora is just better at dealing with sound.
- DVD's -- Xine works; I haven't tried Ogle yet. I suspect
that some of the libraries I installed under RH7.3 allow Xine to read
DVDs, but I'm not sure. I'm actually getting used to the Xine API,
contorted though it is. Plus it turns out that you can set up the
menus (Preferences->CD
Properties) to launch Xine whenever you pop a DVD in the drive.
- Wireless works the way it used to. There's a new "Wireless
link monitor" you can add to the panel but I haven't tried it yet.
The scripts I wrote (including the lines I added to rc.local) are
still intact and still seem to work.
- X -- Fedora Core 1 has XFree86 4.3 with the newer Radeon
drivers, which means that DRI support actually works now. Here's my
new XF86Config-4 file, with DRI enabled.
I can run Tux Racer again! Happy happy joy joy. Switching virtual
consoles works just fine.
- USB -- it properly detects my USB camera and I can mount
the device and read its contents. I haven't yet tried any other USB
devices. USB support was one of the weak spots in RH 7.3.
- Firewire (aka 1384) -- the firewire port now gets detected
properly during boot, I think, and a module to run it gets loaded.
I don't have any Firewire devices so I haven't actually tested it yet.
- Grip works fine. It didn't like to old configuration when
I first fired it up, but it was kind enough to save the old config so
I was able to patch the config with the really important bits.
Things I haven't checked yet:
Glitches:
-
The lpd/lpr installation was totally messed up. I suspect that this
was because when I was running 7.3 I used lpd/lpr exclusively and
never upgraded to CUPS; Fedora Core 1 on the other hand seems to be
set up exclusivley for CUPS so the installation just didn't know how
to handle my setup. It managed to delete all the lpr/lpd excutables
but wasn't able to install the CUPS executables; as a result, all
sorts of symbolic links in /etc/alternatives were pointing to
non-existent lpr executables instead of CUPS executables. The only
clue I had about this was when I tried to set up my networked printers
and got really strange error messages; then when I ran "lpq" to find
out what was going on I found out the executable was missing. From
that piece of information I traced the twisty maze of symbolic links
from /usr/bin through /etc/alternatives and back to /usr/bin/. I
ended up having to delete the links in /etc/alternative and putting in
the appropriate links, after which everything worked fine.
- up2date -- One of the first things that I like to do with
a new install is get all the updates, so I fired up up2date and let it
do its thing. Unfortunately its thing consisted of informing me that
there were lots of new packages available (including a new kernel) and
then hanging as it tried to download the first package. Not very
friendly. Sometimes it started downloading packages, but most often didn't
even get that far. I ran the non-gui version ("up2date-nox -uv") to see
if I could detect what was going on. Usually it just hung but occassionally
it started a download, only to bomb out with an error message to the effect
that the package's GPG signature was incorrect.
I did some research (thanks, Jacob!) and found out that the
problem is that RedHat's servers are just so busy that up2date can't
handle it. The solution is to point up2date at one of the mirrors,
which turns out to be harder to do than you might think. Firstly, not
all of the mirrors are
set up in the up2date format; secondly, as far as I can tell the only
way to get up2date to point to a mirror is to edit
/etc/sysconfig/rhn/sources. I changed the lines
http://fedora.redhat.com/releases/fedora-core-1 yum updates-released
http://fedora.redhat.com/linux/fedora/core/updates/1/
to
# yum fedora-core-1 http://fedora.redhat.com/releases/fedora-core-1
# yum updates-released http://fedora.redhat.com/linux/fedora/core/updates/1/
yum fedora-core-1 http://rpmfind.net/linux/fedora/core/1/i386/
yum updates-released http://rpmfind.net/linux/fedora/core/updates/1/
and now I'm getting updates from rpmfind.net. If you do an google
search on "fedora up2date" you can get more information on this
(for example
this posting).
-
rebuilding the kernel. I usually rebuild the kernel so I can
turn on FIFO and hardware-assisted ECP-mode support on the parallel port,
so I did the usual -- rebuilt the kernel and the modules from the
kernel-source rmp. Almost immediately I ran into problems -- the kernel
build bombed out with some sort of linker error. I did some research
and found this
bugzilla entry which seems to describe the problem I had. Based on what
I could make of this information, I modified my usuall build procedure to
do the following:
make mrproper
make xconfig
make oldconfig
make dep
make bzImage
make modules
and the build seemed to succeed.
Then I did
make modules_install
... and my wireless connection stopped working. Yuck. So I reinstalled
the modules (actually, I reinstalled the entire kernel rpm) and everything
worked fine again. So finally I just took the parport_c.o and stuffed
it into the proper directories, and now the parallel port does what I
want it to do.
I hope they really got this fixed as the bugzilla entry seems to imply;
in the meantime, I recommend that if you rebuild the kernel or the modules
that you leave yourself a quick way to get back to your original kernel.
-
Suspend still doesn't work. Well, it almost works, but
after returning from suspend the computer runs really really really
slowly. I may experiment with ACPI again at some point.
Annoyances:
All of these, you'll notice, have to do with X
and the window manager; they were not unexpected and these sorts of
issues were exactly why I resisted moving from RH7.3 to RH8 or RH9.
In fact, I spent most of my time post-installation getting my X
environment back (almost) to the way I like
it.
-
When you minimize a window it does this fancy
shrink-the-outline-down-to-the-menu-panel thing. It takes a long time
and it's really annoying. Is there any way to turn that off?
-
Speaking of windows, it used to be that you could set up the windows
manager so that you could drag apps from one workspace to another.
Very convenient when you want to superimpose a window from one
workspace on top of a window from another workspace. There was a
setting in the window manager where you could tell it to pop
application windows from one workspace to another if you dragged it to
the edge. Now it appears that the only way to accomplish the same
thing is to minimize the app in one workspace and then restore it to
another workspace. I don't like that because I prefer to have
minimized apps restored to their native workspace and in fact I've
had problem with apps restoring where I didn't want them (I'm in the
habit of clicking on an app's entry on the menu bar to switch to that
app's workspace, and if it happens to minimized when I do that things
get all messed up). Anyone know of any other way to move an app from one
workspace to another?
-
The fonts suck. The fonts, and getting them configured so that the
desktop could fit enough stuff on it, was one of the reasons I resisted
migrating to RH8 or RH9, and unfortunately Fedora has most of the same
schemes and font rendering system as RH9. Why is it that no one can set
up X so that terminal windows can be set up 80 columns wide and
take up only half of a 1024-pixel wide screen? They used to be able to
do that way back on Sun workstations running SunOS. What is it about the
world today that dictates that the only decent looking fonts are the big
ones?
-
They changed the key bindings. Again. How come whenever a new
version comes out the default shortcuts get changed? What's wrong
with a little consistency? Yes I know you can change the shortcuts,
but if you work on more than one computer (and who doesn't these
days?) you tend learn to use the default settings so that when you
go to a strange computer you won't have trouble.
-
OK, this is really minor but it took me a while to figure out. All those
settings you used to have in ".Xdefaults"? Move them to a file called
".Xresources". You'll be much happier; the current X setup doesn't know
from .Xdefaults, but it does know from .Xresources.
Various screenshots of my windows environment setup can be found
here. I include them mostly to help me
document what I've done, but you may find them useful.
Added 16 January 2004:
John Kilburg has this to say about the
boot-from-CD problem:
I had the same problem with booting using the Windows CD without
Linux installed at all. I flat out could not get the thing to boot
from CDROM until I found that if I pressed F8 during the Windows XP
boot and then picked reboot from the menu that it would boot from
CDROM when the laptop rebooted. The same thing ocurred when I tried
to boot the RH8 CD.
This just seems like an amazingly bad Solo bug. Also, I do not understand
why the Large Disk Access option in the BIOS would have anything to
do with this and I would be surprised if it did.
Added 19 August 2003:
My XF86Config-4 file.
Added 12 June 2003:
Neall Doren
provides more information.
Original RedHat 7.3 Installation
Installation went very smoothly. The video and network interfaces
were detected with no problems. sndconfig detected the sound
interface with no problem. The DVD works and I was able to play DVD
movies on it although it required a tweak to get it to play smoothly
(more about that to come). The USB works fine. I have not tried the
1394.
Installation Notes
When I received the machine it had Windows XP installed with the drive
formatted in NTFS. Since I was going to switch to a bigger drive
anyway (see below) I didn't bother doing anything fancy with
repartitioning the drive using fips or another disk partitioner; I
just removed the 20G drive and popped in the unformatted 40G drive,
then reinstalled Windows using the restore disks that came with the
unit. I had expected to have problems installing Windows XP but it
actually went very smoothly. I then booted off the Red Hat 7.3
installation disk and let the installation do its thing. I let Disk
Druid create partitions automatically (leaving the Windows partition
alone, of course), and chose Lilo rather than Grub for the boot loader
(mostly because Lilo is what I'm used to). I installed Lilo in the
Master Boot Record (MRB). I used the graphical installation, which
worked fine, and during the X setup I set the display to "Generic
Laptop Display Panel 1024x768". After installation I ran sndconfig to
get the sound system configured. Writing CD-RW's and CD-R's using
XCDroast works, although it took some tweaks (see below).
Getting grip to work
Grip works great, but I
don't remember how I got it to work. I have a vague recollection that
it didn't work right out of the box and that I had to change/add
something to get it to work, but I don't remember what exactly it was.
I note that my system has a symbolic link from /dev/cdrom ->
/dev/scd0, and that /dev/scd0 belongs to my user id instead of to
root. Perhaps that was it?
Getting XCDroast to work
The xcdroast RPM can be found on the third RH 7.3 installation
disk (in case you didn't already install it). After you've installed
xcdroast, the documentation can be found at /usr/share/doc/xcdroast-0.98a9.
In order to get writing to CD-R's and CR-RW's to work I had to make the
following changes:
- I followed the directions in the file
/usr/share/doc/xcdroast-0.98a9/README.nonroot and changed permissions
on various files. I'm not sure, however, that this was either necessary
or useful, because xcdroast still wants to be run as root (it asks for
a root password when launched, and any files it creates are owned by
root. Perhaps Red Hat made patches to xcdroast that prevent non-root
users from running xcdroast.
- Even after making the previous changes, if you try to run xcdroast
it will fail with the following errors:
Xlib: connection to ":0.0" refused by server
Xlib: No protocol specified
Gtk-WARNING **: cannot open display: :0
To get around this, run the following from a terminal prompt
after starting X:
xhost +
I don't know why this is necessary.
- xcdroast will not allow you to erase a CD-RW because of a problem
with the interface to cdrecord that I believe happens because this
machine has a combined CD-ROM/CDRW drive. If you tell cdrecord
to erase (blank) a CD-RW disk, it responds with the following:
cdrecord: Drive needs to reload the media to return to proper status.
pops the CD out and waits for the response. I believe that xcdroast
doesn't know how to handle this, so if you want to erase a CD-RW
you need to do it by running cdrecord directly (the command
cdrecord dev=/dev/sg0 blank=minimal
will do the trick; note that
you have to run this as root).
- Make sure you set the proper read (24X) and write (8X) speeds on the
xcdroast setup/CD Settings page (and be sure to save your configuration!).
If you don't do this it will take forever to burn a CD.
Getting DVDs to work
I tried using the version of Xine
which ships with Redhat 7.3, but I was unable to get it to work, even
after ungrading and following the instructions for building and
installing the libdvdcss library. Also the Xine GUI truly sucks
(although the current version of Xine may be better; I don't know). I
eventually installed Ogle,
which works fine. Unfortunately I don't remember exactly how I got it
to work. Installing the proper versions of the proper libraries in
the proper places, is, for whatever reasons, arcane, and I tried lots
of different combinations before I got it to work. Unfortunately I
neglected to document what I did.
Getting Wireless to Work
I bought the machine with the built-in miniPCI 802.11b card. The card
worked right off in Windows XP but I had to make a couple of changes to
get it to work in Linux.
- miniPCI cards are actually just another type of PCMCIA card (well,
"PC Card", or perhaps "Cardbus Card", officially, but everybody
calls them PCMCIA cards), so on boot the pcmcia subsystem always
beeps when it discovers the card, and it always beeps when it shuts
down the card when Linux is shut down. I find these beeps
annoying, so I turned them off by adding the line
"CARDMGR_OPTS=-q" to /etc/sysconfig/pcmcia. This actually
turns the beeps off for all sockets, whereas I really just
want to turn the beeps off for socket 2, but I can live with that.
- I had to change some settings in /etc/pcmcia/wireless.opt to
convince the system to set the card up for managed (not ad hoc)
operation. I found the section for my card (listed as Lucent
Wavelan IEEE (+ Orinoco, RoamAbout and ELSA, with MAC address
*,*,*,00:60:1D:* or *,*,*,00:02:2D:*) and commented out the
ESSID line and changed the MODE line from "Ad-Hoc" to "managed".
The complete section now looks like this:
# Lucent Wavelan IEEE (+ Orinoco, RoamAbout and ELSA)
# Melco/Buffalo Networks WLI-PCM-L11
# Note : wvlan_cs driver only, and version 1.0.4+ for encryption support
*,*,*,00:60:1D:*|*,*,*,00:02:2D:*)
INFO="Wavelan IEEE example (Lucent default settings)"
# ESSID="Wavelan Network"
MODE="managed"
# RATE="auto"
# KEY="s:secu1"
# To set all four keys, use :
# KEY="s:secu1 [1] key s:secu2 [2] key s:secu3 [3] key s:secu4 [4] key [1]"
# For the RG 1000 Residential Gateway: The ESSID is the identifier on
# the unit, and the default key is the last 5 digits of the same.
# ESSID="084d70"
# KEY="s:84d70"
;;
- Because I didn't like the idea of having the wireless card
continually running when there's no access point around, I added
the following to /etc/rc.d/rc.local to turn off the card if either it
isn't needed or if it couldn't find a connection:
# Turn off wifi if we don't need it, or if it didn't come up`
test1=`/sbin/ifconfig eth0 | grep "inet addr"`
test2=`/sbin/ifconfig eth1 | grep "inet addr"`
if [ "$test2" = "" -o ! "$test1" = "" ]
then
/sbin/cardctl eject 2
fi
- I also created a root-executable script to make it easier to
turn the wireless card on and off manually:
#! /bin/bash
case "$1" in
start)
/sbin/cardctl insert 2
;;
stop)
/sbin/cardctl eject 2
;;
restart)
/sbin/cardctl eject 2
/sbin/cardctl insert 2
;;
status)
/sbin/iwconfig eth1
;;
*)
echo "Usage: wifi {start|stop|restart|status}"
exit 1
;;
esac
Tips and Tricks
- If you're going to take the "repartition/reinstall Windows"
approach like I did, I suggest you do it before you customize Windows
very much because you'll just have to do it all over again.
- When you install Windows on the newly-partitioned drive, do
not use the procedure in the Gateway documentation ("Using the
Restoration CDs"). They say to boot from the red Drivers CD, but what
you should really do is boot from the blue Windows CD. This will
allow you to tell the Windows installation that you want to create a
partition that doesn't consume the entire drive (I decided on 8 G) and
to make it FAT32 instead of NTFS. I suppose I could have left it as
NTFS but I'm suspicious of Linux's NTFS support, and I want to be able
to read the Windows partition from Linux.
- Also when you install Windows, note that there are only two
restoration CDs instead of the three the Gateway documentation talks
about. The applications are in the "apps" directory on the red
Drivers CD, and only some of those apps show up in the menu that
the Drivers CD pops up for you.
- If you intend on using a bigger than 20G drive I suggest you
buy it with the machine, rather than separately as I did, since
it will probably cost you less. The only advantage of using a new
drive is that, if worst comes to worst, I can always pop the original
disk back in and be running Windows fairly quickly.
- If you need to repartion the drive, you can use fdisk from the Red
Hat installation CD. To do this, you should boot from the Red Hat CD,
and when it gets to the "boot:" prompt type "linux rescue" (without
the quotes). Select the language and keyboard, then when it gets to
the panel with "Continue", "Read-Only", or "Skip" select "Skip". This
will dump you into a shell, from which you can run fdisk (and other
things, if you want to).
- While partitioning the disk or during installation (I forget which)
you may get a warning about the disk being too big for the BIOS. You
can ignore this warning.
Glitches
- For some reason the machine keeps losing (not being able to find)
the CD-ROM drive. The first time the problem showed up was when I was
trying to boot off the Red Hat installation CD -- it kept booting off
the hard drive into Windows instead of booting off the CD into the
installation. Because of this I had thought it had something to do
with running Windows, but now I'm not so sure because I've also seen
the problem after running only Linux. It's possible it has something
to do with warm boots, but I'm still investigating. Anyway, to get
around the problem I went into the BIOS setup (press "F2" during
boot), selected the "Advanced" tab, then changed the "Large Disk Access"
from "DOS" to "Other". This forced the BIOS to look for, find, and start
up the CD-ROM. I was then able to reboot, set the setting back to "DOS",
and procede with the Linux installation.
- I haven't even thought about trying to get the modem working,
since it's a Winmodem and I don't know if I'll ever need it.
- Suspend does not work in Linux -- the suspend key sequence
seems to suspend the machine, but it locks up hard when I try to take
it out of suspend.
- Switching consoles in X does not work with the Xfree86
version shipped with RedHat 7.3 -- doing Alt-F2 (for example) to
switch to a terminal console works fine, but switching back to X
with Ctl-Alt-F7 locks up the machine hard. I understand from
doing some research that this is a common problem with ATI Radeon
chip sets and that it has something to do with DRI support. There
are two ways to deal with this:
- I bought the machine with a 20 GB drive and had been intending to
put a 48 GB 12.7mm high drive I had from my late departed Gateway
2500. The
specs said that the drive should fit but the drive bay is just
a tad too small. So I bought a 40 GB 9.5mm drive from harddrive.com and they shipped it
to me in two days.
- This thing runs hot. I had been hoping to buy a slower,
cooler machine but by the time I got around to buying one all the
notebook manufacturers were into this speed race. I would have
been quite happy with a 1 GHz machine that didn't feel like it was
about to burst into flames.
- xcdroast is not able to erase a CD-RW because of a problem with its
interface to cdrecord (see above).
Processor: | 1.4 GHz Mobile Pentium 4 |
Memory: | 256MB DDR SDRAM |
Hard Drive: | 40GB |
Video: | ATI Radeon Mobility M6 w/ 32MB DDRAM |
Display: | 15 inch XGA (1024x768) TFT 32-bit |
CD-ROM: | modular 8x/8x/24x CDRW / 8x DVD Combo |
If you think you'll need a floppy drive don't forget that you have to
order it separately; it's modular so it takes the place of the CD-ROM.
For an extra 20 bucks it seemed like a no-brainer to get one, but I haven't
even taken it out of the wrapping yet.
Email me if you have questions
Want to know more about this site? Look
here.
Copyright © 2002 David W. Strauss