<?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/">
<channel>
<title>Behan&#039;s Ramblings</title>
<atom:link href="http://blog.websterwood.com/feed/" rel="self" type="application/rss+xml" />
<link>http://blog.websterwood.com</link>
<description>Thoughts . . . some only half baked</description>
<lastBuildDate>Tue, 01 Jan 2013 03:30:47 +0000</lastBuildDate>
<language>en-US</language>
<sy:updatePeriod>hourly</sy:updatePeriod>
<sy:updateFrequency>1</sy:updateFrequency>
<generator>http://wordpress.org/?v=</generator>
<item>
<title>The 4 Must-Haves for an Embedded Development Board.</title>
<link>http://blog.websterwood.com/2009/07/22/4_must_haves/</link>
<comments>http://blog.websterwood.com/2009/07/22/4_must_haves/#comments</comments>
<pubDate>Thu, 23 Jul 2009 04:57:28 +0000</pubDate>
<dc:creator>behanw</dc:creator>
<category>
<![CDATA[Rants]]>
</category>
<category>
<![CDATA[Technology]]>
</category>
<category>
<![CDATA[Embedded]]>
</category>
<category>
<![CDATA[Linux]]>
</category>
<guid isPermaLink="false">http://blog.websterwood.com/?p=49</guid>
<description>
<![CDATA[I just came back from the Montreal Linux Symposium (formerly the Ottawa Linux Symposium) and realized I had ranted about the same thing I rant about at work all the time: the 4 things that I want on an embedded board in order to make my development work easier: A blinky LED: Above all else, [...]]]>
</description>
<content:encoded>
<![CDATA[<p>I just came back from the <a href="http://blog.websterwood.com/?feed-stats-url=aHR0cDovL3d3dy5saW51eHN5bXBvc2l1bS5vcmcvMjAwOS8=">Montreal Linux Symposium</a> (formerly the Ottawa Linux Symposium) and realized I had ranted about the same thing I rant about at work all the time: the 4 things that I want on an embedded board in order to make my development work easier:</p>
<p><span id="more-49"></span></p>
<ol>
<li><strong>A blinky <a href="http://blog.websterwood.com/?feed-stats-url=aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9MaWdodC1lbWl0dGluZ19kaW9kZQ==">LED</a>:</strong>  Above all else, (besides the power LED) there needs to be a LED which blinks under software control (perhaps a process, or event loop which toggles the state of the LED); that way you know at a glance if the LED is still blinking that the board is still sane, and that at least something in software-land is still running.  If the LED stops changing state, then something bad has happened.</li>
<li><strong>A <a href="http://blog.websterwood.com/?feed-stats-url=aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9TZXJpYWxfY29uc29sZQ==">serial console</a>:</strong> This is arguable just as important, as a blinky LED, but I&#8217;ve made it #2 on the list just because I think more people need to know that blinky LEDs are important.  However, a serial console allows you to provide a command line interface to the target, and in the case of an embedded Linux project, to be able to get a root prompt.  This vastly simplifies debugging the product.</li>
<li><strong><a href="http://blog.websterwood.com/?feed-stats-url=aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9KVEFH">JTAG</a> header:</strong> I have brought up boards before with only a blinky LED and serial port, however having JTAG sure makes it a lot easier.  It is very annoying to get a board to work with, which hasn&#8217;t brought out the JTAG lines to a header, and you have a difficult problem to debug.  Not to mention that debugging the hardware or writing a bootloader is infinitely easier if you have JTAG. Many COTS development boards come with working hardware and an existing bootloader though, which is why JTAG is at position #3 in this list.</li>
<li><strong><a href="http://blog.websterwood.com/?feed-stats-url=aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9FdGhlcm5ldA==">Ethernet port</a>:</strong> This may seem like an odd request, as many products don&#8217;t include an Ethernet port, despite the chips being used supporting Ethernet.  Many of the boards I&#8217;ve worked with will have a break-out board which provides such things as a DB9 for the serial console and a JTAG header.  How hard would it be to include an Ethernet port on the same break-out board?  Ethernet provides a fast way of transferring files back and forth (from target to host), allows for nfs mounted root filesystems (for embedded Linux), and is increasingly being used for remote debugging (via gdb and eclipse). Ethernet also opens new possibilities for manufacturing and rework, as you can transfer data to and from the target at much higher speeds than over a serial port.</li>
</ol>
<p>I find many embedded developers have similar lists of &#8220;must haves&#8221; for embedded projects. However in my experience, the hardware we are given to work with don&#8217;t always follow these rules.  The thing is that we&#8217;d all get the job done a lot faster, if we just had the right interfaces to work with.</p>
 <img src="http://blog.websterwood.com/?feed-stats-post-id=49" width="1" height="1" style="display: none;" />]]>
