Linux on a Dell Latitude X1
Read the blog entry to make comments and requests about this stuff.
The Dell X1 is actually a rebranded Samsung Q30.
It is extremely silent.
It is extremely hot.
Not only because it doesn’t have a fan, but because it’s so sexy.
It runs on GNU/Linux.
Tip: Read all my GNU/Linux related stuff (in English) by clicking GNU/Linux [in English]
under Categories on the sidebar. Then all these nonsense entries
written in this strange language of Norwegian won’t bother you
Huge thanks to Terje R. for helping me out with everything!
Contents
- Status
- Todo
- Installation
- Configuration
- Kernel Installation
- Intel(R) PRO/Wireless 2200/2915 Network Driver
- Broadcom NetXtreme BCM5751 Gigabit Ethernet PCI Express (
tg3
module) - Display
- ACPI - Power Management
- Hibernation - Software Suspend 2 (
swsusp2
) - Touchpad - synaptics
- Compact Flash Slot
- Secure Digital Data Slot (SD/MMC)
- External DVD Drive
- Firewire (IEEE 1394)
- Miscellaneous Stuff
- Files
- Other Resources
- Changelog
Status
Coming soon |
- Green: Works out of the box with Fedora Core 4
- Orange: Works, but with extra tweaking is needed (explained on this page)
- Red: Doesn’t work
Working on at the moment: Moving this page to a WIKI (using WikiMedia).
Todo
- Get everything working.
Get hibernation working.WorksGet rid of the continuous beeping sound from the sound card, which is pitched according to system load. With the 2.6.12 kernel this sort of disappeared, but there still is some flickering so that the soundcard is uselessThe soundcard works just fine now - I don’t know what I did. I still wonder how to play music cd’s from the external usb connected dvd drive…X works fine with the vesa driver, but in order to get crt out (external monitor) I believe that the i915gm driver (and i810) must be used.And it works.- Make ACPI S3 (suspend to RAM) more stable.
It is quite stable now. - Make the SD card reader work. (Probably impossible - thanks to Dell/Samsung)
- Understand how to use ACPI scripts together with one or more of
cpuspeed
,powernowd
,laptop_mode
and the kernel stuff in/sys/devices/system/cpu/cpu0/cpufreq/*
- Convert this page into a WIKI to make it more readable…
- Get rid of errors like (listed in random order):
mtrr: base(0xc0020000) is not aligned on a size(0x600000) boundary codec_semaphore: semaphore is not ready [0x1][0x700300] codec_read 1: semaphore is not ready for register 0x54 codec_semaphore: semaphore is not ready [0x1][0x700300] codec_write 1: semaphore is not ready for register 0x54 ieee80211: dev16162: Unknown management packet: 0 MC'97 1 converters and GPIO not ready (0xff00) hw_random: cannot enable RNG, aborting shpchp: acpi_shpchprm:\_SB_.PCI0 evaluate _BBN fail=0x5 shpchp: acpi_shpchprm:get_device PCI ROOT HID fail=0x5
and
Shutting down interface eth0: Device eth0 has different MAC address than expected, ignoring.
Installation
Microsoft Stuff
- Booted the computer with Microsoft Windows XP Home. OK
- Tried to repartition the drive with Partition Magic 8.0 from external DVD drive. FAILED
- Installed Partition Magic 8.0 in Windows. OK
- Repartitioned the drive (8 GB for Winblows). OK
- Upgrade Windows XP Home to Windows XP Professional: Doesn’t work right away: It halts on “Installing Devices” and 34 minutes remaining (the progress bar was still active, though). Rebooted and continued Windows Upgrade. OK
Fedora Core Installation
- Of course, I couldn’t wait to June 6 to get Fedora Core 4, so I’ll installed Fedora Core test 3.92. (The release is delayed…)
- Installed Fedora Core test 3.92
- Installed Fedora Core 4 (clean reinstall - kept my
/home
partition and backed up/etc
)
Configuration
The Dell X1 is quite new, and the laptop support in Linux is still quite experimental, so in order to squeeze everything out of your machine, you’ll need the newest software.
In most of the following, I assume you are root, i.e. that you’ve typed su -
followed by ENTER (notice the “-”, it gives you the correct PATH
variable). Codelines beginning with “#
” indicates that this is a command run from a console as root (unless they are comments in files or specials such as #ifdef
…).
Kernel Installation
In order to get Direct Rendering working (DRI), you’ll need at least kernel 2.6.12 (I think). According to Quim this is actually not necessary, but you should of course install the latest kernel anyway
This is a step-by-step guide on how to download and install (compile)
it (WARNING: This will break the ipw2200 support temporarily, read the
ipw2200 section below to fix it):
Check http://www.kernel.org for the latest kernel. In the following, I assume it is 2.6.12
.
# cd /usr/src/ # wget ftp://ftp.kernel.org:/pub/linux/kernel/v2.6/linux-2.6.12.tar.bz2 # tar xjf linux-2.6.12.tar.bz2 # cd linux-2.6.12 # cp /boot/config-2.6.XXX .config # make oldconfig # make
Replace the “XXX
” by your current kernel version (as reported by ‘uname -r
‘). You’ll probably get a few gcc4
warnings, but that’s okey. The compiling will take some half an hour. Make a cup of coffee (and drink it).
Next, make the new kernel bootable (still from within /usr/src/linux-2.6.12/
):
# cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.12 # make modules_install # mkinitrd /boot/initrd-2.6.12.img 2.6.12
Add the new kernel as the default entry in /etc/grub.conf
(which is actually symlinked to /boot/grub/grub.conf
). This is mine:
default=0 timeout=3 splashimage=(hd0,2)/grub/splash.xpm.gz hiddenmenu title Fedora Core (2.6.12) root (hd0,2) kernel /vmlinuz-2.6.12 ro root=LABEL=/ initrd /initrd-2.6.12.img title Fedora Core (2.6.11-1.1369_FC4) root (hd0,2) kernel /vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/ quiet initrd /initrd-2.6.11-1.1369_FC4.img title Winblows XP rootnoverify (hd0,1) chainloader +1
As you can see, I kept my old kernel entry, so that if the new kernel for some reason doesn’t work the old one is still intact.
Now, reboot
.
Broadcom NetXtreme BCM5751 Gigabit Ethernet PCI Express (tg3
module)
In order to have the wired network card wake up properly after ACPI sleep, a kernel patch is needed.
Download the patch from gmane.org. (Tip: Be careful to save the patch in a proper format, i.e. with ‘@’ and not ‘<at>’ in it)
In the following the patch is assumed to reside in /usr/src/portdrv.patch
and the kernel source in /usr/src/kernel-2.6.12/
.
Warning: This will overwrite your old kernel.
Tip: If you have not upgraded to the 2.6.12 kernel yet, you can patch the kernel before building it the first time.
# cd /usr/src/linux-2.6.12 # patch -p1 < ../portdrv.patch # make && make modules_install # cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.12 # rm /boot//initrd-2.6.12.img # mkinitrd /boot/initrd-2.6.12.img 2.6.12 # reboot
Now my ACPI scripts works fine, and the machine doesn’t hang on resume. Yeah
(Er,
well, there are still a few issues to be fixed - bluetooth seems to die
on suspend - maybe I need to unload the USB modules?) In the new ACPI scripts I unload/reload the usb modules, and bluetooth wakes up fine
Intel(R) PRO/Wireless 2200/2915 Network Driver
In the 2.6.12
kernel, the ipw2200
module is not included(they didn’t compile clean for me at least).
Download and install the latest version from http://ipw2200.sf.net
(check for the latest version and the appropriate firmware, in the
following I assume ipw2200
version 1.0.4):
I downloaded the following files:
ipw2200-1.0.4.tgz
, ieee80211-2.6.12.patch
(from http://ipw2200.sourceforge.net/patches/ieee80211-2.6.12.patch) and ipw2200-fw-2.3.tgz
(firmware for the 1.0.4 version). Suppose you’ve downloaded them all in /root
, untar and install:
# cd /root # untar xzf ipw2200-fw-2.3.tgz # cd ipw2200-1.0.4 # patch net/ieee80211.h ../ieee80211-2.6.12.patch # make # make install # cd /lib/firmware/ # tar xzf /root/ipw2200-fw-2.3.tgz # modprobe ipw2200 # dmesg
Look at the dmesg
output and see if the module
is successfully loaded. (and let me know if I’ve written anything wrong
here..) You should now be able to configure the rest of the wireless
stuff.
Display
1280x768 Resolution using 915resolution
To use the 1280x768 screen resolution to its full extent, I use the program by 915resolution
as suggested by Matthias Saou (linked at the bottom). If not, the BIOS
will simulate the full screen resolution by stretching a 1024x768
desktop (I think…). This setup is needed both if you’re using the vesa
driver, and also if you’re using the new i915
(actually the i810
) driver as described below.
I’d hoped this would be supported by the CVS version of Xorg, as they claim on their Changes since Xorg 6.8.0 page, but Thomas has a comment saying it doesn’t work…
From “stomljen” download 915resolution
, and untar it:
# tar xzf 915resolution-0.2.tar.gz # cd 915resolution-0.2 # less README.txt # make # make install # 915resolution -l # 915resolution 3c 1280 768
I chose to patch the 3c
mode because I figured I’d never use that resolution. Change this if you want.
For now this won’t really do anything. First, make the patch permanent upon reboot: Add the following line to /etc/rc.local
:
/usr/sbin/915resolution 3c 1280 768
Next, edit /etc/X11/xorg.conf
to something like this:
Section \"Screen\" Identifier \"Screen0\" Device \"Videocard0\" Monitor \"Monitor0\" DefaultDepth 24 SubSection \"Display\" Viewport 0 0 Depth 16 Modes \"800x600\" \"640x480\" EndSubSection SubSection \"Display\" Viewport 0 0 Depth 24 Modes \"1280x768\" \"1024x768\" \"800x600\" \"640x480\" EndSubSection EndSection
The Modes "1280x768" ...
is the important
change. Restart the X server. (Sorry if the double quotes are escaped in the above…)
Now the generic (and slow) vesa
driver will work, but without dri
support, so watching movies etc. will be extremely slow. In order to
have it all working, follow the Xorg installation description below.
Install the latest Xorg (with DRI support)
With
the new kernel (2.6.12) it is possible to use the latest snapshot from
http://dri.freedesktop.org/snapshots/. Download the latest versions of common
, i810
and i915
. In the following the 20050618 snapshot is assumed (shut down the X server before you begin):
# init 3 # tar xjf common-20050618-linux.i386.tar.bz2 # tar xjf i810-20050618-linux.i386.tar.bz2 # tar xjf i915-20050618-linux.i386.tar.bz2 # cd dripkg/ # ./install.sh
Now, in your xorg.conf
file, change ‘ vesa
‘
to ‘ i810
‘ (yes, all the i915GM functionality is put in that driver). Restart the X server with ‘init 5
‘.
Unfortunately,
this version breaks the virtual consoles (i.e. those you get with
Ctrl-Alt-F1 and so on). This can be ‘fixed’ by following comment 32 the freedesktop.org bugzilla… I’ve tried this, with some success, but there are some ACPI wake up from sleep problems (but they might be connected to the Works fine now tg3
network card module…)
Please drop a comment if you have any info on this.
ACPI - Power Management
In short, this works with this sequence:
‘echo 3 > /proc/acpi/sleep
‘ to put the machine to sleep, and Power button, ctrl-alt-f1
, ctrl-alt-f7
, Fn-UpArrow
(i.e. increase screen light) to get it back.
Or better yet make the following files and put them in the indicated places (I found this out by fooling around with ‘acpi_listen
‘ and tapping the blue keys, as well as closing/opening the lid.)
I’ve put my newest ACPI scripts in the Files section
In /etc/acpi/events/
put a file sleep
:
event=button[ /]sleep action=/etc/acpi/actions/sleep.sh
and a file lid
:
event=button[ /]lid action=/etc/acpi/actions/sleep.sh
In /etc/acpi/actions/
put a file sleep.sh
:
#!/bin/bash # ACPI script to send a Dell Latitude X1 to sleep/suspend by MartinG # Version 0.001 (not yet working very good) PATH=/bin:/usr/bin:/usr/sbin:/sbin:/usr/local/sbin # Switch to bootsplash console chvt 6 echo \"Going to sleep...\" # Empty logfile #echo > /tmp/suspend.log echo `date --iso-8601=seconds` Going to sleep... >> /tmp/suspend.log # Flush disk buffers, so we won't lose to much data in case it fails sync # Go, sleep! # The space after the '3' is important: echo 3 > /proc/acpi/sleep # The machine is awakened by touching the power button echo \"...we are back.\" echo `date --iso-8601=seconds` ...we are back. >> /tmp/suspend.log # Switch back to X chvt 7 # You still might have to wait a few seconds and press Ctrl-Alt-F1, Ctrl-Alt-F7, # and press Fn+UpArrow to wake up the screen...
Make the changes active:
# service acpid reload
Tip: The ACPI manager doesn’t care what you call your
/etc/acpi/events/
scripts, so if you’re using emacs
to edit them, be sure to remove all emacs backup files by
# rm /etc/acpi/events/*~
to save a day of your nerdy life.
Tip: Don’t forget to make the scripts executable:
# chmod u+x /etc/acpi/actions/*.sh
(all of them…)
Tip: Oliver Page reported that on Debian files ending with .conf
in /etc/acpi/events
will be ignored. This is not the case in Fedora, where the acpid
documentation states: “acpid will look in a configuration directory
(/etc/acpi/events by default), and parse all files that do not begin
with a period (’.').”
Tip: Maybe the ACPI event “video VID
” could be used to fix the screen awakening problem. In Fedora Core 4 with the 2.6.12 kernel the video VID
ACPI event no longer show up. Any ideas?
Tip: Adding acpi_sleep=s3_bios
as a kernel parameter makes my Dell X1 freeze on sleep (2.6.11-1.1369_FC4 kernel). But the description above works.
Tip: Mark suggested to turn on a BIOS password in order to force the screen to wake up after sleep. (I haven’t tried this - at the moment Fn-UpArrow
works fine for me)
Update:Tim posted a comment
with some nice ACPI scripts. I’ve altered them a bit, and they seems to
work pretty well when one is NOT using the wired network card (tg3
module). They can be found in the Files section.
After patching the 2.6.12 kernel according to the description above, this problem is solved
Hibernation - Software Suspend 2 (swsusp2
)
WARNING: This is quite experimental at the moment. But it works for me. Use at your own risk.
You must be patient to get this up and running.
First, fix
the ipw2200 wireless module (The config option for suspend2 changed
name in 2.1.8.6 from CONFIG_SOFTWARE_SUSPEND2_BUILTIN to just
CONFIG_SUSPEND2):
Edit the source code of the ipw2200 1.0.4
module:
# cd /root/tarballs/ipw2200-1.0.4/ # cp ipw2200.c ipw2200.c.orig # emacs ipw2200.c
And change the line
#ifdef CONFIG_SOFTWARE_SUSPEND2_BUILTIN
to
#ifdef CONFIG_SUSPEND2
and compile and install it:
# less INSTALL # make # make install
Next, download the software suspend patch tarball from www.suspend2.net and patch the kernel source:
# cd /root/tarballs # tar xjf software-suspend-2.1.9.5-for-2.6.12.tar.bz2 # cd /usr/src/linux-2.6.12 # /root/tarballs/software-suspend-2.1.9.5-for-2.6.12/apply ... All happy!
Recompile the kernel (assuming you already have a .config
file, else first ‘cp /boot/config-2.6.XXX .config
‘). From within /usr/src/linux-2.6.12
:
IMPORTANT: My swap partition is /dev/hda6
- your’s probably something else - find it with ‘cat /etc/fstab | grep swap
‘ or ‘fdisk -l|grep -i swap
‘.
# make oldconfig ... CONFIG_SUSPEND2=y CONFIG_SUSPEND2_FILEWRITER=y CONFIG_SUSPEND2_SWAPWRITER=y CONFIG_SUSPEND2_USERSPACE_UI=y SUSPEND2_TEXT_MODE=n CONFIG_SUSPEND2_DEFAULT_RESUME2=\"/dev/hda6\" CONFIG_SUSPEND2_KEEP_IMAGE=y CONFIG_SUSPEND2_CHECK_RESUME_SAFE=y CONFIG_CRYPTO_LZF=y # make
While compiling, download the hibernate script tarball and install it:
# cd /root/tarballs # tar xzf hibernate-script-1.09.tar.gz # cd hibernate-script-1.09 # less README # ./install.sh # cp init.d/hibernate-cleanup.sh /etc/init.d/hibernate-cleanup.sh
Back in /usr/src/linux-2.6.12
, install the new kernel:
# make modules_install # cp -f arch/i386/boot/bzImage /boot/vmlinuz-2.6.12-swsusp2 # mkinitrd -f -v /boot/initrd-2.6.12-swsusp2.img 2.6.12
Update /etc/grub.conf
(NOTE: change /dev/hda6
to your swap partition):
... title Fedora Core (2.6.12-swsusp2) root (hd0,2) kernel /vmlinuz-2.6.12-swsusp2 ro root=LABEL=/ resume2=swap:/dev/hda6 initrd /initrd-2.6.12-swsusp2.img ...
Update the newly baked initrd:
# cd /root/ # mkdir myinitrd # cd myinitrd # gzip -dc < /boot/initrd-2.6.12-swsusp2.img |cpio -i
and edit the unpacked init
to include the two extra lines the lines after ‘mount -t sysfs /sys /sys
‘:
#!/bin/nash mount -t proc /proc /proc setquiet echo Mounted /proc filesystem echo Mounting sysfs mount -t sysfs /sys /sys echo Activating Software Suspend 2 echo > /proc/software_suspend/do_resume echo Creating /dev mount -o mode=0755 -t tmpfs /dev /dev mknod /dev/console c 5 1 mknod /dev/null c 1 3 mknod /dev/zero c 1 5 mkdir /dev/pts mkdir /dev/shm echo Starting udev /sbin/udevstart echo -n \"/sbin/hotplug\" > /proc/sys/kernel/hotplug echo \"Loading jbd.ko module\" insmod /lib/jbd.ko echo \"Loading ext3.ko module\" insmod /lib/ext3.ko /sbin/udevstart echo Creating root device mkrootdev /dev/root echo Mounting root filesystem mount -o defaults --ro -t ext3 /dev/root /sysroot echo Switching to new root switchroot --movedev /sysroot
Install the new initrd:
# cp /boot/initrd-2.6.12-swsusp2.img /boot/initrd-2.6.12-swsusp2-without-do_resume.img # find . | cpio -o -c | gzip -9 > /boot/initrd-2.6.12-swsusp2.img
You might want to backup your personal data as well as the /etc/
folder before continuing in case you fuck up your entire system.
In
order to reduce the chance of a total disaster something goes wrong
with the hibernation, you should put the following line in your /etc/rc.local
(this prevents the system to perform a resume after the the sequence
‘hibernate - boot a noresume kernel - reboot the resume kernel’ which
otherwise will cause a filesystem crash as the noresume kernel will
leave the system in another state…):
/etc/init.d/hibernate-cleanup.sh
Because I’m using the 915resolution
VBIOS hack,
and this has to be patched each and every time the system boots, the
hibernation script must do this. Therefore, add the following line to /etc/hibernate/hibernate.conf
(from the Software Suspend 2 Wiki):
OnResume 86 915resolution 3c 1280 768
Now, reboot with the new kernel (important). Then, from within X, issue the command ‘hibernate
‘ as root. After a few seconds (20?), the computer turns itself off.
Next time you power on, boot from the same kernel
(important) and watch the system bring you right to your X session
instead of doing the whole boot sequence. If you’ve chosen to lock the
X session you have to touch a key to wake up the display. For me it
took about 35 seconds from I pushed the powerbutton until I could
unlock my X session, and in total less than 55 seconds until the resume
bar was 100 percent. That is with quite some programs running, and
1.2GB RAM.
See my hibernation.conf
in the Files
section (I use KDE). I’ve successfully used hibernation while having an
active wireless network connection. One should maybe be careful if
hibernating with AC power plugged and then resumes unplugged.
This rocks bigtime!!!
Touchpad - synaptics
With the standard configuration, the touchpad can feel a bit over sensitive and jumpy. Therefore, use the much more powerful synaptics
driver which is actually already installed in Fedora Core 4. All you need to do is to edit /etc/X11/xorg.conf
to include something like this (my complete xorg.conf
can be found in the Files section):
Section \"Module\" Load \"dbe\" Load \"extmod\" Load \"fbdevhw\" Load \"glx\" Load \"record\" Load \"freetype\" Load \"type1\" Load \"dri\" # Synaptics: Load \"synaptics\" EndSection ... Section \"InputDevice\" # Driver \"mouse\" # Option \"Device\" \"/dev/input/mice\" # Option \"Protocol\" \"IMPS/2\" # Identifier \"Mouse0\" # Option \"ZAxisMapping\" \"4 5\" # Option \"Emulate3Buttons\" \"yes\" # Synaptics: Identifier \"Mouse0\" Driver \"synaptics\" Option \"Device\" \"/dev/input/mouse0\" Option \"SHMConfig\" \"on\" # User customized stuff Option \"Protocol\" \"auto-dev\" Option \"LeftEdge\" \"1700\" Option \"RightEdge\" \"5300\" Option \"TopEdge\" \"1700\" Option \"BottomEdge\" \"4200\" Option \"FingerLow\" \"25\" Option \"FingerHigh\" \"30\" Option \"MaxTapTime\" \"180\" Option \"MaxTapMove\" \"220\" Option \"VertScrollDelta\" \"100\" Option \"MinSpeed\" \"0.06\" Option \"MaxSpeed\" \"0.12\" Option \"AccelFactor\" \"0.0010\" Option \"TapButton1\" \"1\" Option \"TapButton2\" \"1\" Option \"TapButton3\" \"1\" Option \"LTCornerButton\" \"2\" #Option \"LBCornerButton\" \"0\" #Option \"RTCornerButton\" \"0\" #Option \"RBCornerButton\" \"0\" EndSection
This will give you a more stable touchpad. In the config above, tapping gives a left-click (Option "TapButton1" "1"
)
The config above also gives a up/down “scroll-wheel” on the left side
of the touchpad, and a left-right scroll-wheel on the bottom. I’ve
tried to make a middle button on the upper left corner (Option "LTCornerButton" "2"
), but it doesn’t work very well (comments and suggestions are appreciated in the blog section )
The
Dell X1 touchpad actually supports tapping with two - and even three
fingers at the same time, but there seems to be a problem with the synaptics
driver that prevents
Option \"TapButton1\" \"1\" Option \"TapButton2\" \"2\" Option \"TapButton3\" \"3\"
to work. At least for me. Any ideas on this are welcome!
Compact Flash Slot
Working: When I plug my Canon Digital IXUS v3 CF card, a directory /media/CANON_DC/
immediately shows up. The card can be mounted by
# mount /media/CANON_DC
(even as a normal user).
Actually, this was much faster when I used Fedora Core test 3.92, as it was mounted as a SCSI disk (sda1
): In Fedora Core 4 it is mounted as a IDE disk, and it takes quite a few seconds for /media/CANON_DC
to show up.
Tip: Even though the Dell X1 does not have any PC Card slot (PCMCIA), the CF slot is internally PCMCIA connected so pcmcia
must be running.
Secure Digital Data Slot (SD/MMC)
Doesn’t seem to work. If you know anything - please post a comment in the blog entry.
The output from ‘lspci -v
‘:
02:01.2 Class 0805: Ricoh Co Ltd SD Card reader (rev 17) (prog-if 01) Subsystem: Dell: Unknown device 01a3 Flags: bus master, medium devsel, latency 64, IRQ 10 Memory at dfcfe700 (32-bit, non-prefetchable) [size=256] Capabilities: [80] Power Management version 2
External DVD Drive
It works:
When plugged after boot, a directory /media/cdrecorder
shows up, and it can be mounted by a normal user by:
# mount /media/cdrecorder
#dmesg usb 1-1: new high speed USB device using ehci_hcd and address 6 scsi3 : SCSI emulation for USB Mass Storage devices usb-storage: device found at 6 usb-storage: waiting for device to settle before scanning Vendor: _NEC Model: DVD+-RW ND-6500A Rev: 202C Type: CD-ROM ANSI SCSI revision: 00 sr0: scsi3-mmc drive: 24x/24x writer cd/rw xa/form2 cdda tray Attached scsi CD-ROM sr0 at scsi3, channel 0, id 0, lun 0 usb-storage: device scan complete
I’ve not been able to listen to music CDs using my external USB connected D-bay DVD recorder/player. Please drop a comment if you have any info on this.
Firewire (IEEE 1394)
Haven’t tried it yet, but I guess it works:
ieee1394: Initialized config rom entry `ip1394' ohci1394: $Rev: 1250 $ Ben Collins <bcollins@debian.org> ACPI: PCI Interrupt 0000:02:01.1[B] -> Link [LNKC] -> GSI 9 (level, low) -> IRQ 9 ohci1394: fw-host0: OHCI-1394 1.1 (PCI): IRQ=[9] MMIO=[dfcfe800-dfcfefff] Max Pa cket=[2048] ACPI: AC Adapter [AC] (off-line) ieee1394: Host added: ID:BUS[0-00:1023] GUID[484fc000163ad030]
Miscellaneous Stuff
Laptop Mode Tools
Install Laptop Mode Tools from Bart Samwel (as of writing, 1.05 is the latest release, not available as rpm):
# tar xzf laptop-mode-tools_1.05.tar.gz # cd laptop-mode-tools-1.05/ # less README # ./install.sh
Then edit /etc/laptop-mode/laptop-mode.conf
according to your preferences (you can find mine in the Files section).
Reload the laptop-mode
service:
service laptop-mode reload
Wireless Networking
Coming soon…
NetworkManager
Turn on NetworkManager
for runlevel 5 by ntsysv --level 5
. (Or maybe not if you’re using both wired and wireless networks - The latest version of NetworkManager seems to work really good:NetworkManager
will take complete control over your network settings)
Turn on NetworkManager
for runlevel 5 by ntsysv --level 5
, and run NetworkManagerInfo
as a normal user to get a nice tray applet. It will even ask you for a password when trying to enter a WEP encrypted network
Turn off RedHat Graphical Boot (rhgb)
Edit /etc/grub.conf
and remove rhgb
: see my grub.conf
in the Files section.
Turn Off Services You Don’t Use
Speed up the booting by removing all unnecessary services:
# ntsysv --level 5
(These are mine: acpid, autofs, bluetooth, crond,
cups, cups-config-deamon, gpm, haldeamon, iptables, laptop-mode,
messagebus, netfs, network, ntpd, pcmcia, sshd, syslog, xfs, xinetd,
NetworkManager, NetworkManagerDispatcher
)
Mount /tmp
in memory
On my Dell X1 I’ve got 1.2GB RAM, so why not mount /tmp
in memory to reduce harddrive spinups when on batteries. Correct me if I’m wrong. In /etc/fstab
, add a line:
none /tmp tmpfs defaults 0 0
Note: Everything in /tmp
will be lost when you reboot.
Tip: The harddrive on the Dell X1 is extremely silent. You can monitor the current state by ‘hdparm -C /dev/hda
‘.
Prevent KsCD stealing your CD drive
I
really HATE IT when programs that are supposed to make life better for
you make it worse. KDE Autorun is such a program. I checks for audio
CD’s every second or so, and therefore locks the drive so that ripping
CD’s is impossible, or rather - it works only one sometimes. Therefore:
Turn off this freakin’ Autorun:
As a normal user:
localhost:~:$ cd .kde localhost:~/.kde:$ mkdir Autostart.hide localhost:~/.kde:$ mv Autostart/ Autorun.desktop .directory localhost:~/.kde:$ mv Autostart/Autorun.desktop Autostart.hide/ localhost:~/.kde:$ ps aux|grep kscd username 3397 0.0 0.0 4740 940 ? S 12:01 0:00 /usr/bin/autorun -l --interval=1000 --cdplayer=/usr/bin/kscd username 3686 0.0 1.1 30812 14632 ? S 12:05 0:00 /usr/bin/kscd username 3774 0.0 0.0 3748 684 pts/1 R+ 12:13 0:00 grep kscd localhost:~/.kde:$ killall autorun localhost:~/.kde:$ killall kscd localhost:~/.kde:$ kaudiocreator
Ah, just like cold beer on a sunny day. Phew.
Files
Some files:
/files/
Relevant stuff in the /etc/
folder (including EXPERIMENTAL (i.e. not really working very well) ACPI scripts) can be found here (click the link):
/etc/
These files are included:
etc/rc.d/rc.local etc/laptop-mode/laptop-mode.conf etc/acpi/acpi_handler.sh etc/acpi/actions/sleep.sh etc/acpi/actions/powermode.sh etc/acpi/orig/events/sample.conf etc/acpi/events/video etc/acpi/events/default etc/acpi/events/sleep etc/acpi/events/ac_adapter etc/acpi/events/lid etc/grub.conf etc/X11/xorg.conf
Other Resources
Dell X1 Pages
- Linux on laptops
- Matthias Saou’s Dell X1 page
- HARDWARE Dell Latitude X1
- Steffen’s Debian on Dell Latitude X1 page
- Frank’s Ubuntu installation report on Dell Latitude X1
- Jos’ Installing OpenSuSE 10 beta 3 on a Dell Latitude X1
Other GNU/Linux Pages for Laptops
- Linux on a Dell Latitude X300 (Jim Van Zandt)
- James Whitt’s blog about his Linux on Inspiron 6000 (also i915GM graphics controller)
Stuff
- Xorg (Changes since Xorg 6.8.0)
- Some stuff about ACPI
- SuSE 9.2 on a Dell Latitude x300 Laptop
- Dell (non) Support Forum (ThiasDude’s thread.)
- Laptop Mode Tools (with links to rpms)
Changelog
2005-08-27 Link to Jos’ page
2005-07-29 Link to Frank’s page
2005-07-07 Ripping CD’s after killing KsCD
2005-07-07 Link to Debian X1 page
2005-06-29 Hibernation/swsusp2 working.
2005-06-29 Brought the page more up to date.
2005-06-27 Hibernation stuff (unfinished)
2005-06-27 Tuxmobile and linux-on-laptop links
2005-06-26
2005-06-25 Added the portdrv patch in the Files section
2005-06-25 Laptop Mode Tools and updated Files section
2005-06-24 Broadcom tg3 module ACPI sleep/resume fixed by kernel patch.
2005-06-22 Kernel 2.6.12, DRI, and Xorg stuff.
2005-06-20 Nothing new actually, but I’ve been playing around quite a bit…
2005-06-17 Installed Fedora Core 4 (Stentz)
2005-06-06 Actually wrote something that might be useful to anyone.
2005-06-02 Got the computer!
2005-06-02 Still waiting for the laptop…
2005-05-21 Initiated this page
$Id: linux-on-a-dell-x1-aka-samsung-q30.html,v 1.39 2005/08/27 13:25:15 gronslet Exp $