Monday 22 March 2010

Resolving problems with mass storage mode

When you connect the N900 to a PC in USB mass storage mode (USB MSC, UMS), it may happen that it will complain and tell you that it will let access the PC only the SDHC card (i.e., /media/mmc1), but not the N900's main memory (i.e., /home/user/MyDocs/). This can really get on your nerves, e.g., if you want to install Nokia Maps for offline use onto the N900.

Explanation (?)

The purported reason is that the system will not allow external accesses to that file system, as long as any process running on the N900 still uses that file system (e.g., by keeping a file handle open, or by having cd'ed into there). However, I found out that this is not quite true: When I ran lsof | grep /home/user/MyDocs as root, not a single process was shown, yet the PC was still denied access to the flash memory, so this cannot be the full story.

Simple yet unelegant solution

After doing some Googling (which was not enough) and doing some additional experimentation, I found the following unelegant but working solution:

  1. Unplug the N900 from your PC. Switch the N900 to offline mode (short press on power button, then select from pop-up menu). Reconnect with PC. Sometimes this already does the trick.
  2. If, however, the N900 still won't let you access the flash memory, then keep the N900 plugged into the PC and reboot the N900 (i.e., switch off and switch on again). When it asks you if you want to disable offline mode now, answer no (i.e., continue using the N900 in offline mode). Then you should finally be able to access the phone's flash memory from your PC. So far, this blunt approach has worked for me.

3 comments:

  1. To access Mass storage I have to take out the battery, do a soft reset and restart the phone with the USB cable plugged in.
    Once i remove it I cannot use USB mass storage again unless I follow the above procedure again.
    This is almost certainly because something is holding an open file handle on one of the partitions that would be umounted. Judicious use of lsof should help you find the culprit.

    http://forums.internettablettalk.com/showthread.php?p=874605

    ReplyDelete