Difference between revisions of "Toshiba Tecra M4"

From ArchWiki
Jump to: navigation, search
(use https for links to archlinux.org)
(simplification and beautification of wikilinks (interactive))
(Tag: wiki-scripts)
 
(10 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
[[Category:Toshiba]]
 
[[Category:Toshiba]]
 +
{{Laptop style}}
 
The Tecra M4 is a convertible-PC produced by Toshiba.
 
The Tecra M4 is a convertible-PC produced by Toshiba.
  
Line 12: Line 13:
  
 
= 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 =
 
= Installing Wacom Tablet =
Install xf86-input-wacom from AUR - if you installed aurpac like me:
+
See [[Wacom tablet]].
  $ 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 =
 
= Optimizing battery lifetime =
Line 123: Line 24:
  
 
== 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
 
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 =
 
= Mapping screen-key to something that makes sense =
Line 182: Line 46:
  
 
= Script for changing orientation =  
 
= Script for changing orientation =  
# nano -w /usr/bin/rotate
 
  
#!/bin/bash
+
{{hc|/usr/bin/rotate|<nowiki>
+
#!/bin/bash
#### rotate.sh - A script for tablet PCs to rotate the display.
+
 
+
#### 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/
+
## 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)
+
## https://wiki.archlinux.org/index.php/Tablet_PC
+
## REQUIRES: linuxwacom (https://sourceforge.net/projects/linuxwacom/)
#### Function(s)
+
 
function set_normal {
+
#### Function(s)
  xrandr -o normal
+
function set_normal {
  xsetwacom set "stylus" Rotate NONE
+
xrandr -o normal
  xsetwacom set "cursor" Rotate NONE
+
xsetwacom set "stylus" Rotate NONE
  xsetwacom set "eraser" Rotate NONE
+
xsetwacom set "cursor" Rotate NONE
  orientation="normal"
+
xsetwacom set "eraser" Rotate NONE
}
+
orientation="normal"
+
}
function set_left {
+
 
  xrandr -o left
+
function set_left {
  xsetwacom set "stylus" Rotate CCW
+
xrandr -o left
  xsetwacom set "cursor" Rotate CCW
+
xsetwacom set "stylus" Rotate CCW
  xsetwacom set "eraser" Rotate CCW
+
xsetwacom set "cursor" Rotate CCW
  orientation="left"
+
xsetwacom set "eraser" Rotate CCW
}
+
orientation="left"
+
}
#### Variable(s)
+
 
orientation="$(xrandr --query --verbose | grep '(normal left inverted right) 0mm x 0mm' | awk '{print $5}')"
+
#### 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

Latest revision as of 17:18, 17 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.

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