On this device, once enabling timestretch, there is not a way to 'activate' it in the pitch screen. The 'home/back' button and the 'pwr/hold/option' button both do the same thing, take the player back to the WPS. Perhaps the 'home/back' button could be used to toggle pitch changing mode.

Hello everyone! I hope that someone still supports this port. I used to participate rockbox development several years ago but now most things are forgotten and I faced a problem now when I try to use rockbox on Sony nwz-e383.

The main problem is that the player cannot boot to rockbox after boot to OF. It continues to boot to OF instead and says that I should unblock to use it. I have seen the message on this thread with the same problem but it seems remained unanswered. Just to clarify the problematic behaviour I will show actions to reproduce it:

1. boot to rockbox and use it for a while...2. switch off (see shutting down screen, the player is switched off)3. boot to rockbox again (just to check it still works): it still works. OK... switch off4. boot to OF. No problem, OF works as new5. switch off (player says that it is switched off, good buy, see you later and so on)6. try boot to rockbox.... Nope. It boots to OF instead and shows the hold screen (looks like it was not switched off at previous step, but went to sleep, although it clearly showed that it was down)7. try to switch off and boot to rockbox many times. It boots OF every time from this moment on.8. There are two ways to workaround this: to reset or to plug USB. In both cases rockbox is booting normally after that. But if to repeat #4 rockbox is not booting again until reset or USB plugging (at plugging USB rockbox usb screen showing every time, not the OF usb screen)

At first I thought that the problem appeared because I installed the rb bootloader for E370 initially instead of the one for E380 (it happened, by the way, because of very "logical" wiki page for the E383 port which says that E380 is the same as E370 and thus suggests to download E370 rb bootloader, although there is a separate bootloader for E380 in the second message of this topic which is clearly different from the bootloader for E370. strange...)But when I changed the bootloader to that for E380 it did not help. The same behaviour still.

What can be done? Can it be a problem in the bootloader code which can be corrected? Or it is because of not correct installation of rockbox (I used the bootloaders from the second message of this topic and current development build of rockbox).

Hi,unfortunately this is a "feature" of the OF: it does not power down, it simply shows a "Good bye" message and goes to sleep. The only way to really reboot the player are to press reset or plug USB. There is nothing than can be done, except modifying the OF.

Thank you! The feature is awesome. Then wouldn't it be better to change the way OF is switched on? I mean to make it more complicated like "left button"+"power button" or something else to prevent an accidental OF power on and the annoying reset procedure (I'm preparing the player for a person who won't be happy with all these wander features). Can you please build the bootloader with the power-on keys like these if possible (and, yes, power on/off with the single button - long press of power button.. whatever reasons were to choose the play button for power on, I do not understand it). It would make me happy... Is this possible in principle for Sony? I used such "comb keys" with Cowon d2 and SanDisk Clip and it was pretty comfortable to me.

I am not sure I would call this feature awesome, it's really more trouble than anything for us.Now, regarding the issue of the power button, I am going to quote one of my earlier posts:

Quote

Regarding the issue of using the power button to boot the device, there is a good reason why it is not the caseThe long answer is that the power button (contrary to all other buttons) sends a special signal to the soc. When the soc is powered off, this signal means "enter recovery mode". So if you press if from power off, the device will boot straight to recovery mode instead of our bootloader. If USB is not plugged then the recovery mode will timeout after 2 or 3 seconds and eventually boot rockbox. So you would need to hold the power button for 3 to 4 seconds to boot: that's a VERY long time. Now you might wonder how the OF does it. The answer is that the OF never powers off, it merely goes to deep sleep and thus avoids this problem.

So basically, if I implemented booting with the power button, it would be very confusing because it would not behave as expected. I believe choosing another button is the best option. Similarly booting to the OF with power+left would cause the same problem because if you press power before left, then it will enter recovery mode (but not if you press left before power). Other combos are impossible implement because all other buttons are sensed using an ADC so one can only detect a single button press.

I still think this is not going to solve the problem. Let me explain in details why.Imagine your device is powered down (for real) and you start pressing the power button:

if you press for less than ~1 second and release: device does NOT enter recovery mode and starts booting normally

if you press for more than 1 second and release before ~3 seconds: device enter recovery mode, times out after a few seconds because USB is not plugged and resume normal boot

if you press for more than ~5 seconds (with or without releasing button): device enter recovery mode and times out after a few seconds because USB is not plugged and resume normal boot

What does that mean? It means that when the bootloader starts, the user may have been pressing the power button for anything from 0 seconds (a quick press) to ~5 full seconds, but it does not have any obvious way of knowing how long. Now, you don't want to boot immediately because if the user just pressed the power button by mistake (say in your pocket) that's unexpected, so you want to require the user to press say at least one more second. Now it means you might to need press as long as ~6 seconds to boot. I believe that's very confusing for the user.On top of that, remember that all of this is when USB is not plugged. If USB is plugged, pressing power will go to recovery mode always, which is not what you want because you may want to use the OF USB mode sometimes. Thus using the power button to boot OF with USB is a no-go. That would mean a different combo for USB vs non-USB. Again very confusing.

Oh no, I did not mean to use power button for this. I've already realized from you explanation that it's no use to utilize power button to power on. I meant to use 1 second back button followed by, say, short left (pressed within 1 sec timeout). I've even tried to code it just after I restored the development environment. But something is wrong in my code - with the modified bootloader image keys are behaving just as with your bootloader.

My code of boot_decision in /rbutil/mkimxboot/dualboot/dualboot.c is (adc value range for LEFT is guessed from button-nwz.c):

/path/to/rbutil/mkimxboot/mkimxboot -i /path/to/firmware.sb -b /path/to/bootloader-nwze370.sony -o firmware.sbboot to OF USB node (very important), put new firmware.sb at the root of the device, eject, boot to OF to trigger upgrade. It should display an upgrade screen for a few seconds I think.

IF YOU CANT REBOOT TO OF (because your dualboot code broken OF combo): make sure you have a recent version of Rockbox, go to Debug screen > HW info > dualboot. It should show something like 'cap boot: yes' and 'boot: normal'. Then press up/down to change it to 'boot: of' (to boot to OF) or 'boot: updater' (to boot straight into upgrade mode with firmware.sb at root of the device).

(*) ADC value explanation: the ADC is relative to VDDIO, because the button is a resistor dividor using VDDIO. In sony-nwc.c, the line

[I_VDDIO] = IMX233_BUTTON_(VDDIO, VDDIO(3630), "vddio"), /* we need VDDIO for relative */means 'the values that follow are the ones if VDDIO was exactly 3.630V, but you need to rescale based on VDDIO'. Now the thing is that early at boot time, VDDIO is at 3.5V I think. Let's take an example: the table says the 'play' button has a value of 1.536V if VDDIO=3.630V. Now if VDDIO=3.5V like at boot time, then the actuall value will be 1.536/3630*3500=1.48V and indeed the dualboot code is

if(val >= 1420 && val < 1520)notice how the range [1420,1520] is centered on 1480. If you want the left button, that's 2.290/3630*3500=2.207V

Now if you have a doubt, there is an easy way to try it: go to debug screen, HW info > button. It shows the ADC value and VDDIO value. If you press up/down, it will change VDDIO by 0.1V inc/dec. Thus you can set VDDIO to 3.5V and obvserve how the values change with it (Don't put VDDIO too low or high, else your device will crash )