Flasher tool usage

  1. Page Status
  2. First Time Flash
    1. Available Flash Tools
    2. Download The Proprietary Flashing Tool
    3. Check The Flasher Download
    4. Download Development Rom Images
    5. Check The ROM Download
    6. Using Flasher
    7. Permission Denied
    8. File Types
    9. Old Flasher utility on Ubuntu Gutsy, FC5 and other OS's with kernel 2.6.15 or better
    10. Sample Command With Option
    11. Query The Device
    12. Initial Use Summary
  3. R&D Mode
    1. Temporary R&D mode
    2. Why use R&D mode
    3. Set R&D Flags
    4. Clear R&D Flags
  4. Flashing An Image
    1. FIASCO Image
    2. FIASCO Image Unpack All
    3. Fiasco Image Unpack Selected
    4. Fiasco Image Pack
  5. Flash Selected Files
    1. Flash All Unpacked Files
    2. Flash Selected Unpacked Files
  6. Random notes
  7. Stuff from mailing list to add to page
  8. Messages And Trouble Shooting
    1. Suitable USB device not found, waiting
    2. USB device found found at bus 002, device address 005
    3. Error claiming USB interface: Operation not permitted
    4. Permission Denied
    5. Other Messages To Document
  9. Command Line Reference
  10. Attribution

The Maemo tools chain includes a utility used to change settings in the Maemo platform and install new software. This utility is known as the flasher.

The flasher utility is available for three popular operating systems. The functionality of flasher can be broken down into three primary roles. They are querying device settings, changing device settings, and installing new platform software.

Page Status

Status: Fairly mature page.

First Time Flash

The first time that the Maemo platform is flashed there are a number of steps you must take. This section will walk you through the complete process of creating your flashing environment to performing a readonly query of the device. This process will be in the form of a a "hello world" kind-of program.

A hello world program is a software program that prints out "Hello, world!" on a display device. It is used in many introductory tutorials for teaching a programming language and many students use it as their first programming experience in a language.

These are small programs that mostly make sure that your programming environment has been setup correctly. Likewise, the goal of this section is to make sure that your flasher environment is setup correctly.

Available Flash Tools

As of 2007-04-10 besides the proprietary flash tool from Nokia a Free (GPLed) alternative is available. Most parts of this pages where written with the proprietary tool in mind. Whenever 'flasher' is mentioned the Nokia tool is meant. You will find no general usage information for the free alternative which is called 0xFFFF (pronounced okf) because as a traditional Unix command-line you can get the information from tool itself (usage page). In the future there will be a proper man page, too.

Current (2007-04) reverse engineering efforts show that the NOLO (the application on the Internet Tablet with which any flash tool communicates) provides more remote usable functionality than what the proprietary flasher exposes. Efforts are underway to find out how to use these commands and allow their usage from within 0xFFFF.

Download The Proprietary Flashing Tool

There are four versions of the flasher utility:

  1. flasher
  2. flasher.linux_ppc
  3. flasher.macosx
  4. Nokia_770_software_update_wizard.exe

The first three versions of the flasher can be found at the Maemo restricted download site.

The fourth version of the flasher is for MS Windows. The MS Windows version can be found on the Nokia 770 support web site. Look for either "Software Update" or "Download Software Update" links on this page.

The MS Windows version of the software is also where you would find the retail Nokia 770 ROM images. You may want to download a set of these retail ROM images. For example, you may want revert back to the retail version of the software to perform final testing of an application that is under development.

The first three tools are the ones that are most useful for working on the Nokia 770. The MS windows version is more for general retail use of flashing new platform software. Download one of the three flasher versions that will work on your computer.

  1. flasher will work on all x86 Linux platforms including x86_64, and bootable CDs. Bootable CDs are also known as live CDS because a live operating system can run from the CD without installing software on an existing harddrive.
  2. flasher.linux_ppc will work on all Linux power PC platforms such as Yellow Dog Linux.
  3. fasher.macosx will work on Mac OS X platforms. These instructions should provide background for use on all platforms. However, there is a Mac OS X howto available.

