<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>TecnoPrawn&#039;s Blog</title>
	<atom:link href="http://tecnoprawn.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://tecnoprawn.wordpress.com</link>
	<description></description>
	<lastBuildDate>Fri, 18 Feb 2011 13:37:33 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='tecnoprawn.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://0.gravatar.com/blavatar/8895dcbec1726ba92cb74092f791e3dc?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>TecnoPrawn&#039;s Blog</title>
		<link>http://tecnoprawn.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://tecnoprawn.wordpress.com/osd.xml" title="TecnoPrawn&#039;s Blog" />
	<atom:link rel='hub' href='http://tecnoprawn.wordpress.com/?pushpress=hub'/>
		<item>
		<title>MATLAB R2008b on Linux</title>
		<link>http://tecnoprawn.wordpress.com/2011/02/18/matlab-r2008b-on-linux/</link>
		<comments>http://tecnoprawn.wordpress.com/2011/02/18/matlab-r2008b-on-linux/#comments</comments>
		<pubDate>Fri, 18 Feb 2011 13:27:49 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[matlab]]></category>

		<guid isPermaLink="false">http://tecnoprawn.wordpress.com/?p=146</guid>
		<description><![CDATA[If after installing Matlab on Linux you are experiencing troubles like Unable to initialize com.mathworks.mwswing.MJStartupFatal Error on startup: Failure loading desktop class or &#8230; Java is not currently available &#160; Here is the way I resolved the issue on my Debian Lenny : &#160; I installed the JDK from the Oracle&#8217;s download page (following the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tecnoprawn.wordpress.com&amp;blog=10977879&amp;post=146&amp;subd=tecnoprawn&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>If after installing Matlab on Linux you are experiencing troubles like</p>
<blockquote><p>Unable to initialize com.mathworks.mwswing.MJStartupFatal Error on startup: Failure loading desktop class</p></blockquote>
<p>or</p>
<blockquote><p>&#8230; Java is not currently available</p></blockquote>
<p>&nbsp;</p>
<p>Here is <strong>the way I resolved the issue</strong> on my Debian Lenny :</p>
<p>&nbsp;</p>
<p>I installed the JDK from the <a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html" target="_blank">Oracle&#8217;s download page</a> (following the<a href="http://www.oracle.com/technetwork/java/javase/index-137561.html#linux"> instructions</a>). I chose the directory  /usr/lib/jvm/ for the installation.</p>
<p>Then I created a symbolic link for Motif (as root) :</p>
<blockquote><p>ln -s /usr/lib/jvm/jdk1.6.0_24/jre/lib/i386/motif21/ /usr/lib/jvm/jdk1.6.0_2/jre/lib/i386/motif12</p></blockquote>
<p>And finally I set the environment variables :</p>
<blockquote><p>export MATLAB_JAVA=/usr/lib/jvm/jdk1.6.0_24/jre/</p>
<p>export AWT_TOOLKIT=MToolkit</p></blockquote>
<p>That&#8217;s all. Now I am able to launch Matlab :</p>
<blockquote><p>&lt;matlab_directory&gt;/bin/matlab</p></blockquote>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/tecnoprawn.wordpress.com/146/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/tecnoprawn.wordpress.com/146/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/tecnoprawn.wordpress.com/146/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/tecnoprawn.wordpress.com/146/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/tecnoprawn.wordpress.com/146/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/tecnoprawn.wordpress.com/146/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/tecnoprawn.wordpress.com/146/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/tecnoprawn.wordpress.com/146/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/tecnoprawn.wordpress.com/146/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/tecnoprawn.wordpress.com/146/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/tecnoprawn.wordpress.com/146/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/tecnoprawn.wordpress.com/146/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/tecnoprawn.wordpress.com/146/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/tecnoprawn.wordpress.com/146/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tecnoprawn.wordpress.com&amp;blog=10977879&amp;post=146&amp;subd=tecnoprawn&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://tecnoprawn.wordpress.com/2011/02/18/matlab-r2008b-on-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b2d6ae22157c502723c7142d6442229e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tecnoprawn</media:title>
		</media:content>
	</item>
		<item>
		<title>Console Disk Cataloguer v2.8 published</title>
		<link>http://tecnoprawn.wordpress.com/2010/01/14/console-disk-cataloguer-v2-7-1-published/</link>
		<comments>http://tecnoprawn.wordpress.com/2010/01/14/console-disk-cataloguer-v2-7-1-published/#comments</comments>
		<pubDate>Thu, 14 Jan 2010 14:07:53 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Script]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[cataloguer]]></category>

		<guid isPermaLink="false">http://tecnoprawn.wordpress.com/?p=136</guid>
		<description><![CDATA[Published the new version of my Console Disk Cataloguer in bash-script: cataloguer2.8 Almost the same functionality but a little refactorized and bug-fixed. Any feedback will be wellcomed.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tecnoprawn.wordpress.com&amp;blog=10977879&amp;post=136&amp;subd=tecnoprawn&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Published the new version of my <strong>Console Disk Cataloguer</strong> in bash-script: <a title="Console Disk Cataloguer" href="http://sites.google.com/site/tecnoprawn/code/cataloguer?attredirects=0&amp;d=1" target="_blank">cataloguer2.8</a></p>
<p>Almost the same functionality but a little refactorized and bug-fixed.</p>
<p>Any feedback will be wellcomed.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/tecnoprawn.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/tecnoprawn.wordpress.com/136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/tecnoprawn.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/tecnoprawn.wordpress.com/136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/tecnoprawn.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/tecnoprawn.wordpress.com/136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/tecnoprawn.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/tecnoprawn.wordpress.com/136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/tecnoprawn.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/tecnoprawn.wordpress.com/136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/tecnoprawn.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/tecnoprawn.wordpress.com/136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/tecnoprawn.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/tecnoprawn.wordpress.com/136/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tecnoprawn.wordpress.com&amp;blog=10977879&amp;post=136&amp;subd=tecnoprawn&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://tecnoprawn.wordpress.com/2010/01/14/console-disk-cataloguer-v2-7-1-published/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b2d6ae22157c502723c7142d6442229e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tecnoprawn</media:title>
		</media:content>
	</item>
		<item>
		<title>dclip</title>
		<link>http://tecnoprawn.wordpress.com/2009/12/17/dclip/</link>
		<comments>http://tecnoprawn.wordpress.com/2009/12/17/dclip/#comments</comments>
		<pubDate>Thu, 17 Dec 2009 21:19:19 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[clipboard]]></category>
		<category><![CDATA[dmenu]]></category>

		<guid isPermaLink="false">http://tecnoprawn.wordpress.com/?p=88</guid>
		<description><![CDATA[dclip is a lightweight clipboard manager that uses dmenu as frontend to show the stored selections and depends on xclip. It tries to unify the mess with different X selections. I recommend nibble&#8217;s fork of dmenu that fixes a problem showing big selections: $ hg clone http://nibble.develsec.org/hg/dmenu_nibble/ You can easily adapt dclip to your system [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tecnoprawn.wordpress.com&amp;blog=10977879&amp;post=88&amp;subd=tecnoprawn&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><strong><a href="http://sites.google.com/site/tecnoprawn/code/dclip?attredirects=0&amp;d=1">dclip</a></strong> is a lightweight clipboard manager that uses <a href="http://tools.suckless.org/dmenu/">dmenu</a> as frontend to show the stored selections and depends on <a href="http://sourceforge.net/projects/xclip/">xclip</a>. It tries to unify the mess with different X selections.</p>
<p>I recommend nibble&#8217;s fork of dmenu that fixes a problem showing big selections:<br />
<code>$ hg clone http://nibble.develsec.org/hg/dmenu_nibble/</code></p>
<p>You can easily adapt <em>dclip</em> to your system by creating keybinds to its &#8216;copy&#8217; and &#8216;paste&#8217; commands.</p>
<p>For example in <a href="http://dwm.suckless.org/">dwm</a>, in order to copy with M+C+c and paste with M+C+v  you can add the following in your config.h:</p>
<p><code>/* commands */<br />
static const char *dclipcmd[] = { "dclip", "paste", "-fn", font, "-nb", normbgcolor, "-nf", normfgcolor, "-s    b", selbgcolor , "-sf", selfgcolor, NULL };</code></p>
<p>and in the <em>keys[]</em> section:</p>
<p><code>{ MODKEY|ControlMask,       XK_c,           spawn,          SHCMD("exec dclip copy") },<br />
{ MODKEY|ControlMask,       XK_v,           spawn,          {.v = dclipcmd } },</code></p>
<p>Hope you will enjoy it.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/tecnoprawn.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/tecnoprawn.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/tecnoprawn.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/tecnoprawn.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/tecnoprawn.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/tecnoprawn.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/tecnoprawn.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/tecnoprawn.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/tecnoprawn.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/tecnoprawn.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/tecnoprawn.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/tecnoprawn.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/tecnoprawn.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/tecnoprawn.wordpress.com/88/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tecnoprawn.wordpress.com&amp;blog=10977879&amp;post=88&amp;subd=tecnoprawn&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://tecnoprawn.wordpress.com/2009/12/17/dclip/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b2d6ae22157c502723c7142d6442229e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tecnoprawn</media:title>
		</media:content>
	</item>
		<item>
		<title>/tmp/Flash* Media Recording Script</title>
		<link>http://tecnoprawn.wordpress.com/2009/05/03/tmpflash-media-recording-script/</link>
		<comments>http://tecnoprawn.wordpress.com/2009/05/03/tmpflash-media-recording-script/#comments</comments>
		<pubDate>Sun, 03 May 2009 01:08:00 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Script]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[media]]></category>

		<guid isPermaLink="false">http://tecnoprawn.wordpress.com/2009/05/03/tmpflash-media-recording-script</guid>
		<description><![CDATA[Imagine that you would like to save the videos on a YouTube playlist into a CD. This tmpmedia_rec.sh script might help you. You can use it with any flash player that&#8217;s create temporary files like /tmp/Flash* Run the script while playing your media. Few seconds after each fully-loaded song/video you will listen a beep indicating [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tecnoprawn.wordpress.com&amp;blog=10977879&amp;post=16&amp;subd=tecnoprawn&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Imagine that you would like to save the videos on a <em>YouTube</em> playlist into a CD.<br />
This <a title="tmpmedia_rec.sh" href="http://sites.google.com/site/tecnoprawn/code/tmpmedia_rec.sh?attredirects=0&amp;d=1" target="_blank">tmpmedia_rec.sh</a> script might help you.<br />
You can use it with any flash player that&#8217;s create temporary files like /tmp/Flash*</p>
<p>Run the script while playing your media. Few seconds after each <strong>fully-loaded</strong> song/video you will listen a <a href="http://www.soundjay.com/button/beep-7.mp3">beep</a> indicating that the file has been saved, in that moment you can &#8220;jump&#8221; to next media.</p>
<p>As an example, for a YouTube playlist called &#8220;funny&#8221; you can run the script like:</p>
<pre>$ tmpmedia_rec.sh funny flv</pre>
<p>and the files will be saved in the destination directory as: <em>funny_&lt;number&gt;.flv</em></p>
<p>You can configure the script parameters at first lines of it.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/tecnoprawn.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/tecnoprawn.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/tecnoprawn.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/tecnoprawn.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/tecnoprawn.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/tecnoprawn.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/tecnoprawn.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/tecnoprawn.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/tecnoprawn.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/tecnoprawn.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/tecnoprawn.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/tecnoprawn.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/tecnoprawn.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/tecnoprawn.wordpress.com/16/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tecnoprawn.wordpress.com&amp;blog=10977879&amp;post=16&amp;subd=tecnoprawn&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://tecnoprawn.wordpress.com/2009/05/03/tmpflash-media-recording-script/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://www.soundjay.com/button/beep-7.mp3" length="6318" type="audio/mpeg" />
	
		<media:content url="http://1.gravatar.com/avatar/b2d6ae22157c502723c7142d6442229e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tecnoprawn</media:title>
		</media:content>
	</item>
		<item>
		<title>Console Disk Cataloguer in bash-script</title>
		<link>http://tecnoprawn.wordpress.com/2009/01/21/console-disk-cataloguer-in-bash-script/</link>
		<comments>http://tecnoprawn.wordpress.com/2009/01/21/console-disk-cataloguer-in-bash-script/#comments</comments>
		<pubDate>Wed, 21 Jan 2009 02:27:00 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Script]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[cataloguer]]></category>

		<guid isPermaLink="false">http://tecnoprawn.wordpress.com/2009/01/21/console-disk-cataloguer-in-bash-script</guid>
		<description><![CDATA[Here it&#8217;s the last version of my Console Disk Cataloguer in bash script. The best points of this programs in my opinion are: 1. Speed adding new disks (just a tree command and a gzip compression) 2. Size of the catalog file: For example, a catalog with 6 dvd&#8217;s stored containing 22500 files distributed in [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tecnoprawn.wordpress.com&amp;blog=10977879&amp;post=15&amp;subd=tecnoprawn&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Here it&#8217;s the last version of my <a title="Console Disk Cataloguer" href="http://sites.google.com/site/tecnoprawn/code/cataloguer?attredirects=0&amp;d=1" target="_blank"><em>Console Disk Cataloguer</em></a> in bash script.</p>
<p>The best points of this programs in my opinion are:</p>
<p>1. Speed adding new disks (just a tree command and a gzip compression)</p>
<p>2. Size of the catalog file: For example, a catalog with 6 dvd&#8217;s stored containing 22500 files distributed in 2608 directories has a size of 290K</p>
<p>3. Portability of the generated catalogs. Independence of them from the cataloguer (plain text file browseable with any text editor)</p>
<p>And, of course, that it&#8217;s free software.</p>
<p>The options of this cataloguer are the following:</p>
<blockquote>
<pre>tecnoprawn@blog:~$ cataloguer
Usage: cataloguer &lt;/path/to/catalog.gz&gt; &lt;option&gt; [parametes_of_the_option]
OPTIONS
Disk:
    -a &lt;path/to/disk&gt; &lt;disk_name&gt;       Adds a new disk to the catalog
    -d &lt;disk_name&gt;                      Deletes a disk
    -i &lt;disk_name&gt;                      Shows disk information (number of files and
                                        directories, size)
    -c &lt;disk_name&gt;                      Lists the content of the disk
    -r &lt;old_name&gt; &lt;new_name&gt;            Renames the disk
Catalog:
    -L                                  Lists all disks in the catalog
Search:
    -f &lt;name&gt;                           Find files and directories
    -F &lt;name&gt;                           Find only directories
cataloguer -?                           Prints this help</pre>
</blockquote>
<p>Any comment, patch or bug report will be apreciated.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/tecnoprawn.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/tecnoprawn.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/tecnoprawn.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/tecnoprawn.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/tecnoprawn.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/tecnoprawn.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/tecnoprawn.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/tecnoprawn.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/tecnoprawn.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/tecnoprawn.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/tecnoprawn.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/tecnoprawn.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/tecnoprawn.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/tecnoprawn.wordpress.com/15/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tecnoprawn.wordpress.com&amp;blog=10977879&amp;post=15&amp;subd=tecnoprawn&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://tecnoprawn.wordpress.com/2009/01/21/console-disk-cataloguer-in-bash-script/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b2d6ae22157c502723c7142d6442229e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tecnoprawn</media:title>
		</media:content>
	</item>
		<item>
		<title>Samsung R50 laptop with Debian GNU/Linux</title>
		<link>http://tecnoprawn.wordpress.com/2008/08/24/samsung-r50-laptop-with-debian-gnulinux/</link>
		<comments>http://tecnoprawn.wordpress.com/2008/08/24/samsung-r50-laptop-with-debian-gnulinux/#comments</comments>
		<pubDate>Sun, 24 Aug 2008 18:28:00 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[laptop]]></category>

		<guid isPermaLink="false">http://tecnoprawn.wordpress.com/2008/08/24/samsung-r50-laptop-with-debian-gnulinux</guid>
		<description><![CDATA[Althought it has been tested on Debian (Lenny), many of this features, specially the kernel-related topics, should work in other GNU/Linux distributions. Contents: 0. Kernel 0.1. Needed Kernel Modules 0.2. Configuration 1. CPU Frequency Scaling 2. Suspend to RAM  3. Suspend to Disk  4. Acpi Events: Power &#38; Sleep buttons   5. Multimedia Keys 6. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tecnoprawn.wordpress.com&amp;blog=10977879&amp;post=14&amp;subd=tecnoprawn&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Althought it has been tested on Debian (Lenny), many of this features, specially the kernel-related topics, should work in other GNU/Linux distributions.</p>
<p><a><img class="alignright" src="http://tecnoprawn.files.wordpress.com/2008/08/samsungr50notebook.jpg?w=200" alt="" /></a></p>
<p>Contents:</p>
<pre>    0. <a href="#0">Kernel</a>
       0.1. <a href="#0.1">Needed Kernel Modules</a>
       0.2. <a href="#0.2">Configuration</a>
    1. <a href="#1">CPU Frequency Scaling</a>
    2. <a href="#2">Suspend to RAM</a>
    3. <a href="#3">Suspend to Disk</a>
    4. <a href="#4">Acpi Events: Power &amp; Sleep buttons</a>
    5. <a href="#5">Multimedia Keys</a>
    6. <a href="#6">Xorg.conf</a>
       6.1. <a href="#6.1">Synaptics Touchpad</a>
       6.2. <a href="#6.2">1280x800 Resolution</a>
       6.3. <a href="#6.3">DRI (Direct Rendering Interface)</a>
    7. <a href="#7">Wireless Card (ipw2200)</a>
    8. <a href="#8">Saving Power/Battery</a>
    9. <a href="#9">External VGA</a>
   10. <a href="#10">Other Issues (PCMCIA, Wired LAN Card, Modem, Card Reader)</a>
   11. <a href="#11">Known Problems</a>
      11.1. <a href="#11.1">Fan</a>
      11.2. <a href="#11.2">Fn-keys Pictograms </a>
      11.3. <a href="#11.3">Button Lid</a>
   12. <a href="http://sites.google.com/site/tecnoprawn/code/lspci-vvnn.txt?attredirects=0&amp;d=1">lspci -vvnn</a>
</pre>
<p><span id="more-14"></span></p>
<hr />0.) <a name="0">KERNEL</a></p>
<p>0.1) <a name="0.1">NEEDED KERNEL MODULES</a></p>
<pre>Module                  Location                                Symbol
------                  --------                                ------
intel-agp               drivers/char/agp/intel-agp.ko           AGP_INTEL
intelfb                 drivers/video/intelfb/intelfb.ko        FB_INTEL
shpchp                  drivers/pci/hotplug/shpchp.ko           HOTPLUG_PCI_SHPC
uhci-hcd                drivers/usb/host/uhci-hcd.ko            USB_UHCI_HCD
ehci-hcd                drivers/usb/host/ehci-hcd.ko            USB_EHCI_HCD
snd-intel8x0            sound/pci/snd-intel8x0.ko               SND_INTEL8X0
snd-intel8x0m                                                   SND_INTEL8X0M
iTCO_wdt                drivers/watchdog/iTCO_wdt.ko            ITCO_WDT
intel-rng               ?? (INTEL RANDOM NUMBER GENERATOR)      ??
piix                    drivers/ide/pci/piix.ko                 BLK_DEV_PIIX
i2c-i801                drivers/i2c/busses/i2c-i801.ko          I2C_I801
b44                     drivers/net/b44.ko                      B44
ipw2200                 drivers/net/wireless/ipw2200.ko         IPW2200
yenta_socket            drivers/pcmcia/yenta_socket.ko          YENTA
firewire-ohci           drivers/firewire/firewire-ohci.ko       FIREWIRE_OHCI
sdhci                   drivers/mmc/host/sdhci.ko               MMC_SDHCI</pre>
<p>0.2) <a name="0.2">CONFIGURATION</a></p>
<p>Here it&#8217;s my <a href="http://sites.google.com/site/tecnoprawn/code/config_linux-2.6.25.9?attredirects=0&amp;d=1">.config</a> file for the Linux kernel version 2.6.25.9 that I use on this laptop. You can use it as a starting point adding/removing features.</p>
<hr />1.) <a name="1">CPU FREQ SCALING</a></p>
<p>You must have SpeedStep activated on BIOS.<br />
In the kernel you must select acpi-cpufreq (X86_APCI_CPUFREQ) as well as the governors you want to use (conservative, ondemand, performance, etc.)</p>
<p>Precompiled kernel Debian packages have this features working good.</p>
<p>The <em>cpufrequtils</em> package makes easier inspecting and setting the CPU frequency (otherwise you can manage it from sysfs or procfs).<br />
Tip: When running high CPU usage processes, if you aren&#8217;t in a rush and you prefer wating more than heating too much your processor you can do something like this:</p>
<pre>cpufreq-set -u 1.07G</pre>
<hr />2.) <a name="2">SUSPEND TO RAM</a></p>
<p>Works out of the box with 2.6.25.9 kernel although there are problems to wake up using previous kernel versions.</p>
<p>I made an alias to enter into suspension mode:</p>
<pre>delta@sr50:~$ cat /root/.bash_alias|grep s2ram
alias s2ram='echo -n mem &gt; /sys/power/state'</pre>
<p>3.) <a name="3">SUSPEND TO DISK</a></p>
<hr />Add to &#8216;kernel&#8217; lines in /boot/grub/menu.lst the option resume=/dev/swap_partition like this:</p>
<pre>delta@sr50:~$ cat /boot/grub/menu.lst |grep vmlinuz-2.6.25.9
kernel          /boot/vmlinuz-2.6.25.9 root=/dev/hda2 resume=/dev/hda4 vga=791 ro
kernel          /boot/vmlinuz-2.6.25.9 root=/dev/hda2 resume=/dev/hda4 vga=791 ro single</pre>
<p>To enter in suspend-to-disk (hibernation) mode:</p>
<pre>delta@sr50:~$ cat /root/.bash_alias|grep s2disk
alias s2disk='echo platform &gt; /sys/power/disk; echo disk &gt; /sys/power/state'</pre>
<hr />4.) <a name="4">ACPI EVENTS: Power &amp; Sleep buttons</a></p>
<p>POWERBTN</p>
<pre>delta@sr50:~$ cat /etc/acpi/events/powerbtn
# /etc/acpi/events/powerbtn
# This is called when the user presses the power button and calls
# /etc/acpi/powerbtn.sh for further processing.
event=button/power
action=/etc/acpi/actions/powerbtn.sh

