Difference between revisions of "Toshiba Tecra M4"

From ArchWiki
Jump to: navigation, search
(use https for links to archlinux.org)
(archive page)
 
(14 intermediate revisions by 5 users not shown)
Line 1: Line 1:
[[Category:Toshiba]]
+
#redirect [[ArchWiki:Archive]]
The Tecra M4 is a convertible-PC produced by Toshiba.
+
[[Category:Archive]]
 
 
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.
 
 
 
This tutorial is a bit work in progress so stay tuned ;)
 
 
 
= 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]].
 
 
 
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
 
Section "Device"
 
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 =
 
 
 
== CPUFreq ==
 
Just install [[cpufrequtils]]
 
 
 
== PHC ==
 
I reduced VCores to make my battery live longer:
 
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
 
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
 
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 =
 
# nano -w /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 (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
 
 
 
 
 
# 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
 

Latest revision as of 08:59, 26 November 2017

Redirect to: