Difference between revisions of "Toshiba Tecra M4"

From ArchWiki
Jump to: navigation, search
(use https for links to archlinux.org)
m (style)
 
(12 intermediate revisions by 5 users not shown)
Line 1: Line 1:
 
[[Category:Toshiba]]
 
[[Category:Toshiba]]
The Tecra M4 is a convertible-PC produced by Toshiba.
+
{{Laptop style}}
 +
The Tecra M4 is a convertible PC produced by Toshiba.
  
 
Mine includes 512MByte of RAM, 60Gbyte SATA-HDD, NVidia 6200 graphics card and a serial Wacom tablet.
 
Mine includes 512MByte of RAM, 60Gbyte SATA-HDD, NVidia 6200 graphics card and a serial Wacom tablet.
  
This will be a short introduction on how to make everything work perfectly.
+
== Installation ==
 
 
This tutorial is a bit work in progress so stay tuned ;)
 
 
 
= Installation =  
 
 
Just boot the ArchLinux Installation disc and install the basics
 
Just boot the ArchLinux Installation disc and install the basics
  
= Wireless drivers =
+
== Wireless drivers ==
This PC contains an intel wireless card, that is supported by the [[ipw2200]].
+
This PC contains an intel wireless card, that is supported by the ipw2200 driver. See [[Wireless network configuration#ipw2100 and ipw2200]].
 
 
Therefor run a
 
# pacman -S ipw2200-fw
 
 
 
and afterwards reload the ipw2200 driver.
 
 
 
= Installing Wacom Tablet =
 
Install xf86-input-wacom from AUR - if you installed aurpac like me:
 
  $ aurpac -S xf86-input-wacom
 
 
 
Now, you'll have to configure xorg.conf:
 
# X -configure
 
# cp /root/xorg.conf.new /etc/X11/xorg.conf
 
# nano -w /etc/X11/xorg.conf
 
 
 
The ServerLayout Section should look like this:
 
Section "ServerLayout"
 
Identifier      "Default Layout"
 
Screen "Screen0"
 
Inputdevice    "cursor" "SendCoreEvents"
 
Inputdevice    "stylus" "SendCoreEvents"
 
Inputdevice    "eraser" "SendCoreEvents"
 
Identifier    "X.org Configured"
 
Screen      0  "Screen0" 0 0
 
InputDevice    "Mouse0" "CorePointer"
 
InputDevice    "Keyboard0" "CoreKeyboard"
 
        InputDevice    "Touchpad" 
 
EndSection
 
 
 
In section "Module" add
 
Load  "synaptics"
 
 
 
The Input-Sections:
 
Section "InputDevice"
 
  Driver          "wacom"
 
  Identifier      "cursor"
 
  Option          "Device" "/dev/ttyS0"
 
  Option          "Type" "cursor"
 
  Option          "ForceDevice" "ISDV4"
 
  Option          "Rotate" "NONE"
 
EndSection
 
 
 
Section "InputDevice"
 
  Driver          "wacom"
 
  Identifier      "stylus"
 
  Option          "Device" "/dev/ttyS0"
 
  Option          "Type" "stylus"
 
  Option          "ForceDevice" "ISDV4"
 
  Option          "Rotate" "NONE"
 
EndSection
 
 
 
Section "InputDevice"
 
  Driver          "wacom"
 
  Identifier      "eraser"
 
  Option          "Device" "/dev/ttyS0"
 
  Option          "Type" "eraser"
 
  Option          "ForceDevice" "ISDV4"
 
  Option          "Rotate" "NONE"
 
EndSection
 
 
 
This is my Input-Section for the touchpad
 
Section "InputDevice"
 
  Identifier  "Synaptics Touchpad"
 
  Driver      "synaptics"
 
  Option      "AlwaysCore"        "true"  # send events to CorePointer
 
  Option      "Device"            "/dev/psaux"
 
  Option      "Protocol"          "auto-dev"
 
  Option      "SHMConfig"        "false" # configurable at runtime? security risk
 
  Option      "LeftEdge"          "1700"  # x coord left
 
  Option      "RightEdge"        "5300"  # x coord right
 
  Option      "TopEdge"          "1700"  # y coord top
 
  Option      "BottomEdge"        "4200"  # y coord bottom
 
  Option      "FingerLow"        "25"    # pressure below this level triggers release
 
  Option      "FingerHigh"        "30"    # pressure above this level triggers touch
 
  Option      "MaxTapTime"        "180"  # max time in ms for detecting tap
 
  Option      "VertEdgeScroll"    "true"  # enable vertical scroll zone
 
  Option      "HorizEdgeScroll"  "true"  # enable horizontal scroll zone
 
  Option      "CornerCoasting"    "true"  # enable continuous scroll with finger in corner
 
  Option      "CoastingSpeed"    "0.30"  # corner coasting speed
 
  Option      "VertScrollDelta"  "100"  # edge-to-edge scroll distance of the vertical scroll
 
  Option      "HorizScrollDelta"  "100"  # edge-to-edge scroll distance of the horizontal scroll
 
  Option      "MinSpeed"          "0.10"  # speed factor for low pointer movement
 
  Option      "MaxSpeed"          "0.60"  # maximum speed factor for fast pointer movement
 
  Option      "AccelFactor"      "0.0020"    # acceleration factor for normal pointer movements
 
  Option      "VertTwoFingerScroll"  "true"  # vertical scroll anywhere with two fingers
 
  Option      "HorizTwoFingerScroll"  "true"  # horizontal scroll anywhere with two fingers
 
  Option      "TapButton1" "1"
 
  Option      "TapButton2" "2"
 
  Option      "TapButton3" "3"
 
EndSection
 
  
My Device Section
+
== Installing Wacom Tablet ==
Section "Device"
+
See [[Wacom tablet]].
Identifier  "Card0"
 
Option "NoLogo" "1" # I do not like the NVidia Logo
 
Option "RandRRotation" "true" # making it possible to rotate the screen
 
Option "Coolbits" "1"
 
Option "RegistryDwords" "PerfLevelSrc=0x3333" # for saving battery lifetime
 
Driver      "nvidia"
 
VendorName  "nVidia Corporation"
 
BoardName  "NV43 [Geforce Go 6600TE/6200TE]"
 
BusID      "PCI:1:0:0"
 
EndSection
 
  
= Optimizing battery lifetime =
+
== Optimizing battery lifetime ==
  
== CPUFreq ==
+
=== CPUFreq ===
 
Just install [[cpufrequtils]]
 
Just install [[cpufrequtils]]
  
== PHC ==
+
=== PHC ===
I reduced VCores to make my battery live longer:
+
Optionally use [[PHC]] to undervolt the processor.
install intel-phc and linux-phc-optimize from AUR
 
$ aurpac -S intel-phc linux-phc-optimize
 
 
 
then run
 
# linux-phc-optimize
 
 
 
remember the original and the optimized values - you'll need them ;)
 
then I created the following script /etc/rc.d/phc
 
 
 
#!/bin/bash
 
 
case "$1" in
 
  start)
 
    stat_busy "Optimizing PHC VIDs"
 
    echo "'''14:21 12:15 10:9 8:4 6:3'''" > /sys/devices/system/cpu/cpu0/cpufreq/phc_controls
 
      stat_done
 
    ;;
 
  stop)
 
    stat_busy "Resetting PHC VIDs"
 
    echo "'''14:41 12:36 10:30 8:24 6:18'''" > /sys/devices/system/cpu/cpu0/cpufreq/phc_controls
 
      stat_done
 
    ;;
 
  restart)
 
    $0 stop
 
    sleep 1
 
    $0 start
 
    ;;
 
  *)
 
    echo "usage: $0 {start|stop|restart}" 
 
