SuSE 9.0 on a Toshiba M30-344

From MarcsHomepage
Revision as of 08:28, 18 April 2006 by Marc Saric (Talk | contribs)

SuSE-Linux 9.0 on a Toshiba M30-344

Technical data

List of technical details regarding my M30. There are apparently different models out there, which differ in CPU, memory and maybe even display-specs.

Short note: Because I am no longer working at the university, I don't use this laptop any more and there won't be any substantial updates to this page.

Toshiba M30-344


CPU Mobile Intel Pentium 4 1.5 GHz
Chipset Intel Centrino
BIOS Phoenix Version 1.30
Memory 512 MB RAM
Graphics nVidia GeForce FX5200 Go, 64 MB
Display 1280x800 (16:10) WXGA
Harddisk 60 GB
Sound 82801DB AC97 Sound with Harman/Kardon-Speakers
Media Combo-Drive
  • 3x USB 2.0
  • 1x Parallel
  • VGA-out
  • S-Video-out
  • IrDa
  • Firewire
  • PC-Card-Slot
  • Microphone/Headphones
  • Modem
  • 100 MBit-Ethernet
  • Wireless-LAN
Modem Intel 82801DB AC97 built-in Modem

Installation: Things which...

Overall, the basic installation of SuSE 9.0 worked flawless and painless. All basic pieces of hardware where automatically recognized and configured correctly (except the [m30_linux1.html#x-server X-Server], which needed some manual tweaking in Sax2 to persuade it to use the widescreen-display (1280x800x24)). out of the box

  • Sound Works, although the software-driven mute-key does not.
  • Ethernet Works flawlessly (but not the [m30_linux1.html#wifi WiFi])
  • Modem Works according to Yast2, but I haven't used it yet.
  • Mouse The installer recognizes and configures two mice (internal synaptics touchpad, external Logitech-wheel mouse in my case) correctly, the synaptics touchpad had to be selected manually, but the basic (generic psaux) setup also worked. Apparently, the touchpad led to problems with the [m30_linux1.html#keyboard keyboard]. This can be fixed by changing back to a generic mouse-config for the touchpad.

    Here is the non-working touchpad-config from /etc/X11/XF86Config
Section "InputDevice"
  Driver       "synaptics"
  Identifier   "Mouse[1]"
  Option       "AccelFactor" "0.0010"
  Option       "Device" "/dev/psaux"
  Option       "Edges" "1900 5400 1800 3900"
  Option       "Finger" "25 30"
  Option       "InputFashion" "Mouse"
  Option       "MaxSpeed" "0.18"
  Option       "MaxTapMove" "220"
  Option       "MaxTapTime" "20"
  Option       "MinSpeed" "0.02"
  Option       "Name" "Synaptics;Touchpad"
  Option       "VertScrollDelta" "100"
  Option       "ZAxisMapping" "4 5"

and here is the one I used with SuSE 9.0, Kernel 2.4 and which works flawlessly (thanks to Andrea from Italy btw. :-) ).

Section "InputDevice"
  Driver      "mouse"
  Identifier   "Mouse[1]"
  Option      "Protocol" "PS/2"
  Option       "Device" "/dev/psaux"

probably I did something silly to the synaptics-driver, please correct my, if you`ve got it working somehow. The workaround does not recognize the special synaptics stuff, but double-clicking by tapping twice works also.
For some more ways to fix this see [m30_linux1.html#synaptics below]. with tweaking

  • X-Server The standard-resolutions like 1024x768 work out of the box, and the SuSE-installer even asks for and installs the binary nVidia-drivers during the setup-process (provided there is a working Internet-connection available), but to get the right resolution (1280x800x24x60Hz), one has to configure the screen and the graphics-mode manually (in Sax2). Here is the modeline I use:
Modeline    "1280x800" 80.58 1280 1344 1480 1680 800 801 804 827

This should also work with the new Xorg-servers. Most more recent distros will provide wide-screen support for laptops though.

  • Keyboard Altough the keyboard is found and correctly configured, it shows the well known and ugly bounce-glitch known from many other Toshiba-notebooks. For a number of fixes see above (Kernel 2.4) and below (Kernel 2.6).

...don't work

  • Wireless-LAN Does not work, but that has been expected, and is due to missing native drivers from Intel (despite their announcements). One could probably install the Linuxant-driver-loader, but I haven't tried. I also got a mail stating that it will work with the ndis-wrapper which might be a reasonable alternative to Linuxant. Haven't tried this either.
  • Fn-keys/special-keys: These are software-driven under Windows and don't work. Maybe with the omke-tools (the M30 has a Phoenix-BIOS, therefore you can't use toshiba_acpi and the fnfx-tools to get things going.
  • Suspend As this is not supported very well under Linux, there is -very unsurprisingly- no support for ACPI-controlled power-save-modes.
  • CPU-scaling Apparently CPU-scaling does not work with the default 2.4-kernel-series.
    There have been two reports, that CPU-scaling does work with Kernel 2.6, I list them here for completeness, although I don't have tested this personally (please mail the people mentioned below for questions).

    From Andrea Banach (banach /at/ I have got the following regarding Speedstep and kernel 2.6.1:

    I've used 2.6.1 on slackware 9.1. The only thing to do (after enabling ACPI & cpufreq stuff in the kernel) is to mount the "sysfs" virtual filesystem! Then, under /sys/devices/system/cpu/...something.../* there is all you need for performance management.

    For now I only tried to change the default scaling_governor from "performance" or "userspace" to "powersave" and then I checked the freq in /proc/cpuinfo... It scaled from 1400 to 600! Yeaahh!!!
    4 hours battery life with the penguin now! Fans never run!

    Bill Sakoda writes, that he can change CPU-speed for his Toshiba M35-S359 (similar to the M30, see data-sheet) in the BIOS-settings, and that he has successfully compiled a 2.6.1 kernel for Redhat 9 but lacks support for the nVidia-graphics (GeForce FX5200 Go) under 2.6.1.


Overall, if you would like to have a desktop-replacement-notebook with a nice and shiny look, low noise and a wide-screen, I could recommend the Toshiba M30, although the keyboard certainly isn't a milestone of computer-design and -manufacturing.

The downside is a fairly short battery-time (around 3 hours, despite the Centrino-based system) (which can be improved by using a 2.6-kernel), a large size (but, what the heck, this is a widescreen-notebook), missing serial port, and in case that you want to play Doom 3, a too slow GPU (but which one isn't with this game...)).

The most disapointing thing is, that due to the non-functional software Fn-keys it is a bit problematic, although it works more or less and the hardware-spec is better than the [r32_linux1.html ThinkPad].

P.S: One non-Linux-note after finishing this review: There have been claims on some news-forums, that the Windows-based Fn-keys for adjustment of the display brightness do not work under Windows XP if the user-account is a non-privileged account. This is certainly true for the preinstalled Windows XP Home SP1, but is NOT TRUE for Windows XP Professional with all Toshiba-drivers from the driver-CD-ROM and all Microsoft-patches installed.

Update to SuSE 9.1

Recently I updated my system to SuSE 9.1. The update went quite well, Kernel 2.6 was installed, ACPI-based powermanagement worked out of the box, the widescreen-display is recognized correctly without tweaking (there is even a console-mode for this), FnFx is available as a precompiled package, and does what it should. The modem and the wireless-adapter is being recognized, although I haven't had the time to test both of them.

One disadvantage is, that SuSE did not manage to provide a common solution for ACPI-based powermanagement, which integrates well with both KDE and GNOME. The Yast-module only works with KDE, while Gnome 2.4 needs acpid and cpufreqd. Not good.

There are other glitches, which are related to SuSE 9.1 (font-display in non-KDE and non-GNOME apps among others), but not related to the notebook-stuff.

Keyboard/Mouse I have got quite a few mails regarding the keyboard/synaptics problems showing up again with Kernel 2.6 with the M-30.

So far the easiest solution to this has been found out by Dmitry Torokhov, who mentioned, that the Toshiba's KBC can not handle incoming Synaptics data at full rate (80 pps @ 6 bytes/packet - 480 bps). Limiting Synaptics rate to 40 pps (which is pretty much the same as the rate of standard PS/2 protocol - 40 @6 = 240 b/sec, 100 @ 3 = 300 b/sec) allows typing and using the touchpad at the same time.

This is by far the easiest fix for this problem and works for me:

Just add


to your kernel-parameters (this can be done via Yast2 in the bootloader-config) and the bouncing is totaly gone.
In case that you load psmouse as a module, do a

modprobe psmouse rate=40


Credits to Dmitry!

Another option would be to patch the kernel, as described in a mail I got from Simon Effenberg, who found the reason for the bug in the kernel 2.6-sources to show up again, specifically in "./drivers/input/mouse/psmouse-base.c" of the PS/2-driver, which causes the keyboard-bouncing to show up again with SuSE 9.1 and which can be fixed with a small patch. The original looks like this

 * Try Synaptics TouchPad
      if (psmouse_max_proto > PSMOUSE_PS2 && synaptics_detect(psmouse)) {
                synaptics_hardware = 1;
                psmouse->vendor = "Synaptics";
                psmouse->name = "TouchPad";

                if (psmouse_max_proto > PSMOUSE_IMEX) {
                        if (synaptics_init(psmouse) == 0)
                                return PSMOUSE_SYNAPTICS;

 * Some Synaptics touchpads can emulate extended protocols (like IMPS/2).
 * Unfortunately Logitech/Genius probes confuse some firmware versions so
 * we'll have to skip them.
                      psmouse_max_proto = PSMOUSE_IMEX;

and has to be changed to

  * Try Synaptics TouchPad
 /*      if (psmouse_max_proto > PSMOUSE_PS2 && synaptics_detect(psmouse)) {
                 synaptics_hardware = 1;
                 psmouse->vendor = "Synaptics";
                 psmouse->name = "TouchPad";
                 if (psmouse_max_proto > PSMOUSE_IMEX) {
                         if (synaptics_init(psmouse) == 0)
                                 return PSMOUSE_SYNAPTICS;
  * Some Synaptics touchpads can emulate extended protocols (like IMPS/2).
  * Unfortunately Logitech/Genius probes confuse some firmware versions so
  * we'll have to skip them.
 /*                      psmouse_max_proto = PSMOUSE_IMEX;

i.e. uncommenting the Logitech/Genius-stuff
There is another patch, which helps with the remaining pauses, but I think both of them are not neccessary if the psmouse-option mentioned above works.