[App] CifsManager v1.5a - Manage your CIFS/NFS network shares (28/04/2011)

Search This thread

f3d0r

Senior Member
Feb 8, 2007
67
47
I coded a small app to manage your CIFS/NFS network shares on your Android device. It allows you to conveniently mount/unmount your network accessible file resources and transparently access the files via your favourite Android app (playing music / videos, accessing documents etc.).

Elementary support for NFS2/3 shares is included since v1.1.

Prerequisites:
* device must be rooted
* kernel with CIFS support
* Android >= 1.6

Most Frequently Asked Questions:


  • Q: When trying to mount a share I only get an error message saying something like...
    1. "Error running exec().Command: [su]"
      A: Most probably your device is not properly rooted or the su command is missing.
    2. "No such device".
      A: Your current kernel or rom lacks the necessary CIFS support. Try to find a matching kernel module (cifs.ko) or use a rom with explicit CIFS support.
    3. "mounting <yourshare> on <yourmountpoint> failed: No such file or directory"
      A: Your "Mount Point" simply does not exist and CifsManager is not able to automatically create it for you. As automatic Mount Point creation is not done with su rights, CifsManager can only create Mount Points in directories with permissions 777 or on your SD-Card.
  • Q: I have installed CifsManager but launching the app fails with something like "Application not installed on your phone"
    A: This is not a problem caused by CifsManager but a bug in your ROMs launcher. Look for an updated version of your launcher.
  • Q: I mounted my favorite share successfully but files with special characters are not displayed correctly.
    A: Try to use a kernel with explicit UTF-8 support or try to find/load the kernel module nls_utf8.ko.

Download:
This app is now available in the Android market.
img.php


Attention:
Do not download similar named APKs from anywhere else but Android market as doing so puts your device/data at serious risk (Malware, Spyware etc.).

Screenshots:
attachment.php
attachment.php
attachment.php


regards, F3d0r
 

Attachments

  • share-list.jpg
    share-list.jpg
    29.3 KB · Views: 159,099
  • share-details_2.jpg
    share-details_2.jpg
    30.1 KB · Views: 141,169
  • settings_2.jpg
    settings_2.jpg
    30.6 KB · Views: 141,735
Last edited:

f3d0r

Senior Member
Feb 8, 2007
67
47
Most Frequently Asked Questions:


  • Q: When trying to mount a share I only get an error message saying something like...
    1. "Error running exec().Command: [su]"
      A: Most probably your device is not properly rooted or the su command is missing.
    2. "No such device".
      A: Your current kernel or rom lacks the necessary CIFS support. Try to find a matching kernel module (cifs.ko) or use a rom with explicit CIFS support.
    3. "mounting <yourshare> on <yourmountpoint> failed: No such file or directory"
      A: Your "Mount Point" simply does not exist and CifsManager is not able to automatically create it for you. As automatic Mount Point creation is not done with su rights, CifsManager can only create Mount Points in directories with permissions 777 or on your SD-Card.
  • Q: I have installed CifsManager but launching the app fails with something like "Application not installed on your phone"
    A: This is not a problem caused by CifsManager but a bug in your ROMs launcher. Look for an updated version of your launcher.
  • Q: I mounted my favorite share successfully but files with special characters are not displayed correctly.
    A: Try to use a kernel with explicit UTF-8 support or try to find/load the kernel module nls_utf8.ko.


28/04/2011 - Changes in v1.5a:

- improved compatibility with various Launchers
- removed permission to write to external storage/sdcard
- username now mandatory share parameter (default value "guest")


19/01/2011 - Changes in v1.5:

- added multi-module load support
-- it's now possible to configure and load multiple kernel modules via CifsManager
-- specify multiple modules in the "Path to cifs.ko" preference by separating them via a colon ( : ).
-- e.g. /system/lib/modules/cifs.ko:/system/lib/modules/nls_utf8.ko

- you can now review the list of loaded kernel modules via the "Modules..." button in the "Info..." dialog
-- if your kernel has cifs support built-in, the cifs will not show up there, this is no problem ;)

- added a rudimentary check to try to prevent mounting shares on the sdcard if it is unavailable (mass-storage-mode).


