<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>hardware</title>
  <link rel="alternate" type="text/html" href="http://tumbleweed.org.za/tags/hardware"/>
  <link rel="self" type="application/atom+xml" href="http://tumbleweed.org.za/taxonomy/term/32/atom/feed"/>
  <id>http://tumbleweed.org.za/taxonomy/term/32/atom/feed</id>
  <updated>2008-09-19T00:26:20+00:00</updated>
  <entry>
    <title>The Brick</title>
    <link rel="alternate" type="text/html" href="http://tumbleweed.org.za/hardware-hacking/the-brick" />
    <id>http://tumbleweed.org.za/hardware-hacking/the-brick</id>
    <published>2007-12-29T19:31:42+00:00</published>
    <updated>2008-01-04T13:45:03+00:00</updated>
    <author>
      <name>tumbleweed</name>
    </author>
    <category term="brick" />
    <category term="cellphone" />
    <category term="hardware" />
    <category term="Howto" />
    <category term="nokia" />
    <summary type="html"><![CDATA[<p>You know what happens with old&nbsp;phones,&nbsp;right?</p>

<p>The battery slowly dies, and it needs charging all&nbsp;the&nbsp;time.</p>

<p>So we modded this old brick by attaching the charger to the battery, increasing the phone&#8217;s usability&nbsp;by&nbsp;1000%.</p>

<p>Now you never need to worry about the battery running out, just plug it in. <span class="caps"><span class="caps">AND</span></span> because it has a 3-pin plug, you never need&nbsp;an&nbsp;adapter.</p>

<h2>Details:</h2>

<ul>
<li>The Nokia 2110 in question had a broken charging socket, so it&nbsp;was&nbsp;unchangeable</li>
<li>We smashed the charger case open, and took out the&nbsp;<span class="caps"><span class="caps">PCB</span></span>.</li>
<li>Then we soldered the 3-pin plug&#8217;s wires, and the 6V out wires on to the&nbsp;<span class="caps"><span class="caps">PCB</span></span>.</li>
<li>The <span class="caps"><span class="caps">PCB</span></span> was superglued into the blue box, which was cut to fit onto the battery, and holes were gouged for&nbsp;the&nbsp;wires.</li>
<li>Then we superglued the box to the battery, leaving the wires&nbsp;poking&nbsp;out.</li>
<li>The plug had a hole cut in the top (for the wires) and was attached to the base of the battery <span class="amp">&amp;</span> box (superglue again), and&nbsp;wired&nbsp;up.</li>
<li>The negative wire was soldered straight onto the battery negative terminal (and the wire embedded flush into&nbsp;the&nbsp;battery).</li>
<li>The positive wire was soldered to a copper clip superglued to the battery, that hits the +ve desktop charging contact. (well it just missed, so we enlarged&nbsp;the&nbsp;contact&#8230;)</li>
<li>Everything got another dollop of superglue, and all the contacts got a&nbsp;good&nbsp;filing.</li>
<li>That&nbsp;was&nbsp;it!</li>
</ul>

<p>It is was in use everyday by Nicholas Abbot for a couple of years (although he had to enlarge his trouser&nbsp;pockets&nbsp;&lt;grin&gt;).</p>

<h2>Updates:</h2>

<ol>
<li>The brick has lost it&#8217;s aerial. It now has an internal &#8216;piece&nbsp;of&nbsp;wire&#8217;&#8230; </li>
<li>One of the clips that holds the battery to the phone has broken, it is now held on by&nbsp;a&nbsp;shoelace.</li>
<li>It has a modular (ie. removable) alarm clock attached to the back, above&nbsp;the&nbsp;battery.</li>
<li>It has suffered beer immersion, but it still works like a bomb (make that &#8216;works like&nbsp;a&nbsp;brick&#8217;).</li>
<li>Unfortunately, due to the beer (and some brandy <span class="amp">&amp;</span> coke), the superglue holding the alarm clock dissolved, and the alarm clock is&nbsp;no&nbsp;more.</li>
<li>The &#8216;piece of wire&#8217; aerial was ineffective (as it was shielded on three sides by the phone), so it has been externalised. The wire has been coiled up and superglued into a little stub aerial above the aerial hole. A strip of bookbinding cloth tape was superglued around the coiled aerial for support&nbsp;and&nbsp;strength.</li>
</ol>

<p>The&nbsp;ultimate&nbsp;mod!</p>

<h2>Pictures:</h2>

<p><img src="/files/brick1.jpg" alt="In Use" />
<img src="/files/brick6.jpg" alt="Profile" />
<img src="/files/brick8.jpg" alt="Battery Removed" /></p>
    ]]></summary>
    <content type="html"><![CDATA[<p>You know what happens with old phones,&nbsp;right?</p>

<p>The battery slowly dies, and it needs charging all the&nbsp;time.</p>

<p>So we modded this old brick by attaching the charger to the battery, increasing the phone&#8217;s usability by&nbsp;1000%.</p>

<p>Now you never need to worry about the battery running out, just plug it in. <span class="caps">AND</span> because it has a 3-pin plug, you never need an&nbsp;adapter.</p>

<h2>Details:</h2>

<ul>
<li>The Nokia 2110 in question had a broken charging socket, so it was&nbsp;unchangeable</li>
<li>We smashed the charger case open, and took out the&nbsp;<span class="caps">PCB</span>.</li>
<li>Then we soldered the 3-pin plug&#8217;s wires, and the 6V out wires on to the&nbsp;<span class="caps">PCB</span>.</li>
<li>The <span class="caps">PCB</span> was superglued into the blue box, which was cut to fit onto the battery, and holes were gouged for the&nbsp;wires.</li>
<li>Then we superglued the box to the battery, leaving the wires poking&nbsp;out.</li>
<li>The plug had a hole cut in the top (for the wires) and was attached to the base of the battery <span class="amp">&amp;</span> box (superglue again), and wired&nbsp;up.</li>
<li>The negative wire was soldered straight onto the battery negative terminal (and the wire embedded flush into the&nbsp;battery).</li>
<li>The positive wire was soldered to a copper clip superglued to the battery, that hits the +ve desktop charging contact. (well it just missed, so we enlarged the&nbsp;contact&#8230;)</li>
<li>Everything got another dollop of superglue, and all the contacts got a good&nbsp;filing.</li>
<li>That was&nbsp;it!</li>
</ul>

<p>It is was in use everyday by Nicholas Abbot for a couple of years (although he had to enlarge his trouser pockets&nbsp;&lt;grin&gt;).</p>

<h2>Updates:</h2>

<ol>
<li>The brick has lost it&#8217;s aerial. It now has an internal &#8216;piece of&nbsp;wire&#8217;&#8230; </li>
<li>One of the clips that holds the battery to the phone has broken, it is now held on by a&nbsp;shoelace.</li>
<li>It has a modular (ie. removable) alarm clock attached to the back, above the&nbsp;battery.</li>
<li>It has suffered beer immersion, but it still works like a bomb (make that &#8216;works like a&nbsp;brick&#8217;).</li>
<li>Unfortunately, due to the beer (and some brandy <span class="amp">&amp;</span> coke), the superglue holding the alarm clock dissolved, and the alarm clock is no&nbsp;more.</li>
<li>The &#8216;piece of wire&#8217; aerial was ineffective (as it was shielded on three sides by the phone), so it has been externalised. The wire has been coiled up and superglued into a little stub aerial above the aerial hole. A strip of bookbinding cloth tape was superglued around the coiled aerial for support and&nbsp;strength.</li>
</ol>

<p>The ultimate&nbsp;mod!</p>

<h2>Pictures:</h2>

<p><img src="/files/brick1.jpg" alt="In Use" />
<img src="/files/brick6.jpg" alt="Profile" />
<img src="/files/brick8.jpg" alt="Battery Removed" /></p>
    ]]></content>
  </entry>
  <entry>
    <title>An update on Laptop Hard Drives &amp; Linux</title>
    <link rel="alternate" type="text/html" href="http://tumbleweed.org.za/2007/10/27/an-update-on-laptop-hard-drives-linux" />
    <id>http://tumbleweed.org.za/2007/10/27/an-update-on-laptop-hard-drives-linux</id>
    <published>2007-10-27T08:11:31+00:00</published>
    <updated>2008-01-02T19:55:15+00:00</updated>
    <author>
      <name>tumbleweed</name>
    </author>
    <category term="apm" />
    <category term="hard-drive" />
    <category term="hardware" />
    <category term="laptop" />
    <category term="linux" />
    <category term="ubuntu" />
    <summary type="html"><![CDATA[<p>Launchpad <a href="https://bugs.launchpad.net/bugs/59695">bug 59695</a> has been gathering a <em>huge</em> amount of activity since I wrote about this issue. The issue seems to be that the hardware manufacturers (<span class="caps"><span class="caps">BIOS</span></span> and <span class="caps"><span class="caps">HDD</span></span> firmware) set <em>very</em> aggressive values for power management. And every other <span class="caps"><span class="caps">OS</span></span> (Windows <span class="amp">&amp;</span> Mac <span class="caps"><span class="caps">OSX</span></span>) override these values to something more sane. The manufacturers only test their equipment in Windows, so they don&#8217;t see any&nbsp;problems&nbsp;:-)</p>

<p>This kind of thing seems to happen to Linux quite regularly - we all remember the <span class="caps"><span class="caps">ACPI</span></span> debacle caused by manufacturers using Microsoft&#8217;s broken <span class="caps"><span class="caps">ASL</span></span> compiler, which worked in Microsoft&#8217;s broken <span class="caps"><span class="caps">ACPI</span></span> environment (or was overridden with&nbsp;driver&nbsp;updates).</p>

<p>So in my opinion, Ubuntu (and every other distributor) has to step in and override these aggressive settings. And, by the look of the bug report, Gnome Power Manager should provide the user with a slider to set the balance between power savings and&nbsp;hardware&nbsp;lifetime.</p>

<p>There is already the obligatory <a href="http://ubuntuiskillingyourhd.blogspot.com/">ubuntu is killing your Hard Drive blog</a>, and a <a href="http://ubuntuforums.org/showthread.php?t=508576">closed for cooling off Ubuntu forums thread</a>, if you want get involved and start swinging&nbsp;your&nbsp;battle-axe.</p>

<p>Oh, and the workaround I posted last week obviously doesn&#8217;t cover the case of the machine resuming from suspend. You have to use an <span class="caps"><span class="caps">ACPI</span></span> event script&nbsp;for&nbsp;that.</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>Launchpad <a href="https://bugs.launchpad.net/bugs/59695">bug 59695</a> has been gathering a <em>huge</em> amount of activity since I wrote about this issue. The issue seems to be that the hardware manufacturers (<span class="caps">BIOS</span> and <span class="caps">HDD</span> firmware) set <em>very</em> aggressive values for power management. And every other <span class="caps">OS</span> (Windows <span class="amp">&amp;</span> Mac <span class="caps">OSX</span>) override these values to something more sane. The manufacturers only test their equipment in Windows, so they don&#8217;t see any problems&nbsp;:-)</p>

<p>This kind of thing seems to happen to Linux quite regularly - we all remember the <span class="caps">ACPI</span> debacle caused by manufacturers using Microsoft&#8217;s broken <span class="caps">ASL</span> compiler, which worked in Microsoft&#8217;s broken <span class="caps">ACPI</span> environment (or was overridden with driver&nbsp;updates).</p>

<p>So in my opinion, Ubuntu (and every other distributor) has to step in and override these aggressive settings. And, by the look of the bug report, Gnome Power Manager should provide the user with a slider to set the balance between power savings and hardware&nbsp;lifetime.</p>

<p>There is already the obligatory <a href="http://ubuntuiskillingyourhd.blogspot.com/">ubuntu is killing your Hard Drive blog</a>, and a <a href="http://ubuntuforums.org/showthread.php?t=508576">closed for cooling off Ubuntu forums thread</a>, if you want get involved and start swinging your&nbsp;battle-axe.</p>

<p>Oh, and the workaround I posted last week obviously doesn&#8217;t cover the case of the machine resuming from suspend. You have to use an <span class="caps">ACPI</span> event script for&nbsp;that.</p>
    ]]></content>
  </entry>
  <entry>
    <title>A serious warning to Linux Laptop users</title>
    <link rel="alternate" type="text/html" href="http://tumbleweed.org.za/2007/10/23/a-serious-warning-to-linux-laptop-users" />
    <id>http://tumbleweed.org.za/2007/10/23/a-serious-warning-to-linux-laptop-users</id>
    <published>2007-10-22T21:15:22+00:00</published>
    <updated>2008-09-19T07:53:26+00:00</updated>
    <author>
      <name>tumbleweed</name>
    </author>
    <category term="apm" />
    <category term="hard-drive" />
    <category term="hardware" />
    <category term="laptop" />
    <category term="linux" />
    <category term="ubuntu" />
    <summary type="html"><![CDATA[<p>I&#8217;ve just come across a rather scary, and worryingly old <a href="https://bugs.launchpad.net/bugs/59695">launchpad bug</a>, which talks about real hardware damage. There is more on the problem <a href="http://paul.luon.net/journal/hacking/BrokenHDDs.html">here</a>. But basically, by default, Linux is far too optimistic with spinning laptop hard drives down, and you can reach number of spin-up/downs that your drive is rated for over it&#8217;s entire life-time, in a&nbsp;few&nbsp;months.</p>

<p>My laptop (3 months old), is already at 160000 Load/Unloads: Around half it&#8217;s&nbsp;rated&nbsp;life.</p>

<p>The easy&nbsp;solution&nbsp;is</p>

<div class="geshifilter"><div class="text geshifilter-text" style="font-family:monospace;"># hdparm -B 180 /dev/sda</div></div>

<p>Or, the following&nbsp;in&nbsp;/etc/hdparm.conf</p>

<div class="geshifilter"><div class="css geshifilter-css" style="font-family:monospace;">/dev/sda <span class="br0">&#123;</span><br />
&nbsp; &nbsp; apm <span class="sy0">=</span> <span class="nu0">180</span><br />
<span class="br0">&#125;</span></div></div>

<p>Lets hope that this gets resolved soon, or the problem isn&#8217;t as bad as&nbsp;it&nbsp;appears.</p>

<p>I see that Matthew Garrett (the Ubuntu Laptop Tzar) is subscribed to this bug, but doesn&#8217;t seem to have commented on it. I find that a little odd, considering&nbsp;its&nbsp;seriousness.</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>I&#8217;ve just come across a rather scary, and worryingly old <a href="https://bugs.launchpad.net/bugs/59695">launchpad bug</a>, which talks about real hardware damage. There is more on the problem <a href="http://paul.luon.net/journal/hacking/BrokenHDDs.html">here</a>. But basically, by default, Linux is far too optimistic with spinning laptop hard drives down, and you can reach number of spin-up/downs that your drive is rated for over it&#8217;s entire life-time, in a few&nbsp;months.</p>

<p>My laptop (3 months old), is already at 160000 Load/Unloads: Around half it&#8217;s rated&nbsp;life.</p>

<p>The easy solution&nbsp;is</p>

<div class="geshifilter"><div class="text geshifilter-text" style="font-family:monospace;"># hdparm -B 180 /dev/sda</div></div>

<p>Or, the following in&nbsp;/etc/hdparm.conf</p>

<div class="geshifilter"><div class="css geshifilter-css" style="font-family:monospace;">/dev/sda <span class="br0">&#123;</span><br />
&nbsp; &nbsp; apm <span class="sy0">=</span> <span class="nu0">180</span><br />
<span class="br0">&#125;</span></div></div>

<p>Lets hope that this gets resolved soon, or the problem isn&#8217;t as bad as it&nbsp;appears.</p>

<p>I see that Matthew Garrett (the Ubuntu Laptop Tzar) is subscribed to this bug, but doesn&#8217;t seem to have commented on it. I find that a little odd, considering its&nbsp;seriousness.</p>
    ]]></content>
  </entry>
  <entry>
    <title>N800 (overdue) review</title>
    <link rel="alternate" type="text/html" href="http://tumbleweed.org.za/2007/10/21/n800-overdue-review" />
    <id>http://tumbleweed.org.za/2007/10/21/n800-overdue-review</id>
    <published>2007-10-21T09:40:15+00:00</published>
    <updated>2008-09-19T07:54:28+00:00</updated>
    <author>
      <name>tumbleweed</name>
    </author>
    <category term="embedded" />
    <category term="hardware" />
    <category term="linux" />
    <category term="n800" />
    <category term="review" />
    <summary type="html"><![CDATA[<p>I was lucky enough to win a <a href="http://europe.nokia.com/A4305006">Nokia N800</a> at <a href="http://www.lugradio.org/live/">LugRadio Live</a> 2007, because I&#8217;d come from South Africa. I&#8217;ve had it for 3 months now, and the successor was announced last week, so I think it&#8217;s time to blog about&nbsp;it,&nbsp;properly.</p>

<h2>Hardware</h2>

<p><img src="/files/n800-1.jpg" alt="N800" /></p>

<p>The hardware is pretty decent. The screen is very bright and vivid (great for photos), and just big enough to read websites comfortably. There are enough buttons to fulfil the basic tasks without reaching for the stylus, but you generally work it with the stylus (or a finger). It has quite a few&nbsp;hardware&nbsp;features:</p>

<ul>
<li>A periscope webcam (640x480) that pops out the left side, and can&nbsp;swivel&nbsp;200°</li>
<li>2 <span class="caps"><span class="caps">SD</span></span> sockets (one in battery compartment, for more permanent storage, and one external)

<ul>
<li>It ships with a 128MiB <a href="http://en.wikipedia.org/wiki/MicroSD">µ<span class="caps"><span class="caps">SD</span></span></a> card and <span class="caps"><span class="caps">SD</span></span> adaptor. I wish manufacturers would ship with decent sized (say&nbsp;2GiB)&nbsp;cards&#8230;</li>
</ul></li>
<li>A built-in <span class="caps"><span class="caps">FM</span></span> radio (requires headphone lead&nbsp;for&nbsp;antenna)</li>
<li>WiFi&nbsp;(802.11g)</li>
<li>Bluetooth</li>
<li>Stereo Speakers&nbsp;(very&nbsp;tinny)</li>
<li>Microphone</li>
<li>Headset socket (ships with a wired stereo&nbsp;hands-free&nbsp;set)</li>
<li>Standard Nokia charger (I wish it charged by&nbsp;<span class="caps"><span class="caps">USB</span></span>)</li>
<li>mini-<span class="caps"><span class="caps">USB</span></span>-B port. It has the hardware to be used in <a href="http://en.wikipedia.org/wiki/USB_On-The-Go"><span class="caps"><span class="caps">USB</span></span> <span class="caps"><span class="caps">OTG</span></span></a> mode, but this requires a custom kernel and&nbsp;custom&nbsp;cables</li>
<li>A (slightly flimsy)&nbsp;fold-out&nbsp;standing-arm</li>
<li>A&nbsp;spare&nbsp;stylus</li>
</ul>

<p>The battery life is comperable to my cellphone (about a week of non-use, or a day or two of use), and I&#8217;m happy with most of the hardware, but I do have a&nbsp;few&nbsp;issues:</p>

<p>The power button isn&#8217;t sufficiently recessed for it&#8217;s soft carrying case. This means that I can&#8217;t carry it off in my bag, it&#8217;ll turn itself on eventually, and run it&#8217;s battery flat from spurious touch-screen clicks. The solution is to always leave it on, and screen-locked (it supports an auto-lock). For a cellphone manufacturer, I&#8217;d have thought they&#8217;d get&nbsp;this&nbsp;right.</p>

<p>The webcam&#8217;s position at the far left means it gets a good view of the left side of your face. This can be a&nbsp;little&nbsp;disconcerting.</p>

<p>The <span class="caps"><span class="caps">USB</span></span> port is (without some serious hackery) only in peripheral mode. I&#8217;d really like to be able to plug a <span class="caps"><span class="caps">USB</span></span> keyboard into this device (bluetooth keyboards are way&nbsp;too&nbsp;expensive).</p>

<p>There&#8217;s a bottleneck in the system (processor presumably), that stops it playing youtube videos at full framerate. Mplayer seems to just be able to handle <span class="caps"><span class="caps">QVGA</span></span> video at 24fps, but&nbsp;nothing&nbsp;more.</p>

<div class="geshifilter"><div class="text geshifilter-text" style="font-family:monospace;"># cat /proc/cpuinfo<br />
Processor &nbsp; : Some Random V6 Processor rev 2 (v6l)<br />
BogoMIPS &nbsp; &nbsp;: 320.37<br />
Features &nbsp; &nbsp;: swp half thumb fastmult vfp edsp java <br />
<span class="caps"><span class="caps">CPU</span></span> implementer &nbsp; &nbsp; : 0x41<br />
<span class="caps"><span class="caps">CPU</span></span> architecture: <span class="caps"><span class="caps">6TEJ</span></span><br />
<span class="caps"><span class="caps">CPU</span></span> variant : 0x0<br />
<span class="caps"><span class="caps">CPU</span></span> part &nbsp; &nbsp;: 0xb36<br />
<span class="caps"><span class="caps">CPU</span></span> revision &nbsp; &nbsp; &nbsp; &nbsp;: 2<br />
Cache type &nbsp;: write-back<br />
Cache clean : cp15 c7 ops<br />
Cache lockdown &nbsp; &nbsp; &nbsp;: format C<br />
Cache format &nbsp; &nbsp; &nbsp; &nbsp;: Harvard<br />
I size &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;: 32768<br />
I assoc &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; : 4<br />
I line length &nbsp; &nbsp; &nbsp; : 32<br />
I sets &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;: 256<br />
D size &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;: 32768<br />
D assoc &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; : 4<br />
D line length &nbsp; &nbsp; &nbsp; : 32<br />
D sets &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;: 256<br />
<br />
Hardware &nbsp; &nbsp;: Nokia N800<br />
Revision &nbsp; &nbsp;: 24202524<br />
Serial &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;: 0000000000000000</div></div>

<h2>Software</h2>

<p>The software stack of the N800 is everything I could desire. It runs a Debian derivative of Linux, <a href="http://maemo.org/">Maemo</a>. Maemo uses proper Debian package management, the <span class="caps"><span class="caps">GTK</span></span> widget set (with addons), Telepathy for <span class="caps"><span class="caps">IM</span></span>, and Gstreamer for media. This makes it a doddle to port existing X applications to&nbsp;the&nbsp;N800.</p>

<p>When you first turn on the N800, after unboxing (or reflashing), you go through an install wizard. It sets the hostname, timezone, and pairs with your bluetooth cellphone. The bluetooth phone pairing is well thought out, and beats anything I&#8217;ve ever come across on any platform. Unfortunately it suffers from the same problem as Windows - it doesn&#8217;t set your Home Town, etc. based on&nbsp;the&nbsp;time-zone.</p>

<p>The default web browser is Opera-based, but a Gecko engine is available, and a WebKit one remoured to be on the way. It has a (proprietary) flash plugin, so you <em>can</em> watch YouTube, and the CACert.org root certificate is&nbsp;pre-installed&nbsp;:-)</p>

<p>The device has 4&nbsp;input&nbsp;modes:</p>

<ul>
<li>Bluetooth keyboard (or something like <a href="http://www.russnelson.com/">Russ Nelson</a>&#8217;s chording bluetooth keyboard, which I came across at <span class="caps"><span class="caps">OSCON</span></span>, and is truly a sight&nbsp;to&nbsp;behold)</li>
<li>Stylus on-screen keyboard. I find this frustrating, but at least it&nbsp;has&nbsp;predictive-text.</li>
<li>Full screen, thumb on-screen keyboard. This is better, but switching between pages (case, numerals, symbols) gets tiring. It&#8217;s launched by pressing on a text field with a finger, this only works about 60% of the time.

<ul>
<li>A user has prototyped an <a href="http://blog.gustavobarbieri.com.br/2007/07/24/iphone-like-virtual-keyboard-for-n800/">iPhone-like keyboard</a> for the N800 (in python), which works very nicely. But clearly the Maemo input system doesn&#8217;t allow plugins, so it remains&nbsp;a&nbsp;prototype.</li>
</ul></li>
<li>Handwriting recognition. I&#8217;m a P910i user, so this fits well with me, but I took a while to get used to writing <em>inside</em> the input area, rather than all over the screen. The handwriting recognition is good, and trainable, which is very nice. But I find the input area too small to reliably input in the correct case. It can&#8217;t decipher cursive (but then nobody can decipher <em>my</em> cursive), and some symbols don&#8217;t input easily. All this is forgiven by the ability to correct the handwriting recognition, by writing over the&nbsp;incorrect&nbsp;letter.</li>
</ul>

<p>I find the input fine, although slow, for everything except passwords. Multi-case, symbol-laden passwords really bring out the worst of <em>all</em> the&nbsp;input&nbsp;systems.</p>

<p>The default software selection is passable, but not great. The device really ships with &#8220;internet tablet&#8221; software, with a few decent games thrown in. The major problems are the media player doesn&#8217;t play oggs or video, and the e-Mail program&#8217;s <span class="caps"><span class="caps">IMAP</span></span> support, which is a joke, at best (It uses <span class="caps"><span class="caps">IMAP</span></span> as if it was&nbsp;<span class="caps"><span class="caps">POP</span></span>).</p>

<p>But I enabled a few extra repositories and soon my N800 became a really&nbsp;cool&nbsp;device:</p>

<ul>
<li>Camera (by default, the web-cam is only used by the &#8220;Internet&nbsp;Call&#8221;&nbsp;software)</li>
<li>There is a port of Claws, which is a <em>real</em> <span class="caps"><span class="caps">IMAP</span></span>&nbsp;client</li>
<li>Fmradio (yes it isn&#8217;t usable&nbsp;by&nbsp;default)</li>
<li>ipython (the maemo Hildon <span class="caps"><span class="caps">GUI</span></span> library has&nbsp;python&nbsp;bindings)</li>
<li>maemo-mapper. It&#8217;s hard to tell the functionality of this without a <span class="caps"><span class="caps">GPS</span></span>, but it supports all the popular online maps (for imagery), and uses OpenStreetmap by default, which turns many&nbsp;geeks&#8217;&nbsp;eyes.</li>
<li>maemo-recorder - A&nbsp;sound&nbsp;recorder.</li>
<li>maemo-wordpy - A&nbsp;WordPress&nbsp;client.</li>
<li>Mediastreamer - A <span class="caps"><span class="caps">UPNP</span></span> media client. I&#8217;ve tried this with MediaTomb and GMediaServer, but in both cases, connections seemed to die prematurely. I think this is a known bug&nbsp;with&nbsp;libupnp.</li>
<li>Mplayer - I used my N800 to watch movies on cheap transatlantic flights. It&#8217;s battery life is much better than a laptop, although the screen&nbsp;is&nbsp;small.</li>
<li>OpenSSH (client and server) -&nbsp;naturally&nbsp;:-)</li>
<li>rdesktop and vncviewer - These impress geeks, while also&nbsp;being&nbsp;useful</li>
<li>An X terminal is a must. The maemo-hackers edition is the one to get, it has&nbsp;a&nbsp;Ctrl-key&#8230;</li>
<li>Skype is installable with one click. The N800 makes a <em>great</em> skype phone (assuming you have WiFi, which is rare to find in this country, but in Portland <span class="caps"><span class="caps">OR</span></span> it was the perfect device to have in my&nbsp;back&nbsp;pocket)</li>
</ul>

<p>My&nbsp;repositories:</p>

<p><pre></p>

<div class="geshifilter"><div class="text geshifilter-text" style="font-family:monospace;">http://catalogue.tableteer.nokia.com/certified/ bora user<br />
http://catalogue.tableteer.nokia.com/non-certified/ bora user<br />
http://repository.maemo.org/ bora free non-free<br />
http://repository.maemo.org/extras/ bora free non-free<br />
http://www.claws-mail.org/maemo/ bora user<br />
http://maemo-hackers.org/apt bora main</div></div>

<p></pre></p>

<h2>What&#8217;s&nbsp;the&nbsp;point</h2>

<p>It&#8217;s a cool device for a geek to own, no doubt, but what&#8217;s the actual point&nbsp;of&nbsp;it?</p>

<p>I can answer that in a&nbsp;few&nbsp;ways:</p>

<ul>
<li>Firstly, it&#8217;s screen&#8217;s bigger than my cellphone, but smaller than a laptop, so it&#8217;s good for goofing off during university lectures, and surfing&nbsp;the&nbsp;web.</li>
<li>It plays YouTube. All my machines are <span class="caps"><span class="caps">AMD64</span></span>, and don&#8217;t run proprietary flash, so they don&#8217;t. I can&#8217;t say I use this much, but when I&#8217;m forced at gunpoint to watch a YouTube video, I <em>can</em>&nbsp;do&nbsp;it.</li>
<li>It&#8217;s nice for looking at photos. Bigger than a camera / phone, and supporting bluetooth and&nbsp;<span class="caps"><span class="caps">SD</span></span>.</li>
<li>I don&#8217;t own a portable video player, so this is my portable&nbsp;video&nbsp;player.</li>
<li>When you can&#8217;t get to sleep at night, and suddenly something comes to you that you meant to find out about on Wikipedia or the web, you can grab it from the bedside table and do so. (Yes, I&#8217;m an&nbsp;unashamed&nbsp;geek)</li>
<li>My cellphone is notoriously unreliable, and this doesn&#8217;t make for a good alarm clock. So the N800 got pressed into this service. However, it&#8217;s alarm system seems to have a bad bug, that can semi-brick it for a week. I haven&#8217;t got to the bottom of it. But sometimes (and only when you have alarms set), it won&#8217;t boot for a week. You either have to re-flash it, or wait for it to suddenly wake up and make&nbsp;alarm&nbsp;noises.</li>
<li>If I want to see if there&#8217;s WiFi somewhere, it&#8217;s a lot quicker to check on the N800, then to take out&nbsp;a&nbsp;laptop.</li>
</ul>

<p>But in the end, all that matters is that it runs Linux , and has Python dammit, so it&#8217;s a piece of cake to write any software for it that I want to. I think that reason on it&#8217;s own makes it a device&nbsp;worth&nbsp;owning.</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>I was lucky enough to win a <a href="http://europe.nokia.com/A4305006">Nokia N800</a> at <a href="http://www.lugradio.org/live/">LugRadio Live</a> 2007, because I&#8217;d come from South Africa. I&#8217;ve had it for 3 months now, and the successor was announced last week, so I think it&#8217;s time to blog about it,&nbsp;properly.</p>

<h2>Hardware</h2>

<p><img src="/files/n800-1.jpg" alt="N800" /></p>

<p>The hardware is pretty decent. The screen is very bright and vivid (great for photos), and just big enough to read websites comfortably. There are enough buttons to fulfil the basic tasks without reaching for the stylus, but you generally work it with the stylus (or a finger). It has quite a few hardware&nbsp;features:</p>

<ul>
<li>A periscope webcam (640x480) that pops out the left side, and can swivel&nbsp;200°</li>
<li>2 <span class="caps">SD</span> sockets (one in battery compartment, for more permanent storage, and one external)

<ul>
<li>It ships with a 128MiB <a href="http://en.wikipedia.org/wiki/MicroSD">µ<span class="caps">SD</span></a> card and <span class="caps">SD</span> adaptor. I wish manufacturers would ship with decent sized (say 2GiB)&nbsp;cards&#8230;</li>
</ul></li>
<li>A built-in <span class="caps">FM</span> radio (requires headphone lead for&nbsp;antenna)</li>
<li>WiFi&nbsp;(802.11g)</li>
<li>Bluetooth</li>
<li>Stereo Speakers (very&nbsp;tinny)</li>
<li>Microphone</li>
<li>Headset socket (ships with a wired stereo hands-free&nbsp;set)</li>
<li>Standard Nokia charger (I wish it charged by&nbsp;<span class="caps">USB</span>)</li>
<li>mini-<span class="caps">USB</span>-B port. It has the hardware to be used in <a href="http://en.wikipedia.org/wiki/USB_On-The-Go"><span class="caps">USB</span> <span class="caps">OTG</span></a> mode, but this requires a custom kernel and custom&nbsp;cables</li>
<li>A (slightly flimsy) fold-out&nbsp;standing-arm</li>
<li>A spare&nbsp;stylus</li>
</ul>

<p>The battery life is comperable to my cellphone (about a week of non-use, or a day or two of use), and I&#8217;m happy with most of the hardware, but I do have a few&nbsp;issues:</p>

<p>The power button isn&#8217;t sufficiently recessed for it&#8217;s soft carrying case. This means that I can&#8217;t carry it off in my bag, it&#8217;ll turn itself on eventually, and run it&#8217;s battery flat from spurious touch-screen clicks. The solution is to always leave it on, and screen-locked (it supports an auto-lock). For a cellphone manufacturer, I&#8217;d have thought they&#8217;d get this&nbsp;right.</p>

<p>The webcam&#8217;s position at the far left means it gets a good view of the left side of your face. This can be a little&nbsp;disconcerting.</p>

<p>The <span class="caps">USB</span> port is (without some serious hackery) only in peripheral mode. I&#8217;d really like to be able to plug a <span class="caps">USB</span> keyboard into this device (bluetooth keyboards are way too&nbsp;expensive).</p>

<p>There&#8217;s a bottleneck in the system (processor presumably), that stops it playing youtube videos at full framerate. Mplayer seems to just be able to handle <span class="caps">QVGA</span> video at 24fps, but nothing&nbsp;more.</p>

<div class="geshifilter"><div class="text geshifilter-text" style="font-family:monospace;"># cat /proc/cpuinfo<br />
Processor &nbsp; : Some Random V6 Processor rev 2 (v6l)<br />
BogoMIPS &nbsp; &nbsp;: 320.37<br />
Features &nbsp; &nbsp;: swp half thumb fastmult vfp edsp java <br />
<span class="caps">CPU</span> implementer &nbsp; &nbsp; : 0x41<br />
<span class="caps">CPU</span> architecture: <span class="caps">6TEJ</span><br />
<span class="caps">CPU</span> variant : 0x0<br />
<span class="caps">CPU</span> part &nbsp; &nbsp;: 0xb36<br />
<span class="caps">CPU</span> revision &nbsp; &nbsp; &nbsp; &nbsp;: 2<br />
Cache type &nbsp;: write-back<br />
Cache clean : cp15 c7 ops<br />
Cache lockdown &nbsp; &nbsp; &nbsp;: format C<br />
Cache format &nbsp; &nbsp; &nbsp; &nbsp;: Harvard<br />
I size &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;: 32768<br />
I assoc &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; : 4<br />
I line length &nbsp; &nbsp; &nbsp; : 32<br />
I sets &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;: 256<br />
D size &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;: 32768<br />
D assoc &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; : 4<br />
D line length &nbsp; &nbsp; &nbsp; : 32<br />
D sets &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;: 256<br />
<br />
Hardware &nbsp; &nbsp;: Nokia N800<br />
Revision &nbsp; &nbsp;: 24202524<br />
Serial &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;: 0000000000000000</div></div>

<h2>Software</h2>

<p>The software stack of the N800 is everything I could desire. It runs a Debian derivative of Linux, <a href="http://maemo.org/">Maemo</a>. Maemo uses proper Debian package management, the <span class="caps">GTK</span> widget set (with addons), Telepathy for <span class="caps">IM</span>, and Gstreamer for media. This makes it a doddle to port existing X applications to the&nbsp;N800.</p>

<p>When you first turn on the N800, after unboxing (or reflashing), you go through an install wizard. It sets the hostname, timezone, and pairs with your bluetooth cellphone. The bluetooth phone pairing is well thought out, and beats anything I&#8217;ve ever come across on any platform. Unfortunately it suffers from the same problem as Windows - it doesn&#8217;t set your Home Town, etc. based on the&nbsp;time-zone.</p>

<p>The default web browser is Opera-based, but a Gecko engine is available, and a WebKit one remoured to be on the way. It has a (proprietary) flash plugin, so you <em>can</em> watch YouTube, and the CACert.org root certificate is pre-installed&nbsp;:-)</p>

<p>The device has 4 input&nbsp;modes:</p>

<ul>
<li>Bluetooth keyboard (or something like <a href="http://www.russnelson.com/">Russ Nelson</a>&#8217;s chording bluetooth keyboard, which I came across at <span class="caps">OSCON</span>, and is truly a sight to&nbsp;behold)</li>
<li>Stylus on-screen keyboard. I find this frustrating, but at least it has&nbsp;predictive-text.</li>
<li>Full screen, thumb on-screen keyboard. This is better, but switching between pages (case, numerals, symbols) gets tiring. It&#8217;s launched by pressing on a text field with a finger, this only works about 60% of the time.

<ul>
<li>A user has prototyped an <a href="http://blog.gustavobarbieri.com.br/2007/07/24/iphone-like-virtual-keyboard-for-n800/">iPhone-like keyboard</a> for the N800 (in python), which works very nicely. But clearly the Maemo input system doesn&#8217;t allow plugins, so it remains a&nbsp;prototype.</li>
</ul></li>
<li>Handwriting recognition. I&#8217;m a P910i user, so this fits well with me, but I took a while to get used to writing <em>inside</em> the input area, rather than all over the screen. The handwriting recognition is good, and trainable, which is very nice. But I find the input area too small to reliably input in the correct case. It can&#8217;t decipher cursive (but then nobody can decipher <em>my</em> cursive), and some symbols don&#8217;t input easily. All this is forgiven by the ability to correct the handwriting recognition, by writing over the incorrect&nbsp;letter.</li>
</ul>

<p>I find the input fine, although slow, for everything except passwords. Multi-case, symbol-laden passwords really bring out the worst of <em>all</em> the input&nbsp;systems.</p>

<p>The default software selection is passable, but not great. The device really ships with &#8220;internet tablet&#8221; software, with a few decent games thrown in. The major problems are the media player doesn&#8217;t play oggs or video, and the e-Mail program&#8217;s <span class="caps">IMAP</span> support, which is a joke, at best (It uses <span class="caps">IMAP</span> as if it was&nbsp;<span class="caps">POP</span>).</p>

<p>But I enabled a few extra repositories and soon my N800 became a really cool&nbsp;device:</p>

<ul>
<li>Camera (by default, the web-cam is only used by the &#8220;Internet Call&#8221;&nbsp;software)</li>
<li>There is a port of Claws, which is a <em>real</em> <span class="caps">IMAP</span>&nbsp;client</li>
<li>Fmradio (yes it isn&#8217;t usable by&nbsp;default)</li>
<li>ipython (the maemo Hildon <span class="caps">GUI</span> library has python&nbsp;bindings)</li>
<li>maemo-mapper. It&#8217;s hard to tell the functionality of this without a <span class="caps">GPS</span>, but it supports all the popular online maps (for imagery), and uses OpenStreetmap by default, which turns many geeks&#8217;&nbsp;eyes.</li>
<li>maemo-recorder - A sound&nbsp;recorder.</li>
<li>maemo-wordpy - A WordPress&nbsp;client.</li>
<li>Mediastreamer - A <span class="caps">UPNP</span> media client. I&#8217;ve tried this with MediaTomb and GMediaServer, but in both cases, connections seemed to die prematurely. I think this is a known bug with&nbsp;libupnp.</li>
<li>Mplayer - I used my N800 to watch movies on cheap transatlantic flights. It&#8217;s battery life is much better than a laptop, although the screen is&nbsp;small.</li>
<li>OpenSSH (client and server) - naturally&nbsp;:-)</li>
<li>rdesktop and vncviewer - These impress geeks, while also being&nbsp;useful</li>
<li>An X terminal is a must. The maemo-hackers edition is the one to get, it has a&nbsp;Ctrl-key&#8230;</li>
<li>Skype is installable with one click. The N800 makes a <em>great</em> skype phone (assuming you have WiFi, which is rare to find in this country, but in Portland <span class="caps">OR</span> it was the perfect device to have in my back&nbsp;pocket)</li>
</ul>

<p>My&nbsp;repositories:</p>

<pre><code>http://catalogue.tableteer.nokia.com/certified/ bora user
http://catalogue.tableteer.nokia.com/non-certified/ bora user
http://repository.maemo.org/ bora free non-free
http://repository.maemo.org/extras/ bora free non-free
http://www.claws-mail.org/maemo/ bora user
http://maemo-hackers.org/apt bora main
</code></pre>

<h2>What&#8217;s the&nbsp;point</h2>

<p>It&#8217;s a cool device for a geek to own, no doubt, but what&#8217;s the actual point of&nbsp;it?</p>

<p>I can answer that in a few&nbsp;ways:</p>

<ul>
<li>Firstly, it&#8217;s screen&#8217;s bigger than my cellphone, but smaller than a laptop, so it&#8217;s good for goofing off during university lectures, and surfing the&nbsp;web.</li>
<li>It plays YouTube. All my machines are <span class="caps">AMD64</span>, and don&#8217;t run proprietary flash, so they don&#8217;t. I can&#8217;t say I use this much, but when I&#8217;m forced at gunpoint to watch a YouTube video, I <em>can</em> do&nbsp;it.</li>
<li>It&#8217;s nice for looking at photos. Bigger than a camera / phone, and supporting bluetooth and&nbsp;<span class="caps">SD</span>.</li>
<li>I don&#8217;t own a portable video player, so this is my portable video&nbsp;player.</li>
<li>When you can&#8217;t get to sleep at night, and suddenly something comes to you that you meant to find out about on Wikipedia or the web, you can grab it from the bedside table and do so. (Yes, I&#8217;m an unashamed&nbsp;geek)</li>
<li>My cellphone is notoriously unreliable, and this doesn&#8217;t make for a good alarm clock. So the N800 got pressed into this service. However, it&#8217;s alarm system seems to have a bad bug, that can semi-brick it for a week. I haven&#8217;t got to the bottom of it. But sometimes (and only when you have alarms set), it won&#8217;t boot for a week. You either have to re-flash it, or wait for it to suddenly wake up and make alarm&nbsp;noises.</li>
<li>If I want to see if there&#8217;s WiFi somewhere, it&#8217;s a lot quicker to check on the N800, then to take out a&nbsp;laptop.</li>
</ul>

<p>But in the end, all that matters is that it runs Linux , and has Python dammit, so it&#8217;s a piece of cake to write any software for it that I want to. I think that reason on it&#8217;s own makes it a device worth&nbsp;owning.</p>
    ]]></content>
  </entry>
  <entry>
    <title>BIOS Recovery</title>
    <link rel="alternate" type="text/html" href="http://tumbleweed.org.za/2007/10/18/bios-recovery" />
    <id>http://tumbleweed.org.za/2007/10/18/bios-recovery</id>
    <published>2007-10-17T21:36:28+00:00</published>
    <updated>2008-09-19T00:26:20+00:00</updated>
    <author>
      <name>tumbleweed</name>
    </author>
    <category term="83" />
    <category term="bios" />
    <category term="bricked" />
    <category term="flash" />
    <category term="hardware" />
    <summary type="html"><![CDATA[<p>A couple of months ago, I was looking at a friend&#8217;s laptop. It had definite motherboard problems and a dead <span class="caps"><span class="caps">HDD</span></span>. As part of the service, I updated the <span class="caps"><span class="caps">BIOS</span></span>. Unfortunately, it&nbsp;died&nbsp;mid-flash.</p>

<p>I tried the local Fujitsu-Siemens service center, but they said the motherboard had to be replaced. On an aging laptop, that&#8217;s just not worth it. New <span class="caps"><span class="caps">HDD</span></span>, yes. New&nbsp;Mobo,&nbsp;no.</p>

<p>I asked around <span class="caps"><span class="caps">UCT</span></span> everywhere, looking for someone with a <span class="caps"><span class="caps">PROM</span></span> programmer, but the only one I could find was an <em>ancient</em> device attached to a 286. The &#8220;new&#8221; programmer (not much newer) was broken&#8230; I waited a couple of months, but it still&nbsp;isn&#8217;t&nbsp;fixed.</p>

<p>So, I tried a mail-order <span class="caps"><span class="caps">BIOS</span></span> flashing service, <a href="http://www.biosflash.com">biosflash.com</a>. They found a compatible chip, programmed it (with the update I&#8217;d been trying to install), and put it in the (registered) post within 24hrs. 2 weeks later, I&#8217;ve got it, and it installed it in&nbsp;the&nbsp;laptop.</p>

<p>It&nbsp;works!</p>

<p>Usually this kind of kind of thing means the laptop is written off. (Desktops normally have some kind of bad-flash recovery procedure, but it&#8217;s rare in laptops, and not foolproof anyway). I&#8217;m very impressed with biosflash.com: for only €15, the machine is no longer&nbsp;a&nbsp;brick.</p>

<p>Now to replace that&nbsp;<span class="caps"><span class="caps">HDD</span></span>&#8230;</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>A couple of months ago, I was looking at a friend&#8217;s laptop. It had definite motherboard problems and a dead <span class="caps">HDD</span>. As part of the service, I updated the <span class="caps">BIOS</span>. Unfortunately, it died&nbsp;mid-flash.</p>

<p>I tried the local Fujitsu-Siemens service center, but they said the motherboard had to be replaced. On an aging laptop, that&#8217;s just not worth it. New <span class="caps">HDD</span>, yes. New Mobo,&nbsp;no.</p>

<p>I asked around <span class="caps">UCT</span> everywhere, looking for someone with a <span class="caps">PROM</span> programmer, but the only one I could find was an <em>ancient</em> device attached to a 286. The &#8220;new&#8221; programmer (not much newer) was broken&#8230; I waited a couple of months, but it still isn&#8217;t&nbsp;fixed.</p>

<p>So, I tried a mail-order <span class="caps">BIOS</span> flashing service, <a href="http://www.biosflash.com">biosflash.com</a>. They found a compatible chip, programmed it (with the update I&#8217;d been trying to install), and put it in the (registered) post within 24hrs. 2 weeks later, I&#8217;ve got it, and it installed it in the&nbsp;laptop.</p>

<p>It&nbsp;works!</p>

<p>Usually this kind of kind of thing means the laptop is written off. (Desktops normally have some kind of bad-flash recovery procedure, but it&#8217;s rare in laptops, and not foolproof anyway). I&#8217;m very impressed with biosflash.com: for only €15, the machine is no longer a&nbsp;brick.</p>

<p>Now to replace that&nbsp;<span class="caps">HDD</span>&#8230;</p>
    ]]></content>
  </entry>
</feed>
