bug labs

IPositionSubscriber is the Bug Labs asychronous API that is broken in 1.4.2

The Bug Labs asynchronous GPS API that we can't get working (mentioned in the previous blog post) with Simon's identicon program is: IPositionSubscriber

I'll report this in the Bug Labs forums and then update this post.

Bug Labs Release 1.4.2 - asynchronous GPS API broken, synchronous works but requires polling

Back in August using Bug Labs Release 1.4.1, Simon Lewis and I got his Bug Labs bug identicon app that generates identicons based on GPS coordinates to work. Unfortunately that used the Bug Labs synchronous API i.e. polling which runs down the battery. The working version is 1.0.3 and you can see the output of 1.0.3 in the video above.

It's still broken in Bug Labs Release 1.4.2  Full yak shaving details after the jump!

Bug Labs Release 1.4.1 fixes my GPS issues

I finally upgraded my Bug Labs Bug kernal and root file system to 1.4.1 (instructions on my Bug Adventures wiki under July 26, 2009) and my GPS now works! yes! Now to write some fun software!

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?

 

Upgraded Kernel and then Root FS of my BUG from R1.3 to R1.4, GPS still doesn't get a FIX

Summary:

Successfully updated my kernel on my BUG and then the ROOT FS (order is important, you must upgrade the kernel FIRST and then shutdown and then update the Root FS). However GPS is still not getting a fix!

Typos and minor bugs in the R1.44 Kernel upgrade procedure:

  • bug_kflash was in /usr/bin NOT /sbin
  • version is: 
    • Linux version 2.6.27.2 (buildbot@darner) (gcc version 4.1.2) #104 PREEMPT Thu Mar 12 11:32:33 EDT 2009
  • which is slightly older than the version in the instructions (probably because the person who wrote the instructions has an experimental, newer version)

Typos and minor bugs in the R1.4 Root FS upgrade procedure:

  • on the Mac, e2fsck and resize2fs are in /usr/local/sbin

Here's what the GPS is showing

command is:

cat /dev/ttymxc/1

(since GPS is in slot 1)

("V" on the GPGLL lines mans "void" i.e no GPS FIX AFAIK!) - Antenna is pointing out the window which means it should get a fix since my other GPSes i.e. E71 and LD-4W have no problem getting a fix there!)

$GPGLL,,,,,081149.577,V*18

$GPGSA,A,1,,,,,,,,,,,,,,,*1E

$GPGSV,3,1,12,11,89,179,27,24,76,162,,08,57,214,,27,32,183,*72

$GPGSV,3,2,12,07,28,280,,19,28,046,,28,24,317,,03,17,062,*74

$GPGSV,3,3,12,20,17,150,,13,03,220,,23,-1,196,,29,-1,293,*77

$GPRMC,081149.577,V,,,,,,,170309,,*23

$GPVTG,,T,,M,,N,,K*4E

$GPGGA,081150.577,,,,,0,00,,,M,0.0,M,,0000*5E

$GPGLL,,,,,081150.577,V*10

$GPGSA,A,1,,,,,,,,,,,,,,,*1E

$GPGSV,3,1,12,11,89,179,27,24,76,162,,08,57,214,,27,32,183,*72

$GPGSV,3,2,12,07,28,280,,19,28,046,,28,24,317,,03,17,062,*74

 

 

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!

 

7 things you should know about mobile - Presentation to UBC LFS

See the accompanying UBC mobile brief wiki for notes to this presentation which I gave to the UBC Faculty of Land and Food Sciences on January 13, 2009 (note that this presentation was prepared using the 280 Slides web app which i highly recommend!)

"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();       

Real Artists Ship! My Bug Bundle Arrives

More Unboxing the Bug from Bug Labs-20081206-20

Real artists ship! My Bug Labs Bundle Arrived today. Check out my BUGbundle unboxing pics (including the nice touch of the team's signatures inside the box.). The Camera module is on back/order but I received a cool von Hippel hacking module as a bonus for the delay. Now for some GPS hacking. Oh, and if anyone else in Vancouver has a BUG, contact me and let's get together to exchange notes!

Syndicate content