In addition to these flashing utilities, there is also a LICENSE file and an md5sums file at the Maemo restricted download site. You must download the md5sum file and at least read the LICENSE file and perhaps save it with the other flasher files that you have downloaded.

Check The Flasher Download

An important step with any important or large download file is to check the downloaded file's integrity. Do not view this step as an optional step.

Developers will create a file with md5 hashes for each file that are available for download. These calculations sum up every byte in the file. If the file on the website does not match was is on your computer, then you have a corrupt download file.

Continuing important work with this corrupted file will cause you many hours of frustrating bug hunting. Correct any problems with your download technique and download the file again. If you are using an FTP client then you should make sure that you are performing binary transfers.

Note that sometimes a file upload will fail silently as a developer places the file on the download site. Your clue and the developer's clue will be that important md5sum calculation. File a bug with the developer.

If you are a new developer, then you should make note to perform this step when you create binary or archive images for others use.

$ md5sum -c md5sums

The md5sum application provides a check option, -c, for when a file full of md5sums should be compared to a list of files. Place all the files and the md5sums file in the same directory in order to use the check option as shown in the example above.

LICENSE: OK
flasher: OK
flasher.linux_ppc: OK
flasher.macosx: OK

The output of the above md5sum commands shows OK for each of the files that you downloaded. This is the desired results that you are looking for.

Download Development Rom Images

Both the retail and development ROM images require you to locate your serial number. The serial number is also the Ethernet MAC Address. Both the WAN MAC Address and the Bluetooth Address are located on the original box that the 770/N800 came in or inside the battery compartment:

MAC Address

The Maemo developer site also has development versions of various ROM images for 770 available. There are four files as of 01/30/2006. They are:

  1. LICENSE 2.md5sums
  2. Nokia_770_0.2005.45-8.bin
  3. Nokia_770_3.2005.51-13.bin

Since two of the files are the same for both the flasher utility and the ROM images, please pick a second directory to download the ROM images into.

Check The ROM Download

An important step is to check the downloaded ROM images just as the flasher utility files were checked. A missing byte or corrupted character may cause your flashed Maemo platform to crash or behave erratically:

$ md5sum -c md5sums

The command for the ROM images is the same for the flasher files that you already checked.

LICENSE: OK
Nokia_770_0.2005.45-8.bin: OK
Nokia_770_3.2005.51-13.bin: OK

Likewise, just as you saw an OK after each of the flasher files that you downloaded, you want to see the OK after each of the rom image files that you downloaded.

A slightly more painful way to perform this step is to check each individual file and then compare those sums with the numbers in the md5sums file. The commands and their resulting output are shown together:

$ md5sum LICENSE
5b3ed76fee820f5adb48295eae7fe093  LICENSE

$ md5sum Nokia_770_0.2005.45-8.bin
2dd3018fd0116f045a777eb3c58299d1  Nokia_770_0.2005.45-8.bin

$ md5sum Nokia_770_3.2005.51-13.bin
a648289b67ba43830f67ae4ba2256785  Nokia_770_3.2005.51-13.bin

$ cat md5sums
5b3ed76fee820f5adb48295eae7fe093  LICENSE
2dd3018fd0116f045a777eb3c58299d1  Nokia_770_0.2005.45-8.bin
a648289b67ba43830f67ae4ba2256785  Nokia_770_3.2005.51-13.bin

As you can see the -c options is a real time saver.

md5sum -c md5sums
LICENSE: OK
md5sum: Nokia_770_0.2005.45-8.bin: No such file or directory
Nokia_770_0.2005.45-8.bin: FAILED open or read
Nokia_770_3.2005.51-13.bin: OK
md5sum: WARNING: 1 of 3 listed files could not be read

If you do not download one of the files contained in the md5sums file, then the above output shows what to expect from the md5sum command. Since the Nokia_770_0.2005.45-8.bin file was not downloaded, the two error messages are not a problem in this md5sum session.

Note: The ROM images that were downloaded will not be used right away in our querying of the Maemo device examples. However, these files will be required when a new operating system release is set or flashed in the device. This step just completes our flasher environment.

Using Flasher

One of the first steps is to execute the program.

$ ./flasher

Using flasher without any command line arguments will instruct flasher to display a list of options that the utility supports. The output of the flasher command without any options or command line arguments is available in the "Command Line Reference" section of this page.

Permission Denied

If you do not see a long list of options but this "Permission denied" message, then you must resolve the correct permissions on the file.

./flasher: Permission denied

The flasher files are stored on the download page with the correct permissions. Permissions on a file are any combination of read, write, or execute. There's also a set of these read, write, and execute settings for three different classes of people that may use this file on the system.

There's one set for a user. There's one group of settings for a group of people including a the group that a user can be part of. There's another group of settings that identifies all the people on the system.

The "Permission denied" messages means that the flasher utility does not have execute permissons on the file.

$ ls -l flasher
-rw-r--r--  1 myuser mygroup 645032 Jan 24 22:48 flasher
-rw-r--r--  1 myuser mygroup 543292 Jan 24 22:48 flasher.linux_ppc
-rw-r--r--  1 myuser mygroup 128060 Jan 24 22:48 flasher.macosx

Using the list files command (ls) shows where the problem is. The left most side of the display has -rw-r--r-- for each of the flasher utilities. The permission denied message means that none of these files have execute permissions. So you are denied permission to run the flasher utility.

chmod ugo+x flasher flasher.linux_ppc flasher.macosx

The change mode command (chmod) is used to correct the problem. Use the above chmod command to add the require execute permissions to the file:

$ ls -l flasher flasher.linux_ppc flasher.macosx
-rwxr-xr-x  1 myuser mygroup 645032 Jan 24 22:48 flasher
-rwxr-xr-x  1 myuser mygroup 543292 Jan 24 22:48 flasher.linux_ppc
-rwxr-xr-x  1 myuser mygroup 128060 Jan 24 22:48 flasher.macosx

There chmod command has added an x where there was a - ("dash") in the output for each flasher file. This may be too grant too much access to the file to suit your security policy.

File Types

Sometimes the question arises if I can use flasher on a particular Linux distribution or live CD. Both the file command and the ldd command may help provide that answer. The file command is used to tell what kind a file you are using while the ldd command tells what libraries if any are linked into an executible command.

$ file flasher
flasher: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.0, statically linked, not stripped

$ ldd flasher
not a dynamic executable

$ file flasher.linux_ppc
flasher.linux_ppc: ELF 32-bit MSB executable, PowerPC or cisco 4500, version 1 (SYSV), for GNU/Linux 2.2.0, statically linked, stripped

$ ldd  flasher.linux_ppc
not a dynamic executable

$ file flasher.macosx
flasher.macosx: Mach-O executable ppc

$ ldd flasher.macosx
not a dynamic executable

The output tells us which OS each of the files may be used on. In addition, the "not a dynamic executable" message says that all the required programming libraries have been statically linked into the executable. That means the file can be executed on any system that supports the binary file format described by the file output. You can test a similar file on a target platform to see if the flasher executable would work on that platform.

Old Flasher utility on Ubuntu Gutsy, FC5 and other OS's with kernel 2.6.15 or better

The currently availiable Nokia flasher version (as of 30 March 2006) assumes that usbfs is mounted on /proc/bus/usb, but usbfs is deprecated and has been dropped on most newer Linuxes.

If you find that flasher doesn't recognise that the device is connected and you have a kernel version >= 2.6.15, this is probably the issue.

A fix for this is to run the following command:

$ perl -pi -e &#039;s-/proc/bus/usb-/dev/bus/usb\000-;&#039; -i.backup <flasher>

where <flasher> is the location of your (already checked) flasher linux binary. The original image will be backed up into flasher.backup.

Sample Command With Option

$ ./flasher --query-root-device

See the output from the flasher TODO: document the issue running

  1. command needs execute permissions.
  2. Not as root
  3. Using a hub between the flasher and the Nokia 770

Query The Device

$ ./flasher --query-root-device
Suitable USB device not found, waiting

Switch the power on the Nokia 770 when you see the "Suitable USB device not found" message. This helps the flasher utility detect the Nokia 770 on the USB bus of your host computer.

USB device found found at bus 002, device address 012
Found board Nokia 770 (F5)
NOLO version 0.9.0
The device root device is &#039;flash&#039;

$ ./flasher --read-board-id
USB device found found at bus 002, device address 012
Found board Nokia 770 (F5)
NOLO version 0.9.0

$ ./flasher --query-rd-mode
USB device found found at bus 002, device address 012
Found board Nokia 770 (F5)
NOLO version 0.9.0
The device is in R&D mode

$ ./flasher --query-root-device --read-board-id --query-rd-mode
USB device found found at bus 002, device address 012
Found board Nokia 770 (F5)
NOLO version 0.9.0
The device is in R&D mode
The device root device is &#039;flash&#039;

$ ./flasher --reboot
USB device found found at bus 002, device address 012
Found board Nokia 770 (F5)
NOLO version 0.9.0

As you can see a sequence of flasher operations may be performed on the device before a final reboot is issued.

$ ./flasher --query-root-device --read-board-id \
            --query-rd-mode --reboot
Suitable USB device not found, waiting
USB device found found at bus 002, device address 015
Found board Nokia 770 (F5)
NOLO version 0.9.0
The device is in R&D mode
The device root device is &#039;flash&#039;

The same individual commands may be issued all on one command line along with the reboot command. As with the last session with several commands you must press the power button when you see the "Suitable USB device not found" message.

$ ./flasher--query-root-device -i --query-rd-mode -R
Suitable USB device not found, waiting
USB device found found at bus 002, device address 018
Found board Nokia 770 (F5)
NOLO version 0.9.0
The device is in R&D mode
The device root device is &#039;flash&#039;

Up to this point the long winded command line options have been presented for readability. Some command line options also provide a single character option. In this example the --read-board-id command line option was replaced with the -i option as well as the --reboot option was replaced with the -R option. Both examples perform the same operation. The choice of short or long option names becomes a matter of style or readability preferences.

Initial Use Summary

This concludes the safe read only use of the flasher utility. Just as small "Hello World" programs are written and compiled to test a new programming environment this section provided you with an introduction to the flasher environment for the Nokia 770.

R&D Mode

You can enable the R&D mode by passing the --enable-rd-mode to flasher.

When R&D mode is enabled:

  • Use the host USB mode of the device.
  • You can use sudo gainroot to get a root shell on the device
  • The power button turns the device on instantly (usually you have to keep it pressed for a while)
  • You can enable some R&D mode flags (flasher --set-rd-flags) for various features.

Temporary R&D mode

As noted one of the benefits to R&D mode is to use the 770 in host USB mode. The 700 can be switched to USB Host mode on the fly without the flasher utility. Unlike the flasher configuration the /sys setting will last until next reboot. The default setting is for the device to be in slave mode.

