Installing Debian GNU/Linux on a Toshiba Satellite P200-ST2071

By : Matt Dobey
Original Document: May 24, 2007
Last Update: May 31, 2007

I set out looking to find a portable machine that had a lot of muscle... I wanted to be able to convert, edit, and then upload videos to my website. After a couple of weeks looking over the popular manufacturers, I decided that if I customized a Toshiba P200 I could get what I was looking for, and tried to pick hardware that would be the most likely to end up being supported by Linux.

The machine came in a well packed box within a box with the power supply, restore disks, and even a free Labelflash DVD. The machine came loaded with Windows Vista Home Basic, which I had planned to take on a few day trial run... Well, 10 minutes after I completed the initial Winblows setup, I just couldn't burn that Debian Net Install CD fast enough!


 

Table of Contents


Satellite P200 Satellite P200 Lid Closed
Satellite P200 Left Side Satellite P200 Right Side
Satellite P200 Front Satellite P200 Front Close Up

 

The System

This customized P200 is what's known as a mobile desktop. It has the horsepower of a desktop in a mobile package.

Satellite P200

Plus other neat toys built in like :


 

lspci Output

# lspci
00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS/940GML and 945GT Express Memory Controller Hub (rev 03)
00:01.0 PCI bridge: Intel Corporation Mobile 945GM/PM/GMS/940GML and 945GT Express PCI Express Root Port (rev 03)
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02)
00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 02)
00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 02)
00:1c.2 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 3 (rev 02)
00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #3 (rev 02)
00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #4 (rev 02)
00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)
00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02)
00:1f.2 IDE interface: Intel Corporation 82801GBM/GHM (ICH7 Family) Serial ATA Storage Controller IDE (rev 02)
00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 02)
01:00.0 VGA compatible controller: nVidia Corporation G70 [GeForce Go 7600] (rev a1)
04:00.0 Network controller: Intel Corporation Unknown device 4229 (rev 61)
05:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E PCI Express Fast Ethernet controller (rev 01)
06:04.0 CardBus bridge: Texas Instruments PCIxx12 Cardbus Controller
06:04.1 FireWire (IEEE 1394): Texas Instruments PCIxx12 OHCI Compliant IEEE 1394 Host Controller
06:04.2 Mass storage controller: Texas Instruments 5-in-1 Multimedia Card Reader (SD/MMC/MS/MS PRO/xD)
06:04.3 Generic system peripheral [0805]: Texas Instruments PCIxx12 SDA Standard Compliant SD Host Controller

 

lsusb Output

# lsusb
Bus 005 Device 002: ID 0483:2016 SGS Thomson Microelectronics Fingerprint Reader
Bus 005 Device 001: ID 0000:0000  
Bus 002 Device 001: ID 0000:0000  
Bus 004 Device 001: ID 0000:0000  
Bus 003 Device 001: ID 0000:0000  
Bus 001 Device 001: ID 0000:0000  
Bus 001 Device 003: ID 04f2:b008 Chicony Electronics Co., Ltd 

 

Hardware Compatibility Matrix

Works! Works With Effort Does Not Work! Not Tested
WhatStatusNotes
Intel Core2 Duo ProcessorWorks!SMP kernel required. CPU scaling and cooling work.
BIOS (Phoenix)Works!Omnibook can access many of the low level features of the BIOS.
(Hot keys do not work!)
HDD (SATA)Works!ATA_PIXX kernel option. Disable all PATA support if compiling custom kernel.
Hibernate / Suspend Works With Effort Requires 2.6.21 Kernel
Internal 10/100 MB Network
Realtek RTL8101E
Works! Realtek cards have always been well supported by Linux.
Intel 4965 AGN (802.11a/g/n) Works With Effort ndiswrapper and Winblows XP drivers needed.
GeForce Go 7600
LCD Display
Works!nv driver worked using LCD as single display.
GeForce Go 7600
S-Video Output
Works With Effort"nvidia" drivers are required.
I was only able to get this version to compile: NVIDIA-Linux-x86-100.14.06-pkg1.run
Sound (Intel HD Audio) Works With Effort (snd-hda-intel) Sound worked right after installing the original 2.6.18 kernel.
Did not work with Debian 2.2.21 kernel, or when compiling any 2.2.2x custom kernels.
DVD-RW
CD Read & Write
Works!
DVD Read
Works!
DVD Write & Labelflash
Not Tested
CD / DVD Read worked no problem. Haven't even thought about Labelflash...
Touchpad Works! Worked right after Debian install.
USB 2.0 Works! (EHCI) I have connected Mini DVR's, digital cameras, Motorola V3c RAZR phone, flash drive, and everything worked!
FireWire Not Tested FireWire not tested.
PC Card Not Tested Not tested.
Modem Not Tested Modem not tested.
Bluetooth Works With Effort Omnibook required for Bluetooth.
Texas Instrument 5 in 1 SD Card Reader Does Not Work! Several approaches have failed.
Chicony USB 2.0 Camera (Built into LCD) Does Not Work! Tried Debian webcam solutions, and can't even get an image from the camera...
Vendor ID: 04f2, Product ID: b008
SGS Thomson Microelectronics Fingerprint Reader Works With Effort This was one of the easiest things to get working.

 

