<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0">
	<channel>
		<title>LIKEN Apuntes</title>
		<link>http://liken.otsoa.net</link>
		<description><![CDATA[Liken Notes]]></description>
		<copyright>Copyright 2006, liken</copyright>
		<managingEditor>liken@otsoa.net</managingEditor>
		<language>en-us</language>

		<generator>FlatPress</generator>
								<item>
		
			<title>Installing Linux, Ubuntu 8.04 Hardy, on a IBM Thinkpad X41 Tablet</title>
			<link>http://liken.otsoa.net/blog/index.php?entry=entry080617-120522</link>
			<description><![CDATA[	<blockquote><p>
UPDATE Aug 08 <strong><em>AUTOMATIC SCREEN ORIENTATION (based on HDAPS Orientation Sensor)</em></strong><br />
(See Below).
</p></blockquote>
	<p>This document describes the process of configuring Linux, Ubuntu 8.04 Hardy (release 2008) on a IBM ThinkPad X41 Tablet, with my scripts and patches to download.</p>
	<p><strong>ENABLE STYLUS</strong></p>
	<p>/etc/X11/xorg.conf  </p>
	<pre>#Uncomment&nbsp;if&nbsp;you&nbsp;have&nbsp;a&nbsp;wacom&nbsp;tablet
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InputDevice&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"stylus"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"SendCoreEvents"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InputDevice&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"cursor"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"SendCoreEvents"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InputDevice&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"eraser"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"SendCoreEvents"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#InputDevice&nbsp;&nbsp;&nbsp;&nbsp;"Synaptics&nbsp;Touchpad"</pre>
	<p>apt-get install wacom-tools</p>
	<p>To download <a href="http://liken.otsoa.net/blog/../pub/x41t/xorg.conf">xorg.conf</a>, for reference.</p>
	<p><strong>FINGERPRINT READER AND HDAPS SENSOR</strong></p>
	<p><img src="http://liken.otsoa.net/blog/../pub/x41t/x41hdaps_t.jpg" alt="x41hdaps_t.jpg" title="x41hdaps_t.jpg"  class="center" width="300" height="225" /></p>
	<p>/etc/modules</p>
	<p>Add:</p>
	<pre>
#Required&nbsp;for&nbsp;Fingerprint&nbsp;Reader
uinput&nbsp;&nbsp;
#Thinkpad&nbsp;access&nbsp;to&nbsp;the&nbsp;embedded&nbsp;controller.&nbsp;Battery
tp_smapi&nbsp;&nbsp;
#IBM&nbsp;Active&nbsp;Protection&nbsp;System&nbsp;and&nbsp;Orientation&nbsp;Sensor
hdaps_ec&nbsp;&nbsp;
</pre>
	<p>For <em>Fingerprint sensor</em> see <a href="http://www.thinkwiki.org/wiki/How_to_enable_the_fingerprint_reader_with_ThinkFinger">How_to_enable_the_fingerprint_reader_with_ThinkFinger</a> and my <a href="http://liken.otsoa.net/blog/index.php?entry=entry080301-154428">entry</a>.</p>
	<p>To try <em>orientation sensor</em>, apt-get install hdapsd hdaps-utils, then use hdaps-gl.<br />
Add this to /etc/modprobe.d/options to correct orientation.</p>
	<pre>#Hdaps&nbsp;Orientation
options&nbsp;hdaps&nbsp;invert=3
options&nbsp;hdaps_ec&nbsp;invert=3</pre>
	<p><strong>SCRIPT TO ROTATE SCREEN, ACPI SWIVEL EVENTS AND TABLET BUTTONS</strong></p>
	<p><a href="http://liken.otsoa.net/blog/../pub/x41t/x41rot.jpg"><img src="http://liken.otsoa.net/blog/../pub/x41t/x41rot_t.jpg" alt="x41rot_t.jpg" title="x41rot_t.jpg"  class="center" width="300" height="256" /></a></p>
	<p>I have made this script in /usr/local/bin/rotatetablet (it&#8217;s is based on a script by Saikat Guha found <a href="http://www.thinkwiki.org/wiki/Installing_Fedora_8_on_a_ThinkPad_X41_Tablet">here</a>). It rotates screen, rotates stylus, changes tablet page down/up keys, and deactivate compiz if active (Because Compiz freezes with xrand )*.  Arguments are [left&#124;right&#124;inverted&#124;normal] or empty for next.</p>
	<pre>#!/bin/bash
	
#STATUS_FILE=~/.rotate-status
STATUS_FILE=/tmp/.rotate-status
	
##################&nbsp;Compiz&nbsp;Prevention
function&nbsp;compiz_on&nbsp;{
&nbsp;&nbsp;&nbsp;USER=`ps&nbsp;-ef&nbsp;&#124;grep&nbsp;metacity&nbsp;&#124;grep&nbsp;-v&nbsp;grep&#124;awk&nbsp;-F"&nbsp;"&nbsp;'{print&nbsp;$1}'`
&nbsp;&nbsp;&nbsp;#if&nbsp;[&nbsp;"$(pidof&nbsp;metacity)"&nbsp;]
&nbsp;&nbsp;&nbsp;if&nbsp;[&nbsp;"$USER"&nbsp;]
&nbsp;&nbsp;&nbsp;then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;'Activating&nbsp;Compiz...'
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#DISPLAY=":0.0"&nbsp;sudo&nbsp;-H&nbsp;-u&nbsp;$USER&nbsp;/usr/bin/compiz&nbsp;--replace&nbsp;&#038;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#DISPLAY=":0.0"&nbsp;sudo&nbsp;-H&nbsp;-u&nbsp;$USER&nbsp;/usr/bin/emerald&nbsp;--replace&nbsp;&#038;
&nbsp;&nbsp;&nbsp;fi
}
	
function&nbsp;compiz_off&nbsp;{
&nbsp;&nbsp;&nbsp;USER=`ps&nbsp;-ef&nbsp;&#124;&nbsp;grep&nbsp;compiz.real&nbsp;&#124;&nbsp;grep&nbsp;-v&nbsp;grep&nbsp;&#124;&nbsp;awk&nbsp;-F"&nbsp;"&nbsp;'{print&nbsp;$1}'`
&nbsp;&nbsp;&nbsp;#if&nbsp;[&nbsp;"$(pidof&nbsp;compiz.real)"&nbsp;]
&nbsp;&nbsp;&nbsp;if&nbsp;[&nbsp;"$USER"&nbsp;]
&nbsp;&nbsp;&nbsp;then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;'Compiz&nbsp;Active.&nbsp;Deactivating...'
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DISPLAY=":0.0"&nbsp;sudo&nbsp;-H&nbsp;-u&nbsp;$USER&nbsp;/usr/bin/metacity&nbsp;--replace&nbsp;&#038;
&nbsp;&nbsp;&nbsp;fi
}
##################################################
	
########################&nbsp;Keycodes&nbsp;PgUp/PgDown
function&nbsp;keymap()&nbsp;{
&nbsp;&nbsp;&nbsp;USER=`who&nbsp;&#124;grep&nbsp;tty7&nbsp;&#124;awk&nbsp;-F"&nbsp;"&nbsp;'{print&nbsp;$1}'`
&nbsp;&nbsp;&nbsp;if&nbsp;[&nbsp;"$USER"&nbsp;]
&nbsp;&nbsp;&nbsp;then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;"$1"&nbsp;in
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;'Modifying&nbsp;xmodmap&nbsp;...'
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DISPLAY=":0.0"&nbsp;sudo&nbsp;-H&nbsp;-u&nbsp;$USER&nbsp;xmodmap&nbsp;-e&nbsp;'keycode&nbsp;105&nbsp;=&nbsp;Prior'
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DISPLAY=":0.0"&nbsp;sudo&nbsp;-H&nbsp;-u&nbsp;$USER&nbsp;xmodmap&nbsp;-e&nbsp;'keycode&nbsp;99&nbsp;=&nbsp;Next'
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;'xmodmap&nbsp;normal&nbsp;...'
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DISPLAY=":0.0"&nbsp;sudo&nbsp;-H&nbsp;-u&nbsp;$USER&nbsp;xmodmap&nbsp;-e&nbsp;'keycode&nbsp;105&nbsp;=&nbsp;Next'
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DISPLAY=":0.0"&nbsp;sudo&nbsp;-H&nbsp;-u&nbsp;$USER&nbsp;xmodmap&nbsp;-e&nbsp;'keycode&nbsp;99&nbsp;=&nbsp;Prior'
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;esac
&nbsp;&nbsp;&nbsp;fi
}
###############################
function&nbsp;rotate()&nbsp;{
	
&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;"$1"&nbsp;in
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3&#124;right)&nbsp;N=3;&nbsp;T=cw&nbsp;;&nbsp;compiz_off&nbsp;;&nbsp;keymap&nbsp;0&nbsp;;;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1&#124;left)&nbsp;N=1;&nbsp;T=ccw&nbsp;;&nbsp;compiz_off&nbsp;;&nbsp;keymap&nbsp;1&nbsp;;;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&#124;inverted)&nbsp;N=2;&nbsp;T=half&nbsp;;&nbsp;compiz_off;&nbsp;keymap&nbsp;0&nbsp;;;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&#124;normal)&nbsp;N=0;&nbsp;T=none&nbsp;;&nbsp;compiz_on&nbsp;;&nbsp;keymap&nbsp;0&nbsp;;;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;-e&nbsp;"Usage:\n&nbsp;&nbsp;$(basename&nbsp;$0)&nbsp;[left&#124;right&#124;inverted&#124;normal]";
&nbsp;echo&nbsp;-e&nbsp;"if&nbsp;no&nbsp;option&nbsp;is&nbsp;given,&nbsp;rotates&nbsp;the&nbsp;screen&nbsp;90&nbsp;degrees&nbsp;to&nbsp;the&nbsp;right.\n";
	
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit&nbsp;1
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;;
&nbsp;&nbsp;&nbsp;&nbsp;esac
	
&nbsp;&nbsp;&nbsp;&nbsp;#xrandr&nbsp;-o&nbsp;$N&nbsp;&#038;&nbsp;\
	
&nbsp;&nbsp;&nbsp;&nbsp;#More&nbsp;secure
&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;[&nbsp;"`/usr/bin/xrandr&nbsp;-o&nbsp;$N&nbsp;-v&nbsp;&#124;&nbsp;grep&nbsp;-i&nbsp;'randr'&nbsp;&#124;&nbsp;wc&nbsp;-l`"&nbsp;-ne&nbsp;"1"&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;'!!&nbsp;Something&nbsp;went&nbsp;wrong...'
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;export&nbsp;DISPLAY=":0.0"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;export&nbsp;XAUTHORITY=/var/lib/gdm/\:0.Xauth
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#/usr/bin/xset&nbsp;-display&nbsp;$DISPLAY&nbsp;dpms
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;'Trying&nbsp;to&nbsp;unrotate&nbsp;again...'
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/usr/bin/xrandr&nbsp;-o&nbsp;$N&nbsp;&#038;
&nbsp;&nbsp;&nbsp;&nbsp;fi
	
&nbsp;&nbsp;&nbsp;&nbsp;xsetwacom&nbsp;set&nbsp;stylus&nbsp;Rotate&nbsp;$T&nbsp;&#038;&nbsp;\
&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;$N&nbsp;&gt;&nbsp;$STATUS_FILE
}
	
if&nbsp;[&nbsp;"$#"&nbsp;==&nbsp;"0"&nbsp;];&nbsp;then
&nbsp;&nbsp;&nbsp;&nbsp;rotate&nbsp;$(((3+0$(cat&nbsp;$STATUS_FILE&nbsp;2&gt;/dev/null))%4))
else
&nbsp;&nbsp;&nbsp;&nbsp;rotate&nbsp;$1
fi
</pre>
	<p>To download <a href="http://liken.otsoa.net/blog/../pub/x41t/rotatetablet">rotatetablet</a> script. (Make it executable with chmod +x )</p>
	<p>Then create these 4 files to call it in response to acpi events:</p>
	<p>/etc/acpi/events/x41t-swivel-down</p>
	<pre>#&nbsp;/etc/acpi/events/x41t-swivel-down
#&nbsp;called&nbsp;when&nbsp;tablet&nbsp;head&nbsp;swivels&nbsp;down
event=ibm/hotkey&nbsp;HKEY&nbsp;00000080&nbsp;00005009
action=/etc/acpi/x41tsdown.sh</pre>
	<p>/etc/acpi/events/x41t-swivel-up</p>
	<pre>#&nbsp;/etc/acpi/events/x41t-swivel-up
#&nbsp;called&nbsp;when&nbsp;tablet&nbsp;head&nbsp;swivels&nbsp;up
event=ibm/hotkey&nbsp;HKEY&nbsp;00000080&nbsp;0000500a
action=/etc/acpi/x41tsup.sh</pre>
	<p>/etc/acpi/x41tsdown.sh     (with chmod +x)</p>
	<pre>#!/bin/sh
#/etc/acpi/x41tsdown.sh
	
echo&nbsp;'Rotating&nbsp;Tablet...'
/usr/local/bin/rotatetablet&nbsp;right</pre>
	<p>/etc/acpi/x41tsup.sh         (with chmod +x)</p>
	<pre>#!/bin/sh
#/etc/acpi/x41tsup.sh
	
echo&nbsp;'Unrotating&nbsp;Tablet...'
/usr/local/bin/rotatetablet&nbsp;normal</pre>
	<p>I use keylaunch (apt-get install keylaunch) to enable tablet buttons. It can be automatically started in Gnome Session programs. First button calls previous rotatetablet script and  second one calls cellwriter program for tablets (apt-get install cellwriter) .</p>
	<p>In $HOME/.keylaunchrc </p>
	<pre>
key=...XF86RotateWindows:/usr/local/bin/rotatetablet
key=...F21:cellwriter
</pre>
	<p>In $HOME/.Xmodmap</p>
	<pre>
!&nbsp;back&nbsp;and&nbsp;forward&nbsp;browser&nbsp;keys
keycode&nbsp;234&nbsp;=&nbsp;F19
keycode&nbsp;233&nbsp;=&nbsp;F20
	
!Thinkpad&nbsp;Tablet&nbsp;Rotate
keycode&nbsp;203&nbsp;=&nbsp;XF86RotateWindows
!Thinkpad&nbsp;Tablet&nbsp;Menu
keycode&nbsp;193&nbsp;=&nbsp;F21
!Thinkpad&nbsp;Access&nbsp;IBM
keycode&nbsp;159&nbsp;=&nbsp;F22
!Thinkpad&nbsp;Tablet&nbsp;Reset
keycode&nbsp;146&nbsp;=&nbsp;F23
</pre>
	<p>&#8212;&#8212;&#8212;&#8212;-<br />
[*] It&#8217;s possible to deactivate Compiz windows manager by default, edit /usr/share/gnome/default.session, and replace line: </p>
	<pre>0,RestartCommand=gnome-wm&nbsp;--sm-client-id&nbsp;default0</pre>
	<p>by </p>
	<pre>0,RestartCommand=gnome-wm&nbsp;--default-wm&nbsp;/usr/bin/metacity&nbsp;--sm-client-id&nbsp;default0</pre>
	<p>&#8212;&#8212;&#8212;&#8212;&#8212;</p>
	<p><strong>BOOT IN CONSOLE MODE, AND WITH COLORS. [OPTIONAL]</strong></p>
	<p><img src="http://liken.otsoa.net/blog/../pub/x41t/x41boot_t.jpg" alt="x41boot_t.jpg" title="x41boot_t.jpg"  class="center" width="300" height="225" /></p>
	<p>For boot in console mode:</p>
	<p>/boot/grub/menu.lst</p>
	<p>Add to kernel options vga=0&#215;317 and remove splash.</p>
	<pre>
kernel&nbsp;&nbsp;&nbsp;/boot/vmlinuz-2.6.24-19-generic&nbsp;root=...&nbsp;ro&nbsp;quiet&nbsp;vga=0x317&nbsp;nohz=off&nbsp;
</pre>
	<p>Then grub-install /dev/sda</p>
	<p>In /etc/modprobe.d/blacklist-framebuffer, comment #blacklist vesafb to enable vesa framebuffer.<br />
In /etc/initramfs-tools/modules, add </p>
	<pre>#Framebuffer&nbsp;modules
fbcon
vesafb
</pre>
	<p>Then update-initramfs.</p>
	<p>To activate colors I have done a patch for file /etc/lsb-base-logging.sh.<br />
Localize the first line and comment inside lines. Leave it like this:</p>
	<pre>
&nbsp;if&nbsp;[&nbsp;"$COL"&nbsp;]&nbsp;&#038;&nbsp;&#038;&nbsp;[&nbsp;-x&nbsp;"$TPUT"&nbsp;];&nbsp;then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#printf&nbsp;"\r"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#$TPUT&nbsp;hpa&nbsp;$COL
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#if&nbsp;[&nbsp;"$1"&nbsp;-eq&nbsp;0&nbsp;];&nbsp;then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;"[&nbsp;OK&nbsp;]"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#else
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;&nbsp;&nbsp;&nbsp;printf&nbsp;'['
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;&nbsp;&nbsp;&nbsp;$TPUT&nbsp;setaf&nbsp;1&nbsp;#&nbsp;red
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;&nbsp;&nbsp;&nbsp;printf&nbsp;fail
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;&nbsp;&nbsp;&nbsp;$TPUT&nbsp;op&nbsp;#&nbsp;normal
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;']'
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#fi
	
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#PATCH
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;COLS=`$TPUT&nbsp;cols`
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;[&nbsp;-n&nbsp;"$COLS"&nbsp;];&nbsp;then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;COL=`$EXPR&nbsp;$COLS&nbsp;-&nbsp;7`
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;COL=73
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fi
	
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UP=`$TPUT&nbsp;cuu1`
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;END=`$TPUT&nbsp;hpa&nbsp;$COL`
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;START=`$TPUT&nbsp;hpa&nbsp;0`
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RED=`$TPUT&nbsp;setaf&nbsp;1`
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NORMAL=`$TPUT&nbsp;op`
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GREEN=`$TPUT&nbsp;setaf&nbsp;2`
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;[&nbsp;$1&nbsp;-eq&nbsp;0&nbsp;];&nbsp;then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;"$END[${GREEN}&nbsp;OK&nbsp;${NORMAL}]"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;"$END[${RED}fail${NORMAL}]"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fi
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#END&nbsp;PATCH
	
&nbsp;else
</pre>
	<p>To download patched <a href="http://liken.otsoa.net/blog/../pub/x41t/lsb-base-logging.sh">lsb-base-logging.sh</a></p>
	<p><strong> KEYBOARD IN GDM AND SCREEN LOCK</strong></p>
	<p><img src="http://liken.otsoa.net/blog/../pub/x41t/x41keyb_t.jpg" alt="x41keyb_t.jpg" title="x41keyb_t.jpg"  class="center" width="300" height="300" /></p>
	<p>apt-get install cellwriter</p>
	<p><em>GDM</em></p>
	<p>In /etc/gdm/Init/Default, before exit 0, add:</p>
	<pre>/usr/bin/cellwriter&nbsp;--keyboard-only&nbsp;--read-only&nbsp;--window-y=600&nbsp;--window-x=200&nbsp;&#038;</pre>
	<p>In /etc/gdm/PostLogin/Default, add:</p>
	<pre>killall&nbsp;-u&nbsp;root&nbsp;cellwriter&nbsp;&#038;</pre>
	<p>In /etc/gdm/PostSession/Default, before exit 0, add:</p>
	<pre>sudo&nbsp;killall&nbsp;-u&nbsp;$USER&nbsp;cellwriter</pre>
	<p><em>SCREEN LOCK</em></p>
	<p>Edit Gnome Registry with gconf-editor. In apps/gnome-screensaver</p>
	<pre>embedded_keyboard_command&nbsp;cellwriter&nbsp;--keyboard-only&nbsp;--xid
embedded_keyboard_enabled&nbsp;[TRUE]</pre>
	<p><strong>SCREENSHOT, LINUX ON THINKPAD X41 TABLET</strong></p>
	<p><a href="http://liken.otsoa.net/blog/../pub/x41t/ubudesk.jpg"><img src="http://liken.otsoa.net/blog/../pub/x41t/ubudesk_t.jpg" alt="ubudesk_t.jpg" title="ubudesk_t.jpg"  class="center" width="300" height="225" /></a></p>
	<blockquote><p>
/*<br />
UPDATE Aug 08<br />
*/
</p></blockquote>
	<p><strong>AUTOMATIC SCREEN ORIENTATION (based on HDAPS Orientation Sensor)</strong></p>
	<p><em>Scripts (and instructions) by Dave Clawson</em></p>
	<p>apt-get install libproc-process-perl  (To install Perl module Proc::ProcessTree)</p>
	<p>Download&#8230;<br />
orientation tool: <a href="http://liken.otsoa.net/blog/../pub/x41t/orient">orient</a><br />
orientation daemon: <a href="http://liken.otsoa.net/blog/../pub/x41t/orientd">orientd</a><br />
rotatetablet script: <a href="http://liken.otsoa.net/blog/../pub/x41t/rotatetablet">rotatetablet</a></p>
	<p>The instructions to do this are as such:</p>
	<p>1. Place the attached scripts (&#8217;orient&#8217; and &#8216;orientd&#8217;) in /usr/local/bin and make them executable<br />
2. Substitute /etc/acpi/x41tsup.sh and /etc/acpi/x41sdown.sh with these new versions and make sure that they&#8217;re executable.</p>
	<p>/etc/acpi/x41tsdown.sh         (with chmod +x)</p>
	<pre>#!/bin/sh
#/etc/acpi/x41tsdown.sh
	
#echo&nbsp;'Rotating&nbsp;Tablet...'
#/usr/local/bin/rotatetablet&nbsp;right
	
echo&nbsp;'Starting&nbsp;orientd...'
/usr/local/bin/orientd&nbsp;start</pre>
	<p>/etc/acpi/x41tsup.sh         (with chmod +x)</p>
	<pre>#!/bin/sh
#/etc/acpi/x41tsup.sh
	
echo&nbsp;'Stopping&nbsp;orientd...'
/usr/local/bin/orientd&nbsp;stop&nbsp;
	
echo&nbsp;'Unrotating&nbsp;Tablet...'
/usr/local/bin/rotatetablet&nbsp;normal</pre>
	<p>3. Put the following line in /etc/rc.local (before the &#8220;exit 0&#8221; line):</p>
	<pre>/usr/local/bin/orient&nbsp;reorient</pre>
	<p>&#8230;and that should do it.</p>
	<blockquote><p>
NOTE: /usr/local/bin/rotatetablet needs the &#8216;compiz &#8211;replace&#8217; line uncommented if you use compiz.
</p></blockquote>
]]></description>
						<guid isPermaLink="true">http://liken.otsoa.net/blog/index.php?entry=entry080617-120522</guid>

			<author>liken liken@otsoa.net</author>
			<pubDate>Tue, 17 Jun 2008 12:05:22 +0200</pubDate>
			<comments>http://liken.otsoa.net/blog/comments.php?entry=entry080617-120522</comments>
			
			</item>
						<item>
		
			<title>VMWARE en Linux Kernel 2.6.24 y con Wireless Bridge</title>
			<link>http://liken.otsoa.net/blog/index.php?entry=entry080301-173023</link>
			<description><![CDATA[	<blockquote><p>(Translation into English below)</p></blockquote>
	<p>Los modulos VMWARE no compilan en el Kernel 2.6.24 (No esta aun soportado).</p>
	<p>El patch oficial <a href="ftp://platan.vc.cvut.cz/pub/vmware/vmware-any-any-update115.tar.gz">vmware-any-any-update115</a>,  <a href="ftp://platan.vc.cvut.cz/pub/vmware">ftp://platan.vc.cvut.cz/pub/vmware</a>, resuelve problemas con algunos kernels anteriores pero tampoco compila en el 2.6.24.</p>
	<p><a href="http://petermag.blogspot.com/2008/01/installing-vmware-workstation-602-on.html">Peter Teoh</a> ha creado el patch no oficial <a href="http://vmkernelnewbies.googlegroups.com/web/vmware-any-any-update-116.tgz">vmware-any-any-update-116.tgz</a> que si compila en 2.6.24 modificando el modulo vmmon.tar, tomando como base el patch 115 anterior.</p>
	<p>Pero los patch vmware-any-any-update <strong>no soportan el modo bridge con tarjetas de red wireless</strong>. Se puede leer en el source del modulo vmnet.tar, en smac_linux.x386.c:</p>
	<blockquote><p>KERN_WARNING vmnet: You are trying to use wireless bridged networking together with vmware-any-any-update.  This is not supported configuration, and your wireless bridge will probably not work</p></blockquote>
	<p>Tras investigar un poco, el problema es que esta funcion solo la soporta el modulo vmnet.tar que viene con el vmware original, que incluye los binarios precompilados <em>smac_linux.x386.o_shipped</em> y <em>smac_linux.x86_64.o_shipped</em> que dan soporte a esta funcion. Pero los modulos originales no valen porque no funcionan en el kernel 2.6.24. </p>
	<p>Tras investigar algo mas, hay una forma de conseguir que el  vmware-any-any-update115 soporte esta funcion. </p>
	<p>Las instrucciones son:</p>
	<p>En /usr/local/lib/vmware/modules/source/ estan los modulos originales tras instalar vmware.</p>
	<pre>tar&nbsp;xvf&nbsp;vmnet.tar&nbsp;&nbsp;//&nbsp;El&nbsp;original&nbsp;de&nbsp;vmware
mv&nbsp;vmnet.tar&nbsp;vmnet.tar_orig
mv&nbsp;vmnet-only&nbsp;vmnet-only_orig
tar&nbsp;xvf&nbsp;vmnet.tar&nbsp;//&nbsp;El&nbsp;de&nbsp;vmware-any-any-update-115
mv&nbsp;vmnet.tar&nbsp;vmnet.tar_115
rm&nbsp;vmnet-only/smac_linux.x386.c
rm&nbsp;vmnet-only/smac_linux.x86_64.c
cp&nbsp;vmnet-only_orig/smac*&nbsp;vmnet-only&nbsp;&nbsp;&nbsp;//Se&nbsp;pasan&nbsp;los&nbsp;binarios&nbsp;y&nbsp;las&nbsp;cabeceras
tar&nbsp;ccfs&nbsp;vmnet.tar&nbsp;vmnet-only</pre>
	<p>Con esto generamos el nuevo vmnet.tar con soporte Wireless. Y con el vmmon.tar modificado del 116 podemos regenerar el vmware-any-any-update115 con soporte para Kernel 2.6.24 y Wireles Bridge. </p>
	<p>Se puede bajar aqui: <a href="http://liken.otsoa.net/blog/../pub/vmware/vmware-any-any-update-115-K2.6.24-WirelessBridge.tar.gz">vmware-any-any-update-115-K2.6.24-WirelessBridge.tar.gz</a></p>
	<p>Otras consideraciones para instalar VMWARE en kernel nuevos:</p>
	<blockquote><p> nohz=off  // Como opcion al kernel para desactivar tickless<br />
 /etc/init.d/mountdevsubfs.sh  // Descomentar #Magic to make /proc/bus/usb work</p></blockquote>
	<p><em>Testeado en Vmware Workstation 6.02, Ubuntu 8.04 (Hardy) </em></p>
	<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
	<p><strong>VMWARE Linux Kernel 2.6.24  and  Wireless Bridge</strong></p>
	<p>VMware modules do not compile in the Kernel 2.6.24 (Not even supported).</p>
	<p>The official patch <a href="ftp://platan.vc.cvut.cz/pub/vmware/vmware-any-any-update115.tar.gz">vmware-any-any-update115</a>,  from <a href="ftp://platan.vc.cvut.cz/pub/vmware">ftp://platan.vc.cvut.cz/pub/vmware</a>, solves problems with some earlier kernels, but it does not compile in 2.6.24.</p>
	<p><a href="http://petermag.blogspot.com/2008/01/installing-vmware-workstation-602-on.html">Peter Teoh</a> has created the unofficial patch <a href="http://vmkernelnewbies.googlegroups.com/web/vmware-any-any-update-116.tgz">vmware-any-any-update-116.tgz</a> that compiles with 2.6.24 modifying the module vmmon.tar, based on the previous 115 patch.</p>
	<p>But vmware-any-any-update patchs <strong>do not support bridge networking with wireless network cards</strong>. It can be read in the source of module vmnet.tar, smac_linux.x386.c: </p>
	<blockquote><p>KERN_WARNING vmnet: You are trying to use wireless networking bridged together with vmware-any-any-update. This configuration is not supported, and your wireless bridge will probably not work </p></blockquote>
	<p>After investigating a bit, the problem is this function is only supported in vmnet.tar module that comes with the original vmware, which includes precompiled binaries <em>smac_linux.x386.o_shipped</em> and <em>smac_linux.x86_64.o_shipped</em> which support this function. But the original modules are not worth because they do not compile in the kernel 2.6.24. </p>
	<p>After investigating something more, there is a way to make the vmware-any-any-update115 support this function. </p>
	<p>The instructions are: </p>
	<p>In /usr/local/lib/vmware/modules/source/ are vmware original modules after install. </p>
	<pre>tar&nbsp;xvf&nbsp;vmnet.tar&nbsp;&nbsp;//&nbsp;vmnet.tar&nbsp;original&nbsp;vmware
mv&nbsp;vmnet.tar&nbsp;vmnet.tar_orig
mv&nbsp;vmnet-only&nbsp;vmnet-only_orig
tar&nbsp;xvf&nbsp;vmnet.tar&nbsp;//&nbsp;vmnet.tar&nbsp;from&nbsp;vmware-any-any-update-115
mv&nbsp;vmnet.tar&nbsp;vmnet.tar_115
rm&nbsp;vmnet-only/smac_linux.x386.c
rm&nbsp;vmnet-only/smac_linux.x86_64.c
cp&nbsp;vmnet-only_orig/smac*&nbsp;vmnet-only&nbsp;&nbsp;&nbsp;//copy&nbsp;smac&nbsp;binaries&nbsp;and&nbsp;headers
tar&nbsp;ccfs&nbsp;vmnet.tar&nbsp;vmnet-only</pre>
	<p>This generates the new vmnet.tar with wireless support. And with modified vmmon.tar from 116 we can regenerate the vmware-any-any-update115 with support for Kernel 2.6.24 and Wireless Bridge. </p>
	<p>It can be downloaded here: <a href="http://liken.otsoa.net/blog/../pub/vmware/vmware-any-any-update-115-K2.6.24-WirelessBridge.tar.gz">vmware-any-any-update-115-K2.6.24-WirelessBridge.tar.gz</a></p>
	<p>Other considerations to install VMware in new kernels: </p>
	<blockquote><p> nohz=off  // As the kernel option to disable tickless en grub/menu.lst<br />
 /etc/init.d/mountdevsubfs.sh  // uncomment #Magic to make /proc/bus/usb work</p></blockquote>
	<p><em>Tested with Vmware Workstation 6.02, Ubuntu 8.04 (Hardy)</em></p>
]]></description>
						<guid isPermaLink="true">http://liken.otsoa.net/blog/index.php?entry=entry080301-173023</guid>

			<author>liken liken@otsoa.net</author>
			<pubDate>Sat, 01 Mar 2008 17:30:23 +0100</pubDate>
			<comments>http://liken.otsoa.net/blog/comments.php?entry=entry080301-173023</comments>
			
			</item>
					
				
	</channel>
</rss>