DisgruntledGoat.com
As a computer, I find your faith in technology amusing.
- - - - -
Most popular:
Menu:
:: Home
:: Fascinations
:: Goat Labs
:: Miscellany
:: RANT!
:: Silly stuff
:: Useful stuff
:: Cars & Driving
Hosted by
Web Without Wires from Zycomm
:: Printable version
Custom Search

Gentoo Linux on a Dell Inspiron 630m

Last updated: 11th July 2006

Preamble

I'm about to undertake a fairly major re-write of this page as there have been a lot of improvements in both the Linux kernel (the 2.6.17-series) and the supporting userland utilities that make installing Gentoo on the 630m a whole lot more straightforward than this guide presently implies.

Whilst the majority of the information in here is still valid, it may send you round the houses a little bit as regards patches and updates whereas a later version of the package already has the support you need incorporated.

I hope to have the re-write done within the next couple of weeks, however my silly car is presently taking up large quantities of my time as the weather is so nice at the moment!

I'll also take this opportunity to say "Thank You" to everyone who's e-mailed updates, into and tidbits about running Gentoo on this machine - a vast amount of which I have yet to incorporate but will definitely make it into version two of this guide.

Thanks again,
--Harry


Introduction

This page is a bit of a brain-dump of my experiences installing and running Gentoo Linux on a Dell Inspiron 630m so that I don't forget all the little tweaks and annoyances I've had to fix when I (inevitably) decide to flatten and rebuild my laptop at a later date. Hopefully it covers all of the adjustments I've had to make to the default setup of Gentoo in order to get it to play nicely with this 630m and, so far, it appears to be working fine.

IMPORTANT NOTE

There's a lot of stuff here that depends on the previous step in the guide, so if you skip bits things may break further down the line! Please also be aware that I will be using the testing / unstable branch of the Gentoo portage tree throughout (i.e. ACCEPT_KEYWORDS="~x86" in /etc/make.conf) as a lot of the bits and pieces need to be the very latest versions available. IMHO, "unstable" is a bit of a misnomer as (so far, touch wood!) it's been perfectly reliable for me on all of my workstations. No doubt I'll now be proved wrong immediately :-)

Hardware Compatibility Chart:

Hardware Component Status under Linux Notes
Intel® Pentium® M Processor 735A (1.70GHz, 2MB L2 Cache) Works cpufrequtils was used to dynamically adjust the processor speed as per the Gentoo Power Management Guide
14.1" WXGA (1280x800) TrueLife TFT Works No special procedure required during installation.
Intel i915PM with GMA900 graphics Works Works fine with Xorg 6.9 and above, although a couple of tweaks are required. See the Xorg section
2 x 256MB SODIMM DDR2 in dual channel mode Works No special procedure required during installation.
Seagate Momentus 80GB 5400RPM Works Swapped out Dell OEM drive as I had a bigger drive knocking around
Broadcom 10/100 ethernet Works Had a couple of odd timeouts with the 2005.1 LiveCD, but other than that it's been fine
DVD +/- R/RW drive Works Standard IDE DVD +/- R/RW, however the ATA driver needs some furtling. See the SATA section for details. Thanks to Pete Tillotson for this one...
Intel Pro Wireless 2200 802.11 b/g MiniPCI card with integrated dual-band (2.4/5.7GHz) antenna Works See the IPW2200 section
80 WattHour 9-cell "smart" Li-Ion battery Works No special procedure required during installation.
FireWire Works No special procedure required during installation.
Synaptics touchpad Works No special procedure required during installation, however it is extremely sensitive. Need to tame this a little! UPDATE: have installed the proper Synaptics Touchpad driver for XOrg. See the Synaptics Touchpad section.
UPDATE: Dell TruMobile 350 Bluetooth 2.0 Works Despite being listed on the Dell site as a build-time option only (and subsequently not giving the option in the configuration pages), five minutes, £30 and eBay soon got the offending module on its own. I've written a ramble on how to fit and set up this module under Gentoo. It works brilliantly for receiving photos from my Nokia 6680, btw!
Sigmatel STAC9750 HD audio codec / Intel ICH6 HD Audio Works - to an extent... (updated 20/03/2006) Most things appear to work now, however you do need to patch the kernel to enable jack sense on the headphone jack. See the howto here... Also Mic inputs appear to be non-functional...
ExpressCard slot Untested As it's just an express PCI lane and a USB connector on one socket it should be reasonably hassle-free. Don't have any ExpressCards with which to test it yet, though!
5-in-1 card reader
Works (updated 16/02/2006)Thanks to Diego Losada for pointing out that kernel patches are now available for recent kernels to support this gadget. See the Card Reader section for a howto...
Conexant HDA D110 MDC V.92 Modem
Should work in theory (updated 16/02/2006) Again thanks go to Diego Losada for pointing out that the Linuxant drivers now claim to support the Conexant HDA modems. These are NOT free, however - an uncrippled version will set you back USD 19.99, the free ones only support 14k4 :-( Better than nothing, I s'pose...


Before we begin...

This being a Dell, it comes pre-installed with Redmondware. As at some stage in the future I may wish to sell this thing on, I decided to ghost the HDD before I even switched it on for the first time. Although it's a propriatory bit of kit, I've found Symantec's Ghost to be indispensible when dealing with anything Microsoft. Not only will this act as my backup to the Windows license, but it'll also ensure I can reset the Laptop to its as-new condition when sell-time comes around.

It's also worth remembering that Dell insist on sandwiching the NTFS partitions between two diagnostics partitions (partition types "de" for the first mini-diags partition (responsible for the www.dell.com banner at boot) and "df" for the third, GUI-based diags partition). It's worth backing these up before nuking the Redmondware just in case!


Running Symantec Ghost

Why this laptop?

Short answer: noise! I'm surrounded by drives and cooling fans in my office and I've had enough! All of the machines that actually need to be powerful and/or large (and hence noisy) can be banished from my office as my workstation, which spends 99% of its processor time looking for little green men, can go and be useful elsewhere as most of my day is spent working with text editors of one form or another - not exactly processor intensive! So, bye-bye big Athlon MP, hello ickle Pentium-M!

Build Quality and General Assessment

(Updated 13/04/2006)

I've had this laptop for around four months now and I have to say overall it's absolutely brilliant. The battery endurance is probably the greatest boon: Not having to have it tied to the wall all the time really does make a difference. It also appears to have much more grunt that I'd have given a 1.7GHz Pentium III derivative credit for, which is a pleasant surprise.

Physically, it is standing up to being dragged between home and the office extremely well: No creaks or rattles have developed and I rate the keyboard to be at least as good as Sony's Vaio keyboards (which up until now I considered to be the best on the planet). Key travel is light but not so light that you accidentally hit keys and, best of all, there are dedicated Insert, Delete, Home, End, PageUp and PageDown keys as opposed to some brands which seem to insist on doubling up with the use of the ubiquitous Fn key.

In general use the machine is pleasantly quiet with the cooling fan only kicking in when you load it down. The fan seems to have two settings, the faster of which I've only heard once (when during a compile I'd inadvertently blocked the cooling fan's air intake vents) and is quite noisy, but the lower speed is barely noticable.

In operation, the left-hand side of the wrist-rest does become rather warm, but not uncomfortably so. My biggest practical complaint is the location of the CPU cooler's air intake: on the bottom rear at the left-hand side. As implied by the device's name, it's not unusual for a laptop to be used on one's lap from time to time, but in doing so you do have to be careful not to block this intake. If you do, you're soon warned by the increasing temperature and noise generated!

That little gripe aside, I'm incredibly pleased with the practicality, performance and aesthetics of this machine. As such, I've just ordered five more for work and a friend!

UPDATE, 21/07/2006: Well, something has eventually gone wrong :-( The far-left side of the keyboard has started to misbehave:

  • The Escape and F1 keys no longer work
  • If you press the backtick (`) key, you get a backtick and then it appears as if F1 is stuck down (judging by the amount of help windows that appear!)
  • TAB works, but SHIFT-TAB does not
  • All alpha and number keys still work on their own and with SHIFT, but not necessarily with the CTRL or ALT keys. As you can imagine, this is especially annoying with Linux! Thankfully, CTRL-D still works, but CTRL-S, CTRL-A and CTRL-W do not...
  • The machine will now not power on first time: it posts, then powers off again. I'm guessing this is due to an erroneous response from the keyboard controller. A second power-on works fine.
I'm going to try and see if Dell will send me a new keyboard, however I get the feeling they're going to want the whole bloody machine back, which is not particularly good timing right now! Will update this page again as soon as I get this sorted...



Why use Gentoo?

Well, so far I've yet to come across something I can't persuade, coerce or force it to do. I've used it as a wireless AP, workstations, servers, routers, PPPoE access concentrators, a VoIP telephone exchange, embedded media players for the Creative Channel Network, a time-shifting personal video recorder and even as an in-car computer in a very silly car.

Also, I like tinkering. Gentoo, by its very design, encourages tinkering and as such taught me more about Linux in one week of using it than SuSE had done in the previous year. If you want a far more fundamental understanding of all things Linux, use Gentoo!

The install

Rather than duplicate effort, I strongly suggest any first-time potential Gentoo users go and check out the absolutely excellent Gentoo Handbook, available from the Gentoo documentation web site. Absolutely no special exceptions were needed for the base install, i.e. a command-line interface, networking, drive partitioning etc. all went without a hitch.

GCC 3.4

I decided to follow this guide to perform an Unstable Gentoo install (~x86) with GCC 3.4, which includes the rebuild of the entire toolchain. It takes a while, but works extremely well!



Kernel

I'm presently using vanilla-sources-2.6.16-rc1 from the Gentoo portage tree and it appears to be perfectly stable. The only manual patch I've had to apply to the kernel is for the memory card reader.

You can download my kernel configuration file, which includes ReiserFS (my filesystem of choice), framebuffer support, i915 AGP and DRI support and the amputated support for the IPW2200 wireless network drivers. It also has network bridging built as modules as I occasionally use a little Dynamode USB-to-Ethernet adaptor (RTL8150 chipset) along with the internal NIC to diagnose certiain network problems. There are also a couple of USB-to-serial converters in as modules for my GPS etc...

My /etc/modules.autoload.d/kernel-2.6 file looks like this:

ieee80211_crypt
ieee80211
ipw2200
drm
i915
Just rename the kernel.config file to .config, shove it in your linux source directory and do a
# make oldconfig
to ensure it will only try and build the stuff your particular kernel supports (important if you don't want to apply the card reader patches!)



Wireless networking

This was surprisingly easy to set up - simply emerge ipw2200 to get the driver, wireless tools and firmware for the card. Note that you must have the wireless extensions turned OFF in the kernel for this to work correctly:

$ emerge ipw2200 -pv

These are the packages that I would merge, in order:

Calculating dependencies ...done!
[ebuild  N    ] net-wireless/ieee80211-1.1.6  -debug 0 kB
[ebuild  N    ] net-wireless/wireless-tools-28_pre10  -multicall +nls 0 kB
[ebuild  N    ] net-wireless/ipw2200-firmware-2.4  0 kB
[ebuild  N    ] net-wireless/ipw2200-1.0.8-r1  -debug -radiotap 0 kB
Now just add the module to /etc/modules.autoload.d/kernel-2.6 so that it will load automatically on boot:
# /etc/modules.autoload.d/kernel-2.6:  kernel modules to load when system boots.
#
# Note that this file is for 2.6 kernels.
#
# Add the names of modules that you'd like to load when the system
# starts into this file, one per line.  Comments begin with # and
# are ignored.  Read man modules.autoload for additional details.

# For example:
# 3c59x
ipw2200
and, if you want to start using wireless immediately:
# modprobe ipw2200
# lsmod
Module                  Size  Used by
ipw2200               179460  0
ieee80211              50408  1 ipw2200
ieee80211_crypt         4804  1 ieee80211

The main configuration for the wireless network is as per the Gentoo Handbook and works well. To date, it's been flawless and no nasties in the event log as reported by some others in the Gentoo Forums.

Xorg

(updated 13/04/2006)

(If you want info on patching the older Xorg-6.8.99 packages, please see this page.)

Xorg is usually quite painless, however a couple of issues cropped up during this install.

Xorg 6.9 does not like -Os!

Most of the software - with the notable exception of Xorg - has been compiled with the "Optimise for size" flag set, simply due to the reduced memory footprint this produces. However, Xorg 6.9 - just like 6.8.99 - segfaults on load if it's compiled with -Os, so it is the only package built with -O2. This worked fine.

i915 chipset graphics

Some things to note:
  1. The chipset BIOS does not natively support wierd and wonderful resolutions such as 1280x800 (i.e. the laptop's native resolution)
  2. DRI support now works fine out-of-the-box
  3. All of the packages needed are now unmasked

All you need to do is

# emerge xorg-x11
and you're done - far less hassle than 6.8.99 :-) To make life a bit easier, you can also download my Xorg 6.9 configuration file.



Special video modes

Although Xorg might work straight away, the chipset's BIOS still needs patching. To make the chipset's BIOS support non-4:3 resolutions (i.e. the 630m's 1280x800) a very useful gadget called 855resolution needs to be emerged:
# emerge 855resolution -pv

These are the packages that I would merge, in order:

Calculating dependencies ...done!
[ebuild  N    ] sys-apps/855resolution-0.4  6 kB
This gadget allows you to patch the i915 video BIOS with the appropriate mode by replacing one of the existing modes. You can see all the supported VESA modes by issuing the following:
# 855resolution -l
855resolution version 0.4, by Alain Poirier

Chipset: Unknown (id=0x25908086)
VBIOS type: 2
VBIOS Version: 1219

Mode 30 : 640x480, 8 bits/pixel
Mode 32 : 800x600, 8 bits/pixel
Mode 34 : 1024x768, 8 bits/pixel
Mode 38 : 1280x1024, 8 bits/pixel
Mode 3a : 1600x1200, 8 bits/pixel
Mode 3c : 1280x800, 8 bits/pixel
Mode 41 : 640x480, 16 bits/pixel
Mode 43 : 800x600, 16 bits/pixel
Mode 45 : 1024x768, 16 bits/pixel
Mode 49 : 1280x1024, 16 bits/pixel
Mode 4b : 1600x1200, 16 bits/pixel
Mode 4d : 1280x800, 16 bits/pixel
Mode 50 : 640x480, 32 bits/pixel
Mode 52 : 800x600, 32 bits/pixel
Mode 54 : 1024x768, 32 bits/pixel
Mode 58 : 1280x1024, 32 bits/pixel
Mode 5a : 1600x1200, 32 bits/pixel
Mode 5c : 1280x800, 32 bits/pixel

You can see in this listing that the final mode, 5c, has been patched to 1280x800 for use with the 630m's local flat panel.

Note that this only patches the copy of the BIOS that is in RAM, so you (A) don't modify your machine, but (B) have to do this every time you boot. Conveniently, those nice Gentoo folks have an init and config script to do this automagically at boot time. Just modify /etc/conf.d/855resolution:

# Config file for /etc/init.d/855resolution

# Since 855resolution alters the video RAM of your 855 card, it must be run
# on every boot.
# In this file you set which modes are to be replaced with what by the init
# script. The syntax should be self-explaining.
# To find out which modes are available, use "855resolution -l".
# Remember to add 855resolution to your default runlevel:
# rc-update add 855resolution default

# e.g's (it seems for most people 5c defaults to "1920x1440", which
#   usually isn't used, so the example uses that one
replace[0]="5c"
#with[0]="1400 1050"
with[0]="1280 800"

Once that's done, just add 855resolution to whatever runlevels tend to end up running X:

# rc-update add 855resolution default battery
 * 855resolution added to runlevel default
 * 855resolution added to runlevel battery

In my xorg.conf, I also added a modeline for the display which probably isn't strictly necessary. I used gtf to generate a custom modeline for 1280x800@60Hz:

# gtf 1280 800 60

  # 1280x800 @ 60.00 Hz (GTF) hsync: 49.68 kHz; pclk: 83.46 MHz
  Modeline "1280x800_60.00"  83.46  1280 1344 1480 1680  800 801 804 828  -HSync +Vsync

DRI support

DRI support is also now built in. It should just work out of the box:
# glxinfo |grep direct
direct rendering: Yes

# glxgears
5867 frames in 5.0 seconds = 1173.393 FPS
5942 frames in 5.0 seconds = 1188.339 FPS
5934 frames in 5.0 seconds = 1186.639 FPS



ICH6 SATA support

(updated 16/01/2006)

The 630m has a standard 2.5" parallel ATA hard disc and the usual slim DVD-everything drive, also parallel ATA. This does not stop the Integrated Controller Hub presenting the drives as SATA devices, however.

Initially, I had the ICH6 controller compiled in along with generic IDE support as while the HDD worked fine, the DVD drive would not get recognised without it. Fair enough, I thought - I can live with that. However, when I came to doing anything with the DVD it ran horribly slowly and I couldn't get DMA enabled for the life of me (not really surprising considering it was being driven with the generic IDE drivers.)

Enter Pete Tillotson. He very kindly pointed out that through the inclusion of a cunning kernel parameter appended to the GRUB kernel line, you can persuade the ICH6 SATA subsystem to also handle the secondary parallel ATA channel and hence totally get rid of the generic IDE kludge. My grub.conf now reads as follows (the highlighted section is the added parameter):

# cat /boot/grub/grub.conf
default 0
timeout 3
splashimage=(hd0,1)/grub/splash.xpm.gz

title=Linux 2.6.15
root (hd0,1)
kernel (hd0,1)/bz03 root=/dev/sda4 libata.atapi_enabled=1

title=Windows XP SP2
root (hd0,0)
chainloader +1
There is now no IDE support whatsoever compiled into my kernel, the DVD now appears as /dev/sr0. On boot, both devices are now recognised with the correct capabilities:
libata version 1.20 loaded.
ata_piix 0000:00:1f.2: version 1.05
ACPI: PCI Interrupt 0000:00:1f.2[B] -> GSI 17 (level, low) -> IRQ 17
PCI: Setting latency timer of device 0000:00:1f.2 to 64
ata1: SATA max UDMA/133 cmd 0x1F0 ctl 0x3F6 bmdma 0xBFA0 irq 14
ata1: dev 0 cfg 49:2f00 82:346b 83:7d09 84:4003 85:3469 86:3c09 87:4003 88:203f
ata1: dev 0 ATA-6, max UDMA/100, 117210240 sectors: LBA48
ata1(0): applying bridge limits
ata1: dev 0 configured for UDMA/100
scsi0 : ata_piix
  Vendor: ATA       Model: ST960822A         Rev: 3.02
  Type:   Direct-Access                      ANSI SCSI revision: 05
ata2: SATA max UDMA/133 cmd 0x170 ctl 0x376 bmdma 0xBFA8 irq 15
ata2: dev 0 cfg 49:0f00 82:0000 83:0000 84:0000 85:0000 86:0000 87:0000 88:101f
ata2: dev 0 ATAPI, max UDMA/66
ata2(0): applying bridge limits
ata2: dev 0 configured for UDMA/66
scsi1 : ata_piix
  Vendor: MATSHITA  Model: DVD-RAM UJ-845S   Rev: D100
  Type:   CD-ROM                             ANSI SCSI revision: 05
SCSI device sda: 117210240 512-byte hdwr sectors (60012 MB)
SCSI device sda: drive cache: write back
SCSI device sda: 117210240 512-byte hdwr sectors (60012 MB)
SCSI device sda: drive cache: write back
 sda: sda1 sda2 sda3 sda4
sd 0:0:0:0: Attached scsi disk sda
sr0: scsi3-mmc drive: 24x/24x writer dvd-ram cd/rw xa/form2 cdda caddy
Uniform CD-ROM driver Revision: 3.20
sr 1:0:0:0: Attached scsi CD-ROM sr0
sd 0:0:0:0: Attached scsi generic sg0 type 0
sr 1:0:0:0: Attached scsi generic sg1 type 5

The kernel .config file has been updated to reflect this. Note that you may need to re-emerge the ipw2200 module after this change. YMMV.

UPDATE: It appears CDParanoia may not like the SCSI interface for CD audio ripping according to this bug.

Audio

There are two problems with the audio subsystem that are presently bugging me.
  • Internal speakers do not mute when headphones are plugged in
  • The PCM volume slider appears to do nothing at all. Volume can only be controlled via the master volume

The headphone thing is the biggest issue. On my desk at home, it's quite disconcerting to have the laptop plugged in to my nice shiny stereo system, only to have the rather brash, tinny speakers in the laptop squawking at you. As far as laptop speakers go they're actually very good (and certainly the loudest I've come across in some time) but their contribution to the audio experience when plugged into the HiFi is not exactly welcomed!

From what I have read, I'm actually quite lucky in getting anything at all out of the audio controller. A lot of people have had various fights with the Intel High-Definition audio chipset and very few seem to have lived to tell the tale! As it stands, I can live with it but it's going to annoy me in a cumulative manner :-)

I can only assume that the PCM volume slider not working is tied into the same issue, i.e. the HDaudio chip is wired in a slightly different manner to how ALSA expects. My gut feeling is that when I resolve one, the other issue will magically disappear. Well, one can only hope!

UPDATE: Recompiling ALSA as modules appeared to fix the mixer issue: Both master and PCM controls do what they should now, however the speakers still don't mute correctly.

UPDATE (02/02/2006): Tried ALSA-CVS last night and still no luck. The driver is certainly under active development as there's a much greater range of Sigmatel gadgets in the patch_sigmatel.c file, which basically now covers STAC9200, STAC922x and STAC927x, but not my STAC9750. Ho hum...

UPDATE (03/02/2006): I've posted the lack of support for the STAC9750 as a bug on the ALSA bugtrack system here (you'll need to set up an account to view it).

Important note for Linux Kernels >= linux-2.6.16-rc2

I've been running linux 2.6.16-rc1 for a while now with great success - all of the external modules work happily and the sound, while not fully understanding what speakers are or how to use them, works reliably with headphones. However, on upgrading to 2.6.16-rc2 the sound promptly died. No errors were generated and the various sound devices still worked according to software, however no actual sound was produced either from the headphone jack or the internal speakers.

The offending adjustment was found in the changelog for 2.6.16-rc2:

commit 869264c45a6a77d73ec6caa543616a10a9dfd951
Author: Matt Porter 
Date:   Wed Jan 25 19:20:50 2006 +0100

    [ALSA] hda: sigmatel fixes
    
    Modules: HDA Codec driver
    
    * Fix init sequence so manually retaskable jacks don't get added to
      the line_out list.
    * Update intel mobo config defaults to specify surround outputs
      as line outs rather than speakers.
    
    Signed-off-by: Matt Porter 
    Signed-off-by: Takashi Iwai 
Obviously in this tidy and error correction of the code it has unwittingly broken the headphone output on my laptop. Damn...

Headphone / Speaker issue resolved!

(updated 24/02/2006)

Many, many thanks to Mr. Carl Michal who sent me a one-liner for patch_sigmatel.c that enables the jack sense facility of the headphone port allowing it to spot when headphones are plugged in, thereby muting the speakers properly! This has been steadily driving me up the wall - but no more!

Once you've got your kernel emerged, download this patch into your /usr/src/linux directory, then apply it:

# patch -p0 < sigmatel_headphone_speaker.patch
Then just recompile and install your kernel and you suddenly find that headphone plugging works! How cool is that? Cheers Carl!

No mic inputs

(updated 20/03/2006)

This is annoying - all of the outputs are doing their thing but not the inputs... Presently, the mic/line jack appears to be as dead as a doornail. I reckon this is again due to the way this chipset can re-task jacks at will, as under windows when you plug a device in it asks you "is this a MIC or a Line-level device?"... Presently chatting with some Alsa peeps to see if they have any ideas...





Synaptics Touchpad

Followed this nicely detailed guide at the Gentoo Linux wiki. Seems to have sorted out the sensitivity and erroneous double-tap issues I was getting annoyed with...

Now when XOrg loads, the following is reported:

(II) Synaptics touchpad driver version 0.14.4 (1404)
(--) TouchPad auto-dev sets device to /dev/input/event1
(**) Option "Device" "/dev/input/event1"
(**) Option "SHMConfig" "on"
(**) 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 "PalmMinWidth" "70"
(**) Option "PalmMinZ" "200"
(--) TouchPad touchpad found
(**) Option "AlwaysCore"
(**) TouchPad: always reports core events
(**) Option "CoreKeyboard"
(**) Keyboard1: Core Keyboard
(**) Option "Protocol" "standard"
(**) Keyboard1: Protocol: standard
(**) Option "AutoRepeat" "500 30"
(**) Option "XkbRules" "xorg"
(**) Keyboard1: XkbRules: "xorg"
(**) Option "XkbModel" "pc105"
(**) Keyboard1: XkbModel: "pc105"
(**) Option "XkbLayout" "gb"
(**) Keyboard1: XkbLayout: "gb"
(**) Option "CustomKeycodes" "off"
(**) Keyboard1: CustomKeycodes disabled
(II) XINPUT: Adding extended input device "Keyboard1" (type: KEYBOARD)
(II) XINPUT: Adding extended input device "TouchPad" (type: MOUSE)
(II) XINPUT: Adding extended input device "Mouse1" (type: MOUSE)
Synaptics DeviceInit called
SynapticsCtrl called.
(II) Mouse1: ps2EnableDataReporting: succeeded
Synaptics DeviceOn called
(--) TouchPad auto-dev sets device to /dev/input/event1
(**) Option "Device" "/dev/input/event1"
(--) TouchPad touchpad found
And, indeed, the pointer no longer zips around and double-tapping as well as tap-and-drag is no longer a very scary hit-and-miss affair!



Card reader

First of all - cheers to Diego Losada for pointing this one out to me :-)

SD card reader support is introduced by the use of the SDHCI subsystem which, until these couple of patches came to my attention, omitted to support the 630m's SD card slot. Getting it to work correctly is easy enough and requires nothing more than a reasonably recent kernel (I'm using 2.6.16-rc1) and three patch files.

First of all, get your kernel working as you want it. Once done, download the following three patches to your /usr/src/linux directory:

Change to your kernel source directory and apply the patches in order. For my 2.6.16 kernel, the mmc-respopcode.patch claimed it was already applied and bailed, but the driver appears to work OK nonetheless!

# cd /usr/src/linux
# patch -p1 < sdhci.patch
# patch -p1 < pci-sdhc.patch
# patch -p1 < mmc-respopcode.patch
Now reconfigure your kernel to add SD/MMC support (under Drivers -> SD/MMC support):
<*> MMC support
 [ ]   MMC debugging
 <*>   MMC block device driver
 <*>   Secure Digital Host Controller Interface support  (EXPERIMENTAL)
 < >   Winbond W83L51xD SD/MMC Card Interface support
Then re-make your kernel, copy it to /boot, amend your grub.conf file if necessary and reboot.

On booting, you should get a couple of messages showing your card reader has fired up:

sdhci: Secure Digital Host Controller Interface driver, 0.11
sdhci: Copyright(c) Pierre Ossman
mmc0: SDHCI at 0xdfbfc400 irq 209 DMA
When a card is inserted, a new block device turns up named something like /dev/mmcblk0p1 and you can do whatever with it as you would a normal block storage device.



Yet to try

  • Suspend to disk

Miscellany

Output of lspci:
00:00.0 Host bridge: Intel Corporation Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller (rev 03)
00:02.0 VGA compatible controller: Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller (rev 03)
00:02.1 Display controller: Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller (rev 03)
00:1b.0 Audio device: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (rev 03)
00:1c.0 PCI bridge: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1 (rev 03)
00:1c.1 PCI bridge: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 2 (rev 03)
00:1d.0 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (rev 03)
00:1d.1 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (rev 03)
00:1d.2 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (rev 03)
00:1d.3 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (rev 03)
00:1d.7 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (rev 03)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev d3)
00:1f.0 ISA bridge: Intel Corporation 82801FBM (ICH6M) LPC Interface Bridge (rev 03)
00:1f.2 IDE interface: Intel Corporation 82801FBM (ICH6M) SATA Controller (rev 03)
02:00.0 Ethernet controller: Broadcom Corporation BCM4401-B0 100Base-TX (rev 02)
02:01.0 FireWire (IEEE 1394): Ricoh Co Ltd Unknown device 0832
02:01.1 Class 0805: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 19)
02:01.2 System peripheral: Ricoh Co Ltd Unknown device 0843 (rev 01)
02:01.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 0a)
02:01.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev 05)
02:03.0 Network controller: Intel Corporation PRO/Wireless 2200BG (rev 05)
Contents of /etc/cpuinfo:
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 13
model name      : Intel(R) Pentium(R) M processor 1.70GHz
stepping        : 8
cpu MHz         : 598.602
cache size      : 2048 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 2
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat 
                  clflush dts acpi mmx fxsr sse sse2 ss tm pbe nx est tm2
bogomips        : 1198.87


Contacts

If you want to mail me about this (i.e. if I've omitted something blindingly obvious!) feel free to e-mail harry at this domain.

Links:

Further Reading

Revision history

13/04/2006	Xorg 6.9.0 supports the i915 graphics chipset without patches - see here...
20/03/2006	OK - sound jubilation may have been a little premature - mic inputs don't work...
24/02/2006	YAY! Sound is fixed! Instructions here...
23/02/2006	Added info about kernel configuration
16/02/2006	Updated status of modem support
		Updated status of card reader support and added cardreader howto
		Added link to Diego's 630m page
14/02/2006	Added unmasking of Xorg v6.8.99.x (Now superceded by xorg v6.9.0)
13/02/2006	Added mention of the need to be running unstable (~x86)
		Mentioned the Dell diagnostics partitions
03/02/2006	Added mention of ALSA bug submission
		Added link to fitting the TruMobile 350 Bluetooth 2.0 module
02/02/2006	Added note about Alsa-CVS
		Added TruMobile 'works' line to compatibility table
01/02/2006	Added notes about build quality
		Added missing link to GCC 3.4.4 guide
22/01/2006	Added Synaptics touchpad driver to xorg to give better mouse control.
		Updated xorg.conf to reflect addition of Synaptics driver
16/01/2006	Added Pete Tillotson's kernel parameter to allow ICH6 control of secondary IDE
		Updated kernel config to reflect dropped generic IDE support
15/01/2006	Came to the conclusion that the modem was a basket case.
15/01/2006	Added DRI support and patches. Updated xorg.conf.
12/01/2006	Changed HD audio drivers to modules rather than compiled in.
11/01/2006	Added 855resolution info and xorg.conf.
07/01/2006	Added IPW2200 support
04/01/2006	Initial revision


This page was last updated: 21st July 2006 at 11:25am BST
© 1998 - 2013 disgruntledgoat.com, all rights reserved. Privacy info