I am the lucky owner of the Toshiba Tecra M3 notebook.
Toshiba Tecra M3
I have choose to run triple boot there with Gentoo Linux, Windows XP and Solaris (I still did not decided which version).
I had a plan to run triple boot on my notebook. But because of ENOFREETIME and situation around Solaris, I am running only dual boot there. Mainly I am using Gentoo Linux, sometimes I boot to Windows XP. Usualy to play one of my favourite games and to update the system/antivirus/firewall.

Google ads


Below you can find information regarding installation and tuning od OS mentioned above. If you have any questions regarding this, feel free to contact me at my e-mail address.

Content:


linux

I have decided to use Gentoo Linux. I was a Red Hat Linux user for years and this looks to me like a good option to switch to.

I am running kernel 2.6 there. This is not the default kernel from Gentoo, I have set up a lot option myself, see details below. Take a look at .config file if you are interested. Information how to get some devices running follows.
I have updated this page because of newer kernel and drivers version. Previous versions are written in small font on the red background, newest ones are on the green background.

Current "stable" kernel available in gentoo is 2.6.15-gentoo-r1. Take a look at .config file if you are interested.

When you compile new kernel, copy old .config file into new kernel directory and run command make oldconfig in that directory. You will probably need to answer few questions regarding new features added to kernel.


network card

Notebook has Marvell Technology Group Ltd. 88E8053 Gigabit Ethernet Controller. There are two drivers in kernel 2.6 for this card, but no one of them works. You have to download the driver directly form Marvell.

After downloading the driver, unpack it and run the installator:

tar xvjf install-8_23.tar.bz2
cd DriverInstall
./install.sh

Choose 2 to generate the patch. Confirm (enter) kernel sources location. Copy & paste commands to apply the patch:
cd /usr/src/linux
patch -p1 < /root/sk98lin/sk98lin_v8.23.1.3_2.6.12_patch

Following settings need to be set correctly in .config file:

After downloading the driver, unpack it and run the installator:

tar xvjf install-8_30.tar.bz2
cd DriverInstall
./install.sh

Choose 2 to generate the patch. Confirm (enter) kernel sources location. Copy & paste commands to apply the patch:

cd /usr/src/linux
patch -p1 < /root/sk98lin/sk98lin_v8.30.2.3_2.6.15_patch

Be sure that /usr/src/linux points to kernel you want to build (in case it is link), or contains that kernel (in case it is directory).

Following settings need to be set correctly in .config file:

CONFIG_NET=y
CONFIG_SK98LIN=m

Recompile and install the the kernel/modules (replace %VERSION% with your kernel version):

make clean && make && make modules && make modules_install
cp .config /boot/config-%VERSION%
cp System.map /boot/System.map-%VERSION%
cp arch/i386/boot/bzImage /boot/kernel-%VERSION%

Be sure to edit /boot/grub/grub.conf (or /etc/lilo.conf if you are using LILO) appropriately. Reboot the computer.

I am using this ethernet device as primary device for accessing the network, so I have added line:

alias eth0 sk98lin

to the file /etc/modules.d/aliases

Run command modprobe sk98lin to insert module into kernel and command ip link show to list the devices. Command ip is in the package iproute2.


sound card

You need to have ALSA drivers compiled in the kernel. It is good to have OSS emulation turned on. Following settings need to be set correctly in .config file:

CONFIG_SND=m
CONFIG_SND_TIMER=m
CONFIG_SND_PCM=m
CONFIG_SND_RAWMIDI=m
CONFIG_SND_SEQUENCER=m
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=m
CONFIG_SND_PCM_OSS=m
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_RTCTIMER=m
CONFIG_SND_MPU401_UART=m
CONFIG_SND_DUMMY=m
CONFIG_SND_VIRMIDI=m
CONFIG_SND_MPU401=m
CONFIG_SND_AC97_CODEC=m
CONFIG_SND_INTEL8X0=m

Recompile and install the the kernel/modules (replace %VERSION% with your kernel version):

make clean && make && make modules && make modules_install
cp .config /boot/config-%VERSION%
cp System.map /boot/System.map-%VERSION%
cp arch/i386/boot/bzImage /boot/kernel-%VERSION%

Be sure to edit /boot/grub/grub.conf (or /etc/lilo.conf if you are using LILO) appropriately. Reboot the computer.

To work with sound(card) is good to have installed following packages:

Install them with command:

emerge -v alsa-lib alsa-tools alsa-utils alsa-headers

It is good to add init script /etc/init.d/alsasound to default runelevel by command:

rc-update add alsasound default

This will load ALSA modules during the boot proccess and set up proper volume levels to sounds items. You can control them later by command alsamixer.


graphics card and X server

If you have no X server installed, you must install Xorg X server (with some tuning parameters) by command:

USE="dmx mmx sdk sse" emerge -v xorg-x11

To utilize all features of nVIDIA GeForce Go 6200 card you need to install drivers from manufacturer.

Preffered way is install nVIDIA drivers and libraries supplied by Gentoo. To get latest stable driver, run command:

emerge -v nvidia-glx nvidia-kernel

To get latest driver which can be still in tests, run command:

ACCEPT_KEYWORDS="~x86" emerge -v nvidia-glx nvidia-kernel

In case you want to install drivers downloaded from nVIDIA page, use instructions below.
Get the latest driver for platform LinuxIA32 (in this txt it is 1.0-7676). Run it with command:

sh NVIDIA-Linux-x86-1.0-7676-pkg1.run

When you have driver and libraries installed, you need to edit your xorg.conf file (in case you are using Xorg X server, of course). Important sections are:

Take a look at this file for whole (simple) configuration.

To start X server use command:

/etc/init.d/xdm start

To allow X server run after boot, add it to the default runlevel:

rc-update add xdm default

You could be interested in nVIDIA Linux X11 Settings Utility. Install the package with command:

emerge -v nvidia-settings

Run application with command nvidia-settings


graphics card and framebuffer ("text" console)

To get VESA framebuffer, VGA display, penguin boot logo and "text" console splash screens (picture backgrounds in "text" consoles) working you need to install splash-themes-gentoo and splashutils packages first. Then put following options (ramdisk, framebuffer, logo, splash device) into .config file:

CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=4096
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_FB=y
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
CONFIG_FB_SOFT_CURSOR=y
CONFIG_FB_MODE_HELPERS=y
CONFIG_FB_VESA=y
CONFIG_FB_VESA_TNG=y
CONFIG_FB_VESA_DEFAULT_MODE="1400x1050@60"
CONFIG_VIDEO_SELECT=y
CONFIG_FB_NVIDIA_I2C=y
CONFIG_VGA_CONSOLE=y
CONFIG_DUMMY_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y
CONFIG_LOGO=y
CONFIG_LOGO_LINUX_MONO=y
CONFIG_LOGO_LINUX_VGA16=y
CONFIG_LOGO_LINUX_CLUT224=y
CONFIG_FB_SPLASH=y

Recompile and install the the kernel/modules (replace %VERSION% with your kernel version):

make clean && make && make modules && make modules_install
cp .config /boot/config-%VERSION%
cp System.map /boot/System.map-%VERSION%
cp arch/i386/boot/bzImage /boot/kernel-%VERSION%

To get splash screen during boot proccess and after, you need to generate the ram disk fs, edit grub.conf file (in case you are using grub, of course), and put splash service to the default run level. In the example below are shown commands for setting up the default theme in verbose mode.

splash_geninitramfs -g /boot/splash/initrd-spl-default-all -v default
rc-update add splash default

To boot with splash screen edit your grub.conf (located in /boot/grub directory) accordingly (root partition is /dev/sda3, kernel file name is kernel-2.6.12-gentoo-r6-notebook in /boot directory, ram disk filesystem has name initrd-spl-default-all and is in /boot/splash directory):

title Gentoo Linux
root (hd0,2)
kernel /boot/kernel-2.6.12-gentoo-r6-notebook root=/dev/sda3 splash=verbose,theme:default CONSOLE=/dev/tty1 quiet
initrd /boot/splash/initrd-spl-default-all


bluetooth (and Nokia 6230)

The bluetooth device is disabled by default. To enable it you need to apply patch created by sfires and available from http://www.sfires.net/toshiba/index.html.
cd /usr/src/linux
patch -p1 < /root/toshiba_acpi_bt_2.6.11.7_050419.diff

The bluetooth device is disabled by default. To enable it you need to apply patch created by sfires and available from http://www.sfires.net/toshiba/index.html.
cd /usr/src/linux
patch -p1 < /root/toshiba_acpi_bt_2.6.14.5_060103.diff
The bluetooth device is disabled by default. There are two approaches to enable it. First, compile and load the kernel module which enables it. I have not tested this solution yet. For details, take a look at 0bit artictle (thanks Mitch).

Second solution is to apply patch created by sfires and available from http://www.sfires.net/toshiba/index.html.

cd /usr/src/linux
patch -p1 < /root/toshiba_acpi_bt_2.6.14.5_060103.diff

To work with bluetooth enabled devices you need to have ACPI, bluetooth, HCI and USB support in the kernel. Set up following options in the .config file:

CONFIG_USB=m
CONFIG_USB_UHCI_HCD=m
CONFIG_BT=m
CONFIG_BT_L2CAP=m
CONFIG_BT_RFCOMM=m
CONFIG_BT_RFCOMM_TTY=y
CONFIG_BT_HCIUSB=m

Recompile and install the the kernel/modules (replace %VERSION% with your kernel version):

make clean && make && make modules && make modules_install
cp .config /boot/config-%VERSION%
cp System.map /boot/System.map-%VERSION%
cp arch/i386/boot/bzImage /boot/kernel-%VERSION%

Be sure to edit /boot/grub/grub.conf (or /etc/lilo.conf if you are using LILO) appropriately. Reboot the computer.

To be able to work with bluetooth and Nokia 6230 you need/want to install following packages (see dependency graph links to see what will be installed to satisfy packages dependencies):

Install the packages by commands below. Please note that you need to use ACCEPT_KEYWORDS variable when installing the kdebluetooth package to prevent compilation error:

emerge -v bluez-utils libbtctl bluez-libs libusb openobex openobex-apps obexftp gnokii gnome-bluetooth gammu wammu konqueror
ACCEPT_KEYWORDS="~x86" emerge -v kdebluetooth

Edit file /etc/bluetooth/hcid.conf. It could look like:

options {
  autoinit yes;
  security user;
  pairing multi;
  pin_helper /usr/bin/bluepin;
  dbus_pin_helper;
}
device {
  name "notebook";
  class 0x3e0100;
  iscan enable; pscan enable;
  lm accept;
  lp rswitch,hold,sniff,park;
  auth enable;
  encrypt enable;
}

Enter following content to file /etc/bluetooth/rfcomm.conf

rfcomm0 {
  bind yes;
  channel 1;
  comment "Nokia 6230";
}

Now turn on the wireless devices by switch on the front of the notebook. Orange LED should be alight.

Run following commands to turn on the bluetooth device (I have inserted them into /etc/init.d/bluetooth script):

modprobe bluetooth
echo "power:1" > /proc/acpi/toshiba/bluetooth
sleep 1
echo "attach:1" > /proc/acpi/toshiba/bluetooth

See below how turn off the bluetooth device.

Start up the bluetooth service by command /etc/init.d/bluetooth start
Output should look like:

* Starting Bluetooth ...
* Starting hcid ...  [ ok ]
* Starting sdpd ...  [ ok ]
* Starting rfcomm ...  [ ok ]

Runing command hciconfig -a should provide similar output:

hci0: Type: USB    BD Address: 00:11:22:33:44:55 ACL MTU: 192:8 SCO MTU: 64:8
   UP RUNNING PSCAN ISCAN AUTH ENCRYPT
   RX bytes:1250 acl:25 sco:0 events:101 errors:0
   TX bytes:1041 acl:25 sco:0 commands:38 errors:0
   Features: 0xff 0xff 0x8f 0x78 0x18 0x18 0x00 0x80
   Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
   Link policy: RSWITCH HOLD SNIFF PARK
   Link mode: SLAVE ACCEPT
   Name: 'notebook'
   Class: 0x3e0100
   Service Classes: Networking, Rendering, Capturing
   Device Class: Computer, Uncategorized
   HCI Ver: 1.2 (0x2) HCI Rev: 0x490 LMP Ver: 1.2 (0x2) LMP Subver: 0x490
   Manufacturer: Cambridge Silicon Radio (10)