10/14/2010 - Changes in v1.41:

- fixed problem with keeping track of shares with symbolic links in Mount Point


09/07/2010 - Changes in v1.4:

- added link to changelog in "About..." dialog
- now available in Android market


09/03/2010 - Changes in v1.31:

- added correct quoting for special characters (",',{,[,\...)
-- for Share Path, Mount Point, Username, Password
-- using NICE mount points like /mnt/cifs/S{\ pace and safe passwords possible now :)
-- eventual shell metacharacters in Options string have to be explicitly quoted

- re-added permission WRITE_EXTERNAL_STORAGE
-- so CifsManager is able to auto-create mount points on your SD-Card (without asking for root)
-- convenient and useful for feature crippled software like Rockplayer

Remark:
Do not mount/umount shares on your SD-Card when in Mass-Storage mode.
In other words: Avoid using mount points on your SD-Card if possible ;)


09/01/2010 - Changes in v1.21:

- reworked the "Open Directory..." feature
-- should work with Estrongs (again) and Astro
-- due to the lack of a standard intent Estrongs is preferred if both file managers are installed
-- this command is available in a share's context menu when mounted

- changed the standard action for mounted shares to "Open Directory..."


08/31/2010 - Changes in v1.1:

- added elementary support for mounting NFS shares
-- specify the Share Path as <server>:<path> (e.g. 192.168.1.17:/mnt/Spajz)
-- Username and Password fields are ignored in this case

Remark:
- If you want to mount NFS shares you should have the basic knowledge to load the necessary kernel modules in an appropriate init script yourself.
- The newest version of EStrong FileExplorer lacks the necessary intent-filters to be launched with the "Open Directory..." context menu option.


08/20/2010 - Changes in v1.0:

- added option to directly open a Mount Point in file manager (browse directory)
-- works with popular file managers like EStrong or ASTRO

- added German language support
-- if you want to help translating the GUI to different languages please contact me ;)

- removed menu option to refresh share states manually

Remark:
Unfortunately it's not possible to launch the file viewer of Rockplayer 1.0.31 (blame them). Rockplayer even lacks the necessary intent filters to be launched with a video file.


08/18/2010 - Changes in v0.99:

- added settings dialog to provide control over the following features:
-- default mount prefix (leave it at default if unsure about permissions/side-effects)
-- load cifs module on startup (on/off)
-- module load method (modprobe/insmod)
-- module location (when insmod is selected)

- Removed all references to sdcard to prevent side effects with USB-Mass-Storage mode
-- new default mount prefix is /mnt/cifs, try to avoid mounting shares on sdcard directories
-- /mnt/cifs should also work on devices with write disabled root filesystems like HTC Desire
-- fixed permission problems with mount points created by CifsManager (files not showing up in File Managers etc.)
-- moved persistent settings from sdcard to android default location (/data/data)

- added menu option to unmount all currently mounted cifs shares
- added menu option to refresh share states manually

- share states now synchronized with kernel mount list on activity resume


08/16/2010 - Changes in v0.93:


- Fixed problem in serialization code (shares should be saved correctly now)
- Try to automatically insert CIFS module (only on initial startup)
- added "options" value to Share settings so arbitrary additional mount options can be specified (separate options with comma ,)

Remark:
The type of supported additional options depend on your specific kernel/cifs-module settings.


08/16/2010 - Changes in v0.91:

- Mountpath will be created (if needed and possible)
- Settings are stored on SDCARD (/sdcard/cifs/cifsshares.dat)
- Added permission to write to SDCARD
 
Last edited:

f3d0r

Senior Member
Feb 8, 2007
67
47
@d750
Settings should not be lost on app restart...can't reproduce this.

@xMFx
This option will be added ;)

Updated the apk to v0.91:

- Mountpath will be created (if needed and possible)
- Settings are stored on SDCARD (/sdcard/cifs/cifsshares.dat)
- Added permission to write to SDCARD
 

Johnex

Senior Member
Feb 21, 2010
101
12
Yeah, loading the kernel module on startup is #1 priority to make this really good :D. If you are on the road, there is no way im typing insmod /system/lib/modules/2.6.34.2-cyanogenmod/kernel/fs/cifs/cifs.ko to load the module....

