Re: AMSv2 USB

2012-02-27 Thread Thomas Martitz

Am 27.02.2012 11:30, schrieb Torne Wuff:


I absolutely agree; while *our* definition of unstable includes "is
missing USB support", the consistent surprise users demonstrate when
they find out is evidence enough that that definition is not obvious
:)



That's not quite right. We allow targets that lack USB in the stable 
category. This is why we're having this discussion. The bootloader 
behavior was changed for stable targets as a result of enabling USB in 
current builds.


Best regards.


Re: AMSv2 USB

2012-02-27 Thread Torne Wuff
On 26 February 2012 22:53, Mike Giacomelli  wrote:
> I think the underlying problem is that people expect USB to work and we
> don't make it clear to them that it does not work yet on all targets.  I
> think the best solution to this problem would be to display a warning
> whenever a user installs a build that does not have USB support that reminds
> them of that and links to the manual's dual boot section.  I don't see that
> it really matters if the user has to manually turn off the player and then
> plug in USB, or if they have to manually turn off the player, hold left, and
> then insert USB.  If we've informed the user about the limitations of the
> build they're installing, the end result will be the same.  If we haven't,
> we're still depending on them to either figure it out themselves.

I absolutely agree; while *our* definition of unstable includes "is
missing USB support", the consistent surprise users demonstrate when
they find out is evidence enough that that definition is not obvious
:)

If it looks like it works (i.e. it boots and plays music and so on)
then people will expect USB to work because that's a core feature of
the device to a user.

-- 
Torne Wuff
to...@wolfpuppy.org.uk



RE: AMSv2 USB