To temporarily change the 770 USB from slave to host (http://hl.homelinux.org/moin/Maemo):

echo host > /sys/devices/platform/tahvo-usb/otg_mode

To switch from host to slave (http://www.internettablettalk.com/forums/showpost.php?p=12071&postcount=2):

echo peripheral > /sys/devices/platform/tahvo-usb/otg_mode

Why use R&D mode

One of the reasons that R and D mode is so useful is to put the Nokia 770 in USB host enabled mode.

USB Host enabled

USB Host Enabled Mode Dot Legend

Dot Color RGB Color Comment
Dark Blue #180DE4 USB keyboard connection at USB hub.
Yellow #F4F408 USB Y power cable connections.
Red #FF0468 USB straight through data connections.
Green #43F408 Igo tip A69 as an optional power source.
Light Blue #08F0F4 Powered USB 2.0 hub. An USB 1.0 hub may work.

The requirements for USB Host enabled mode are:

  • Set device to R&D Mode.
  • Use a USB Y cable to power the Nokia 770's USB connection.
  • Use a powered USB hub.
  • Add the osso-xterm application, if you desire command line access for deep exploration of the device!

The two example commands issued in the screen shot are:

770$ sudo gainroot
770$ su - root

Note: Have a backup because using these commands can lead to reflashing your device!

Set R&D Flags

R and D Flags Table

R&D Flag Name Binary Value Comment
no-omap-wd 0002 watchdog timer
no-retu-wd 0004 retu watchdog timer.^1
no-lifeguard-reset 0008 Disables the lifeguard process (lifeguard reboots the device when an important system process crashes).
serial-console 0010 Enables the serial console (the serial port pins are next to the battery) and causes a shorter battery life.
no-usb-timeout 0020 ???

[^1]: is a cartoon character name -- the Finnish name of Fred Flintstone.

Serial Port

After R and D mode had been set you can enable the serial port of the Nokia 770. You need to use the R and D flags flasher option. The serial console syntax is --set-rd-flags=serial-console. The serial port can be found in the battery compartment.

Serial Port Contacts(Pins)

Pins are listed from left to right and top row first:

Pin Number Purpose Comment
1 ? ?
2 ? ?
3 GND ?
4 ? ?
5 ? ?
6 ? Pin obscured by the shadow in the picture.
7 ? ?
8 GND ?
9 RXD 3.3V IO
10 TXD 3.3V IO
11 ? ?

You will need a level translator as the pins are raw 3.3V, not RS232 volatages. I have made a board which uses 1.27mm spring contacts mounted in a drilled and cut to size piece of old PCB which is wedged into the hole. The pins are directly connected to a FTDI FT232BM USB-serial converter chip.

Clear R&D Flags

R&D mode flags can be cleared with the --clear-rd-flags= flasher option. The flags can be supplied one at a time as required or all of the flags can be cleared at once by using commas between each flag name. The syntax for all multiple flags is --clear-rd-flags=flag1,flag2,flag3,flag4,flag5 while a single flag is --clear-rd-flags=flag1. Flasher reports a flag value of Cleared R&D flags: 003e when all flags are cleared.

Flashing An Image

FIASCO Image

FIASCO image is a concatenation of several flashable parts for convinience with checksums included. It is not related to a similarry named fractal image compression algorithm. See HardWayToBecomeRoot for links for simple tools (ex.c and cn.c) for extracting and concatenating .bin images.

FIASCO Image Unpack All

The flasher utility can be used to extract and decompress the fiasco image file. You do not need root access on your host PC to extract files from a fiasco image. Root user access is only required when you are interacting with the USB hardware used to communicate with the Nokia 770. For example, a rom image named Nokia_770_0.2005.45-8.bin may look like this in a directory.

$ ls -l Nokia_770_0.2005.45-8.bin -rw-r--r-- 1 myuser mygroup 60691661 Jan 30 01:27 Nokia_770_0.2005.45-8.bin

The flasher utility can be used to unpack the files found in the fiasco image.

$ ./flasher --unpack --fiasco Nokia_770_0.2005.45-8.bin

A shortened version of the command can also be used.

$ ./flasher -u -F Nokia_770_0.2005.45-8.bin

Both of these commands would produce the same output:

Found image 2nd (length 8576)
Found image secondary (length 79360)
Found image xloader (length 13824)
Found image initfs (length 1567360)
Found image kernel (length 1481728)
Found image rootfs (length 57540608)
Unpacking 2nd image to file &#039;2nd.bin&#039;...
Unpacking X-Loader image to file &#039;xloader.bin&#039;...
Unpacking secondary image to file &#039;secondary.bin&#039;...
Unpacking kernel image to file &#039;zImage&#039;...
Unpacking initfs image to file &#039;initfs.jffs2&#039;...
Unpacking rootfs image to file &#039;rootfs.jffs2&#039;...

Looking at the directory once more shows what has happened:

$ ls -l
total 118688
-rw-r--r--  1 myuser mygroup     8576 Jan 30 01:28 2nd.bin
-rw-r--r--  1 myuser mygroup  1567360 Jan 30 01:28 initfs.jffs2
-rw-r--r--  1 myuser mygroup 60691661 Jan 30 01:27 Nokia_770_0.2005.45-8.bin
-rw-r--r--  1 myuser mygroup 57540608 Jan 30 01:28 rootfs.jffs2
-rw-r--r--  1 myuser mygroup    79360 Jan 30 01:28 secondary.bin
-rw-r--r--  1 myuser mygroup    13824 Jan 30 01:28 xloader.bin
-rw-r--r--  1 myuser mygroup  1481728 Jan 30 01:28 zImage

As the output of the ls command shows, the originial .bin file is still around. There are now six new files that have joined the original .bin image. Also note that the output of the flasher matches the ls output. For example, the 2nd image files displayed (length 8576) that matches the ls -l commands 8576 Jan 30 01:28 2nd.bin listing.

Fiasco Image Unpack Selected

The flasher utility also allows a person to extract individual files from the fiasco image.

./flasher -u 2nd.bin --fiasco Nokia_770_0.2005.45-8.bin

When the flasher command line help says "-u arg]" it leads me to believe that the command above will work. However, this still unpacks all the files in the FIASCO image.

Fiasco Image Pack

Can you pack a FIASCO image with flasher? No it can't. Here's how.

Flash Selected Files

The flasher utility is introduced by flashing all the files in a FIASCO image file. However, individual files can be flashed just the same. There are several ways to flash individual files:

  1. Selected file(s) in a fiasco image can be flashed.
  2. File(s) from an unpacked fiasco image can be referenced in a directory and flashed.

Flash All Unpacked Files

Now that we have an understanding about the fiasco image, individual files can be flashed after they have been unpacked. If only one file of the fiasco image is required to bring the device current, then flashing individual files is the perfect way to do this.

./flasher --fiasco Nokia_770_0.2005.45-8.bin -f

Normally a whole fiasco image is flashed into the Nokia 770 with the above options.

./flasher --flash 2nd 2nd.bin --secondary secondary.bin \
          --rootfs rootfs.jffs2 --initfs initfs.jffs2 \
          --kernel zImage

If all the files in the image were unpacked in the same directory, then the above command would work just like the ./flasher --fiasco Nokia_770_0.2005.45-8.bin -f version.

Suitable USB device not found, waiting
USB device found found at bus 002, device address 009
Found board Nokia 770 (F5)
NOLO version 0.9.0
Sending kernel image (1447 kB)...
100% (1447 of 1447 kB, avg. 661 kB/s)
Flashing kernel... done.
Sending initfs image (1530 kB)...
100% (1530 of 1530 kB, avg. 661 kB/s)
Flashing initfs... done.
Sending and flashing rootfs image (56192 kB)...
100% (56192 of 56192 kB, avg. 560 kB/s)
Finishing flashing... done

The output is the same as the -F/--fiasco method.

Flash Selected Unpacked Files

Now let's say a new Linux kernel was required in the device.

./flasher --flash kernel zImage

Here the --kernel/-k option tells flasher which file will be flashed and the compressed zImage kernel file to use.

USB device found found at bus 002, device address 009
Found board Nokia 770 (F5)
NOLO version 0.9.0
Sending kernel image (1447 kB)...
100% (1447 of 1447 kB, avg. 664 kB/s)
Flashing kernel... done.

This is the output from flashing just the kernel. Several individual files can be flashed this way.

$ ./flasher --flash kernel zImage
USB device found found at bus 002, device address 009
Found board Nokia 770 (F5)
NOLO version 0.9.0
Sending kernel image (1447 kB)...
100% (1447 of 1447 kB, avg. 664 kB/s)
Flashing kernel... done.

$ ./flasher --flash rootfs rootfs.jffs2
USB device found found at bus 002, device address 009
Found board Nokia 770 (F5)
NOLO version 0.9.0
Sending and flashing rootfs image (56192 kB)...
100% (56192 of 56192 kB, avg. 575 kB/s)
Finishing flashing... done

$ ./flasher --reboot
USB device found found at bus 002, device address 009
Found board Nokia 770 (F5)
NOLO version 0.9.0

Once you have flashed the last file during a flashing session, then a separate reboot command can be used with flasher. You do not have to power off the Nokia 770 after each use of the flasher command as this sequence shows. Also note that once the fasher software has detected the Nokia device once during a flashing session you will not be prompted with the "Suitable USB device not found, waiting" message.

Random notes

  • both serial console and host mode disable dyntick, which means that battery time goes down

Stuff from mailing list to add to page

Messages And Trouble Shooting

There are several messages that you will see during a flashing session. Here's a list of the key messages and what they mean.

Suitable USB device not found, waiting

This is a message the throws first time users of the flasher utility. Now if you have just shelled out several hundred dollars for the 770, a user might think that they have just trashed the device because nothing is happening. However, the device has not been detected yet. his "hanging" effect is solved by one button press. Press the power button once you have the Nokia 770 connected to the host PC that is flashing the device. The complete steps before this button press are:

  • Completely charge the device.
  • Make sure that the device is off.
  • Attach the device to your host PC running the the flasher software with the supplied USB cable.
  • Switch to the root user on your host PC. The flasher software will interact with the USB hardware so you must be root or grant sudo to your developer user for the flasher command.
  • Execute the flasher utility. All the examples show a leading "dot slash" (./) before the flasher command. It is presumed that the directory where you downloaded the utility in is not in your $PATH variable.
  • Press the power button when you see the "Suitable USB device not found" message.

USB device found found at bus 002, device address 005

This is an OK message. flasher is showing diagnostic information about the USB address of the Nokia 770.

Error claiming USB interface: Operation not permitted

You need to switch to the root user on your host PC. There are several ways to perform this operation.

su - root

The su command is the quickest way to gain root access. You should use these powers for a brief period of time.

Permission Denied

./flasher: Permission denied

The flasher utility does not have execute permissons on the file.

chmod ugo+x flasher

Use the chmod command to add these permissions to the file.

Other Messages To Document

More message to add:

Command Line Reference

Running the flasher on the command line provides a list of options. You do not have to be a root user on a system to see these options:

./flasher

Typing the above command at a termial prompt with provide this output:

flasher v0.8.1 (May 30 2006)

Nothing to do!
Usage: flasher OPTIONS]
Options:
  --fiasco, -F <arg>            Location of a FIASCO image
  --kernel, -k <arg>            Location of kernel image
  --initfs, -n <arg>            Location of initfs image
  --rootfs, -r <arg>            Location of root JFFS2 image
  --xloader, -x <arg>           Location of X-Loader image
  --secondary, -s <arg>         Location of NOLO secondary bootloader image
  --2nd, -2 <arg>               Location of NOLO cold flasher ("2nd") image
  --unpack, -u <arg>            Unpack a FIASCO image
  --flash, -f                   Load and flash all supplied images
  --load, -l                    Only load all supplied images
  --boot, -b  arg]              Boot the kernel with optional cmdline
  --reboot, -R                  Reboot the board (e.g. after flashing NOLO)
  --read-board-id, -i           Print out the board type
  --serial-port, -S <arg>       Serial port used for cold flashing
  --initialize-port, -I <arg>   Only initialize the serial port
  --cold-flash, -c              "Cold flash" the device
  --hw-revision, -h <arg>       Specify product code and HW revision
  --enable-rd-mode              Enable R&D mode on the device
  --disable-rd-mode             Disable R&D mode on the device
  --set-rd-flags  arg]          Set R&D mode flags on the device
  --clear-rd-flags  arg]        Clear R&D mode flags on the device
  --query-rd-mode               Query the device R&D mode status and flags
  --set-root-device <arg>       Set the default root device
  --query-root-device           Query the default root device
  --enable-usb-host-mode        Set the device into USB host mode
  --disable-usb-host-mode       Set the device into USB peripheral mode
  --flash-only <arg>            Flash only certain components

Attribution

Karoliina T. Salminen, blueice2n1, office, AdamL, esprx01x, serv, TimoSteuerwald, CarlVanSchaik, nat5, i3ED6E2FD, user-111-226-151-83, DrKludge