Also! Talk to kmobs or cyanogen, maybe they can pull this into cyanogenmod.
 
Last edited:

sp00ge

Member
Apr 25, 2007
46
1
@d750
Settings should not be lost on app restart...can't reproduce this.

@xMFx
This option will be added ;)

Updated the apk to v0.91:

- Mountpath will be created (if needed and possible)
- Settings are stored on SDCARD (/sdcard/cifs/cifsshares.dat)
- Added permission to write to SDCARD

I too had issues with the settings being lost on phone / app restart,
but your post highlighted I didn't have the /sdcard/cifs directory so
i can only presume it couldn't write the settings to the file to save them.
 

thor2002ro

Senior Member
Oct 11, 2007
731
519
38
127.0.0.1
www.tegraowners.com
please do this at startup of the app
Code:
insmod /sdcard/cifs/cifs.ko

this way anyone can put their cifs module there and the app will work great
I think this is a priority to make the app really usable...

Edit:
I the mean time people can you Scripter app from market and scan with this app the QR code below it will run
Code:
insmod /sdcard/cifs/cifs.ko
 
Last edited:

f3d0r

Senior Member
Feb 8, 2007
67
47
Updated to v0.93

Changes:
- Fixed problem in serialization code (shares should be saved correctly now)
- Try to automatically insert CIFS module (only on initial startup)
- added "options" value to Share settings so arbitrary additional mount options can be specified (separate options with comma ,)

Remark:
The type of supported additional options depend on your specific kernel/cifs-module settings.

regards F3d0r
 
Last edited:

wired69

Senior Member
Jul 10, 2008
184
11
London
Thanks F3d0r!

This works great with Pinky 1.5 ROM. Would it be possible to have a notification icon when there is something mounted?

I have just one problem, although it maybe a limitation of CIFS and not your app. I would like to play a video on my network using something like RockPlayer (just tested arcMedia also), however, none of the files or folders are visible (/sdcard/cifs/share). If I navigate to this directory using Root Explorer I can see them as expected. Any ideas?

Thanks again and good work!
 

f3d0r

Senior Member
Feb 8, 2007
67
47
Thanks F3d0r!

This works great with Pinky 1.5 ROM. Would it be possible to have a notification icon when there is something mounted?

I have just one problem, although it maybe a limitation of CIFS and not your app. I would like to play a video on my network using something like RockPlayer (just tested arcMedia also), however, none of the files or folders are visible (/sdcard/cifs/share). If I navigate to this directory using Root Explorer I can see them as expected. Any ideas?

Thanks again and good work!

Just tested playing a video with Rockplayer myself and it seems to be working ;)
If you are using v0.93, try to re-create the share (delete->add) and use the suggested default mountpoint.
 
Last edited:

wired69

Senior Member
Jul 10, 2008
184
11
London
It works! My issue was with the NAS share I mounted, no files show up in any media player but they do in Root Explorer. Tried another NAS and a Windows share on my PC and they both work perfectly. Unfortunately, the bulk of my media is on the NAS that is not working! Oh well, at least I can work around it.

Cheers.

P.S. I found that some shares were mounted even after a reboot of my phone that I created earlier with the first release of your app but which disappeared due to the save bug. Should I just delete the directory /sdcard/cifs/share to get rid of them or is there something else I should?
 

Remzy

Member
Aug 9, 2007
36
0
Moscow
Excellent desired program! But there is a problem. Encoding. Folders in Russian encoding shows signs "???????" A ASTRO displays well.
Maybe where you want to configure SMB
 
Last edited:

cmolson

New member
Mar 27, 2010
3
0
Solved my problem, awesome app!

(Disregard below)
Maybe someone can help me out,

I am running CM 6 RC3

I tried mounting a share but I got "failed: Out of Memory"

The share is on windows 7.

Settings:

192.168.2.70/download
Mount Point: /mnt/sdcard/cifs/download
username: blahblha (no special chars)
password: pass (no special chars)
 