Installing Debian

I chose to install Debian using a netinst.iso CD image of the daily snapshot of Debian's next release called "Lenny"
Other versions of the Debian-Installer like the current stable release named "Etch", can be found here.
 
Please consult Debian's install docs before attempting an install.

The install took about half an hour to complete over my cable modem using a mirror at the U of I, that's pretty close to me, and also sits on a big pipe.
BIG NOTE IF YOU HAVE THE INTEL 4965 AGN Wireless ADAPTER! - If choose to install using a Net Install CD, you MUST use the internal NIC, as the wireless adapter is not yet supported!

A copy of my original installation report to Debian can be found here.
After the install, pretty much everything worked... Or at least as much as usual after installing a Linux distro. I have been a Linux user for almost 10 years, and I have only had one install that I can recall where I didn't have to do anything afterwards. I had an old box die once, and I just put the old hardware into a newer box. Plus, Linux is all about making broken old hardware work, and if you've got hardware that's "new", it probably also means that it's too new for the driver guys to reverse engineer.
After installing "Lenny", the LCD was working great using the "nv" driver, sound worked using esound, the Realtek RTL8101E internal 10/100 network card worked,

Installing Other Required Packages

Most Linux distros now have a package management system that allows users to install programs without compiling. For example, CentOS has yum, openSUSE uses YaST, RedHat uses up2date... Gentoo uses emerge that will grab the correct version of source out of the portage tree, and then compiles the source on the local machine.

Debian's package management utility "APT" is second to none. It allows you to quickly install, upgrade, or downgrade anything from apache, to X, to a new kernel. The "dpkg" utility is used by "apt-get" to automatically configure and install your new package. To learn more about "APT", check out the APT HOWTO.

To get your P200 up and running, you will need to install the following packages.

# apt-get update
# apt-get install subversion rsync libtool autoconf jackd pkg-config libsndfile1 libsndfile1-dev \ 
  mffm-libsndfilew-dev sndfile-programs libjackasyn-dev libjack-dev libjack0.100.0-dev pkg-config \
  libusb-0.1-4 libusb-dev libasound2 libasound2-dev 

You are now ready to upgrade your kernel.


 

Upgrading Your Kernel

Before you can begin compiling any of the required programs, you need to either install a kernel image, source, and header packages for your distribution, or you can download "Vanilla" source from kernel.org and compile a custom kernel.

If you've used a laptop before, you know how important the hibernate and suspend functions are. If you've read over my installation report, you will note that the first issue I reported was an issue with uswsusp. Working with the Debian team, we found that the issue was resolved by upgrading to Debian's 2.6.21 kernel. More information about this issue can be found in this mail list thread.

Installing Debian Linux Packages

The easiest way for Debian users, is to use apt-get to install the linux-headers-2.6.21-1-686, linux-image-2.6.21-1-686, and linux-source-2.6.21 packages.

# apt-get install linux-headers-2.6.21-1-686 linux-image-2.6.21-1-686 linux-source-2.6.21
# mv /usr/src/linux-2.6.21.1 /usr/src/linux-2.6.21.1-1-686

Reboot, and you should be running your new kernel. Now we can begin setting up Wireless Networking.

Compiling a Kernel From Source

