LINUX on a Dell XPS M1530 Laptop
July 16, 2009

Introduction:
Above
is a screenshot of SAS 9.2 running under Fedora Core 10. I use the
Fedora distribution for historical reasons; long ago, Dell actually
installed Red Hat 7.2 on Latitude laptops (worked well, too, and they
will install Ubuntu for you on their little notebooks, and that also
works well), and now I am used to the Fedora world, so I am
relatively uninterested in alternative flavors. YMMV. I would prefer
a Mac if SI distributed SAS for OS X, and I use SAS because I speak
it fluently, while I can only say, “Excuse me, where is the
American Embassy? As you can see, my pants are on fire” in R. The
M1530 has a very bright 15" screen, and looks fabulous. The CPU
runs at 2.6GHz, there is 4GB RAM and a 250GB 5400RPM drive, which my
redoubtable SysAdmin, Eric Taylor, tells me is too slow, but somehow
I think I will live with it. The GUI in FC10 is extremely responsive;
I'm not sure why, but the system boots and shuts down fast, and
windows open and close very quickly, even faster than on the Dell
Optiplex in my office, which also runs FC10 and allegedly has a
faster CPU. SAS is also screaming fast. The nuts and bolts of FC10
look very similar to Mac OS X under the hood. Making SAS run on OS X
would surely be an interesting research project. Eric did the
installation, and then I tweaked it. All the usual disclaimers
apply; nothing
is
my fault, and certainly not the fault of my employers!
Install
This
was a virgin install on a machine on which Dell thoughtfully
installed something called "Vista Ultimate," which I guess
means "the last time you'll ever use anything like that."
Let anaconda
determine
the partition at install; we had trouble when we imposed a custom
partition. Otherwise, the install from DVD was uneventful.
We did the 32-bit PAE version of the kernel, rather than the 64-bit
version, to minimize maintenance; according to the various listservs,
64-bit updates are not yet as automatic as one would wish.
Yum repos I have the following repos activated:
adobe-linux-i386.repo
atrpms.repo
dell-community-repository.repo
dell-firmware-repository.repo
fedora-rawhide.repo
fedora.repo
fedora-updates.repo
fedora-updates-testing.repo
livna.repo
livna.repo.rpmnew
rpmfusion-free-updates.repo
rpmfusion-free-updates-testing.repo
rpmfusion-nonfree-rawhide.repo
rpmfusion-nonfree.repo
rpmfusion-free-rawhide.repo
rpmfusion-nonfree-updates.repo
rpmfusion-free.repo
rpmfusion-nonfree-updates-testing.repo
Too many? Maybe, who knows. I have wireless and DVD playback activated (see below), which I think is why all these repos accumulated. I feel very up-to-date.
Wireless I fearlessly (i.e., without appropriate forethought) purchased a laptop with internal wireless because I trusted this had all been figured out by now. Well, mostly, it has, the wireless is working, but by no means does it just work yet.
The wireless chipset is from Broadcom; using lspci | grep 802, we see:
0b:00.0 Network controller: Broadcom Corporation BCM4328 802.11a/b/g/n (rev 03)
irrespective of what the Dell spec sheet says. Broadcom does share some drivers, although they are still proprietary, so the situation is not perfect, but could be worse. There are rpms on the RPM Fusion repository; I suppose one could do this via yum, but I wasn't quite that smart--I tried it, and it replaced the kernel with the non-PAE version, was not what I wanted. First, I tried the easy yum install:
yum
install broadcom-wl
yum install
kmod-wl
yum install kmod-wl-PAE
This didn't work; YMMV. I had to take a more detailed approach, like so. To get the appropriate drivers, determine the exact kernel by uname -r :
2.6.27.21-170.2.56.fc10.i686.PAE
I googled about and found a kmod-wl rpm with that string at http://download1.rpmfusion.org/nonfree/fedora/updates/10/i386/ named kmod-wl-2.6.27.21-170.2.56.fc10.i686.PAE-5.10.79.10-2.fc10.i686.rpm which meant I needed a broadcom-wl driver broadcom-wl-5.10.79.10-1.fc10.noarch.rpm. There is a discrepancy there I don't understand; why is the module -2.fc10, and the driver -1.fc10? But, apparently, they are close enough. There is also a "payloadless" kmod-wl-PAE-5.10.79.10-2.fc10.i686.rpm which has something to do with maintaining dependencies. So that's the deal, get the three rpms that should hook together like this (I highlighted PAE to emphasize that I needed exactly these, but YMMV):
broadcom-wl-5.10.79.10-1.fc10.noarch.rpm
kmod-wl-2.6.27.21-170.2.56.fc10.i686.PAE-5.10.79.10-2.fc10.i686.rpm
kmod-wl-PAE-5.10.79.10-2.fc10.i686.rpm
And,
remember that the kmod-wl rpm has to match up with your kernel. Put
them in a directory, run them all at once:
yum localinstall *rpm
"Localinstall" causes yum to behave like rpm, but to integrate the update with the yum database, so that, one hopes, subsequent updates of the various parts observe the relevant dependencies. If that part doesn't work, I don't know what to tell you. At that point, I thought I was home free, but there was no joy; I could see access points using iwlist eth1 scan, but I could not get any DHCPOFFERS. After two days of swearing (that always helps), I determined by trial and error that the /etc/sysconfig/network-scripts/ifcfg-eth1 that has worked before for madwifi was setting parameters the driver wanted to negotiate all by itself. This ifcfg file appears to work (at least, MY wireless works):
TYPE=Wireless
DEVICE=eth1
HWADDR=00:24:2b:93:2b:6b
BOOTPROTO=dhcp
ONBOOT=no
MODE=Managed
USERCTL=yes
PEERDNS=no
IPV6INIT=no
NM_CONTROLLED=no
RATE=auto
ESSID=gadzooks
SEARCH=opendns.com
DNS1=208.67.222.222
DNS2=208.67.220.220
CHANNEL=
You
can effect these changes using system-config-network
command, but check to make sure the file is right and edit by hand if
necessary. Wireless should start on the command ifup
eth1 ; you may have to start
dhclient.
Now, having said all this, I have updated the
kernel and the wifi now without issue several times using the easy
yum update. You might want to block automatic updates to the kernel
and wl packages and run them manually, just to make absolutely sure
all the dependencies are maintained.
Video
Driver I installed the Nvidia
driver after reading an autoritative statement (i.e., some clown with
an internet connection) that it demonstrated superior performance to
the Fedora-supplied driver. This was a mistake, and I recommend you
do not repeat my error, make up your own. First, unless you have some
fancy graphics needs, you will not be able to tell the difference
between the Nvidia driver and the open source nouveau driver. What
really convinced me, though, was the upgrade from Fedora 10 to 11;
the wireless package wanted one version of the kernel and the Nvidia
driver wanted a different version. Since I could live without the
Nvidia driver, that had to go, but in the middle of the upgrade, I
found I could not back out, and had neither graphics driver nor
wireless. So, I had to do a fresh install of Fedora 11, which blew
out SAS, etc. Just don't go there, it's not worth it.
Audio Driver Nancy and I use Skype, and I, like many folks, have had problems with the internal microphone. For some people, it does not work at all, for others, runs at an exceedingly low volume. Many people blame pulseaudio, although I ultimately did not find that to be the case. Here is what I did to make the internal digital microphone work correctly.
Install all pulseaudio applications and extensions: yum install xine-lib-pulseaudio pulseaudio-libs-devel nocpulse-common alsa-plugins-pulseaudio perl-NOCpulse-Utils pulseaudio-utils pulseaudio-libs pulseaudio-module-x11 pulseaudio-module-zeroconf xmms-pulse perl-NOCpulse-Object pulseaudio pulseaudio-esound-compat perl-NOCpulse-SetID perl-NOCpulse-CLAC pulseaudio-module-gconf perl-NOCpulse-Gritch pulseaudio-libs-glib2 pulseaudio-libs-zeroconf pulseaudio-module-bluetooth wine-pulseaudio perl-NOCpulse-Debug
/etc/modprobe.d/alsa-base.conf should have the following option:
options snd-hda-intel model=dell-3stack
Add the following code to /etc/asound.conf:
pcm.DigitalMic {
@args [ CARD ]
@args.CARD {
type string
}
type asym
capture.pcm {
type softvol
slave.pcm {
@func concat
strings [ "hw:" $CARD ]
}
control {
name "Digital Capture Volume"
card $CARD
}
min_dB -30.0
max_dB 30.0
resolution 121
}
}
Reboot, and, from the drop-down menu, select System-->Preferences-->Advanced Volume Control. The Device should be HDA Intel. Under Preferences, turn everything on. Under Recording, make sure that Capture and Digital sliders are set to max.
You may need to reboot again. I fiddled with different controls for days, but I think these were the changes that actually did something. However, you may find that the various Pulse Audio and ALSA Mixer management tools do something necessary. If you use Skype, set the audio options as follows:
Sound in should be Digital Mic
Sound Out and Ringing should be HDA Intel (hw:Intel,0)
You should hear test sounds and be able to make a test call. The appendage to /etc/asound.conf, above, should make the Digital Mic Option appear, so, if it doesn't, something went awry with that step.
DNS I like opendns.com as a DNS. I found that, irrepsective of what DNS I specified in Network Manager, the system would let the IP choose the DNS until I specifed the following in /etc/dhclient-eth1.conf:
interface "eth1"
{
supersede domain-name-servers 127.0.0.1,208.67.222.222,208.67.220.220;
}
DVDs
FC 10 will actually play encrypted DVDs! Not that I really need that
service--I have a dedicated HOME THEATER in my house--OK, it's a $69
DVD player, a thirty-year-old stereo, and a 19" Trinitron--but
it just tweezed me that DVD playback was so damn difficult, just
because those guys in Redmond have so much money to spend on lawyers.
You have to be root to do all this stuff:
Activate the RPM Fusion repository:
# rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm\
# http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm
Install xine:
# yum install xine
Install codecs:
# yum install xine-lib-extras-nonfree
Install a media player:
# yum install vlc
Install DVD playback:
# yum install libdvdread
Install Windows codecs:
# yum install wget # cd /tmp
# wget http://www1.mplayerhq.hu/MPlayer/releases/codecs/all-20071007.tar.bz2
# tar -jxvf all-20071007.tar.bz2
# mkdir -p /usr/local/lib/codecs
# cp all-20071007/* /usr/local/lib/codecs
# rm -rf /tmp/all-20071007*
# ln -sf /usr/local/lib/codecs /usr/lib/codecs
# ln -sf /usr/local/lib/codecs /usr/local/lib/win32
# ln -sf /usr/local/lib/codecs
Install an MP3 Player (gstreamer):
# yum install gstreamer-plugins-ugly libmad libid3tag id3v2
Launch xine and see what happens.
Miscellany
Every
time I launched firefox, it would have the offline box checked, even
if I was online. I couldn't find the options to turn this off; turns
out it was the accursed NetworkManager. Turn it off in
System==>Administration==>Services. SAS produced weird errors
until I installed libXp via yum (yum install libXp). Firefox, I think
wanted libstdc++.so.5, which is obsolete, and the fix for that is
actually yum
install compat-libstdc++-33.
yum
install compat-gcc-34-g77
will
be needed if you are going to compile FOTRAN programs. xcdroast is
becoming increasingly flaky; I had much better luck just learning the
cdrecord line command.
System
Monitor
The
Krell
in the upper-left-hand corner of the screenshot is a piece of
eye-candy that is also very useful for immediately assessing the
state of affairs. I have it configured to track both CPUs, all
three file systems (I use two external USB drives, one for my life,
and a backup, since one's life should have at least one backup), the
eth1 traffic, free RAM, and free disc space on the external and
primary USB drive. The multiple workspaces, accessed through
the little sextant in the tool bar, are necessary for those of us
with ADD who must keep half a dozen applications open simultaneously,
and I don't think I could function without them. All the damn icons
that clutter up the Windoze desktop are stored neatly in the drawer
marked 'f'. LINUX is not only viable as an application
programming platorm, but I feel that the interface is superior for
scientific computing, and security issues are greatly reduced. Why
any statistician insists on using Windoze is to me just one of those
mysteries of life. I can see why people would use a Mac with OS
X as an alternative (especially since it's UNIX under the hood), and
I would too, except I have too much intellectual capital invested in
SAS to abandon it, and SAS still does not run on the Mac. You
can get more detailed information, written by people who actually
know about this stuff, for this and other laptops and distributions
at the very useful LINUX
Laptop and Notebook Installation Survey.