Last Updated: November 20, 2009

Fedora 12 on a Dell XPS M1330

Versions:
by Jon Hamkins, hamkins@alumni.caltech.edu



Contents


Hardware specs

The solutions on this page apply to an XPS M1330 with these specifications:

Item Description
CPU XPS M1330 - Intel® Core 2 Duo Processor T7500 (2.2GHz/800Mhz FSB, 4MB Cache)
Color Tuxedo Black
Memory2GB Shared Dual Channel DDR2 SDRAM at 667MHz
Display Slim and Light LED Display with 0.3 MP (640x480) Omnivision Webcam
Graphics 128MB NVIDIA® GeForce 8400M GS
Hard Drive 160GB SATA Hard Drive (5400RPM)
Network Card Integrated 10/100 Network Card
Optical drive CD/DVD burner (DVD+/-RW Drive), slot load
Sound High Definition Audio 2.0
Wireless Dell Wireless 1505 Wireless-N Mini-card
Battery 56Whr Lithium Ion Battery (6 cell)
Fingerprint Reader Biometric Fingerprint Reader
Bluetooth Built-in Bluetooth capability (2.0 EDR)
Other 9-in-1 media card reader, IR remote that fits in Express PCM slot
Cost $1,449.00 + $115.45 (IVA) + $0 (shipping) + $6 (import fee) = $1,570.45 (Jan. 21, 2008)

Fedora 12 installation

  1. Install 64-bit Fedora 12 from DVD (Fedora-12-x86_64-DVD.iso)
    1. Turn on computer and press F12 during system boot. (1 minute)
    2. Set BIOS to boot from CD/DVD before hard drive. (1 minutes)
    3. Boot from Fedora 12 disc. (2 minutes)
    4. Install or upgrade a new system by following prompts. (30 minutes)
    5. Reboot and login.
  2. Set up yum repositories

    $ su -
    # rpm -Uvh http://ftp-stud.fht-esslingen.de/pub/Mirrors/rpm.livna.org/livna-release.rpm http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm

  3. Update to latest packages:

    # yum update

    (10 minutes)

What works out of the box

  • 1280x800 display resolution in X
  • Standard keyboard features
  • Trackpad, including scrolling regions and tap-to-click
  • Media keys: eject, previous track, stop, play/pause, next track, mute, volume decrease, volume increase.
  • Brightness up/down keys (fn-up, fn-down)
  • Ports: ethernet, 2 USB, stereo headphones
  • Built-in speakers
  • Webcam
  • 9-in-1 card reader (tested on 256 MB MultiMediaCard)
  • CD/DVD drive
  • IR remote control. The remote control fits in the express PC card slot. It works for volume control, forward-backward of presentations, and pause-play-next in Rhythmbox.
  • Hibernate/suspend key (Fn+F1)
  • Battery info (Fn+F3)
  • CRT/LCD key for VGA out (Fn+F8)
  • "Home" media button to open nautilus in home folder
  • CPU scaling
  • Fingerprint reader

What works with some additional set up (see below)

What I haven't tested or got working yet

Please contact me at hamkins@alumni.caltech.edu if you get any of these things working.

Enhancements in Fedora 12 for the M1330

A few things are easier on this laptop with Fedora 12 (compared to Fedora 10):
  • Boot time from power on to login screen is now 40 seconds, down from 66 seconds on Fedora 10, 87 seconds on Fedora 9, and 103 seconds on Fedora 8.
  • Fingerprint reader is now supported out of the box -- go to System..Preferences..About me..Enable Fingerprint Login
  • Mute toggle. In earlier Fedora versions, when coming out of mute the volume would reset to zero and the user had to push up the volume slider. Now volume is restored to its previous setting when mute is deactivated.
  • Delta RPM updates makes updating a lot faster.
  • Graphical boot works out of the box

Additional hardware set up

Wireless

These instructions are for a Broadcom 1505 802.11a/b/g/n wireless card. This is refered to in the specs of a Dell order as a "1505" card. It is detected at boot time as:

$ /sbin/lspci