I have compiled hundreds of kernels from source over the years, on many different computers with lots of different hardware, using at least 10 different distros...
So far, this has been the hardest machine to get a kernel I compiled working with all of the hardware. Unless you are running another distribution, you have some special requirements, or you just want to compile your own kernel, I suggest sticking with Debian's kernel.

"Don't be scared of it!" If you're the kind of person who likes a challenge, give it a try yourself... Configuring and compiling a kernel can be a very educational and rewarding experience. It's always funny when you have a few buddies over, and they ask "What the hell is your computer doing??" Then you get to try to explain it to them. ;-) The most important thing about configuring a custom kernel, is knowing exactally what hardware you have on your system.

Source for compiling your own kernel can be found at kernel.org
Change into the right directory, download, and extract the source.

# cd /usr/src/
# wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.21.3.tar.bz2
# tar -jxf linux-2.6.21.3.tar.bz2 
# cd linux-2.6.21.3

If you want to start where I left off, you should backup the original .config file, and download mine.

# cp ./.config ./.config_ORIG
# wget http://linux.dobeyracing.net/how_to/toshiba_p200_laptop/linux-2.6.21.3_config 
# mv ./linux-2.6.21.3_config ./.config

Whether you choose to start from scratch, or if you've copied my .config file, it's time to setup your kernel.

First, you should update the stock .config file with the "make oldconfig" command.
Unless you want to control what options are selected for you, you can simply run :

# yes "" | make oldconfig 

Next, configure the kernel with the "make menuconfig" command. Scroll through all of the options and select the ones that you require. You can either opt to make modules ([M]), or to compile ([*]) the components into the kernel.

Remember that it is very important to know what hardware you have on your system. If your machine is identical to mine, or you trust that I somehow covered every option possible, you can skip this step and just use my config.

# make menuconfig

It is now time to compile your kernel and modules... This will take between 5 and 30 minutes depending on how many things you choose to compile. My kernel took 12 minutes to compile on my machine.

There are two ways to compile a kernel and modules on a Debian system. The first is to use Debian's "make-kpkg: utility to build your own linux-image Debian packages that are very easy to install and remove with "dpkg". The second is to do it the old fashioned way with the Makefile distributed with the source.

Making a Linux Kernel the "Debian" Way

First we make the kernel image and kernel modules. Then we install your new kernel and modules. And finally try to make the initramfs that makes suspend / hibernate work.

The --append-to-version option allows you to enter a numeric version that will show up as an addition to the kernel version. The --revision option allows you to maintain different revisions of similar versions. I use the date for --append-to-version, and the number of the kernel compiled that day for --revision.

# time make-kpkg --append-to-version=.052907 --revision=1.0 --initrd kernel_image
# dpkg -i ../linux-image-2.6.21.3.052907_1.0_i386.deb
# shutdown now -r

That's it... If you setup your version right, your new kernel should be the top and default selection in the boot menu.

Making a Linux Kernel the "Old Fashioned" Way

First we make the kernel image and kernel modules. And finally we install your new kernel and modules.

# time make bzImage modules 
# make install modules_install
# mkinitramfs -k -o ~/tmp/initramfs-2.6.21.3.052907 2.6.21.3

After installing your new kernel and modules, you need to manually update your boot loader's configuration file. By default, Debian uses grub. Use your favorite text editor to modify menu.lst as needed. You must add a line to tell the boot loader to recognize the initramfs. Search on google for "mkinitramfs".

# vi /boot/grub/menu.lst
# update-grub
# shutdown now -r

Reboot and hopefully you don't end up with a kernel panic! ;-p


 

Wireless Networking − Intel 4965 AGN

One of the first things that you have to get working on a laptop is wireless networking. Of course I opted to purchase the latest and greatest adapter, the Intel 4965, which supports the new wireless N protocol. This is very new, and is supposed to be the "wave of the future"... I have seen that a driver for the 4965 might be available as soon as the end of June. The P200 is also available with a Intel PRO/Wireless 3945ABG adapter that is supported by the iwlwifi project, but only supports the "old" protocols... ;-)

If you know that you have the 3945ABG card, or if you are unsure, run iwconfig.

# iwconfig
lo        no wireless extensions.

eth0      no wireless extensions.

sit0      no wireless extensions.

If you see something similar to the above, your wireless card is not recognized.
If you see a wlan0, your card has been recognized, and you are ready to Configure Wireless Networking.