delta@sr50:~$ cat /etc/acpi/actions/powerbtn.sh
#!/bin/sh
echo platform &gt; /sys/power/disk; echo disk &gt; /sys/power/state</pre>
<p>SLEEPBTN</p>
<pre>delta@sr50:~$ cat /etc/acpi/events/sleepbtn
event=button/sleep
action=/etc/acpi/actions/sleepbtn.sh

delta@sr50:~$ cat /etc/acpi/actions/sleepbtn.sh
#!/bin/sh
echo -n mem &gt; /sys/power/state</pre>
<p>NOTE: I don&#8217;t link s2ram to acpi/button/lid because this &#8220;button&#8221; doesn&#8217;t work properly, see &#8220;<a href="#11">Known Problems</a>&#8221; section.</p>
<hr />5.) <a name="5">MULTIMEDIA KEYS (xmodmap)</a></p>
<p>In the configuration file ~/.Xmodmap you can assign functionalities to the own keyboard keycodes. By example, the keycodes of Mute, Lower_Volume and Raise_Volume buttons are 160, 174 and 176 respectively.</p>
<pre>delta@sr50:~$ cat .Xmodmap
keycode 160 = XF86AudioMute
keycode 174 = XF86AudioLowerVolume
keycode 176 = XF86AudioRaiseVolume</pre>
<p>Possible functionalities are listed on /usr/include/X11/XF86keysym.h</p>
<pre>delta@sr50:~$ cat /usr/include/X11/XF86keysym.h |grep "Volume\|Mute"
#define XF86XK_AudioLowerVolume 0x1008FF11   /* Volume control down        */
#define XF86XK_AudioMute        0x1008FF12   /* Mute sound from the system */
#define XF86XK_AudioRaiseVolume 0x1008FF13   /* Volume control up          */</pre>
<p>We should load the configuration on boot load. We could do this, by example, adding a line to the rc.local file, this way:</p>
<p><code>delta@sr50:~$ cat /etc/rc.local |grep xmodmap<br />
/usr/bin/xmodmap /home/delta/.Xmodmap</code></p>
<hr />6.) <a name="6">XORG.CONF</a></p>
<p>Here it&#8217;s my complete <a href="http://sites.google.com/site/tecnoprawn/code/xorg.conf?attredirects=0&amp;d=1">xorg.conf</a><br />
I strongly recommend you to make a backup of your working xorg.conf before changing it.<br />
To apply any changes you must restart the x-server (by pressing ctrl+alt+backspace).</p>
<p>6.1) <a name="6.1">SYNAPTICS TOUCHPAD FULL FUNCTIONALITY</a></p>
<p>We must add a InputDevice section in /etc/X11/xorg.conf like this:</p>
<pre>Section "InputDevice"
    Identifier "Synaptics Touchpad"
    Driver "synaptics"
    Option "SendCoreEvents" "true"
    Option "Device" "/dev/psaux"
    Option "Protocol" "auto-dev"
    Option "HorizScrollDelta" "0"