Top Liked Posts

  • There are no posts matching your filters.
  • 32
    I coded a small app to manage your CIFS/NFS network shares on your Android device. It allows you to conveniently mount/unmount your network accessible file resources and transparently access the files via your favourite Android app (playing music / videos, accessing documents etc.).

    Elementary support for NFS2/3 shares is included since v1.1.

    Prerequisites:
    * device must be rooted
    * kernel with CIFS support
    * Android >= 1.6

    Most Frequently Asked Questions:


    • Q: When trying to mount a share I only get an error message saying something like...
      1. "Error running exec().Command: [su]"
        A: Most probably your device is not properly rooted or the su command is missing.
      2. "No such device".
        A: Your current kernel or rom lacks the necessary CIFS support. Try to find a matching kernel module (cifs.ko) or use a rom with explicit CIFS support.
      3. "mounting <yourshare> on <yourmountpoint> failed: No such file or directory"
        A: Your "Mount Point" simply does not exist and CifsManager is not able to automatically create it for you. As automatic Mount Point creation is not done with su rights, CifsManager can only create Mount Points in directories with permissions 777 or on your SD-Card.
    • Q: I have installed CifsManager but launching the app fails with something like "Application not installed on your phone"
      A: This is not a problem caused by CifsManager but a bug in your ROMs launcher. Look for an updated version of your launcher.
    • Q: I mounted my favorite share successfully but files with special characters are not displayed correctly.
      A: Try to use a kernel with explicit UTF-8 support or try to find/load the kernel module nls_utf8.ko.

    Download:
    This app is now available in the Android market.
    img.php


    Attention:
    Do not download similar named APKs from anywhere else but Android market as doing so puts your device/data at serious risk (Malware, Spyware etc.).

    Screenshots:
    attachment.php
    attachment.php
    attachment.php


    regards, F3d0r
    8
    Anyone having mountspace issues (see here) try this patched version. It uses prefixed mount command (su --mount-master -c) and thus needs SuperSU from @Chainfire. Credits to @f3d0r for CifsManager.
    Also, here's a different mount method (based on sh/gscript/SuperSU).
    7
    Most Frequently Asked Questions:


    • Q: When trying to mount a share I only get an error message saying something like...
      1. "Error running exec().Command: [su]"
        A: Most probably your device is not properly rooted or the su command is missing.
      2. "No such device".
        A: Your current kernel or rom lacks the necessary CIFS support. Try to find a matching kernel module (cifs.ko) or use a rom with explicit CIFS support.
      3. "mounting <yourshare> on <yourmountpoint> failed: No such file or directory"
        A: Your "Mount Point" simply does not exist and CifsManager is not able to automatically create it for you. As automatic Mount Point creation is not done with su rights, CifsManager can only create Mount Points in directories with permissions 777 or on your SD-Card.
    • Q: I have installed CifsManager but launching the app fails with something like "Application not installed on your phone"
      A: This is not a problem caused by CifsManager but a bug in your ROMs launcher. Look for an updated version of your launcher.
    • Q: I mounted my favorite share successfully but files with special characters are not displayed correctly.
      A: Try to use a kernel with explicit UTF-8 support or try to find/load the kernel module nls_utf8.ko.


    28/04/2011 - Changes in v1.5a:

    - improved compatibility with various Launchers
    - removed permission to write to external storage/sdcard
    - username now mandatory share parameter (default value "guest")


    19/01/2011 - Changes in v1.5:

    - added multi-module load support
    -- it's now possible to configure and load multiple kernel modules via CifsManager
    -- specify multiple modules in the "Path to cifs.ko" preference by separating them via a colon ( : ).
    -- e.g. /system/lib/modules/cifs.ko:/system/lib/modules/nls_utf8.ko

    - you can now review the list of loaded kernel modules via the "Modules..." button in the "Info..." dialog
    -- if your kernel has cifs support built-in, the cifs will not show up there, this is no problem ;)

    - added a rudimentary check to try to prevent mounting shares on the sdcard if it is unavailable (mass-storage-mode).


    10/14/2010 - Changes in v1.41:

    - fixed problem with keeping track of shares with symbolic links in Mount Point


    09/07/2010 - Changes in v1.4:

    - added link to changelog in "About..." dialog
    - now available in Android market


    09/03/2010 - Changes in v1.31:

    - added correct quoting for special characters (",',{,[,\...)
    -- for Share Path, Mount Point, Username, Password
    -- using NICE mount points like /mnt/cifs/S{\ pace and safe passwords possible now :)
    -- eventual shell metacharacters in Options string have to be explicitly quoted

    - re-added permission WRITE_EXTERNAL_STORAGE
    -- so CifsManager is able to auto-create mount points on your SD-Card (without asking for root)
    -- convenient and useful for feature crippled software like Rockplayer

    Remark:
    Do not mount/umount shares on your SD-Card when in Mass-Storage mode.
    In other words: Avoid using mount points on your SD-Card if possible ;)


    09/01/2010 - Changes in v1.21:

    - reworked the "Open Directory..." feature
    -- should work with Estrongs (again) and Astro
    -- due to the lack of a standard intent Estrongs is preferred if both file managers are installed
    -- this command is available in a share's context menu when mounted

    - changed the standard action for mounted shares to "Open Directory..."


    08/31/2010 - Changes in v1.1:

    - added elementary support for mounting NFS shares
    -- specify the Share Path as <server>:<path> (e.g. 192.168.1.17:/mnt/Spajz)
    -- Username and Password fields are ignored in this case

    Remark:
    - If you want to mount NFS shares you should have the basic knowledge to load the necessary kernel modules in an appropriate init script yourself.
    - The newest version of EStrong FileExplorer lacks the necessary intent-filters to be launched with the "Open Directory..." context menu option.


    08/20/2010 - Changes in v1.0:

    - added option to directly open a Mount Point in file manager (browse directory)
    -- works with popular file managers like EStrong or ASTRO

    - added German language support
    -- if you want to help translating the GUI to different languages please contact me ;)

    - removed menu option to refresh share states manually

    Remark:
    Unfortunately it's not possible to launch the file viewer of Rockplayer 1.0.31 (blame them). Rockplayer even lacks the necessary intent filters to be launched with a video file.


    08/18/2010 - Changes in v0.99:

    - added settings dialog to provide control over the following features:
    -- default mount prefix (leave it at default if unsure about permissions/side-effects)
    -- load cifs module on startup (on/off)
    -- module load method (modprobe/insmod)
    -- module location (when insmod is selected)

    - Removed all references to sdcard to prevent side effects with USB-Mass-Storage mode
    -- new default mount prefix is /mnt/cifs, try to avoid mounting shares on sdcard directories
    -- /mnt/cifs should also work on devices with write disabled root filesystems like HTC Desire
    -- fixed permission problems with mount points created by CifsManager (files not showing up in File Managers etc.)
    -- moved persistent settings from sdcard to android default location (/data/data)

    - added menu option to unmount all currently mounted cifs shares
    - added menu option to refresh share states manually

    - share states now synchronized with kernel mount list on activity resume


    08/16/2010 - Changes in v0.93:


    - Fixed problem in serialization code (shares should be saved correctly now)
    - Try to automatically insert CIFS module (only on initial startup)
    - added "options" value to Share settings so arbitrary additional mount options can be specified (separate options with comma ,)

    Remark:
    The type of supported additional options depend on your specific kernel/cifs-module settings.


    08/16/2010 - Changes in v0.91:

    - Mountpath will be created (if needed and possible)
    - Settings are stored on SDCARD (/sdcard/cifs/cifsshares.dat)
    - Added permission to write to SDCARD
    3
    Updated to v1.5a

    28/04/2011 - Changes in v1.5a:

    - improved compatibility with various Launchers
    - removed permission to write to external storage/sdcard
    - username now mandatory share parameter (default value "guest")

    regards
    3
    For those looking for it, it's here https://xdaforums.com/showpost.php?p=53760495&postcount=537 .


    To add more shares: https://xdaforums.com/showpost.php?p=77221125&postcount=604 ,
    or do it manually with adb/terminal shell :

    su --mount-master -c mount -o username=myUsername,password=myPw -t cifs //192.168.0.XXX/Movies /mnt/cifs/Movies