git changelog generation: one liner

[Print This] By mjhammel ~ October 27th, 2013. Filed under: General.

Needed some place to note this short one-liner for generating a changelog between version releases with git.

git log v0.5...v0.6 --pretty=format:'%s'

The output looks something like this.

RM #225: Fix xcc to build when gmp is already installed. This is a back-rev'd patch from Crosstool-NG that required no changes so xcc would be on Fedora 19.
RM #225: Disable XBMC for dev platform build except for tinyxml.
RM #225: crtmpserver depends on tinyxml from XBMC package added by PiBox to Buildroot.

This works as long as you've tagged your tree.  To tag the tree, use an annotated tag and then push to the origin to share it.

git tag -a v0.1 -m"Why did I do this?"
git push origin --tags

Tha'ts it.

DisplayLink vs TFT resistive touch screen for PiBox

[Print This] By mjhammel ~ August 21st, 2013. Filed under: Hardware, Raspberry Pi.

Okay, so working alone you often find yourself falling behind the curve.  I just got my DisplayLink working the other night and today I found this little device – a 2.8" TFT resistive touch screen for the Pi


This is a much better solution than the DisplayLink for the trailer.  But if I spend any more money getting this thing working I may have to sell one of the dogs.  Eeek.

I'm going to keep going with what I have and then return to the touch screen option a little later.  I need to get to a fully functioning prototype before I go to cost -reduction and feature-enhancement mode.

You can buy this display via  It's about $32US, plus shipping.  There is a discussion topic about it on the Raspberry Pi forums for the original version, which has since been updated.

PiBox: 0.5.0 released, many new features since

[Print This] By mjhammel ~ August 19th, 2013. Filed under: Hardware, Linux, omapfb, PiBox, Raspberry Pi, X11, XBMC.

