Snofs Home Page

1. What is snofs?

snofs is an add-on for the gammu [1] mobile phone communication kit. It provides a Linux mountable file system of a mobile phone. It is also possible to mount the phone as a 'network drive' under Windows.

snofs provides an ordinary file system view of the phones file system, SMS and address book.

It also provides a 'proc'-like directory where read-only special files contain volatile data, e.g. current battery level, signal level etc. This feature makes snofs very suitable for scripting and also makes it possible to interface towards the phone without using the C language nor the gammu library (indirect you'll use it since snofs uses it).

2. How does it work?

snofs is run as a user space process. It will utilize the gammu lib to communicate with the phone and a Coda [2] device or an SMB [5] socket to communicate with the Linux or Windows file system.

If snofs is compiled correctly, gammu is set up and working for you mobile (via irda, Bluetooth or cable), you have Code support in your kernel and all permissions are sound, starting to browse your phone is as simple as:

        $ snofs &
        $ mount -tcoda /dev/cfs0 /your/mount/point

Using SMB, the command lines would be:

        $ snofs -T smb --SMB-password xxxxxx &
        $ smbmount // /your/mount/point -o password=xxxxxx

3. Licensing

snofs is released under the GPL Version 2 [4].

4. Where do I get it?

snofs is a SourceForge project and its project page is here. There you can also find some snapshots of snofs in action.

5. Phone support

snofs in itself is phone independent. The phone dependency lies within the gammu lib, so if gammu supports a phone it is most likely that snofs will as well.

For a list of supported phones, please refer to the gammu [1] home page.

6. OK, OK, but does it work now???

Yes, partially. One should preferrably wait until the next release of gammu (post 1.00.04) before trying out more than simple browsing of the phone. In other words: Don't use this software for critical backups or for modifications within the phones file system unless you have a proper backup.

At the time of writing, the following functionality have been found to work on Nokia 6820 (irda/Bluetooth) and Nokia 6230 (Bluetooth) using the Coda file system:

Using SMB, the same as above works EXCEPT the things that modifies the contents on the phone (i.e. it is as mounted read-only).

Documentation is at the moment just a plain HOWTO in the distribution.

To sum it up: It is stable enough for backing up photographs (which is what I use if for on a regular basis, OTOH I am a believer...), but I won't take responsibility for any damage made to your phone by run-away one-liner-scripts and such! I have to admit, though, that it's fun to run find(1) piped through xargs(1) to do nifty things on the phone...

7. The future

SMB was recently introduced and this is where most of the work is done right now. The reason for this is the problems reported to me from all over the place that it is hard to compile the snofs software since the Coda support varies in versions and kernel configurations.

This is a pity, since SMB is not a nice protocol (to put it mildly). On the other hand, it opens up for a port to the Windows platform using cygwin, which is A Good Thing. This will also be the next step after finishing the basic SMB support.


The creation of this software hadn't been possible without the gammu lib and its creator/maintainer Marcin Wiacek. Marcin has also extended the functionality of gammu to help this development, for which I am most grateful.

I would also like to thank János Holányi for helping me with testing, proof reading and for supplying valuable comments.

snofs is inspired by gnokiifs by Ed Rosten. gnokiifs is for gnokii [3] what snofs is for gammu, although snofs aims a little higher (to include SMS, address book and 'proc' files).


  1. gammu
  2. The Coda File System
  3. gnokii
  4. The GPL Version 2.
  5. Just what is SMB? © Richard Sharpe

Mattias Sjösvärd
The project is hosted at Logo
Last modified: Mon Sep 12 15:34:29 CEST 2005