On Thu, 29 Jan 2009 21:08:39 -0500
Chris Frey <cdf...@foursquare.net> wrote:

> I added javaloader erase support tonight, and an experimental implementation
> of force erase.  I assumed this would erase an application even while it
> was open and running on the Blackberry, but it didn't for me.  Perhaps
> I'm misunderstanding something.

Chris I tested this and there is more to it I think.  If I use
bjavaloader to forcefully erase a module that is in use then I will
receive an error.  However if I look at the device, the application icon
no longer appears on the ribbon.

After a hard reset of the handheld, the module is in fact gone.

I think this is because the stop command 0x8d has a response package
that contains 0x78 (instead of the usual 0x64 JL_ACK response) which in
barry has been recognized as an exception case meaning module already
installed/in use, cannot continue.  In fact if you look at
erase-error-inuse.usb you will see that the handheld responds with 0x6c
when attempting to erase an in use module without sending the force
erase command.

I think what 0x78 response means is that a device reset is required...
which is precisely what happens when using javaloader.exe on windows:
the device performs a hard reset after the erase.

If you look at my USB log erase-inuse.usb you will see a bunch of
traffic on socket zero after the stop command.  This must be what's
required to force the hard reset.

BTW: loading a module over top of an in use module causes the same
0x78 response behaviour (see load-inuse.usb).

-- 
Josh Kropf <j...@slashdev.ca>

------------------------------------------------------------------------------
This SF.net email is sponsored by:
SourcForge Community
SourceForge wants to tell your story.
http://p.sf.net/sfu/sf-spreadtheword
_______________________________________________
Barry-devel mailing list
Barry-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/barry-devel

Reply via email to