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