esac
 
exit 0
 
  
the bold passages are the optimized and original values - these are for my Pentium M 1,86GHz
+
== Mapping screen-key to something that makes sense ==
the formate is the following:
 
14:value_for_full_speed 12:value_for_speed2 10:value_for_speed3
 
etc etc
 
in the "Optimizing" part insert the optimized values and in the "Resetting" part the original values.
 
 
 
= Mapping screen-key to something that makes sense =
 
 
by default, the buttons on the screen return the combinations
 
by default, the buttons on the screen return the combinations
 
Super_L + [1-7]
 
Super_L + [1-7]
Line 181: Line 41:
 
tablet is portrait and orientation "left" - joystick up -> page up, down -> page down
 
tablet is portrait and orientation "left" - joystick up -> page up, down -> page down
  
= Script for changing orientation =  
+
== Script for changing orientation ==
# nano -w /usr/bin/rotate
+
 
 +
{{hc|/usr/bin/rotate|<nowiki>
 +
#!/bin/bash
 +
 
 +
#### rotate.sh - A script for tablet PCs to rotate the display.
 +
 
 +
## This software is licensed under the CC-GNU GPL.
 +
## http://creativecommons.org/licenses/GPL/2.0/
 +
 
 +
## https://wiki.archlinux.org/index.php/Tablet_PC
 +
## REQUIRES: linuxwacom (https://sourceforge.net/projects/linuxwacom/)
 +
 
 +
#### Function(s)
 +
function set_normal {
 +
xrandr -o normal
 +
xsetwacom set "stylus" Rotate NONE
 +
xsetwacom set "cursor" Rotate NONE
 +
xsetwacom set "eraser" Rotate NONE
 +
orientation="normal"
 +
}
 +
 
 +
function set_left {
 +
xrandr -o left
 +
xsetwacom set "stylus" Rotate CCW
 +
xsetwacom set "cursor" Rotate CCW
 +
xsetwacom set "eraser" Rotate CCW
 +
orientation="left"
 +
}
  
#!/bin/bash
+
#### Variable(s)
+
orientation="$(xrandr --query --verbose | grep '(normal left inverted right) 0mm x 0mm' | awk '{print $5}')"
#### rotate.sh - A script for tablet PCs to rotate the display.
 
 
## This software is licensed under the CC-GNU GPL.
 
## http://creativecommons.org/licenses/GPL/2.0/
 
 
## https://wiki.archlinux.org/index.php/Tablet_PC
 
## REQUIRES: linuxwacom (http://sourceforge.net/apps/mediawiki/linuxwacom/index.php?title=Main_Page)
 
 
#### Function(s)
 
function set_normal {
 
  xrandr -o normal
 
  xsetwacom set "stylus" Rotate NONE
 
  xsetwacom set "cursor" Rotate NONE
 
  xsetwacom set "eraser" Rotate NONE
 
  orientation="normal"
 
}
 
 
function set_left {
 
  xrandr -o left
 
  xsetwacom set "stylus" Rotate CCW
 
  xsetwacom set "cursor" Rotate CCW
 
  xsetwacom set "eraser" Rotate CCW
 
  orientation="left"
 
}
 
 
#### Variable(s)
 
orientation="$(xrandr --query --verbose | grep '(normal left inverted right) 0mm x 0mm' | awk '{print $5}')"
 
 
#### Main
 
if [ "$orientation" = "normal" ]; then
 
set_left
 
elif [ "$orientation" = "right" ]; then
 
set_normal
 
elif [ "$orientation" = "inverted" ]; then
 
set_normal
 
elif [ "$orientation" = "left" ]; then
 
set_normal
 
fi
 
 
#### EOF
 
  
 +
#### Main
 +
if [ "$orientation" = "normal" ]; then
 +
set_left
 +
elif [ "$orientation" = "right" ]; then
 +
set_normal
 +
elif [ "$orientation" = "inverted" ]; then
 +
set_normal
 +
elif [ "$orientation" = "left" ]; then
 +
set_normal
 +
fi
 +
</nowiki>}}
  
 
  # chmod 0755 /usr/bin/rotate
 
  # chmod 0755 /usr/bin/rotate