where 00:11:22:33:44:55 is your notebook bluetooth device address.

Turn on bluetooth menu in your mobile phone. Go to -> Bluetooth menu -> Bluetooth -> On. Go to Bluetooth settings menu (on the same level as menu Bluetooth is located), set My phone's visibility to Shown to all. Set My phone's name to something, in this example is name MOBILE used.
Press the red button on the phone to return to the main screen.

Run command hcitool scan
Result should look like:

Scanning ...
   55:44:33:22:11:00   MOBILE

where 55:44:33:22:11:00 is mobile bluetooth device address.

Edit file /etc/bluetooth/rfcomm.conf and enter floowing line into section for device rfcomm0:

  device 55:44:33:22:11:00;

Use your real bluetooth device address instead of 55:44:33:22:11:00.

Restart bluetooth rc script with command /etc/init.d/bluetooth restart

To pair the mobile with notebook you need to do following: Go to -> Bluetooth menu -> Paired devices -> Options -> Pair new device
Select notebook, press Pair. Window shoud appear on the notebook screen. Enter same password on the phone and on the notebook.
It is good idea to turn on Auto-conn. without confirmation in menu Go to -> Bluetooth menu -> Paired devices -> notebook -> Options -> Auto-conn. without confirmation -> Yes.

To send file from mobile phone to the notebook use following proccess:

Output on the notebook should look similar to:

obexserver
Waiting for connection...

.....................................................HEADER_LENGTH = 53321
put_done() Skipped header 42
put_done() Skipped header 44
Filename = Image000.jpg
Wrote /tmp/Image000.jpg (53321 bytes)

To browse/back up messages, contacts, calendar, calls, you can use wammu, which is front end for gammu. I tried to get xgnokii/gnokii working, but wammu works better.

Content of my ~/.Wammu configuration files is:

[Gammu]
Model=auto
Device=55:44:33:22:11:00
Connection=bluephonet
SyncTime=no
LockDevice=no
StartInfo=no
[Debug]
Show=no
[Wammu]
AutoConnect=yes
RefreshState=5000
ConfirmDelete=yes
DefaultTime=09:00:00
DefaultDateOffset=1
DefaultEntries=3
[Message]
Format=yes
Concatenated=yes
Unicode=no
16bitId=yes
ScaleImage=1
[Main]
X=147
Y=52
Width=1110
Height=930
Split=202
SplitRight=474

Be sure to replace 55:44:33:22:11:00 with your real mobile bluetooth device address.

To easily manipulate with files in the phone memory and in the memory card I use konqueror with kdebluetooth. It has to be compiled as shown above.

Try running konqueror sdp://[55:44:33:22:11:00] to access the mobile phone, or konqueror bluetooth:/ to show bluetooth devices. Be sure to replace 55:44:33:22:11:00 with your real mobile bluetooth device address.

To connect to Internet using GPRS you need to have PPP compiled in the kernel. Be sure that device /dev/rfcomm0 exists. If not, create it with command

mknod /dev/rfcomm0 c 216 0

Create file /etc/ppp/peers/gprs with following content:

noauth
connect "/usr/sbin/chat -v -f /etc/ppp/chatscripts/gprs"
debug
rfcomm0
57600
defaultroute
lock
noipdefault

Also create file /etc/ppp/chatscripts/gprs with following content:

TIMEOUT 5
ECHO ON
ABORT '\nBUSY\r'
ABORT '\nERROR\r'
ABORT '\nNO ANSWER\r'
ABORT '\nNO CARRIER\r'
ABORT '\nNO DIALTONE\r'
ABORT '\nRINGING\r\n\r\nRINGING\r'
'' \rAT
TIMEOUT 12
OK ATE1
OK 'AT+cgdcont=1,"IP","STRING"'
OK ATD*99***1#
CONNECT