[...]
0c:00.0 Network controller: Broadcom Corporation BCM4328 802.11a/b/g/n (rev 03)

This card is not supported by linux, but the Windows driver can be used with ndiswrapper.

If this is the first time you are installing the driver

# yum install kmod-ndiswrapper

Download the R151517 Windows drivers for this card from the Dell web site, unzip it, and tell Fedora to use it:

$ mkdir 1505_driver; cd 1505_driver
$ wget http://ftp.us.dell.com/network/R151517.EXE
$ unzip R151517.EXE
$ cd DRIVER
$ su -
# ndiswrapper -i bcmwl5.inf
# ndiswrapper -m
# depmod -a
# echo "/sbin/modprobe ndiswrapper" >> /etc/rc.d/rc.local
# echo -e "blacklist bcm43xx\nblacklist ssb" >> /etc/modprobe.d/blacklist.conf

The inclusion of ssb in the blacklist may only be needed in Fedora.

Reboot. Ndiswrapper reports

# ndiswrapper -l

bcmwl5 : driver installed
device (14E4:4328) present (alternate driver: ssb)

and

# iwlist scanning

should return a list of wireless cells under wlan0. If not, try it again after rebooting.

Click on the NetworkManager icon on the top right area of the panel. You should see a list of available wireless networks. Select one. WEP works; WPA was not tested.

Note, there is a physical switch on the right side of the laptop. Turning it off disconnects the wireless (and the blue WiFi light next to the power button turns off), and turning it on automatically reconnects the wireless network.

The wifi catcher does not seem to work.

To make ntpd start when networking is activated, create /etc/NetworkManager/dispatcher.d/ntpd with contents:

#!/bin/sh
if [ "$2" = "up" ]
then
/sbin/service ntpd start
fi
if [ "$2" = "down" ]
then
/sbin/service ntpd stop
fi

and then make it executable:

# chmod 755 /etc/NetworkManager/dispatcher.d/ntpd

Remember to turn off the ntpd service during a boot:

System..Administration..Services

Uncheck the 'ntpd' box. This can be repeated for any other services you want to run when the network comes up or goes down.

If you are reinstalling the driver

The driver is kernel dependent, so every time you update the kernel you must uninstall and reinstall dkms-ndiswrapper -- otherwise the modprobe command will fail.

# yum remove ndiswrapper
# yum remove kmod-ndiswrapper
# yum install kmod-ndiswrapper
# modprobe ndiswrapper

That's it. You do not need to issue any of the other commands above.

NVIDIA® drivers for graphics display

Normally, the procedure would be to make sure the nonfree rpmfusion repository is enabled, then:

# yum install kmod-nvidia

then reboot, log in and the NVIDIA® splash screen appears. However, the kmod-nvidia package is not yet available in the repo as of 11/20/2009. Once it is, the instructions at http://rpmfusion.org/Howto/nVidia may come in handy.

Trackpad tap-to-click

To enable tap-to-click in the Gnome session:

System..Preferences..Mouse..Touchpad..Enable mouse clicks with touchpad

To enable tap-to-click at the login screen:

# cp /usr/share/hal/fdi/policy/20thirdparty/10-synaptics.fdi /usr/share/hal/fdi/policy

and then inside the <match> .. </match> directives (but outside of the <!-- .. --> comments) of /usr/share/hal/fdi/policy/10-synaptics.fdi, add the line:

<merge key="input.x11_options.TapButton1" type="string">1</merge>

If you want to check that it's working without rebooting, restart HAL: System..Administration..Services..haldaemon and click Restart.

BIOS upgrade

This information is from Dell. Install libsmbios-bin, if it's not already:

# yum install libsmbios-bin

Then, check your System ID and BIOS version:

# getSystemId
Libsmbios: 2.0.1
System ID: 0x0209
Service Tag: 8HSDJF1
Express Service Code: 18489844621
Product Name: XPS M1330
BIOS Version: A07
Vendor: Dell Inc.
Is Dell: 1