EndSection</pre>
<p>And also, inside &#8220;ServerLayout&#8221; section add this line:</p>
<pre>InputDevice "Synaptics Touchpad"</pre>
<p>6.2) <a name="6.2">1280&#215;800 RESOLUTION</a></p>
<p>Add &#8220;1280&#215;800&#8243; in the Modes lines on &#8220;Screen&#8221; Section. Like this:</p>
<pre>Section "Screen"
    Identifier "Default Screen"
    Device "Tarjeta de video generica "
    Monitor "Generic Monitor"
    DefaultDepth 16
    SubSection "Display"
    Depth 8
    Modes "1280x800" "1024x768" "800x600" "640x480"
    EndSubSection
    SubSection "Display"
    Depth 16
    Modes "1280x800" "1024x768" "800x600" "640x480"
    EndSubSection
    SubSection "Display"
    Depth 24
    Modes "1280x800" "1024x768" "800x600" "640x480"
    EndSubSection
EndSection</pre>
<p>6.3) <a name="6.3">DRI (Direct Rendering Interface)</a></p>
<p>At kernel level there must be the DRM_I915 (i915.ko) module</p>
<p>In /etc/X11/xorg.conf:</p>
<pre>Section "Module"
    (...)
    Load "dri"
EndSection

Section "DRI"
    Mode  0666  #to allow all users access to DRI