Be aware that STRING varies across mobile operators (see examples below):

OperatorSTRING
Orange UKorangeinternet
Eurotel CZinternet
T-Mobile CZinternet.t-mobile.cz
T-Mobile DEinternet.t-d1.de

If card will refuse to connect to the network, be sure you have GPRS activated. If your card requires PIN, add following line to the /etc/ppp/chatscripts/gprs chat script.

AT+cpin="1234"

where 1234 is your PIN.

Finally, run commands

mknod /dev/ppp c 108 0
pppd call gprs

to connect to the Internet.

To turn off the bluetooth device run following commands:

/etc/init.d/bluetooth stop

echo "power:0" > /proc/acpi/toshiba/bluetooth
echo "attach:0" > /proc/acpi/toshiba/bluetooth
sleep 1
rmmod hci_usb rfcomm l2cap bluetooth

It is good idea to add echo, sleep and rmmod commands to the bluetooth rc script.
Do not forget to turn off switch for wirless devices.

To get this working I have used following resources (thank you people!):



DVD+RW/CD-RW drive

Working, data will be added soon.


Function keys

Working, data will be added soon.


FluxBox window manager

Working, data will be added soon.


Wi-Fi

I had a problem with Wi-Fi network card after upgrading the kernel. It was solved by adding following options into .config file:

CONFIG_IEEE80211=m
CONFIG_IEEE80211_CRYPT_WEP=m
CONFIG_IEEE80211_CRYPT_CCMP=m
CONFIG_IEEE80211_CRYPT_TKIP=m

You need to recompile the kernel/modules.

To get Wi-Fi network card working you have to install following packages:

Install them with command:

emerge -v ipw2200 ipw2200-firmware

Read the output of the emerge command. If the installation will fail, because of incompatible version of the ieee80211 subsystem, you will need to run following command:

/bin/sh /usr/portage/net-wireless/ieee80211/files/remove-old /usr/src/linux

Re-run the emerge command for ipw2200 and ipw2200-firmware installation.

Be sure to install wireless-tools package by command:

emerge -v wireless-tools

Turn on the wireless devices by switch on the front of the notebook. Orange LED should be alight.

Load the kernel module ipw2200 to get card working:

modprobe ipw2200

Output in the /var/log/messages should be similar to the one below:

Feb 17 12:29:42 notebook [ 2486.710752] ieee80211_crypt: registered algorithm 'NULL'
Feb 17 12:29:42 notebook [ 2486.711436] ieee80211: 802.11 data/management/control stack, git-1.1.7
Feb 17 12:29:42 notebook [ 2486.711438] ieee80211: Copyright (C) 2004-2005 Intel Corporation <jketreno@linux.intel.com>
Feb 17 12:29:42 notebook [ 2486.713309] ipw2200: Intel(R) PRO/Wireless 2200/2915 Network Driver, 1.0.8
Feb 17 12:29:42 notebook [ 2486.713313] ipw2200: Copyright(c) 2003-2005 Intel Corporation
Feb 17 12:29:42 notebook [ 2486.713502] ACPI: PCI Interrupt 0000:05:05.0[A] -> GSI 22 (level, low) -> IRQ 66
Feb 17 12:29:42 notebook [ 2486.713531] ipw2200: Detected Intel PRO/Wireless 2200BG Network Connection

Check the presence of the card by running following command:

iwconfig

Output should look similar:

lo no wireless extensions.

eth0 no wireless extensions.

eth1 unassociated ESSID:off/any
  Mode:Managed Channel=0 Access Point: 00:00:00:00:00:00
  Bit Rate=0 kb/s Tx-Power=20 dBm
  Retry limit:7 RTS thr:off Fragment thr:off
  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

Take a look into Wireless HOWTO doc file for further information regarding Wi-Fi on Linux.


VPN

I am using VPN to connect to my employer's internal network. Because I need to connect to Cisco VPN routers, I have choose to use vpnc software. It is stable and very easy to configure. To get it working, you need to have Universal TUN/TAP device driver support compiled in the kernel. Be sure to have to have following options compiled in the kernel:

CONFIG_NETDEVICES=y
CONFIG_TUN=m

Of course, you need to have access to network (e.g trough wi-fi, PPP, ethernet, etc.).
Be aware that from some version of baselayout package you need to have also openvpn package installed to get tun module working.

Install the packages with commands:

emerge -v vpnc openvpn

Edit configuration file /etc/vpnc.conf:

IPSec gateway X.X.X.X
IPSec ID YYY
IPSec secret ZZZ
Xauth username WWW

Be sure to change X.X.X.X for IP address of your VPN router, YYY for VPN router login, ZZZ for VPN router password, WWW for your login name.

To connect to VPN router I use following commands:

modprobe tun
vpnc

To disconnect use following commands:

vpnc-disconnect
rmmod tun


CDMA modem (USB)

First, I want to thank to the people which investigated the CMDA modems problems and wrote HOWTO/patches. To connect to Internet I am using USB CDMA modem from Eurotel.

My Gentoo Linux installation with 2.6 kernel uses hotplug (option CONFIG_HOTPLUG=y in .config file) and udev (package udev). To get modem with PPP working be sure to have following options compiled in the kernel:

CONFIG_USB=m
CONFIG_USB_ACM=m
CONFIG_PPP=m
CONFIG_PPP_MULTILINK=y
CONFIG_PPP_FILTER=y
CONFIG_PPP_ASYNC=m
CONFIG_PPP_SYNC_TTY=m
CONFIG_PPP_DEFLATE=m
CONFIG_PPP_BSDCOMP=m

Because of bad implementation of CDC-ACM in the kernel, be sure to apply the patch available at http://www.awk.cz/cdc-acm_release/:
cd /usr/src/linux
patch -p1 < /root/linux-2.6.12-rc5_stable-cdc-acm.patch
Because of bad implementation of CDC-ACM in the kernel, be sure to apply the patch I have downloaded from http://www.awk.cz/cdc-acm_release/ (server is not working in the time I am writting this update):

cd /usr/src/linux
patch -p1 < /root/linux-2.6.13.2_stable-cdc-acm.patch

Be sure that /usr/src/linux points to kernel you want to build (in case it is link), or contains that kernel (in case it is directory).

Recompile and install the the kernel/modules (replace %VERSION% with your kernel version):

make clean && make && make modules && make modules_install
cp .config /boot/config-%VERSION%
cp System.map /boot/System.map-%VERSION%
cp arch/i386/boot/bzImage /boot/kernel-%VERSION%

Be sure to edit /boot/grub/grub.conf (or /etc/lilo.conf if you are using LILO) appropriately. Reboot the computer.

To connect to Internet first turn on the modem and connect it to the USB port. Log entry in /var/log/messages will be similar to the one below:

Aug 21 20:55:09 notebook [ 93.586492] cdc_acm 2-2:1.0: ttyACM0: USB ACM device
Aug 21 20:55:09 notebook [ 93.598111] usbcore: registered new driver cdc_acm
Aug 21 20:55:09 notebook [ 93.598726] drivers/usb/class/cdc-acm.c: v0.25:USB Abstract Control Model driver for USB modems and ISDN adapters

After connecting the modem use command pppd from PPP package:

mknod /dev/ppp c 108 0
pppd call script

To find out what to write into script and what else needs to be done take a look at http://www.root.cz/clanky/eurotel-data-express-mini-howto/ (in Czech language).

It is good to have firewall configured when accessing the internet. I am using iptables (package iptables) to block unwanted request from the Internet. Here you can see my /etc/init.d/iptables script which is run every time my PPP is set up. Scripts detects if there is eth0 or ppp0 interface up and configures the iptables rules accordingly. Be sure to shut down the eth0 interface before seting up the rules for PPP connection by command /sbin/ip link set eth0 down


Sony DSC-S85 camera (USB)

Working, data will be added soon.


If you have any questions regarding this, feel free to contact me at my e-mail address.

Back to homepage

Last modified:

TuxMobil - Linux on Laptops, Notebooks, PDAs and Mobile Phones Valid HTML 4.01 Transitional