Stuff That's Required for the Intel 4965 AGN

If you have the Intel 4965, at least for now, you will need to download and install ndiswrapper and configure it to use the latest drivers for Winblows XP.

Installing ndiswrapper

To install ndiswrapper you need to download the source to an appropriate location, extract the tarball, and install ndiswrapper.

# cd /usr/local/src/
# wget http://downloads.sourceforge.net/ndiswrapper/ndiswrapper-1.44.tar.gz?modtime=1179400689&big_mirror=0
# tar -zxf ndiswrapper-1.44.tar.gz
# cd ndiswrapper-1.44
# make uninstall && make && make install

Download the latest drivers for Winblows XP from Intel here. Extract the .zip archive and tell ndiswrapper to look at the right .INF in ./Drivers/.

# unzip -q V11.1.0.0_XP_DRIVERS.ZIP 
# ndiswrapper -i ./Drivers/NETw4x32.INF

Run the following, and the result should look the same :

# ndiswrapper -l
netw4x32 : driver installed
        device (8086:4229) present

If you get something like the above, it's time to insert your new ndiswrapper kernel module.

# modprobe ndiswrapper

Now run iwconfig to see if it worked.

# iwconfig
lo        no wireless extensions.

eth0      no wireless extensions.

sit0      no wireless extensions.

wlan0     IEEE 802.11g  ESSID:off/any  
          Mode:Managed  Frequency:2.462 GHz  Access Point: Not-Associated   
          Bit Rate:300 Mb/s   
          Fragment thr:0 B   
          Encryption key:off
          Power Management:off
          Link Quality:0  Signal level:0  Noise level:0
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

If you see something like that, you're in luck, and need to Configure Wireless Networking.

Configure Wireless Networking

This can be done manually by using iwconfig, or through a GUI like Gnome's Network Selector.

# apt-get install network-manager-gnome

The Network Selector can be found under Applications --> Internet --> Network Selector

You're on your own to figure out your internal wireless setup from here...

Once you've got it hammered out, don't forget to add a line into your /etc/modules file to load the ndiswrapper module while booting.

# echo "ndiswrapper" >> /etc/modules

Wireless networking should now be setup! Unhook the Ethernet cable from the laptop and walk away from that desk!!


 

Video − LCD, S-Video, & NVIDIA Drivers

If you have the Intel Graphics Media Accelerator 950, you will need to google "xorg-video-intel" and check out the Intel GMA Wikipedia article. You also need to see X.Org's IntelGraphicsDriver Wiki Page. It seems that a few other users are reporting on the forums that some work is required to use all of the features of that card too.

Like every other component of this particular machine, I opted to get the biggest, baddest option I could with the 256 MB NVIDIA GeForce Go 7600. Having used about 20 laptops running on Winblows over the years, this display is the best. It has the best video quality that I have seen on a LCD on a laptop.

If you only need to use the LCD screen, you can skip this step as the "nv" driver will surely work for you.

Unfortunately, at no point have I been able to get the Hot key (FN+F5) to work to switch between the LCD, CRT, and S-Video outputs. After three days of googling and reading through tons of forum posts, I still haven't found the right solution... If you come up with a solution, please share!

The best option that I have come up with so far, I would call an ugly hack... It uses the "nvidia" driver's "TwinView" funtionality to extend the Desktop across the LCD on the laptop and the S-Video output on a TV. Another problem with my hack is that videos will only play "fullscreen" on the LCD.

Installing the Proprietary NVIDIA Drivers

Installing the NVIDIA drivers with their installer is super simple once you get the right version. It just so happened that version was released three days after I started trying to get the display to work. For the first three days, I was unable to compile the drivers. After getting the latest version, it has worked with all of the kernels I have tried. More information on the NVIDIA driver.

During the installation, you will be asked if you want NVIDIA's Installer to configure your xorg.conf for you. I always select "NO", and do it manually. The setup is very lame, and only creates one display for the LCD.

# wget http://us.download.nvidia.com/XFree86/Linux-x86/100.14.06/NVIDIA-Linux-x86-100.14.06-pkg1.run
# sh NVIDIA-Linux-x86-100-14.06-pkg1.run

Configuring xorg.conf

Now it is time to manually configure your xorg.conf file. I suggest that you copy my xorg.conf. I have setup two modes, one for single display on the LCD using the "nv" driver, and another for the dual monitor approach using the "nvidia" driver.

Simply change between the two "DefaultServerLayout" selections. Only one choice can be selected at a time. If you choose to edit your xorg.conf on you own, that's encouraged, because like I said, the Dual Screen mode is an ugly hack, but looking at mine might give you a few ideas.

Either way, you'll want to back up your original xorg.conf just in case... ;-)

# cd /etc/X11/
# cp xorg.conf xorg.conf_ORIG
# wget http://linux.dobeyracing.net/how_to/toshiba_p200_laptop/P200_xorg.conf
# cp P200_xorg.conf xorg.conf
# vi xorg.conf

Select the desired display mode. If you have the Intel GMA 950, I don't know what to tell you, but I would think that you could just change the driver. Let me know if it works if you try.

Finally, restart X by hitting CTRL + Backspace.


 

Sound − Intel HD Audio / ALSA

Getting sound was the hardest thing for me to get working with my custom kernel. The drivers installed with Debian "Lenny" worked, but did not work with the modules installed by the Debian 2.6.21 kernel. All attempts to get sound working compiling kernels failed. So, I found the homepage of ALSA, downloaded the latest source and followed their instructions for Intel HDA. I don't know what the difference was, but following their destructions to the letter worked for me.

Installing ALSA

These instructions were pretty much ripped off from the Matrix:Module-hda-intel Page on the AlsaWiki. More in-depth instructions are provided on that page, but this will get you going...

Downloading & Installing ALSA Modules From Source

We need to make a directory in /usr/src. I tried from other directories and gave up and followed the directions on the Module-hda-intel page. Worked like a charm after that. After we make the directory in the right place, we can grab a copy of the source and begin installation.

# cd /usr/src/
# mkdir alsa
# rsync -avz --delete --exclude=.hg* rsync://alsa.alsa-project.org/hg alsa
# cd alsa/alsa-driver/
# ./hgcompile --with-cards=hda-intel --with-sequencer=yes;make;make install
# cd ../alsa-lib/
# ./hgcompile;make;make install
# cd ../alsa-utils/
# ./hgcompile;make;make install

After the new ALSA modules are made, we need to tell the kernel to load them. Open /etc/modules and insert everything between the "..."s into the file.

# vi /etc/modules

...

alias char-major-116 snd
alias snd-card-0 snd-hda-intel
alias snd-card-1 snd-cmipci

options snd-cmipci id="first" mpu_port=0x330

alias char-major-14 soundcore
alias sound-slot-0 snd-card-0


# OSS/Free portion - card #1
alias sound-slot-0 snd-card-0
alias sound-service-0-0 snd-mixer-oss
alias sound-service-0-1 snd-seq-oss
alias sound-service-0-3 snd-pcm-oss
alias sound-service-0-8 snd-seq-oss
alias sound-service-0-12 snd-pcm-oss

# OSS/Free portion - card #2 (cmipci)
alias sound-slot-1 snd-card-1
alias sound-service-1-0 snd-mixer-oss

...

Now we can try restarting alsasound, but this has, and has not worked for me. I have been unable to determine why.

# /etc/init.d/alsasound restart

If restarting alsasound fails or you still have no sound, don't fret, finish with the remaining configuration steps, reboot, and you should have sound.

If alsasound restarted without errors, run alsamixer and make sure that your card had volume and is not muted.

# alsamixer

Test your ALSA installation to make sure it works.

# alsaplayer some_file.mp3

Alsaplayer should open your file and you should hear sound. If nothing happens, check dmesg and make sure your modules were loaded.

Configuring ALSA

After installing the ALSA modules, we need to create a configuration file in your user's home directory that will tell ALSA and and other programs how to handle sound events.

$ vi ~/.asoundrc

Copy and paste the following into the ~/.asoundrc file you are now creating and don't forget to save.

pcm.hda-intel {
          type hw
          card 0
       }

ctl.hda-intel {
          type hw
          card 0
       }

After your next reboot, you should hear sound after logging in. If you get no sound, try the steps described above to test your installation.


 

Bluetooth