</content:encoded>
<wfw:commentRss>http://blog.websterwood.com/2009/07/22/4_must_haves/feed/</wfw:commentRss>
<slash:comments>1</slash:comments>
</item>
<item>
<title>Talking to Computer Projectors</title>
<link>http://blog.websterwood.com/2009/02/07/talking-to-computer-projectors/</link>
<comments>http://blog.websterwood.com/2009/02/07/talking-to-computer-projectors/#comments</comments>
<pubDate>Sun, 08 Feb 2009 01:01:51 +0000</pubDate>
<dc:creator>behanw</dc:creator>
<category>
<![CDATA[Technology]]>
</category>
<category>
<![CDATA[Embedded]]>
</category>
<category>
<![CDATA[USB]]>
</category>
<category>
<![CDATA[Video]]>
</category>
<guid isPermaLink="false">http://blog.websterwood.com/?p=43</guid>
<description>
<![CDATA[Over the last 6 years I&#8217;ve used a lot of computer projectors. Some projectors were a little brighter or had better contrast, some more acurately reproduced colours, and some were a lot smaller and portable than the rest. They all also provided different options for attaching a video source: VGA, Composite, DVI, Component, HDMI. However, [...]]]>
</description>
<content:encoded>
<![CDATA[<p>Over the last 6 years I&#8217;ve used a lot of computer projectors. Some projectors were a little brighter or had better contrast, some more acurately reproduced colours, and some were a lot smaller and portable than the rest. They all also provided different options for attaching a video source: VGA, Composite, DVI, Component, HDMI.  However, I&#8217;m not going to talk about all that <abbr class="datetime" title="2009-02-07">today</abbr>.  What I&#8217;m going to talk about are the projectors which also had a serial or USB connection to the the attached computer.<br />
<span id="more-43"></span><br />
At first I didn&#8217;t get the point of a serial or USB connection to a projector.  What would you use that for?  Then I built a media computer (MythTV) connected to a projector, and realized than unless I wanted to manually turn the projector on and off, or use a learning remote, I needed a way for the computer to control the projector. Fortunately, my projector had a serial port which allowed 2 way communication with an attached computer: on, off, aspect ratio, etc. Cool.</p>
<p>However, most of the projectors I&#8217;ve used since then, if they had any data port at all, had a USB port instead.  However, each projector used that USB port differently, supporting no more than 2 of the following features in any one case:</p>
<ul>
<li>serial-over-USB used with a custom program to make the remote control work the computer</li>
<li>HID-over-USB which makes the remote control appear as a mouse and keyboard</li>
<li>USB mass storage which makes the projector look like a thumb drive which contains other drivers or programs for the projector</li>
<li>Video-over-USB which allows the projector to show video via USB instead of VGA</li>
</ul>
<p>These are all great individually, but why not support all of them.  With the processors and chipsets available <abbr class="datetime" title="2009-02-07">today</abbr>, and that much of the firmware is probably shared between the projectors made by the same manufacturer (lowering implementation costs), why can&#8217;t all of these features be available via one USB 2.0 cable?</p>
<ul>
<li>serial-over-USB for controling the features of the projector and switching it on and off</li>
<li>HID-over-USB to make the projector remote control appear as a mouse and keyboard</li>
<li>Optional Video-over-USB (which sadly doesn&#8217;t seem to be entirely standardized yet)</li>
<li>Audio-over-USB so any speaker built into the projector doesn&#8217;t need extra audio cables</li>
<li>USB mass storage which makes the projector look like a thumb drive containing manuals, drives, and such</li>
<li>Even Ethernet-over-USB might be useful for providing a sink for streamed video from other computers on the network</li>
</ul>
<p>All that in one package would be a very good use of the USB port on the back of a projector. And since most of these uses of USB are standardized, would work on just about any operating system out there.</p>
 <img src="http://blog.websterwood.com/?feed-stats-post-id=43" width="1" height="1" style="display: none;" />]]>
</content:encoded>
<wfw:commentRss>http://blog.websterwood.com/2009/02/07/talking-to-computer-projectors/feed/</wfw:commentRss>
<slash:comments>0</slash:comments>
</item>
<item>
<title>Review of the HP Officejet J6480 All-in-One</title>
<link>http://blog.websterwood.com/2009/01/07/review-of-the-hp-officejet-j6480-all-in-one/</link>
<comments>http://blog.websterwood.com/2009/01/07/review-of-the-hp-officejet-j6480-all-in-one/#comments</comments>
<pubDate>Thu, 08 Jan 2009 03:37:13 +0000</pubDate>
<dc:creator>behanw</dc:creator>
<category>
<![CDATA[Technology]]>
</category>
<category>
<![CDATA[Ethernet]]>
</category>
<category>
<![CDATA[Fax]]>
</category>
<category>
<![CDATA[Linux]]>
</category>
<category>
<![CDATA[Printer]]>
</category>
<category>
<![CDATA[Scanner]]>
</category>
<guid isPermaLink="false">http://blog.websterwood.com/2009/01/07/review-of-the-hp-officejet-j6480-all-in-one/</guid>
<description>
<![CDATA[We just bought a new HP OfficeJet J6480 multi-function-device. It&#8217;s a network (wired or wireless) connected printer, scanner, fax, copier, with a duplexer and page feeder. This is the story of how we got it and how it worked in conjuction with Linux and OSX computers. At the end of 2008 our HP OfficeJet 7310 [...]]]>
</description>
<content:encoded>
<![CDATA[<p>We just bought a new HP OfficeJet J6480 multi-function-device. It&#8217;s a network (wired or wireless) connected printer, scanner, fax, copier, with a duplexer and page feeder.  This is the story of how we got it and how it worked in conjuction with Linux and OSX computers.</p>
<p>At the end of 2008 our HP OfficeJet 7310 multi-function printer/scanner/fax started having problems. The scanner started to make the left side of all scanned images green. This of course meant that the scanner, copier, and fax were basically useless, which left the printer.  Getting it fixed cost more than a new printer (it was beyond waranty), so when it started to choke on print jobs, it was time to get a new one.</p>
<p><span id="more-31"></span></p>
<p>Despite this experience, I&#8217;ve always liked HP printers; certainly the 7310 was great until it started to break. Linux support for most HP printers is excellent. Mac OSX support is excellent too. I even hear they work well with Windows. So when I started looking for a replacement, I went back to HP to see what was available.</p>
<p>I needed a replacement multi-function device which had the following capabilities:</p>
<ul>
<li>Ethernet or wireless connected (who wants to plug a shared USB printer into your otherwise wireless laptop?)</li>
<li>Supports duplex printing (save a few trees)</li>
<li>Has a page feeder on the scanner which supports duplexing</li>
<li>Can work as a copier</li>
<li>Can work as a fax machine</li>
</ul>
<p>After looking at the available options, the HP OfficeJet J6480 seemed to be the right replacement; it had the right specifications, and price. I ordered it from the HP website just before Christmas, and hoped it would arrive soon.  As promised it arrived a few days later.</p>
<p>I briefly connected it to Ethernet to setup wireless.  I know I&#8217;m supposed to be able to do it without connecting a Ethernet cable, but I don&#8217;t like using wireless to configure devices (I find wired generally more reliable than wireless).  Bringing up the web interface for the J6480 made configuring the device quick and painless.  The administration interface was well laid out and obvious.  It also made setting up wireless very easy; cutting and pasting is much easier and reliable than having to type in a password (or WEP key) with the buttons on the front panel of the printer.  Once wireless was configured, merely unplugging the Ethernet cable and turning on the wireless radio (a well marked button near the card reader) was enough to get it connected to the wireless access point.  Success.</p>
<p>Then it was time to configure my Debian Laptop to be able to use the printer and scanner from the J6480. After making sure I had the lastest versions of hplip and hpijs installed, it was just a matter of running hp-setup which walks you through installation.  hp-setup sometimes picks up the wireless router IP address instead of the printer itself, so it helps to specify the IP yourself if it is known (I tend to use static IP addresses for everything). All this would look something like this on Debian or Ubuntu Linux.</p>
<pre>
$ sudo apt-get update
$ sudo apt-get install hplip hpijs
$ sudo hp-setup 192.168.1.37
</pre>
<p>It worked first time, and even set up fax support (although I haven&#8217;t tested whether fax works yet). Both printing and scanning (via SANE or the web) worked flawlessly, every bit as well as my previous HP multi-function device.</p>
<p>Then it was on to the other OS in our house: OSX. There&#8217;s nothing much to tell here; I ran the installer on the included CDROM, and it configured the printer/scanner/fax support for OSX (and installed at least 200MB of other HP software).  Again, it worked flawlessly, allowing seamless printing, faxing, and scanning from the Mac desktop.  However, there was a pleasant surprise: &#8220;Scan to&#8221; support had been added to the mac.</p>
<p>The HP 7310 that I had before this had this &#8220;scan to&#8221; button which allowed you to scan things directly into applications on a properly setup Windows computer (running the appropriate HP software).  This was great if you ran Windows, as since this is a network connected device it isn&#8217;t necessarily near your computer. This often requires you to walk some distance to the scanner.  It was a neat feature, however I never used it as I didn&#8217;t run Windows myself.  I always thought it would be a nice feature to have however.  Well, it now works in Mac OSX, and rather well I might add.  You put the document into the scanner, press &#8220;scan to&#8221;, select the computer you want to send the document to, then the format and application you want the scanned document sent to.  So for instance you can scan as a JPEG to iPhoto, as a PDF to Preview, or use OCR to send text to Word.  And all this from the front panel of the multi-function-device.  Cool.</p>
<p>Hopefully the next version of hplip will support &#8220;scan to&#8221; for Linux as well.</p>
 <img src="http://blog.websterwood.com/?feed-stats-post-id=31" width="1" height="1" style="display: none;" />]]>
</content:encoded>
<wfw:commentRss>http://blog.websterwood.com/2009/01/07/review-of-the-hp-officejet-j6480-all-in-one/feed/</wfw:commentRss>
<slash:comments>0</slash:comments>
</item>
<item>
<title>Backuppc Everywhere</title>
<link>http://blog.websterwood.com/2008/12/28/backuppc-everywhere/</link>
<comments>http://blog.websterwood.com/2008/12/28/backuppc-everywhere/#comments</comments>
<pubDate>Sun, 28 Dec 2008 21:30:28 +0000</pubDate>
<dc:creator>behanw</dc:creator>
<category>
<![CDATA[Technology]]>
</category>
<category>
<![CDATA[Backups]]>
</category>
<category>
<![CDATA[FOSS]]>
</category>
<category>
<![CDATA[Linux]]>
</category>
<category>
<![CDATA[maemo]]>
</category>
<guid isPermaLink="false">http://blog.websterwood.com/?p=7</guid>
<description>
<![CDATA[Like most people I have lost data in the past; hard drives failures, Windows viruses, etc. I&#8217;ve found it takes one big data loss for people to see the value of good backups. So it was for me. I saw the light in 1998 when I lost much of my archived data to an infected [...]]]>
</description>
<content:encoded>
<![CDATA[<p>Like most people I have lost data in the past; hard drives failures, Windows viruses, etc. I&#8217;ve found it takes one big data loss for people to see the value of good backups. So it was for me.  I saw the light in 1998 when I lost much of my archived data to an infected networked Windows computer. I didn&#8217;t run it very often, but when I left it running over night for the first time, the virus ended up deleting all the user files on my UNIX file server. Since then backups have been very important to me.</p>
<p><span id="more-7"></span></p>
<p>Since then I had been looking for a good, flexible, automatic backup system.  It seemed there were many good backup systems out there, but none of them seemed to do all the things that I wanted them to do:</p>
<ul>
<li>Works without user intervention (users forget to backup).</li>
<li>Doesn&#8217;t require installing special client software</li>
<li>Works on mobile systems which aren&#8217;t always available when backups are being made</li>
<li>Backs up many different operating systems (Linux, Mac, Windows, etc)</li>
<li>Stores backups in an efficient manner, for many years, on network attached storage (tapes are a pain)</li>
<li>Is Free/Open-Source Software.</li>
</ul>
<p>In 2003, <a href="http://blog.websterwood.com/?feed-stats-url=aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9iYWNrdXBwYw==" target=\"_blank\" >backuppc</a> came to my attention. It seemed to fit all my criteria and more. I started to use it, and since then I&#8217;ve been pleasantly surprised how backuppc has met my needs over the years. But the most important thing was that every time I added a new device to my network environment, most of the time backuppc has been able to be used to back it up.</p>
<p>Backuppc easily backed up all my existing computers when I first started using it.  With laptops, if they were on and available via wifi at night, they backed up with everything else.  However, if they were off or away, they backed up as soon as they were available again. Sometimes this meant a backup during the middle of the day when they returned, however at least they were being backed up. Whenever we needed to get back an older version of a file, or restore a mistakenly deleted file from any of our computers, backuppc was up to the task.</p>
<p>After using it for a few years, we bought my wife an <a href="http://blog.websterwood.com/?feed-stats-url=aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9pYm9vaw==" target=\"_blank\" >ibook</a>. Backuppc was immediately put to work backing up this new OSX based laptop; it was just so easy to do. Then I bought a <a href="http://blog.websterwood.com/?feed-stats-url=aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Ob2tpYSBOODAw" target=\"_blank\" >Nokia N800</a>. It also was trivially backed up with backuppc as if it were a laptop.</p>
<p>The following assumes you already have your backuppc server setup and are successfully backing up other computers already.</p>
<p>After installing <a href="http://blog.websterwood.com/?feed-stats-url=aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9vcGVuc3No" target=\"_blank\" >openssh</a> on the n800 from <a href="http://blog.websterwood.com/?feed-stats-url=aHR0cDovL21hZW1vLm9yZy9kb3dubG9hZHMvcHJvZHVjdC9PUzIwMDgvb3BlbnNzaC8=">here</a> and <a href="http://blog.websterwood.com/?feed-stats-url=aHR0cDovL3NhbWJhLmFudS5lZHUuYXUvcnN5bmMv">rsync</a> (which can be found in the <a href="http://blog.websterwood.com/?feed-stats-url=aHR0cDovL3JlcG9zaXRvcnkubWFlbW8ub3JnL2V4dHJhcy8=">maemo extras repository</a>), you need to do some work on the backuppc server.</p>
<p>For this example, we&#8217;ll assume the n800&#8242;s hostname is &#8220;n800tablet&#8221; and the username is &#8220;joeblogs&#8221;.  Change these to suite your needs.</p>
<p>First you need to create the setup file called /etc/backuppc/n800tablet.pl</p>
<pre>
$Conf{XferMethod} = 'rsync';
$Conf{RsyncShareName} = ['/'];
$Conf{BackupFilesExclude} = {
    '/'    => [qw(
        /dev /proc /sys /tmp
        /mnt/initfs/proc /mnt/initfs/sys /mnt/initfs/tmp
        /var/cache /var/lock /var/run /var/tmp
    )],
};
</pre>
<p>Then you need to setup ssh to be able to connect to the n800, and tell backuppc about the new config file:</p>
<pre>
# su - backuppc
$ ssh-copy-id -i ~/.ssh/id_dsa.pub root@n800tablet
Password:
$ exit
# echo "n800tablet 0 joeblogs" >> /etc/backuppc/hosts
# /etc/init.d/backuppc restart
</pre>
<p>I was reminded of all these things a few days ago.  I messed up my n800 to the point of being unable to boot.  I needed to reflash it, however that meant wiping out my data and settings. The n800 has it&#8217;s own backup system (to SD card), but I hadn&#8217;t run it for a while (remember when I said above that users forget to backup?). However, I was also using backuppc, so I had recent backups! Once I had the n800 working again, I restored all the other files I didn&#8217;t have in my 6 month old n800 backup.</p>
<p>Good job I had backuppc.</p>
 <img src="http://blog.websterwood.com/?feed-stats-post-id=7" width="1" height="1" style="display: none;" />]]>
</content:encoded>
<wfw:commentRss>http://blog.websterwood.com/2008/12/28/backuppc-everywhere/feed/</wfw:commentRss>
<slash:comments>1</slash:comments>
</item>
</channel>
</rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using memcached
Page Caching using memcached (User agent is rejected)
Database Caching 12/26 queries in 0.003 seconds using memcached
Object Caching 2315/2333 objects using apc

Served from: blog.websterwood.com @ 2013-05-21 14:35:23 -->