Difference between revisions of "SuSE 9.0 on a Toshiba M30-344"

From MarcsHomepage
 
(6 intermediate revisions by the same user not shown)
Line 5: Line 5:
 
Short note: Because I am no longer working at the [http://www.uni-tuebingen.de university], I don't use this laptop any more and there won't be any substantial updates to this page.
 
Short note: Because I am no longer working at the [http://www.uni-tuebingen.de university], I don't use this laptop any more and there won't be any substantial updates to this page.
  
{| width="90%" align="center" style="background: #F8F8F8; border: 1px solid #8AFF00;"
+
{| width="90%" align="center"  
|- bgcolor="#8AFF00" valign="top"
+
|- valign="top"
 
| colspan="3" | '''Toshiba M30-344'''
 
| colspan="3" | '''Toshiba M30-344'''
 
|- bgcolor="#FFFFFF" valign="top"
 
|- bgcolor="#FFFFFF" valign="top"
Line 147: Line 147:
 
Another option would be to patch the kernel, as described in a mail I got from [MAILTO:ansidremon@gmx.de Simon Effenberg], who found the reason for the bug in the kernel 2.6-sources to show up again, specifically in <tt>"./drivers/input/mouse/psmouse-base.c"</tt> 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
 
Another option would be to patch the kernel, as described in a mail I got from [MAILTO:ansidremon@gmx.de Simon Effenberg], who found the reason for the bug in the kernel 2.6-sources to show up again, specifically in <tt>"./drivers/input/mouse/psmouse-base.c"</tt> 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
  
+
<syntaxhighlight lang="c">
/*
+
/*
  * Try Synaptics TouchPad
+
* Try Synaptics TouchPad
  */
+
*/
      if (psmouse_max_proto &gt; PSMOUSE_PS2 &amp;&amp; synaptics_detect(psmouse)) {
+
      if (psmouse_max_proto > PSMOUSE_PS2 && synaptics_detect(psmouse)) {
                synaptics_hardware = 1;
+
                synaptics_hardware = 1;
                psmouse-&gt;vendor = "Synaptics";
+
                psmouse->vendor = "Synaptics";
                psmouse-&gt;name = "TouchPad";
+
                psmouse->name = "TouchPad";
+
 
                if (psmouse_max_proto &gt; PSMOUSE_IMEX) {
+
                if (psmouse_max_proto > PSMOUSE_IMEX) {
                        if (synaptics_init(psmouse) == 0)
+
                        if (synaptics_init(psmouse) == 0)
                                return PSMOUSE_SYNAPTICS;
+
                                return PSMOUSE_SYNAPTICS;
+
 
/*
+
/*
  * Some Synaptics touchpads can emulate extended protocols (like IMPS/2).
+
* Some Synaptics touchpads can emulate extended protocols (like IMPS/2).
  * Unfortunately Logitech/Genius probes confuse some firmware versions so
+
* Unfortunately Logitech/Genius probes confuse some firmware versions so
  * we'll have to skip them.
+
* we'll have to skip them.
  */
+
*/
                      psmouse_max_proto = PSMOUSE_IMEX;
+
                      psmouse_max_proto = PSMOUSE_IMEX;
                }
+
                }
        }
+
        }
 +
</syntaxhighlight>
  
 
and has to be changed to
 
and has to be changed to
  
<nowiki>
+
<syntaxhighlight lang="c">
/*
+
/*
  * Try Synaptics TouchPad
+
* Try Synaptics TouchPad
  */
+
*/
/*      if (psmouse_max_proto &gt; PSMOUSE_PS2 &amp;&amp; synaptics_detect(psmouse)) {
+
/*      if (psmouse_max_proto > PSMOUSE_PS2 && synaptics_detect(psmouse)) {
                synaptics_hardware = 1;
+
                synaptics_hardware = 1;
                psmouse-&gt;vendor = "Synaptics";
+
                psmouse->vendor = "Synaptics";
                psmouse-&gt;name = "TouchPad";
+
                psmouse->name = "TouchPad";
+
 
                if (psmouse_max_proto &gt; PSMOUSE_IMEX) {
+
                if (psmouse_max_proto > PSMOUSE_IMEX) {
                        if (synaptics_init(psmouse) == 0)
+
                        if (synaptics_init(psmouse) == 0)
                                return PSMOUSE_SYNAPTICS;
+
                                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;
  * 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;
 
                }
 
        }
 
 
  */
 
  */
</nowiki>
+
</syntaxhighlight>
 +
 
 +
i.e. commenting the Logitech/Genius-stuff.
  
i.e. uncommenting the Logitech/Genius-stuff<br /> There is [http://www.kraus.tk/installnotes/toshiba-m30/toshiba-m30.htm another patch], which helps with the remaining pauses, but I think both of them are not neccessary if the psmouse-option mentioned above works.
+
There is [http://www.kraus.tk/installnotes/toshiba-m30/toshiba-m30.htm another patch], which helps with the remaining pauses, but I think both of them are not neccessary if the psmouse-option mentioned above works.
  
 
== Links ==
 
== Links ==
Line 201: Line 204:
 
* [http://www.uni-koblenz.de/~tenshi/tosh/ Toshiba M30-404 Linux installation guide by Thomas Ch. aka tenshi]
 
* [http://www.uni-koblenz.de/~tenshi/tosh/ Toshiba M30-404 Linux installation guide by Thomas Ch. aka tenshi]
 
* [http://www.kraus.tk/installnotes/toshiba-m30/toshiba-m30.htm  Marco Kraus' Toshiba M30-841]
 
* [http://www.kraus.tk/installnotes/toshiba-m30/toshiba-m30.htm  Marco Kraus' Toshiba M30-841]
 +
* [http://www.jimbo7.com/wiki/index.php?title=Toshiba_m30 Toshiba M30 Debian setup on Jimbo7-wiki]
 
* [http://www.tuxmobil.org/ Tuxmobil]
 
* [http://www.tuxmobil.org/ Tuxmobil]
 
* [http://www.linux-on-laptops.com/ Linux on Laptops]
 
* [http://www.linux-on-laptops.com/ Linux on Laptops]
 
* [http://newsletter.toshiba-tro.de/main/index.html Set of Toshiba installation infos]
 
* [http://newsletter.toshiba-tro.de/main/index.html Set of Toshiba installation infos]
 
* [http://linux.toshiba-dme.co.jp/linux/index.htm The Toshiba mailing list]
 
* [http://linux.toshiba-dme.co.jp/linux/index.htm The Toshiba mailing list]

Latest revision as of 22:44, 19 July 2014

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
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
Connections
  • 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 X-Server, which needed some manual tweaking in Sax2 to persuade it to use the widescreen-display (1280x800x24)).

...work out of the box

  • Sound Works, although the software-driven mute-key does not.
  • Ethernet Works flawlessly (but not the 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 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"
EndSection

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"
EndSection

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 below.

...work 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/ libero.it) 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.

Recommendation

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

psmouse.rate=40

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

instead.

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. commenting 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.

Links