EndSection</pre>
<p>There are also necessary the libgl1-mesa-glx  libgl1-mesa-dri libglu1-mesa packages.<br />
As well we can install mesa-utils in order to check if DRI is working with glxgears demo, for example.</p>
<hr />7.) <a name="7">WIRELESS CARD &#8211; IPW2200</a></p>
<p>The module ipw2200 is already included on 2.6.25.9 kernel. (I don&#8217;t know for how long, but sure it wasn&#8217;t included on 2.6.22) Also is included the patch to get it into monitor mode (creating the rtap virtual device)</p>
<p>In order to load the module with the rtap interface enabled you can create the file /etc/modprobe.d/ipw2200 and write into it:</p>
<pre> options ipw2200 rtap_iface=1</pre>
<p>If you want avoid some firmware errors you can try also adding:</p>
<pre> options ipw2200 hwcrypto=0</pre>
<p>See also &#8220;<a href="#8">Power Saving</a>&#8221; section.</p>
<p>If you have a previous kernel maybe you must have to compile the module by hand. I explain in this other <a href="http://estimulo-respuesta.blogspot.com/2007/09/ipw2200-en-modo-monitor-con-debian.html">article</a> (in Spanish, I&#8217;m sorry) how to do it with the monitor mode enabled.</p>
<hr />8.) <a name="8">SAVING POWER/BATTERY</a></p>
<p>To analyze the power consumption we can use the awesome &#8216;powertop&#8217; Intel tool.<br />
It gives some advices to save battery that we can add to rc.local (to load them on boot):</p>
<pre>delta@sr50:~$ cat /etc/rc.local
#!/bin/sh -e
## Temperature polls each 2s
echo 3 &gt; /proc/acpi/thermal_zone/THRM/polling_frequency
﻿﻿﻿﻿﻿﻿﻿﻿## Underclocking
cpufreq-set -u 1.33G
## Enable AC97 powersave mode
echo Y &gt; /sys/module/snd_ac97_codec/parameters/power_save
## Increase the VM dirty writeback from 5s(default) to 15s
#echo 1500 &gt; /proc/sys/vm/dirty_writeback_centisecs
## Saving-power mode of wifi card (can take values form 1 to 5)
iwpriv eth2 set_power 5
## Disable CDROM pollings
hal-disable-polling --device /dev/hdb
exit 0</pre>
<p>Note that I have commented the dirty_writeback one, because it could be unsafe when working only with AC adapter without battery, be aware of this.</p>
<p>I also recommend the use of <em>laptop-mode-tools</em> which allows you to configure some different power consumption parameters between AC and Battery modes.</p>
<hr />9.) <a name="9">EXTERNAL VGA</a></p>
<p>You can manage the VGA, LVDS and TV displays with the X11 RandR extension (libxrandr2 package). See `man xrandr` for information.</p>
<p>You can download this <a href="http://sites.google.com/site/tecnoprawn/code/extdisp.sh?attredirects=0&amp;d=1">script</a> I&#8217;ve made to on/off an external VGA display alternating between three states: (LVDS)-&gt;(LVDS+VGA)-&gt;(VGA). Something like Windows XP does when you press Fn+F4<br />
It assign the maximun possible resolution on VGA. You can make a keybind to launch it (Win+F4 for example).</p>
<hr />10.) <a name="10">OTHER ISSUES</a></p>
<p>PCMCIA &#8211; works fine. I have tested it with a SMC wifi-card.<br />
WIRED LAN CARD (Broadcom BCM4401) &#8211; works perfect.<br />
MODEM &#8211; Not tested yet<br />
CARD READER &#8211; Not tested yet</p>
<hr />11.) <a name="11">KNOWN PROBLEMS</a></p>
<p>11.1) <a name="11.1">FAN ALWAYS ON</a></p>
<p>Main hardware problem in my opinion: The fan is always on. It&#8217;s controlled directly by the BIOS and as long as I concern you can do nothing about it. Doing:</p>
<pre>sr50:~# echo 3 &gt; /proc/acpi/fan/FAN1/state
sr50:~# cat /proc/acpi/fan/FAN1/state
status:  off</pre>
<p>But the fan will be already spinning. It&#8217;s not a serious problem appart from the &#8220;noise&#8221;.</p>
<p>11.2) <a name="11.2">FN-KEYS PICTOGRAMS</a></p>
<p>The pictograms shown on the top left corner of the screen when pressing some Fn-keys (Brightness, Etiquette-Mode, Battery, etc.) aren&#8217;t seen well.</p>
<p>There is a solution consisting on installing <em>vbetool</em> package and adding to the /etc/init.d/x11-common this line near the top:</p>
<pre>vbetool post</pre>
<p>This solution can be work well for you if you always use a Graphical environment and you load it automatically on boot, but it&#8217;s no good to work on native tty&#8217;s.</p>
<p>11.3) <a name="11.3">BUTTON LID</a></p>
<pre>delta@sr50:~$ cat /proc/acpi/button/lid/LID0/state
state:      closed</pre>
<p>Although it&#8217;s open</p>
<p>This kernel bug must leads you to deactivate possible actions linked with the closed state of the lid that some Desktop Environments like KDE or GNOME must have. For example, it&#8217;s possible that your laptop go into suspension mode just after loading KDE on start.</p>
<p>It&#8217;s not an important problem, of course, since you can link the suspension event to sleep or power button (see &#8220;<a href="#2">Suspend</a>&#8221; sections)</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/tecnoprawn.wordpress.com/14/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/tecnoprawn.wordpress.com/14/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/tecnoprawn.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/tecnoprawn.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/tecnoprawn.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/tecnoprawn.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/tecnoprawn.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/tecnoprawn.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/tecnoprawn.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/tecnoprawn.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/tecnoprawn.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/tecnoprawn.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/tecnoprawn.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/tecnoprawn.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/tecnoprawn.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/tecnoprawn.wordpress.com/14/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tecnoprawn.wordpress.com&amp;blog=10977879&amp;post=14&amp;subd=tecnoprawn&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://tecnoprawn.wordpress.com/2008/08/24/samsung-r50-laptop-with-debian-gnulinux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b2d6ae22157c502723c7142d6442229e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tecnoprawn</media:title>
		</media:content>

		<media:content url="http://tecnoprawn.files.wordpress.com/2008/08/samsungr50notebook.jpg?w=200" medium="image" />
	</item>
		<item>
		<title>MiniRobot Mark-III en GNU/Linux: JAL y Minicom</title>
		<link>http://tecnoprawn.wordpress.com/2007/11/18/minirobot-mark-iii-en-gnulinux-jal-y-minicom/</link>
		<comments>http://tecnoprawn.wordpress.com/2007/11/18/minirobot-mark-iii-en-gnulinux-jal-y-minicom/#comments</comments>
		<pubDate>Sun, 18 Nov 2007 11:59:00 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[jal]]></category>
		<category><![CDATA[markIII]]></category>
		<category><![CDATA[minicom]]></category>
		<category><![CDATA[robot]]></category>

		<guid isPermaLink="false">http://tecnoprawn.wordpress.com/2007/11/18/minirobot-mark-iii-en-gnulinux-jal-y-minicom</guid>
		<description><![CDATA[In this article I will talk about how to manage a little MarkIII mobile robot using a GNU/Linux system. PROGRAMMING. JAL To program the robot we will use JAL (Just Another Language), a totally free high-level programming language, including its free-software compiler, that can be used with some PIC microcontroller of Microchip(TM), like the 16F877 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tecnoprawn.wordpress.com&amp;blog=10977879&amp;post=10&amp;subd=tecnoprawn&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a><img class="alignright" src="http://3.bp.blogspot.com/_vqV_yuzi3xM/R0BJxtjGOJI/AAAAAAAAAIk/p7gCWqU0eNQ/s320/mark3_.png" border="0" alt="" /></a>In this article I will talk about how to manage a little <a href="http://www.junun.org/MarkIII/Manual/index.jsp">MarkIII</a> mobile robot using a GNU/Linux system.</p>
<p style="font-size:140%;"><strong>PROGRAMMING. JAL</strong></p>
<p>To program the robot we will use <a href="http://jal.sourceforge.net/manual/intro.html">JAL</a> (Just Another Language), a totally free high-level programming language, including its free-software compiler, that can be used with some PIC microcontroller of Microchip(TM), like the 16F877 in Mark-III robot.</p>
<p><span id="more-10"></span></p>
<p style="font-size:120%;"><strong>Writing programs</strong></p>
<p>To write JAL programs we can use any text editor, like VIM or EMACS, nano, kwrite, gedit, etc.</p>
<p style="font-size:120%;"><strong>Compiling JAL code<br />
</strong></p>
<p>We will use the JAL compiler with <a href="http://www.thegnar.org/mIII/markiii_linux.htm">The Gnar</a> patch for Mark-III.</p>
<p><strong>Downloads:</strong><br />
<a href="http://downloads.sourceforge.net/jal/jal-0.4.62.tar.gz?modtime=1108059215&amp;big_mirror=0">JAL compiler</a><br />
<a href="http://thegnar.org/mIII/markiii_jal_0_4_62.tar.bz2">Mark-III patch and examples</a></p>
<p><strong>Installation:</strong></p>
<p>(instructions on README file inside markiii_jal_0_4_64.tar.bz2)</p>
<p>To apply the patch</p>
<blockquote><p>patch -p1 &lt; ../jal_4_62_MIII.patch<br />
./configure; make<br />
<em>(as root)</em> make install</p></blockquote>
<p>We can find several examples of JAL code for our robot inside the markiii_jal file: tests for sensors and to calibrate servos, even a <em>sumo</em> program.</p>
<p>JAL compiler needs gcc (GNU compiler collection), who is present by default in almost GNU/Linux distributions.</p>
<p><strong>Using the compiler:</strong></p>
<p>Is important to have in our library folder (/usr/local/share/jal/lib) the following files: 16f877_20.jal, jdelay.jal, jpic.jal, jrtl.jal, jsevenp.jal, markiii.jal, jascii.jal, jlib.jal, jprint.jal, jseven.jal, jstepper.jal.</p>
<p>Once we have our program.jal we can compile it as follows:</p>
<blockquote><p>jal -s/usr/local/share/jal/lib program.jal</p></blockquote>
<p>This will generate 2 files: one <em>program.asm</em>, the associate assembler code of our program and a <em>program.hex</em>, the executable one. This last one will be downloaded into the robot using <strong>Minicom</strong> and the <a href="http://www.dontronics.com/rfarmer.html">Rick Farmer&#8217;s </a><a href="http://www.dontronics.com/rfarmer.html">PICLoader</a>, that is a monitor operating system for PIC16F87x who manages the communication of the robot by serial port and loads the user programs.</p>
<p>If our pic was unprogrammed, we would have to download the <a href="http://www.junun.org/PICLoader/picloadr.hex">PICLoader v1.1</a> and use a programmer board.</p>
<hr />
<p style="font-size:140%;"><strong>COMMUNICATION BY SERIAL PORT. MINICOM</strong></p>
<p>Having the PICLoader in our pic we will be able to communicate with the robot by serial port using <strong>Minicom</strong>, that accomplish the same function of Windows&#8217; Hyperterminal, although being less &#8220;user-friendly&#8221;.</p>
<p>I have seen a multiplatform program called <a href="http://webpages.charter.net/transfinite/moni/">moni 2.20m3</a> for the communication with Mark-III in a graphical way, but I haven&#8217;t tested it yet, so I can&#8217;t guarantee its correct working.</p>
<p style="font-size:120%;"><strong>Configuring Minicom:</strong></p>
<p><em>[What I show here has been tested with <a href="http://alioth.debian.org/frs/download.php/2157/minicom-2.3-rc1.tar.gz">2.3-rc1</a> version]</em></p>
<p>We create a folder in our home called, for example, <em>~/tx</em> where we will put the <em>.hex</em> to send to the robot.</p>
<p>We start Minicom in a terminal.<br />
We can see the options by &#8216;C-a o&#8217; (that is: press <em>Ctrl+a</em> and then <em>o</em>)<br />
-&gt; Filenames and paths:</p>
<pre>    B - Upload directory  : /home/user/tx</pre>
<p>-&gt; File transfer and protocols: (ASCII line delay of 100ms)</p>
<pre>    I  ascii      /usr/bin/ascii-xfr -dsvl 100    Y    U    N       Y       N</pre>
<p>-&gt; Serial port setup: (38400 baud, 8 bits, no parity, 1 stop bit, No flow control of any kind)</p>
<pre>    A - Serial Device     : /dev/ttyUSB0</pre>
<p>I&#8217;m using a USB-RS232 adapter (more info: <a href="http://tecnoprawn.wordpress.com/2007/10/22/conexion-hp48-a-portatil-con-gnulinux-con-adaptador-usb-rs232/">article</a>), so here we see <em>ttyUSB0</em>, but if you use your COM port directly, you must introduce  <em>ttyS0</em> or <em>ttyS1</em> (COM1 o COM2).</p>
<pre>    E - Bps/Par/Bits : 38400 8N1</pre>
<pre>    F - Hardware Flow Control : No</pre>
<pre>    G - Software Flow Control : No</pre>
<p>Save setup as .minirc.dfl</p>
<p style="font-size:120%;"><strong>Sending programs:</strong></p>
<p>Once we have configured Minicom and our program.hex is in tx folder, we can connect the  robot, switched off, to our computer through the serial cable and we start Minicom.<br />
After that we switch on the MarkIII and we must see something like:</p>
<pre>8K PICLOADER v1.1
Copyright Rick Farmer 1999
Current image = follow
PIC&gt;</pre>
<p>We can press &#8216;?&#8217; to see the options of the PICLoader. We choose &#8216;U&#8217; to load our program:</p>
<pre>PIC&gt;U
Are you sure? [y/N]&gt;y
Erasing
########################
Ready</pre>
<p>Now we must select our program, for that we press  &#8216;C-a y&#8217;, we navigate by the list, select with SPACE key and finish pressing ENTER. Minicom will send automatically our executable line by line to the  PICLoader. We will see something like that:</p>
<pre>########################################################################
Upload succesful
Enter a rev string&gt;</pre>
<p>Here we can enter a tag to our program, in order to identify it next time we connect the robot.</p>
<pre>Enter a rev string&gt;name
Current image = name
PIC&gt;</pre>
<p>To exit Minicom: C-a x</p>
<p>Few things about the communication with the robot:</p>
<p>* (Having a program loaded into the robot) At PICLoader&#8217;s start, it will wait 5s for serial port events and, if there&#8217;s no event, it will jump to user program. So, if you want to load another program, when countdown is shown:</p>
<pre>PIC&gt;###</pre>
<p>press ENTER</p>
<p>* The robot programs can have instructions that send data to the computer by the serial port, like in the case of sensors and servos tests. Then, if we have Minicom connected, we will be able to see this data on the screen.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/tecnoprawn.wordpress.com/10/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/tecnoprawn.wordpress.com/10/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/tecnoprawn.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/tecnoprawn.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/tecnoprawn.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/tecnoprawn.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/tecnoprawn.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/tecnoprawn.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/tecnoprawn.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/tecnoprawn.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/tecnoprawn.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/tecnoprawn.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/tecnoprawn.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/tecnoprawn.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/tecnoprawn.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/tecnoprawn.wordpress.com/10/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tecnoprawn.wordpress.com&amp;blog=10977879&amp;post=10&amp;subd=tecnoprawn&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://tecnoprawn.wordpress.com/2007/11/18/minirobot-mark-iii-en-gnulinux-jal-y-minicom/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b2d6ae22157c502723c7142d6442229e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tecnoprawn</media:title>
		</media:content>

		<media:content url="http://3.bp.blogspot.com/_vqV_yuzi3xM/R0BJxtjGOJI/AAAAAAAAAIk/p7gCWqU0eNQ/s320/mark3_.png" medium="image" />
	</item>
		<item>
		<title>How to connect a HP48 calculator to a laptop running GNU/Linux (using USB-RS232 adapter)</title>
		<link>http://tecnoprawn.wordpress.com/2007/10/22/conexion-hp48-a-portatil-con-gnulinux-con-adaptador-usb-rs232/</link>
		<comments>http://tecnoprawn.wordpress.com/2007/10/22/conexion-hp48-a-portatil-con-gnulinux-con-adaptador-usb-rs232/#comments</comments>
		<pubDate>Mon, 22 Oct 2007 21:21:00 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[hp48]]></category>
		<category><![CDATA[laptop]]></category>
		<category><![CDATA[usb]]></category>

		<guid isPermaLink="false">http://tecnoprawn.wordpress.com/2007/10/22/conexion-hp48-a-portatil-con-gnulinux-con-adaptador-usb-rs232</guid>
		<description><![CDATA[This has been tested with a HP48G+ calculator and a laptop running Debian Lenny, but with few modifications it can be applied to other calculators and GNU/Linux distributions. As laptop computers don&#8217;t have RS232 serial port we must buy an adapter USB-RS232_DE9. I have bought a Digitus© one for 17 Euros (a little bit expensive [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tecnoprawn.wordpress.com&amp;blog=10977879&amp;post=8&amp;subd=tecnoprawn&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" src="http://4.bp.blogspot.com/_vqV_yuzi3xM/SFWaUnXOD4I/AAAAAAAAAJo/zBqzsQNMhQc/s200/hp48g%2B.jpg" border="0" alt="" /><em>This has been tested with a </em><em> HP48G+ calculator and a laptop running Debian Lenny, but with few modifications it can be applied to other calculators and GNU/Linux distributions.</em></p>
<p>As laptop computers don&#8217;t have RS232 serial port we must buy an adapter USB-RS232_DE9. I have bought a Digitus© one for 17 Euros (a little bit expensive in my opinion).</p>
<p>For me, it has been also necessary to build a <a href="http://www.educalc.net/1199484.page" target="_blank">connection cable</a> because my second-hand calculator haven&#8217;t had one.<br />
<span id="more-8"></span></p>
<p>We connect the adapter to an usb port of our laptop, and then if we made (as root):<br />
<code># lsusb</code><br />
we must see something like this:</p>
<blockquote><p>Bus 003 Device 001: ID 0000:0000<br />
Bus 005 Device 001: ID 0000:0000<br />
Bus 004 Device 001: ID 0000:0000<br />
Bus 002 Device 001: ID 0000:0000<br />
Bus 001 Device 010: ID 0403:6001 Future Technology Devices International, Ltd 8-bit FIFO<br />
Bus 001 Device 005: ID 15ca:00c3<br />
Bus 001 Device 001: ID 0000:0000</p></blockquote>
<p>where <em>Device 005</em> is my usb mouse and the 010 is our new usb-serial adapter.</p>
<p>With last Linux kernel versions (at least since kernel 2.6.18) the suitable driver (kernel module) is automatically loaded after plugging in the device, and it is also auto-unloaded at unplugging.</p>
<p>So, if you do:<br />
<code>$ dmesg | tail</code><br />
you should see something like:</p>
<blockquote><p>usb 1-1: new full speed USB device using uhci_hcd and address 10<br />
usb 1-1: configuration #1 chosen from 1 choice<br />
ftdi_sio 1-1:1.0: FTDI USB Serial Device converter detected<br />
drivers/usb/serial/ftdi_sio.c: Detected FT232BM<br />
usb 1-1: FTDI USB Serial Device converter now attached to ttyUSB0</p></blockquote>
<p>That shows that udev has attached the device to /dev/ttyUSB0.</p>
<p>My module is <em>ftdi_sio</em> (Future Technology&#8230;). But if the adapter was, for example, a Conceptronic© one (Prolific Technology, Inc. PL2303 Serial Port), its module would be <em>pl2303</em>.</p>
<p><em>if the module is not autoloaded, you should load it manually:<br />
<code># modprobe usbcore<br />
# modprobe usbserial<br />
# modprobe ftdi_sio</code></em></p>
<p>Until now we have only plugged in the adapter and checked that all is correctly loaded. Now is time to install a software to communicate with the calculator. For GNU/Linux we have <a href="http://hptalx.sourceforge.net/">HP Talx</a>, that is a GTK+ graphical interface of <a href="http://www.columbia.edu/kermit/ck80.html">C-Kermit</a>.</p>
<p>As HP Talx depends on C-Kermit, first we have to install this package, present in repositories of several distributions. In Debian-like ones, we can do:<br />
<code># aptitude install ckermit</code><br />
Next we download the deb package of last version of <a href="http://hptalx.sourceforge.net/download.shtml">HP Talx</a> and we install it with:<br />
<code># dpkg -i hptalx_version.deb</code><br />
In the case of distributions without package system we can download the sources (<a href="http://www.columbia.edu/kermit/ck80.html#download">ckermit</a>, <a href="http://hptalx.sourceforge.net/download.shtml">hptalx</a>) and compile them with:<br />
<code>./configure; make<br />
[as root] make install</code></p>
<p>We run HP Talx, we turn the calculator on and we press [gree key] and [I/O] (button 1), we select <em>Transfer&#8230;</em> and we configure the parameters like:</p>
<blockquote><p>PORT: Wire<br />
TYPE: Kermit<br />
NAME: (none)<br />
FMT: Bin<br />
XLat: 255<br />
CHK: 3<br />
BAUD: 9600<br />
PARITY: None<br />
OVRW: (ticked)</p></blockquote>
<p>We go out of the transfer configuration and we press [green key] and [right arrow] to begin the server. We must see &#8220;Awaiting Server Cmd&#8221; on the screen.<br />
Now in HP Talx we configure the connection in <em>File</em> &gt; <em>Setup</em>&#8230; (or CTRL+N)</p>
<blockquote><p>Connection Settings: USB (ttyUSB)<br />
Set ttyUSB port: 0<br />
Set COM Speed: 9600<br />
Timeout: 15<br />
Confirm Delete and Remove: (ticked) *<br />
Start Connected: (unticked) *<br />
Set default editor: kate *</p></blockquote>
<p>(*) As you like</p>
<p>Finally we connect: <em>Connect</em> &gt; <em>Connect</em> (or CTRL+B)</p>
<p>If all has gone fine we must see something like:</p>
<p style="text-align:center;"><img class="aligncenter" src="http://3.bp.blogspot.com/_vqV_yuzi3xM/Rx0WkaKCQ6I/AAAAAAAAAH8/Dx-FucZGmDM/s400/HPTalx.png" border="0" alt="" /></p>
<p>Now we can upload our programs to the calculator, libraries, variables, texts&#8230; and of course, also download them from the calculator to our computer.<br />
From <a href="http://www.hpcalc.org">hpcalc.org</a> we can download houndreds of applications (technical, graphics, editors, games, etc.) for HP48 and HP49.</p>
<p>NOTE: For Windows we have <a href="http://www.hpcalc.org/details.php?id=3713">HPComm</a> that is free software and works very well.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/tecnoprawn.wordpress.com/8/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/tecnoprawn.wordpress.com/8/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/tecnoprawn.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/tecnoprawn.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/tecnoprawn.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/tecnoprawn.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/tecnoprawn.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/tecnoprawn.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/tecnoprawn.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/tecnoprawn.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/tecnoprawn.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/tecnoprawn.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/tecnoprawn.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/tecnoprawn.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/tecnoprawn.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/tecnoprawn.wordpress.com/8/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tecnoprawn.wordpress.com&amp;blog=10977879&amp;post=8&amp;subd=tecnoprawn&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://tecnoprawn.wordpress.com/2007/10/22/conexion-hp48-a-portatil-con-gnulinux-con-adaptador-usb-rs232/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b2d6ae22157c502723c7142d6442229e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tecnoprawn</media:title>
		</media:content>

		<media:content url="http://4.bp.blogspot.com/_vqV_yuzi3xM/SFWaUnXOD4I/AAAAAAAAAJo/zBqzsQNMhQc/s200/hp48g%2B.jpg" medium="image" />

		<media:content url="http://3.bp.blogspot.com/_vqV_yuzi3xM/Rx0WkaKCQ6I/AAAAAAAAAH8/Dx-FucZGmDM/s400/HPTalx.png" medium="image" />
	</item>
	</channel>
</rss>