(You can also see the BIOS version on the initial Dell boot-up screen.) Go to http://linux.dell.com/repo/firmware/bios-hdrs/ and identify the most recent directory with the name system_bios_ven_0x1028_dev_SYSTEM_ID_version_BIOS_VERSION. If it is newer than your BIOS version, go into the directory and download the bios.hdr file.

Next:

# modprobe dell_rbu

and update the BIOS:

# dellBiosUpdate -u -f ./bios.hdr

When you reboot, the new BIOS will be loaded.

Internal microphone

Settings are configured in System..Preferences..Sound, in the Hardware and Input tabs. None of these settings work. Perhaps using the alsamixer to select Digital Mic 1 on its Options tab would work.

Fingerprint authentication for root

For your user account, you can use System..Preferences..About Me to enable fingerprint authentication. If you want fingerprint authentication for root:

# fprintd-enroll

Now, instead of "password" at login or switch-user prompts, you should be prompted with "Swipe your right index finger on UPEK TouchStrip."

CRT/LCD (VGA out)

This works out of the box with Fedora 12. Pressing Fn+F8 cycles between LED only, both LED and VGA out, and VGA out only. If you are connecting to a projector, you may wish to go to System..Preferences..Hardware..Screen Resolution and set the resolution to 1024x768 before connecting the projector and pressing Fn+F8. Otherwise, your widescreen LED image may look too skinny on a standard 16:9 projector output.

DVD Movies

To decrypt a DVD, you need to install a DeCSS library, libdvdcss. It also helps to replace the default totem which is linked against gstreamer, with totem-xine which is linked against xine-lib. Do this all in one step with:

echo -e "remove totem\n install totem-xine totem-xine-plparser libdvdcss libdvdnav xine-lib-extras-nonfree\n run\n quit" | yum -y shell

If you don't care for totem, you can use xine directly, or mplayer. Check if you can play a DVD (e.g., mplayer dvd://). If you can't, this is because the slot-loading DVD player shipped without setting the region code, a code that attempts to restrict where in the world discs may be playecd. To set the region code, insert a DVD movie into the slot, then:

# yum install regionset
# regionset

Set the region code to 1-8 (1=North America). The hardware restricts the number of times this command can be run (5 times, I think), so don't make a mistake entering the number. Unfortunately, if you have the "MATSHITA DVD+/-RW UJ-867S" (look in /var/log/dmesg to see), the drive refuses to even provide access to the encrypted sectors on the disk, which means you still can't watch the movie. Solutions:
  • Replace the drive with one that reads discs properly.
  • Rip your DVD on another drive and copy. In Fedora 12, put in a DVD, rick click, copy disc, save as image. Copy the image over to your M1330, then play with, e.g., xine xine dvd://.
  • Use a proprietary player like lindvd. Lindvd ships with the Ubuntu-shipped versions of the M1330 from Dell. On those, Ubuntu is on one partition; in another partition, go to "debs/main/" directory and look for the LINDVD .deb file. You can use alien to convert the deb to an rpm, then rpmbuild, and local install. Alternatively, you can find the lindvd RPM for sale on the web. The rpm can be installed with

    # yum --nogpgcheck localinstall lindvd-1.2.6-3.fc9.x86_64.rpm

    Fire up the player with 'lindvd'. Use 'Z' to move to full-screen.

Key remappings

  1. How to remap the menu key

    On a typical keyboard, control is usually right next to the arrow keys, but on the M1330 keyboard the menu key is next to the arrow keys. Here is how to remap it to control.

    Add this to ~/.Xmodmap (create it if it doesn't exist):

    add Control = Menu
    keycode 135 = Control_R

    Note, the keycode of 135 is different that it was (117) under Fedora 9.
  2. General procedure for key remapping
    1. Use xev, showkey -k, or showkey -s to identify the key code corresponding to a keypress. Add a line to ~/.Xmodmap of the form "keycode key = name" where key is the keycode resulting from xev or showkey, and name is the function you want.
    2. If none of those methods show the key code,
      1. Check if a line in /var/log/messages appears when you press a key.
      2. Look in /usr/include/linux/input.h for the name of the function you want (e.g., KEY_SUSPEND), and locate the corresponding number
      3. Issue the command

        # setkeycodes key1 key2

        where key1 is the number from step B1 and key2 is the number from step B2.

Panel Applet Padding

There are larger margins between panel applets in Fedora 12. To eliminate this padding:

$ gconftool-2 --type int --set /apps/panel/toplevels/top_panel/padding 0 $ gconftool-2 --type int --set /apps/panel/toplevels/bottom_panel/padding 0 $ gconftool-2 --type int --set /apps/panel/applets/systray/prefs/padding 0


Additional software set up

Email client

# yum install thunderbird

Flash

Open source clients such as swfdec and gnash are promising but are still under heavy development. For the Adobe Flash plugin go to http://get.adobe.com/flashplayer/ and select "YUM for Linux". Install the RPM. Then,

# yum install flash-plugin yum install flash-plugin nspluginwrapper.x86_64 nspluginwrapper.i686 alsa-plugins-pulseaudio.i686 libcurl.i686

Check whether it is working by going to, for example, youtube.com. Also, you can check "about:plugins" to make sure you see a category for Shockwave Flash.

Java

This worked out of the box with Fedora 12. Go to http://www.javatester.org to verify that java is working correctly within firefox.

Login picture

If you want a snazzy picture of yourself, or whatever, on the login screen, put a world readable 150x150 PNG file in ~/.face. Note, your home directory, ~/, must be world exectable.

Privoxy

This is a web proxy to filter out ads.

# yum install privoxy

System..Administration..Services -- select privoxy to run at boot time

Configure web browser (on firefox, this is in Edit..Preferences, Advanced..Network..Settings) to use HTTP proxy 'localhost' (no quotes) and port 8118.

PDF/PS Document viewer

# yum install mozplugger evince

Movie / multimedia player

# yum install mplayerplug-in

(This isn't available in RPMfusion as of 11/27/08, but if you really want it right away, you can go to http://atrpms.net/dist/f10/mplayerplug-in/). To play material in non-free formats, go to http://www.mplayerhq.hu/design7/dload.html#binary_codecs and download the binary codecs, bunzip2 them, and copy them to /usr/lib/codecs.

NTFS

If you're dual booting, you may want to read/write to your NTFS partition.

# yum install ntfs-3g

Movie playing capabilities in Totem

# echo -e "remove totem\n install totem-xine totem-xine-plparser libdvdcss libdvdnav xine-lib-extras-nonfree\n run\n quit" | yum -y shell

Rhythmbox codecs

This is for playing non-free stuff like MP3, etc. (If you're ripping your own stuff, consider using OGG Vorbis-- it's better, and free.)

# yum install gstreamer-plugins-ugly

Skype

Download the latest Skype for linux from http://www.skype.com/download/skype/linux/ Note that Skype is not available in a 64-bit version, a potential problem if you are using x86_64 Fedora. But you can install the necessary compatibility libraries with

# yum --nogpgcheck localinstall skype-2.0.0.72-fc5.i586.rpm

The 'localinstall' option to yum installs the local skype RPM and resolves all dependencies in the usual yum way.

Printer set up

Go to System..Administration..Printing. It automatically sees the available networked printers. Set the default printer. Print a test page to verify operation.

Services

To hasten your boot, disable unneeded services.

System..Administration..Services.

Uncheck boxes of services you don't need. E.g., consider removing bluetooth, isdn, and sendmail. Don't disable a service if you don't know what it does.

latex2html

# yum install latex2html

"Recent Documents"

To disable "Recent Documents" from the Places menu:

$ rm ~/.recently-used.xbel
$ mkdir ~/.recently-used.xbel

Tor

# yum install tor

gnome keyring

Whenever NetworkManager or another app needs a stored password, it accesses the gnome keyring. After logging in it always asks for the keyring password to access the password for the wireless network. It is not set up to use the fingerprint reader.

I have not found a way to use both fingerprint authentication and avoid having to enter a password for gnome keyring authentication.



If you discover an issue I don't cover, find any errors in the answers already here or have a suggestion of some kind, please send email to hamkins@alumni.caltech.edu, and I'll update this page.