2012-02-26 Thread Mike Giacomelli

 
> On Sun, Feb 26, 2012 at 12:29 PM, Frank Gevaerts  wrote:
> > The way I understand it (which could be wrong) is that the dualboot code
> > (i.e. the bit that decides which bit gets to boot) is *not* in the
> > bootloader as in the files that are downloaded, but in bits of code
> > that's embedded at build time into rbutil and/or mkamsboot. This has
> 
> I haven't followed the amsv2 bootloader / mkamsboot functionality.
> However, if this is true it's a bad thing because it embeds a
> dependency into Rockbox Utility. This means that depending on the
> version of Rockbox Utility used the bootloader (or rather dualboot
> code, but from a users point of view this doesn't make a difference)
> will behave differently, and this shouldn't happen. While there might
> be reasons for embedding the dualboot code into mkamsboot there should
> be a different approach for Rockbox Utility -- it won't be hard to
> download dualboot binary code from the server instead of having a
> binary blob in Rockbox Utility. Of course other ideas are always
> welcome.
> 



I think the underlying problem is that people expect USB to work and we don't 
make it clear to them that it does not work yet on all targets.  I think the 
best solution to this problem would be to display a warning whenever a user 
installs a build that does not have USB support that reminds them of that and 
links to the manual's dual boot section.  I don't see that it really matters if 
the user has to manually turn off the player and then plug in USB, or if they 
have to manually turn off the player, hold left, and then insert USB.  If we've 
informed the user about the limitations of the build they're installing, the 
end result will be the same.  If we haven't, we're still depending on them to 
either figure it out themselves.  

If you dislike how mkamsboot works and want to change ti, thats fine, but I 
don't see that changing it will solve the underlying issue, nor help users of 
future ports lacking USB support.  

Mike  

Re: AMSv2 USB

2012-02-26 Thread Dominik Riebeling
On Sun, Feb 26, 2012 at 12:29 PM, Frank Gevaerts  wrote:
> The way I understand it (which could be wrong) is that the dualboot code
> (i.e. the bit that decides which bit gets to boot) is *not* in the
> bootloader as in the files that are downloaded, but in bits of code
> that's embedded at build time into rbutil and/or mkamsboot. This has

I haven't followed the amsv2 bootloader / mkamsboot functionality.
However, if this is true it's a bad thing because it embeds a
dependency into Rockbox Utility. This means that depending on the
version of Rockbox Utility used the bootloader (or rather dualboot
code, but from a users point of view this doesn't make a difference)
will behave differently, and this shouldn't happen. While there might
be reasons for embedding the dualboot code into mkamsboot there should
be a different approach for Rockbox Utility -- it won't be hard to
download dualboot binary code from the server instead of having a
binary blob in Rockbox Utility. Of course other ideas are always
welcome.

We had installation dependencies hardcoded in Rockbox Utility in the
past (Rockbox release version) and it was a bad thing (since it
required us to make a new release of Rockbox Utility on each new
Rockbox release). We should really avoid adding such dependencies, and
it looks like mkimxboot is doing something similar (though I have no
idea if this involves dualboot decision).


 - Dominik


Re: AMSv2 USB

2012-02-26 Thread Thomas Martitz

Am 26.02.2012 01:03, schrieb Frank Gevaerts:

Since USB was enabled on trunk to evaluate how well USB works, without
knowing if it will even be enabled in the next release, I must say I
fail to understand why mkamsboot got changed.


I agree (in hindsight, I too haven't thought of this issue when the 
change was made) that bootloader shouldn't have been changed until we 
know USB is reliable enough. That is, when it's included in a stable 
release.


Best regards.


Re: AMSv2 USB

2012-02-26 Thread Alex Parker

On 26/02/12 11:29, Frank Gevaerts wrote:

On Sun, Feb 26, 2012 at 11:21:07AM +, Alex Parker wrote:

If USB is not to be enabled on 3.11, then we revert the bootloader
change. Rockbox Utility should be installing bootloaders that work
with the current release. If people are using current builds then
they can also install an alternate bootloader manually if they so
desire. We do releases for a reason, and they should come first.


The way I understand it (which could be wrong) is that the dualboot code
(i.e. the bit that decides which bit gets to boot) is *not* in the
bootloader as in the files that are downloaded, but in bits of code
that's embedded at build time into rbutil and/or mkamsboot. This has
the big advantage of making bootloader experimentation more or less
safe (i.e. you can't even touch the bit that lets you boot the OF to
recover), but it does make this particular situation a bit more
complicated than we'd like it to be.



Hmmm, OK. While that makes it a bit more difficult for people wanting to 
install reverse operating bootloaders I don't think it changes the basic 
premise - if 3.11 doesn't have USB enabled then the change in 
mkamsboot/rbutil gets reverted and a new release of mkamsboot/rbutil is 
done at the same time.


Alex



Re: AMSv2 USB

2012-02-26 Thread Frank Gevaerts
On Sun, Feb 26, 2012 at 11:21:07AM +, Alex Parker wrote:
> If USB is not to be enabled on 3.11, then we revert the bootloader
> change. Rockbox Utility should be installing bootloaders that work
> with the current release. If people are using current builds then
> they can also install an alternate bootloader manually if they so
> desire. We do releases for a reason, and they should come first.

The way I understand it (which could be wrong) is that the dualboot code
(i.e. the bit that decides which bit gets to boot) is *not* in the
bootloader as in the files that are downloaded, but in bits of code
that's embedded at build time into rbutil and/or mkamsboot. This has
the big advantage of making bootloader experimentation more or less
safe (i.e. you can't even touch the bit that lets you boot the OF to
recover), but it does make this particular situation a bit more
complicated than we'd like it to be.

Frank

> 
> Alex
> 

-- 
"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are,
by definition, not smart enough to debug it." - Brian W. Kernighan


Re: AMSv2 USB

2012-02-26 Thread Alex Parker

On 26/02/12 11:12, Frank Gevaerts wrote:

On Sat, Feb 25, 2012 at 07:30:07PM -0700, Mike Giacomelli wrote:

I guess it'll get fixed when 3.11 comes out.


Will it? Is USB stable enough to be enabled in a stable release? I
haven't seen any discussion about that yet.

I sincerely hope that the answer won't be "It will be enabled because
rolling back the mkamsboot change is too much work"...

Frank



I think it is a fairly simple answer.

If (on its own merits) USB is stable enough on AMSv2 then OK, we go 
ahead with 3.11.


If USB is not to be enabled on 3.11, then we revert the bootloader 
change. Rockbox Utility should be installing bootloaders that work with 
the current release. If people are using current builds then they can 
also install an alternate bootloader manually if they so desire. We do 
releases for a reason, and they should come first.


Alex



Re: AMSv2 USB

2012-02-26 Thread Frank Gevaerts
On Sat, Feb 25, 2012 at 07:30:07PM -0700, Mike Giacomelli wrote:
> I guess it'll get fixed when 3.11 comes out.

Will it? Is USB stable enough to be enabled in a stable release? I
haven't seen any discussion about that yet.

I sincerely hope that the answer won't be "It will be enabled because
rolling back the mkamsboot change is too much work"...

Frank

-- 
"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are,
by definition, not smart enough to debug it." - Brian W. Kernighan


Re: AMSv2 USB

2012-02-26 Thread Frank Gevaerts
On Sat, Feb 25, 2012 at 07:30:07PM -0700, Mike Giacomelli wrote:
> I think the problem is that we did a release of rbutil that finally
> started installing the new bootloader but that defaults to installing
> the old release.

Rockbox Utility installs the *current* release.

Frank

-- 
"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are,
by definition, not smart enough to debug it." - Brian W. Kernighan


RE: AMSv2 USB

2012-02-25 Thread Mike Giacomelli

 
> Since USB was enabled on trunk to evaluate how well USB works, without
> knowing if it will even be enabled in the next release, I must say I
> fail to understand why mkamsboot got changed.



I think the problem is that we did a release of rbutil that finally started 
installing the new bootloader but that defaults to installing the old release.


> This really needs to get fixed somehow.



I guess it'll get fixed when 3.11 comes out.

 
> Can people who need to make similar changes in the future *please* try
> to remember that we have a stable release that needs to work, and figure
> out a decent migration plan first?


I think to make this happen would have required releasing an official 
bootloader to go with each release.  Otherwise either release users or current 
build users will get the wrong bootloader.  We don't currently do that.  

I guess another option would be to have rbutil show an alert if someone's 
installing a build without USB support.  We seem to have this problem quite a 
lot.