A while back I made an official 0.5.0 release for PiBox which I announced on the Raspberry Pi Forums.  Since then I've made significant advances in preparing PiBox for use as a media server in my travel trailer.  Some of the features I've recently implemented include:

  • Support for running as a wireless access point
  • Support for full network configuration through a custom UI
  • Support for running dhcp server
  • Support for USB-attached DisplayLink Monitor
  • Enabled NFS support
  • Enabled webcam support

    Other features which are currently in development include

    • Web streaming of webcam
    • I2C monitor of sensors (temperature at a minimum)
    • Alsa sound support
    • Integration of XBMCBox package to play NFS mounted videos

    At the moment PiBox will depend on a 10 port USB powered hub with a 2.5A or higher rating.  The DisplayLink monitor will be used for system monitoring displays.  A miniature wireless keyboard/mouse device will initially be used for input but I'd like to switch that to either a touch screen DisplayLink monitor (preferred) or a handheld remote of some kind. 

    When I'm done I expect to be able to:

    • Stream webcam monitoring out the back window to a tablet's browser (so I can see behind the trailer from the tow vehicle using existing capabilities of tablets and phones)
    • Serve media files mounted on USB attached SD cards over NFS
    • Play videos wirelessly over NFS through XBMC using an HDMI attached micorDLP projector (that displays on the outside wall of the trailer but inside our R-Dome).

    Things are moving along pretty good now.  I still have some cleanup to do of the DisplayLink UI and will have to write special applications for monitoring and displaying output from sensors.  But I'm getting close to being able to stream the webcam and using XBMC on a second PiBox.  With luck I should have most of this working before Halloween.

    Evolution out, Thunderbird in (or how to migrate the quickly from Evolution to something else)

    [Print This] By mjhammel ~ August 19th, 2013. Filed under: Fedora, Linux.

    NOTE: This doesn't work!  It's missing all my recent saved mail.  Evolution saves the newer stuff in individual files with a ",S" suffix in a different directory.  Ugh.  I have Evolution.

    My Fedora 19 upgrade at work has gone badly.  I've reinstalled twice, back peddled to F18 (which didn't work at all) and tried switching to CentOS (which failed trying to read my Evolution folders).  Right now I'm on F19 and the XFce desktop is still fairly slow, though better than my first tries (multiple kernel and updates since then).  But Evolution is completely unusable.  It's painfully slow to do anything, from switching accounts to just browsing a single accounts email.  I've tried a number of things I found online but none seemed to have any impact.  I've tried messing with hdparm in case that was a culprit.  Nothing helps.  Evolution in F19 is too slow to be usable.  So I've switched to Thunderbird.

    The trick to switching is understanding that Evolution keeps mail in mbox folders along with associated indexing files.  You can ignore the indexing files and just copy over the mboxes to Thunderbirds Local Folders directory manually.  When you start Thunderbird it will see the new mboxes and you're all set though you still have to set up your imap/pop3 accounts – I didn't try to do that outside of thunderbird.  I also didn't worry about contact lists or calendars because the former I can recreate as I go and the latter I don't really care about.

    To make it easier for anyone who hasn't tried this, here are the steps I took, including making a backup of the Evolution folders before doing any of this.  Much of the process for doing this was already online, except for the part of collecting just the mboxes from Evolution.  Let's look at that process first.

    1. mkdir ~/backups/evolution
    2. cd ~/.local/share/evolution/mail
    3. rsync -a local_mbox ~/backups/evolution
    4. cd ~/backups/evolution
    5. find local_mbox -type f -iname "*.cmeta" | egrep -v "Junk|Trash" | sed 's/.cmeta//' > filelist.txt
    6. mkdir mbox
    7. tar -T filelist.txt -cvf - | (cd mbox; tar xvf -)

    Now you have a collection of mboxes, in their original folder structure, that you can import into another mail reader.  To get them into either Thunderbird or SeaMonkey:

    1. In Thunderbird, right click on Local Folders, select Settings.
    2. Note Local directory path
    3. Open a file browser and navigate to that directory.
    4. Open second file browser and navigate to ~/backups/evolution/mbox/local_mbox
    5. Select all files/directories in second file browser.
    6. Choose Edit->Copy
    7. In first file browser choose Edit->Paste to copy all files and folders to Thunderbird/SeaMonkey

    All your old email is now available under Local Folders in Thunderbird or SeaMonkey.  To do the same with Claws-Mail:

    1. Create folders under mbox (which may or may not be available – I'm not sure if I created that accidentally or not)
    2. Import mbox into folders one at a time.

    It's harder with Claws-Mail because there is no default Local Folders under which you can just copy the mboxes.  At least I couldn't find one.

    When you're done, you'll want to delete the backup as it won't be required anymore.  But hang onto your original evolution folders (~/.local/share/evolution) in case you need to refer to it again later.

    F19 upgrade: is this really getting better?

    [Print This] By mjhammel ~ August 6th, 2013. Filed under: Fedora, GTK+, Linux, NVidia, PulseAudio, X11, XFce.

    I'm still a Fedora user, even after years of releases that seem to cause more headaches than they solve.  I understand it's a bleeding edge distro.  But at the current rate of change it's bound to bleed out by the end of the year.  Systemd is a pain for me as a developer and so far does not seem to improve any boot time issues.  We're not down to 1 second boots, though we do seem to be down to 2 second shutdowns.  Big deal.  I only reboot when I do a system upgrade.  And then a bunch afterwards to fix everything broken by the upgrade.

    Most of my systems (and I have many between work and home) are running F16 with a couple F14 and one F12.  Last week my desktop at work had a disk failure and I had to reinstall.  So I jumped to F19.  I expected bumps along the way, especially given all I'd heard about the modified installation process.  It turned out that the installation went fine.  It's the running system that's giving me problems.

    First, nouveau crashed repeatedly.  I put up with three of these before switching to nVidia's akmod.  Unfortunately, I put the wrong one on the first time.  After a few hours of cleaning up the mess I went back to nouveau, went through a few more crashes and then tried nVidia's drivers again.  This time I got it right.  System stable.  Just incredibly slow.

    The desktop experience is almost painful with this release.  I'm using XFce and Firefox.  Scrolling in the browser is jumpy.  Switching workspaces quickly causes window refreshes to be very slow, on the order of seconds (at times, up to 20 or 30 seconds).  Evolution is slow too.  Just clicking on one message and then the next takes a full second or longer to change the display.  Maybe this is a change to the way spamassassin is integrated.  It wasn't that slow in F16.

    These issues may not be related but the overall effect is the desktop experience is terrible right now.  I'm trying to work from a single workspace for most of my work but that's a change from my usual workflow.  And I'm not liking it.

    There are threads online that state that setting "slub_debug=-" will disable debugging in the kernel to improve performance.  However, my kernel is not supposed to be a debug kernel (though the kernel config shows lots of debugging enabled).  I disabled slub_debug and performance improved slightly.  Workspace switching may be a little better, but not much.  Evolution seems a little better, but that may be due to some config changes I made.  Firefox isn't much changed.  I'm muddling through. Shading on my windows is slow.  I can roll them up quickly.  But rolling them down gets a white window for a couple of seconds before it gets updated with correct content.  I'd blame nVidia's drivers, but nouveau crashed, so I'm kind of out of options there.  I've installed all the updates, all the evolution updates, all the browser updates.  All the updates.  Reboot, reboot, reboot.

    Then there are all the application updates.  The first to annoy me (I'm old and easily annoyed by change on my desktop) was screen.  I use a hardstatus line that shows each screen window title centered at the bottom.  In the latest version of screen this no longer worked.  Instead, I get "user@hostname:<cwd>".  This overrides my window title setting (screen -t).  I verified it does not come from my BASH configuration.  It's a change to the way screen works.  The fix, after many hours of fiddling with changes to the hardstatus line and other configuration options, is to use "-T linux" to set the terminal type when I open my windows on startup.  So I went from this

    screen -t blah 1

    to this

    screen -T linux -t blah 1

    Now things work again.  And that's totally by accident.  There was nothing online I could find about this problem.  I just read the man page again and experimented.  Lucky me.

    There were additional issues with getting the volume control working again.  More twiddling with pulse-audio and plugins.  I'd write those down here but I've already forgotten what I did.  Trial and error.   Disabling the firewall is changed.  Google it.  Not hard, but it has something to do with systemd tools.  The GUI is gone.  Then there is the change to, I think, autotools.  A GTK+2 app built on F16 just fine.  On F19 I have to add -lphtread to the  Both F16 and F19 libc require -lpthread.  In F16 autotools ( picked it up automatically.  In F19 it doesn't.  Why?  Seems pretty important if libc requires it.  Who provides it to autogen?  Doesn't appear to be glib or gtk (based on pkconfig).  So something internal to autotools appears to have changed.  And broken.  I muddle on.

    I've already switched a number of systems that are pseudo-production oriented (media servers, dev servers) to CentOS because I need them stable for long periods.  I've wanted to stay with Fedora mostly because getting media playback was easier on it than on CentOS (and I have no interest in Ubuntu or variations thereof).  If I can find the tricks to getting media playback working as easily as Mauriat Miranda's Fedora instructions I may switch to CentOS on all my systems.  Interestingly, I still haven't tried the media playback stuff on F19 at work.  I just listen to GotRadio in a browser.  Maybe I'll switch to CentOS before I try them.  Till then, I muddle on.

    Then again, I have my own distro for my Raspberry Pi.  Maybe I should extend it for the desktop….

    PiBox: Another long break ends and new work begins

    [Print This] By mjhammel ~ July 7th, 2013. Filed under: General, Linux, PiBox, Raspberry Pi.

    First, let me say that the fire is long gone and we were never evacuated.  It was stressful waiting around for them to decide if we needed to go or not, but in the end the fire moved away from us and not closer to us.  Now we have everything unpacked, have made a list of what we'd grab next time (to make it easier) and even got rid of a bunch of junk we realized was just junk anyway while we packed to evacuate.  We're a bit better prepared for next time.  Hopefully, there won't be one.  But now back to business: PiBox.

    I've taken a long break from PiBox development to deal with some personal issues.  We bought a travel trailer, so it wasn't bad personal stuff – it was fun personal stuff.  And it leads me to some new ideas for PiBox.

    There are a couple of features I'm going to add to PiBox to support our entertainment and safety needs in our new trailer.  In short these are:
    # A wifi backup camera
    # Network export of SD card data (for movies over NFS)
    # Wireless audio
    # A pico DLP projector.
    # Make PiBox act as a wireless access point.

    The projector shouldn't require much extra.  Just plug into the HDMI and its ready to go.  But I'll need power to it and I'm not sure how I'll deal with that just yet.

    The wireless audio should be supported with a USB stick and external speakers. 

    The network support of SD card data over NFS means making sure the kernel and user space support is in place. 

    Also, since I'll need to use USB to add the SD cards (to give a variety of video options) I'll need an external USB hub with a bunch of ports.  It will need to be powered, and the Pi will be powered from it, including wireless keyboard/mouse.

    The wifi backup camera may prove challenging.  I've already experimented with a number of solutions and finally found a mix of ffmpeg, crtmpserver and Jw Player to provide the least amount of lag on Fedora.  The question is: can I cross compile crtmpserver and will JWPlayer work correctly if served from PiBox?  I think the answer to both is "yes", but I've yet to verify that.

    Making the Pi into a wireless access point/router should be fairly painless, especially since my default Wifi adapter already supports that feature.
    Another side project has been to build a portable power solution for the Raspberry Pi.  I've designed the board and have ordered and received the parts, but I've yet to put the thing together.  It should allow for battery power to run the Pi, which would be nice for use with the DPL projector.  However, I can also just use 110v power at the campsites since we don't plan (yet) on dry camping.

    In the end I hope to allow PiBox to provide the following:
    * Wireless backup camera serving via RTP to a tablet browser so I can see behind the trailer while we're driving.
    * A wireless media server providing AVI videos on SD cards.
    * A second Pi with the media server mounted to play AVI's through a DLP projector and wireless speakers while camping.
    * Self-powered media players using DLP projectors for the bunks in the trailer.

    Anyway, some fun stuff to work on.  Time to get back at it.

    Fire update – yeah, we’re close

    [Print This] By mjhammel ~ June 12th, 2013. Filed under: General.

    The Black Forest Fire is north and east of us.  We’re currently in voluntary evacuation mode, which is the second level of evacuation out of three.  Next mode is mandatory.  However, we’re on the far south side of the box that marks the voluntary evacuation.  And we’ve got a lot of grassland (not trees) between us and the fire, plus a major road on which its likely they could make a stand to prevent the fire jumping (like they did on Vindicator last year with the Waldo Canyon Fire).  There is little smoke here – winds are blowing north-northwest, which is away from us.  At least for now.

    So we’ve got both cars packed with valuables and we’re ready to bolt if we need to.  The dogs are clueless, thankfully.  We just don’t think its likely to head our way tonight.  Tomorrow could be different if the winds change.  They won’t have a handle on this thing for a couple of days.

    Weird thing is we just bought – yesterday – a Forest River R-Pod travel trailer.  So we have a “2nd home”, albeit reeeeally tiny.  Worse: my car can’t tow it yet.  I have an appointment to have the trailer hitch upgraded for next Wednesday.  If we’re still in voluntary evacuation tomorrow I may call to see if I can get that moved up.

    Life is weird.  Last year my sister was sitting on the edge of the Waldo Canyon Fire.  The fire fighters did a great job to help save her home.  This year, I’m hoping the same for our home.  But mother nature is fickle … and sometimes just plain mean.

    Happy Birthday…

    [Print This] By mjhammel ~ February 19th, 2013. Filed under: General.

    Nicholas Copernicus.  I mention this only because I often name computers after scientists, physicists and engineers.  Over the years I’ve had a number of systems named copernicus.

    Big Little Books

    [Print This] By mjhammel ~ February 16th, 2013. Filed under: Art and Graphics, General, Personal.

    I mentioned in a previous post that my wife got me some more old books this past holiday.  Last year she got me Pat and the Iron Horse, the first book I remember reading as a kid.  This year, she found me some Big Little Books similar to the one that the school teacher has in her desk in A Christmas Story.  These books are probably not very interesting to anyone but us old farts, but they sure bring back memories.  I do remember having both of these as a kid.  I wonder if I still have them somewhere buried in a box at my parents house.

    fantasticfour spaceghost




    USB magic

    [Print This] By mjhammel ~ January 22nd, 2013. Filed under: General.

    After buying a variety of Wifi dongles (to use separately on a Pi, BeagleBoard and APC at the same time), a collection of USB extenders, three different keyboards, an extra powered USB hub and two new Raspberry Pi’s (which showed up unexpectedly yesterday even though Element14 made me think they were back ordered and not shipping until the end of the month), I finally found the problem with my keyboard and mouse not working with either the Pi or my BeagleBoard.  Turns out it was rather simple.

    Don’t plug in a 5V power supply to the OTG port when you also plug in a external powered USB hub to the USB port on the board.  Instead, plug the powered hub into the onboard hub an then connect one of the ports of the powered hub to the OTG port to provide power to the board.

    I”m not sure what’s happening with power coming from two inputs though I suspect it’s a grounding issue.  But I verified both external hubs were working and I’m also able to use the wireless keyboard and mouse via the powered external hub on both the Pi and BeagleBoard.  I’m not sure why the wired keyboard and wireless mouse worked at all originally.  No matter.

    Of course, now I have lots of extra USB cables and Wifi dongles.  But hey, live an learn, right?