bug adventures

BUG Adventures - GPS still not getting a fix, need another antenna perhaps or is GPSConfig not working?

Well it's been 2 weeks and I've been too busy to do much with my BUG Labs BUG but here's the current state of affairs:

  1. fixed my compiler in Eclipse to be R1.4 compliant by setting Preferences->Compiler->Compiler compliance level to 1.4
  2. Started my Bug and the following log is displayed in /var/log/concierge:
    1. [Sun Apr 05 21:32:13 GMT 2009] [INFO] GPSModlet defaulting to passive (external) antenna
    2. [Sun Apr 05 21:32:13 GMT 2009] [INFO] Started modlet from factory com.buglabs.bug.module.gps...
  3. I take it this means that the antenna is set to use the external antenna
  4. Wait 7 minutes and I still see the BUG with no fix
  5. Then I download the GPSConfig app as recommended by the BUG Labs folks and I see:
    1. GPSConfigServiceTracker: start
    2. status=3939
    3. [Sun Apr 05 21:40:31 GMT 2009] [INFO] AppManager started /usr/share/java/apps/GPSConfig.jar
  6. Then I tried using the joystick controller and the select button to configure the GPSConfig app to use the external antenna (and see this log:
    1. status=4003
    2. Switching to external (passive) antenna
    3. ret=0
  7. But the GPS Module display on the 2 line LCS still shows Passive which means it's NOT using the external antenna
  8. Help!
    1. Do I have a defective antenna?
    2. Am I doing something wrong with the GPSConfig app?
    3. Or is the GPS Module incorrect when it states that the antenna is Active i.e. internal antenna instead of Passive i.e. external antenna?

 

Tried to upgrade Bug Labs Bug Root FS to R1.4 but now my BUG is borked

On Wednesday, the official release of Bug Labs R1.4 came out. Summary: I tried to upgrade my Bug Root File System, and my Bug no longer works and I am not sure where to document my problem (should I put it on the wiki or the forums?). I guess I will get on good 'ole IRC to get this fixed on Monday (I really dislike IRC, it reminds of the 1990s, full of people trying to help you but no RSS feed, no archives without bots that require Kevin Marks level knowledge to keep them up and running, and no distillation of knowledge so you are doomed to explain the same things over and over again!). Help! If you can help, twitter me @rtanglao or email me roland AT rolandtanglao or I'll try to get help on IRC as well as post on the Bug Labs R1.4 thread on community.buglabs.net. Anybody who helps me, gets a free beer the next time they are in Vancouver (how about a Bug Labs meetup at Open Web 2009 in June 11-12 in Vancouver?) Read on for all details.

Details

R1.4 = Bug Labs SDK 1.81 + Root FS 1.4 + Kernal 1.4 (Suggestion to Bug Labs: bundle these together or tag future releases so that tag 1.5 for example is the same release tag for SDK, FS and Kernal)

The Bug Labs documentation and web presence is confusing even for somebody like me who has been developing software for 20 years and uses confusing open source software like git and Drupal so that's saying something! And Bug Labs seems to admit it in this blog post from December, "Finding BUG Tutorials and Documentation". My off-the-cuff recommendation given my developer relations experience at Nortel  would be to create a single wiki page "Busy Developer's Guide to writing software for the BUG" (BDGB) with the bare minimum of info that is always up to date and to have the dev relations person (Alicia?) post a blog post on bugblogger.com whenever the BDGG is updated! Anyways...

Here's what I did:

Tried to upgrade my Root FS to R1.4 using the Mac instructions from HOW to upgrade ROOT FS aka "Update your BUG memory card" (see "Yak Shaving" section below for full details)

Here's what happened:

The Root FS upgrade appeared to work but when I boot the Bug it doesn't come up and doesn't activate the Ethernet over USB so I can't ssh in to check things out.

Here's what I expected:

I expected it to "just work" and then I could proceed to upgrading the kernal to R 1.4

Guesses as to what went wrong

  1. A bug in the Root FS image?
  2. A bug in the ext2fsx software that I used namely 1.4d4
  3. Something else?

Yak Shaving (or what I did in exquisite detail)

(raw gist is here)

dd if=/dev/disk1s1 of=BUG_backup.ext3.bin 
tar xvfjv bug-image-production-bug-R1.4-rootfs.ext3.bz2
dd if=bug-image-production-bug-R1.4-rootfs.ext3.bz2  of=/dev/disk1s1
95105+1 records in
95105+1 records out
sudo /usr/local/sbin/fsck.ext3  /dev/disk1s1
e2fsck 1.39 (29-May-2006)
Couldn't find ext2 superblock, trying backup blocks...
/usr/local/sbin/fsck.ext3: Bad magic number in super-block while trying to open /dev/disk1s1
The superblock could not be read or does not describe a correct ext2
filesystem.  If the device is valid and it really contains an ext2
filesystem (and not swap or ufs or something else), then the superblock is corrupt, and you might try running e2fsck with an alternate superblock:
    e2fsck -b 8193 <device>
sudo /usr/local/sbin/resize2fs  /dev/disk1s1
resize2fs 1.39 (29-May-2006)
/usr/local/sbin/resize2fs: Bad magic number in super-block while trying to open /dev/disk1s1
Couldn't find valid filesystem superblock.

"Bug Adventures" III - How to use Eclipse

Eclipse is a maze of twisty passages all alike for those not used to it :-) Herewith a quick and dirty guide for those not used to it! More in my Bug Adventures wiki

  1. How do I use f***ing Eclipse?
    1. Easy: always make sure the  Dragonfly Perspective is open from Window->Open Perspective->Other
  2. How do I load code from a JAR from other people for a Bug APP that's not on BUGnet?
    1. "New Bug Project" (one of the funny icons on the top left , the one in the middle)
    2. Select All Services, and select your Bug, then click Finish
    3. Right Click->Import->General->Archive File->Browse->blah.jar that you received from your friend or fellow developer
    4. Select "Yes To All" when asked about "Overwrite .project" in folder
    5. Right Click "Send to Bug