Line 232: Line 90:
 
This script can now be used with gnome-keybinding-properties
 
This script can now be used with gnome-keybinding-properties
  
= What does not work =
+
== What does not work ==
* Mapping joystick to page_up/down AND using the rotate button in gnome-keybinding-properties at the same time
+
* Mapping joystick to page_up/down AND using the rotate button in gnome-keybinding-properties at the same time.
* sound does work, if you reload the snd_intel8x0 module after boot - do not know, why
+
* Sound does work, if you reload the snd_intel8x0 module after boot - do not know why.

Latest revision as of 14:18, 31 May 2017

Tango-edit-clear.pngThis article or section should provide only information specific to the hardware. Content from the general wiki articles should not be duplicated; crosslink it instead.Tango-edit-clear.png

Reason: please use the first argument of the template to provide a brief explanation. (Discuss in Talk:Toshiba Tecra M4#)

The Tecra M4 is a convertible PC produced by Toshiba.

Mine includes 512MByte of RAM, 60Gbyte SATA-HDD, NVidia 6200 graphics card and a serial Wacom tablet.

Installation

Just boot the ArchLinux Installation disc and install the basics

Wireless drivers

This PC contains an intel wireless card, that is supported by the ipw2200 driver. See Wireless network configuration#ipw2100 and ipw2200.

Installing Wacom Tablet

See Wacom tablet.

Optimizing battery lifetime

CPUFreq

Just install cpufrequtils

PHC

Optionally use PHC to undervolt the processor.

Mapping screen-key to something that makes sense

by default, the buttons on the screen return the combinations Super_L + [1-7] I prefer this tiny joystick to use as page up and page down - so I tried xmodmap

$ nano -w .Xmodmap

change the line of keycode 134 to

keycode 134 = Mode_switch NoSymbol Mode_switch NoSymbol Super_R

and the following lines:

keycode  10 = 1 exclam Prior Prior onesuperior exclamdown
keycode  11 = 2 quotedbl Next Next twosuperior oneeighth
keycode  12 = 3 section Prior Prior threesuperior sterling
keycode  13 = 4 dollar Next Next onequarter currency

that produces: tablet is landscape and orientation "normal" - joystick up -> page up, down -> page down tablet is portrait and orientation "left" - joystick up -> page up, down -> page down

Script for changing orientation

/usr/bin/rotate
#!/bin/bash

#### rotate.sh - A script for tablet PCs to rotate the display.

## This software is licensed under the CC-GNU GPL.
## http://creativecommons.org/licenses/GPL/2.0/

## https://wiki.archlinux.org/index.php/Tablet_PC
## REQUIRES: linuxwacom (https://sourceforge.net/projects/linuxwacom/)

#### Function(s)
function set_normal {
 xrandr -o normal
 xsetwacom set "stylus" Rotate NONE
 xsetwacom set "cursor" Rotate NONE
 xsetwacom set "eraser" Rotate NONE
 orientation="normal"
}

function set_left {
 xrandr -o left
 xsetwacom set "stylus" Rotate CCW
 xsetwacom set "cursor" Rotate CCW
 xsetwacom set "eraser" Rotate CCW
 orientation="left"
}

#### Variable(s)
orientation="$(xrandr --query --verbose | grep '(normal left inverted right) 0mm x 0mm' | awk '{print $5}')"

#### Main
if [ "$orientation" = "normal" ]; then
	set_left
elif [ "$orientation" = "right" ]; then
	set_normal
elif [ "$orientation" = "inverted" ]; then
	set_normal
elif [ "$orientation" = "left" ]; then
	set_normal
fi
# chmod 0755 /usr/bin/rotate

I customized the given script a bit, because turning right and inverted made no sense for me. This script can now be used with gnome-keybinding-properties

What does not work

  • Mapping joystick to page_up/down AND using the rotate button in gnome-keybinding-properties at the same time.
  • Sound does work, if you reload the snd_intel8x0 module after boot - do not know why.