[maemo-developers] [maemo-developers] Issues with using flasher utility on Linux and eventual solution

From: Aaron Levinson alevinsn at aracnet.com
Date: Mon Dec 19 20:23:52 EET 2005
Yesterday, I spent some time trying to use flasher to flash the latest
firmware, take the 770 into RD mode, and finally take the 770 out of RD
mode.  Please note that the latter step isn't really mentioned in the
relevant Wiki entries, and it is probably advisable to turn off RD mode
once the user is finished using RD mode.

The first use of flasher, to flash the latest firmware, went flawlessly.  
However, the next attempt to use flasher, to take the 770 into RD mode, 
failed numerous times.  Here are some of the messages that I saw:

Suitable USB device not found, waiting
USB device found found at bus 005, device address 046
NOLO_REQ_GET_STATUS: Cannot send after transport endpoint shutdown
Device status query failed

Suitable USB device not found, waiting
USB device found found at bus 005, device address 051
NOLO_REQ_GET_STATUS: No such device
Device status query failed

Suitable USB device not found, waiting
USB device found found at bus 005, device address 054
Error opening USB device: No such file or directory

Suitable USB device not found, waiting
USB device found found at bus 005, device address 055
Error setting alternate interface 2: Protocol error

A search for the various error messages I encountered did not turn up on
any of the maemo e-mail lists or on the Internet Tablet Talk forums,
although some of them do turn up on in Google, having to do with USB.

I was doing this on an FC2 system with updated components (I use it as a
mythtv server), so it's possible that there were USB issues.

This problem repeated over and over again, even after a reboot of the PC.  
I started to wonder if there were issues with the new firmware with
respect to the flasher tool, as the first use of the flasher tool, when
the firmware was at version 0.2005.45-7, went flawlessly.  In addition, it
appeared that even if I wanted to go back to the previous firmware, I was
out of luck, because first, I didn't have the previous firmware and it
doesn't seem to be available, and in addition, attempting to use flasher
to reflash the latest firmware failed with the same errors.

I ran apt-get update and apt-get dist-upgrade on the FC2 system to get the 
latest files.  There were no new kernel updates.  This didn't result in 
any changes with my flasher problems.

I kept on trying to use flasher, and then the same steps that had been
previously unsuccessful suddenly worked, and I was able to enter RD mode.  
I ran sudo gainroot and modified gainroot using vim to just invoke the
shell.  All right, two steps were complete, and it was time to turn off RD
mode, but unfortunately, I found myself encountering the same issues.  I
started to suspect some sort of USB timing issue and that the first
successful use of flasher was possibly a fluke and had nothing to do with
the firmware version.  At this point, I did yet another search through the
maemo e-mail lists, and I discovered a thread that mentioned that if the
home button is pressed and held at the beginning of the boot process, the
boot process will be delayed until the button is released.  So, I gave
this a shot as follows:

1.  I turned of the 770 (switch off!).
2.  I plugged in the USB cable to the 770 and the computer.
3.  I turned on the 770 and held down the home key (to be more precise,
the hardware button that has the picture of a house on it).  This worked
as described in the e-mail thread.
4.  I invoked flasher (as root) as follows:  ./flasher --disable-rd-mode .

And this worked!  No more errors.  A subsequent call to ./flasher --reboot 
worked fine as well.  I was able to repeat this process today, but it 
seems that you have to be really quick with the home button press and then 
really quick with issuing the flasher command.  This technique may be 
easier when already in RD mode.

Anyway, I hope this has been helpful to some people out there, and it may 
be useful to include the new information in the relevant Wiki entries.

Aaron Levinson


More information about the maemo-developers mailing list