There doesn't seem to be a way to single step through code on the Bug itself. This seems to work no problem on the Virtual Bug but I don't use simulators, sorry! I used to do this via adb/gdb/xdb/ in the 1990s with HP-UX and other unix variants so there must be a way to do this on the Bug. Pointers appreciated!

 

"Bug Adventures" II - Why doesn't my GPS work?

(Part 2 of my Bug Adventures series, for more real time wiki action check out my Bug Adventures wiki where I flesh out my thoughts before posting them here!)

Why doesn't my GPS aka BUGgps seem to work?
By "not working", I mean it doesn't get a GPS satellite lock which
results in a Java exception for those using the high level API and void
values e.g. "$GPGLL,,,,,022837.595,V*1D "for apps reading the RAW GPS
sentences.  My guess is it's a low level software bug that will be
fixed in the "real soon now" R1.4 software release. Note that I have
attached the external antenna and put it on the window sill where my
other GPSes (Nokia LD-4W, Nokia E71) have no problems obtaining a GPS
lock!

Herewith my debugging notes:

  1. http://bugcommunity.com/forums/viewtopic.php?t=351 seems to be the definitive source of how to fix your GPS! the fix in the thread:
    1. "navigate the front-panel menu to the GPS module
      and you will be able to see fix: True/False and IOX, which is the value
      of the IOX register:"

      1. (front panel led sequence is: modules->GPS->IOX) I get 0x63 which means
        1. bit  0: 1 == no GPS fix, since fix is active low
        2. bit 1: 1 = no overcurrent condition
        3. bit 2: 0 = no wakeup from sleep
        4. bit 3: 0 = don't know what this is, guess is 0 means don't download firmware
        5. bit 4,5 unused
        6. bit 7,6 0,1 == external antenna
  2. Other people's code I have tried
    1. GPSRawFeedExample always outputs "V*blah" which I think means void!
      1. e.g. $GPGLL,,,,,051302.397,V*10
    2. GPSLoggerSimpleGUI - the GUI doesn't work but at least the program doesn't crash :-)
    3. GPSLogger2 creates a zero length file in /tmp but does nothing else e.g. /tmp/GPSSun Jan 04 20:25:49 UTC 2009.log
    4. GpsLogger_1.1 java.lang.NullPointerException
      at com.buglabs.bug.module.gps.GPSModlet.getLatitudeLongitude(Unknown Source)
    5. My friend Simon's app has the same bug as GPS Logger 1.1 i.e. java.lang.NullPointerException
      at com.buglabs.bug.module.gps.GPSModlet.getLatitudeLongitude(Unknown Source)

      1. Simon's guess: the NMEA sentence they are getting from the underlying
        hardware isn't quite in the format they expect, so they end up trying
        to get a double out of the string  ","
      2. http://lists.buglabs.net/pipermail/bug-dev/2008-December/000167.html seems to be the same problem!
  3. Evidence that this is a Bug that's being worked on:
    1. this fix went into  svn trunk (svn://svn.buglabs.net/bug/trunk  ) on December 14, 2008, http://svn.buglabs.net/svn/!revision/7632
      // default to passive (external) antenna, until
      // such time as we have confidence in the internal            
      // antenna's ability to obtain a fix          
      log.log(LogService.LOG_DEBUG, "GPSModlet defaulting to passive (external) antenna");              
      setPassiveAntenna();       

"Bug Adventures" Personal Wiki started

OK these really are the last photos of Unboxing the Bug from Bug Labs-20081206-5

I have started a personal Google Wiki called "BUG Adventures" to track my adventures with my Bug Labs BUG. There's not much there for now other than some newbie eclipse questions and  the usual anti-Java whingeing :-)  (since I have only played with my BUG for about an hour), but if you are interested you can check it out at your leisure.

The question of the moment is: what is this ? (couldn't find it in the wiki and manuals but then again I only searched for about 15 minutes!)

Otherwise, I'll post highlights here.

 

Subscribe to RSS - bug adventures