I travel a lot... To be more exact, I ride in a truck for 10 hours every Saturday, and being that I am addicted to computers and the Internet, I needed Bluetooth to get the most out of the EVDO Internet connection through my Verizon Wireless Motorola V3c RAZR. It's pretty sweet if you've got the EVDO signal instead of the 1x. Anyways, you get about 5x's the connection speed through the phone using Bluetooth instead of the USB cable.

Now at least for me, most of the cool ACPI features worked right after installing Debian... Unfortunately, the only solution for getting Bluetooth up and running seems to break most of this functionality... For example, when I first installed Debian, I was surprised that the LCD changed brightness when then power supply was plugged in or removed... After inserting the omnibook module, this no longer works.
Unless you specifically need Bluetooth for something, I would not install Omnibook.

Installing Omnibook

Omnibook is a Linux kernel module that provides support to the kernel for many of the different low level hardware components such as the display, fan, LCD, processor scaling, etc. It seems to support my laptop pretty well, with a few exceptions.

Omnibook is currently "experimental", so beware. I don't think that you will be able to do anything that I haven't; unless you turn the fan off then compile the kernel 5 times...

That's the reason for the warning... You will have easy access to lots of this silly little stuff that's really important to the operation of your new machine. Don't mess with it unless you're really sure you know what you're doing, or just don't care if you brick a $1,000 computer...

We need to download the Omnibook source and after trying the source tarball from the sourceforge site, I found that svn was the way to go. So, we need to grab a snapshot of the source trunk, make, and install the omnibook modules.

# cd /usr/local/src/
# svn co https://omnibook.svn.sourceforge.net/svnroot/omnibook/trunk
# cd omnibook/trunk/
# make uninstall
# make
# make install

After the modules have been made and installed, we need to load them into the kernel. The omnibook module needs to be told what type of a notebook it's dealing with, which is specified when loading by declaring the "ectype". I tried them all and found that ectype=12 supported the most things correctly.

# modprobe ectype=12

Next we need to verify that the module loaded properly and that your CPU fan is running.

# ls /proc/omnibook
blank  bluetooth  cooling  display  dmi  fan  hotkeys  lcd  temperature  throttling  touchpad  version  wifi
# cat /proc/omnibook/fan 
Fan is on (level 23)

While the hotkeys don't work, you can also manually adjust the brightness of the LCD display by setting the value. Note that 7 is the highest setting.

# echo 7 > /proc/omnibook/lcd

After you have the module loaded and tested, you will want to add it to /etc/modules so that it loads during boot.

# echo "omnibook ectype=12" >> /etc/modules

This completes the installation of omnibook.


 

Texas Instruments 5-in-1 SD Card Reader

I have tried several different approaches trying to get this working, including installing tifm from source and the install script on this Ubunutu Forum post. The kernel would at least recognize that there was a card in the reader after compiling tifm from source. The install script on Ubunutu's Forum wouldn't even install. Here is another forum post with a bunch of other BS to try. For now, I'm just going to wait on support for the reader, and connect to the camera with the USB cable.

It is also important to note that 3 of the 5 card types supported by the reader are not yet supported by Linux. The unsupported types are Memory Stick, XD, and SM.


 

Chicony USB 2.0 Camera

As with the SD card reader, I have tried several different approaches trying to get this working. This was not a factor in my purchase of this computer, and I'm not into webcams, so it's no big deal to me. As far as I can tell, this camera isn't even recognized by any of the most used webcam applications.


 

SGS Thomson Microelectronics Fingerprint Reader

I have to admit that I was totally blown away... The one thing that I thought that there would be no way that it was supported, was the fingerprint reader. This was the easiest thing to get working on the whole system. I only wish that X would allow you to use the fingerprint reader when unlocking the screen or resuming...

Installing Thinkfinger

Thinkfinger is a "driver" for the SGS Microelectronics Fingerprint Reader. It also has a PAM module that will allow you to use the reader with PAM supported programs.

# apt-get install libthinkfinger-dev libthinkfinger0 libpam-thinkfinger thinkfinger-tools 

Users of other distros can find source and further destructions on the thinkfinger home page.


 

Links to Other Helpful Resources

Here are a few of the places that I often visited while getting this machine to run.

TuxMobil - Linux on laptops, notebooks, PDAs, mobile phones

Linux on Toshiba Laptops & Notebooks


 

The end for now... Good luck!!