Connected SMB Storage Provider Help

Introduction

ConnectedSMB Storage Provider is compatible with Android’s Storage Access Framework (SAF) introduced in Android 4.4 (API level 19).
ConnectedSMB provides a Windows compatible Network File Sharing (often referred to as SMB) as an Android content provider. This allows file exchange between Android devices and Windows, Linux, MacOS, and other systems that support the SMB Network protocol.

ConnectedSMB provides both client and server capabilities. Android devices are able to access files that reside on remote computers and other android devices. Remote devices can also access files on devices running the paid version of the ConnectedSMB Storage Provider.

Walk Through

The easiest way to demo the capabilities of the Connected SMB Storage Server and Provider is to provide a simple example walkthrough. A user should learn enough from the walkthrough to be able to configure and use the product in more general configurations for the user.

The sample walkthrough will configure the Connected SMB Storage App as both an SMB Client and an SMB Server and we will configure a provider and an export in such a way that they are connected to your phone in a loopback configuration. That is, we will set up the SMB Storage app to share a directory from the phone onto the local directory, and we will configure the app to access this share as if it were located on some remote phone and to provide that phone’s content to application on your phone. The content on the remote phone will be accessible to your phone as if that content were local to your phone.

We’ve chosen to demo this capability in a loopback mode so that we can demonstrate both the client and server capabilities of your app without having to involve other devices.

Installation

Connected SMB can be installed directly from from Google Play Store. The Connected SMB Play Store App page is:

https://play.google.com/store/apps/details?id=com.connectedway.connectedsmb

Running the Connected SMB Storage Provider and Server

To run, either hit “Open” from the Connected SMB Play Store App page or locate the “Connected SMB” Icon in your phone’s apps and click on it to open.

When run for the first time, the app will request access to photos, media, and files on your device.

Connected SMB Request For Access
Connected SMB Request For Access

This functionality is required for operation of the app. Please click “Allow”

You will then be shown the Connected SMB Storage app main screen. There are two tabs on this screen, the “Network Servers” tab and the “Local Exports” tab.

These screens will look like:

Connected SMB Network Servers Screen
Connected SMB Network Servers Screen
Connected SMB Local Exports Screen
Connected SMB Local Exports Screen

You can move between tabs by simply swiping the screen either left or right depending on which tab has focus. The “Network Servers” tab lists all the computers or phones on your network that your phone has access to. We’ll talk about setting this up in a moment. The “Local Exports” tab lists all the directories on your phone that other phones on your network has access to. We’ll also discuss adding local exports in a moment.

Configuring the Conntected SMB Storage Provider and Server

But first, and specifically for this demo, we want to enable the SMB server capability. By default the SMB server capability is disabled and a user must explicitly enable that capability.

Select the “Menu Options” icon in the top right of your screen to the right of the Connected SMB Title bar. This is sometimes called the “Kabob Menu” for obvious reasons. You will ssee three menu options: About, Settings, and Help. This is shown below:

Connected SMB Menu
Connected SMB Menu

Please take the time to read About page. The Help page is what you are reading here. This step, though, involves you selecting the “Settings” menu option.

This will show you a settings screen that looks as follows:

Connected SMB Settings Dialog
Connected SMB Settings Dialog

At the begining of the settings dialog, there are two informational fields: Your phone name and your phone’s IP address on your local wifi. Your phone’s name is set in the bluetooth configuration screens for your phone. If not set by you, there will be a default. The default is fine. The IP address will tell you the IP address of your phone on the local wifi. If this field is blank, you do not have a presence on your local wifi. Be sure you have wifi enabled and that your phone is able to connect and browse the web using wifi as opposed to using the cellular network. The ConnectedSMB Storage app will not be able to operate if your phone does not have an IP address on the local network. Make note of this IP address. Although not necessary, you may need to know it in a subsequent step when we configure the provider. You also will need it when configuing proxy settings for Windows.

  1. Please switch the “Server Mode” toggle to on by swiping the button to the right.

  2. The Security Trigger and Security Window are intrusion reaction parameters. By default they are set to 5 and 30 respectively indicating that 5 failed authentication attempts to the phone within a 30 second window will be interpreted as an intrusion attempt. When an intrusion attempt is detected, the ConnectedSMB storage app will immediately disable server capabilities.
    The user will have to manually reenable the server when confidence has been restored. You can disable intrusion response by setting the Security Trigger value to 0. For this demo, you can (and should) accept the default.

  3. The User Name and Password fields are the credentials that you will provide to other phones on your local network. These credentials will grant those phones access to your local files. Of course be careful who you communicate these credentials to. Fill in these fields with values you feel comfortable with.

  4. Hit “Set” when finished.

Exporting Directories to Phones

Although the server was enabled in the previous step, you phone has not exported any directories to share. So even if a remote phone were to connect to your phone, they will not see any content. You will need to add a directory to export. This will be called a “Share”. To add a Share, swipe left so that the “Local Exports” tab has focus. Click the folder with a + in it icon on the lower right of your screen.

This will bring up the “Local Export” Screen as shown below:

Connected SMB Local Export Dialog
Connected SMB Local Export Dialog
  1. In the field to the right of Share, give your export a name. In the demo, we will be sharing your pictures directory so you may ype in “Pictures”

  2. Click on the field to the right of the Export prompt. This will bring up a directory browser. Navigate through the directory structure on the local phone until you are position within the directory you want to share. This is a standard Android platform directory browser. The title bar will specify the location where the browser is currently positioned. You can click on the menu icon to the left of the title to select storage providers. This notion of storage providers will become important later on in the demo but for now, you should see only a list of providers physically available on your phone. For most there will be three items: Recent, Downloads, and a item for your phone which will have your phone’s name in it. That’s where we want to start so click the line with your phone name.

  3. This will bring you to the root of your shareable directory tree. Don’t worry, system files are not visible and you will not be able to share them. You are only given a view into the application accessible area of your phone. Pictures are located within the directory “DCIM” so scroll through the listing until “DCIM” is visible and select it.

  4. This will bring up a set of directories where photos are stored. When you take a normal photo from the phone, they are stored in the “Camera” directory so click on that.

  5. Once inside that directory, click the “SELECT” button on the lower right of your screen to select this directory as the one you want to share as “Pictures”.

  6. This will bring you back to the Local Export Dialog. In the Comment field, type anything you want that will help you remember what is in this directory when viewing the shares. In our case, type in “My Pictures”.

  7. Then hit “Set”.

You should see an item added to your list of Local Exports with a folder icon, the share name, and the share comment as shown below:

Connected SMB Populated Local Exports Screen
Connected SMB Populated Local Exports Screen

If you hit set prematurely or wish to change something about the way you exported the share, you simply have to select the export and the same dialog box for adding the share initially will be shown. You can edit the fields, or delete the entire share and start over.

Adding a Storage Provider to Connected SMB

In order for local applications to be able to access shares on the local network, you must configure a provider to the server. We will add a provider that will access the shares on the phone we have just exported by looping back our network traffic.

  1. Hit the computer with a plus sign icon on the bottom right of the screen to add a network server. This will bring up a screen that looks like:
Connected SMB Network Provider Dialog
Connected SMB Network Provider Dialog
  1. The first field allows you to specify the server that contains the share you wish to access. Hit the pull down bar that says “Select Server” in it. This should bring up a list of servers that the application has discovered on your local network.
    ConnectedSMB does it’s best to find all servers on the local network but for various reasons, the server you are looking for may not be visible. If the server is found, simply select it. In our case, we are looking for an item that has your phone’s name in it. Once selected, you will see the information field of IP and Port filled in with the resolved IP address and port. You do not need to be concerned with this.

The most common case for why your phone or some desired server is not visible is simply that the discovery algorithm has not found it yet. Allowing the algorithm to run for a longer time will allow the server to be discovered and added to the list. But waiting may not always be the best option, nor may the discovery option ever find the server. So, if you do not see your server, you can select <new…> in the “Select Server” pulldown. This will bring up the Remote Address Dialog.

Connected SMB Remote Address Dialog
Connected SMB Remote Address Dialog

This allows you to manually enter a server and address/port pair for the server you wish to access. Remember back in the settings dialog, the information fields of “Phone Name” and “IP Address” were discussed. These are ultimately what you want to enter into the “Remote Alias” and “DNS or NetBIOS Name or IP Address Field”. If your network is setup with NetBIOS or DNS, you may be able to enter your phone’s netBIOS or DNS Name. For the demo, you can use the IP address you noted from the settings dialog. For the demo, the Server Type, is “Phone”. If you are connecting to a computer at a later time, you may be adding a Remote of a “Computer” Type. When done, hit “Set”. You will be brough back to the Remote Share dialog and the IP and Port of the recently added server will appear.

  1. Back in the Remote Share dialog, In the Description Field, type a description that can help you identify the provider. For the demo, Type “My Phone”.

  2. In the username and password fields, type the credentials you entered into the fields within the “Settings Dialog”.

  3. Toggle whether you wish applications to be able to view thumbnails of images when browsing directories remotely. Usually we recommend this setting remain off because loading thumbnails remotely can be time consuming. Depending on your browsing experience you may wish to slide this Thumbnail toggle on or off.

  4. When complete, hit “Add”

Your Network Servers tab will be updated with your recently added server as shown below:

Connected SMB Populated Network Servers Screen
Connected SMB Populated Network Servers Screen

Just as with the “Local Exports”, if you hit add prematurely or want to edit or delete the provider you just added, you can select the provider and the “Remote Share” dialog box will reappear. You can edit the info or delete the provider as needed.

Next Step

So, now you have configured a loopback provider on your phone. The next step is using it. Many if not most Android apps today support the Provider aware File Explorer dialog. This dialog is based on the same framework as the export directory dialog that was shown when we were exporting a share above. Further, most distributions of Android include a very useful file explorer built in. It is usually named “File Explorer” or “Files”.

For the demo, we will use the native File Explorer that comes with Android. On some Android devices, this app is not visible by default. If you cannot find this app, you can install and run a third party app from the Playstore which will make the internal file explorer app visible. This app is available free from the playstore at:

https://play.google.com/store/apps/details?id=net.konos.createshortcut

If you cannot find the native file explorer, I highly recommend installing this app and making the internal Android file explorer visible. It is extremely functional and works seemlessly with the ConnectedSMB Storage Provider.

Bring up the Files App

When running the files app, you will see a screen like:

Google Files App
Google Files App

To the left of the title bar is the “Explorer Pane” Icon. The title bar will be set to the name of the directory or in the case of a root directory, the name of the device or provider. In this case, I am viewing the root of my device so it shows the device name. In the main window of the app, the contents of the current directory are shown.

Select the Provider

Select the “Explorer Pane” icon on the top left of the screen to the left of the title. This will bring up the Explorer Pane as shown below:

Google Files Explorer Pane
Google Files Explorer Pane

You will see various collections but under downloads you will see various devices or providers.
Since you had previously added your phone as a provider you will see the phone’s name along with the comment you had provided in the list of available providers. You will see the ConnectedSMB icon in front of all storage providers configured as part of the ConnectedSMB Storage Provider.

Simply select the storage provider with the ConnectedSMB Icon.

Select the Network Share.

Once you select the ConnectedSMB provider, the explorer window will show you all the network shares exported on that server. In our case, we had created a “Pictures” share. You will see a message pop up that says “SMB Server Session Started”. This is so that you will see if someone is accessing your phone unexpectedly. The content pane will look like:

Google Files Remote Phone Directory
Google Files Remote Phone Directory

Clicking on the share name (Pictures in this case), will bring up the content of the pictures Directory

Google Files Remote Pictures Directory
Google Files Remote Pictures Directory

And Clicking on one of the Pictures will actually open the picture in the phone’s photo viewer. Depending on the size of the picture, this may take a 30 seconds or more. You will see a spinning icon.

Photos Picture
Photos Picture

Storage Provider Configuration

To configure the ConnectedSMB Storage Provider client and get started accessing files on remote computers from your Android device, you simply need to add servers to your Network Servers tab.

Adding Provider

To add a server to Connected SMB, click the floating server add button on the lower right of the window. This will bring up a Remote Server dialog box. Fill the fields in as follows:

Field Description
Server A pulldown that lists all servers either discovered or added. Select the server you wish to access. If your server is not listed, but you know its DNS name, NetBIOS name, or IP Address, you can select <new…> in the dropdown. This will bring up the New Server Dialog. For more information, see adding a new server.
IP and Port A read only informational field detailing the IP address and TCP Port associated with the server name.
Description A friendly description of the server that will be seen by local apps when they are browsing for storage locations.
User Name The user name you have been given to access files on the remote server.
Password The password you have been given to access files on the remote server.
Thumbnail A toggle that will tell the ConnectedSMB provider whether it should provide thumbnails to applications.

Once the form is complete, you can click “Add”. If you change you mind and do not wish to add the remote server at the present time, you can click “Cancel”.

Changing or Deleting a Server

If for some reason, you wish to modify or delete a server configuration, simply click on the server from the list in the Network Servers tab. This will bring up the server’s configuration. The fields are identical to the fields you were presented when adding providers.
You may update one or more fields and click “Set” to update the server configuration. If you wish to remove the server configuration from the ConnectedSMB Storage Provider, simply click on “Delete”. If you change your mind and do not wish to modify the provider, simply select “Cancel”.

Adding A New Server

The ConnectedSMB Storage Provider will do its best to locate servers on the local network. For various reasons, it may not be able to discover the server. In this case, it is possible to manually add the server which you would like a client provider to access. To add a new server, bring up the adding providers dialog. In the Server pulldown, select “new…”. This will bring up the Remote Address Dialog box. The fields in this dialog are as follows:

Field Description
Remote Alias A name you wish to identify for the address you are adding.
DNS or NetBIOS Name or IP Address The DNS or NetBIOS name, or the IP address of the server. The IP Address can be an IPv4 or IPv6 Address.
Server Type Selects whether the remote server is an Android device running the ConnectedSMB Server (Phone) or a Windows, Linux, or OSX Computer with File Sharing enabled (Computer). Computer type may also be used for other File Servers such as a Buffalo Link Station or similar device.

After completing the information, hit “Add” to add the server to the server pull down list, or “Cancel” to return to the Remote Share dialog box without adding a new server.

Modifying an Existing Server

If you wish to modify a manually entered, or automatically discovered remote address, bring up the adding providers dialog. In the Server pulldown, select the server name you wish to modify, then select the “edit” icon to the right of the dialog box. This will bring up the Remote Address Dialog box. The fields will be the same as described in the adding a new server section.

After completing the information, hit “Set” to update the server info. If you wish to return to the adding provider dialog box without changing the server address, simply hit “cancel”. If you wish to delete the remote you can also hit “delete”.

Accessing Files

Once the ConnectedSMB Storage Provider is running, applications that use the Android Storage Access Framework (SAF) will be able to access files on servers configured through the Network Servers tab.

The following list is a partial list of supported Applications:

Application Access Information
Android Files Application To access SMB files through the Connected SMB Storage Provider, click on the explorer button on the top left of the screen. Connected SMB servers will appear with the Connected Way logo, the friendly name, and the Description.
Microsoft Word When Word first comes up, it will list a set of Places. If Places do not appear, click on the “Open” Icon. Within the places screen, click on “Browse”. This will bring up the Android file picker dialog. Click on the explorer pane icon on the top left. This will bring up a list of locations. Connected SMB servers will appear with the Connected Way logo, the friendly name, and the Description.
Microsoft Powerpoint Powerpoint does not support opening of presentations within the powerpoint application itself, but it will open a file if launhed through the Android File Manager. Use the Android File manager to navigate to the powerpoint presentation you wish to view or edit and simply open it from the Files application
Microsoft Excel You can follow the same directions as applied to Microsoft Word.
Adobe Acrobat Reader You can follow the same directions as for Microsoft Powerpoint.
Microsoft Outlook Microsoft Outlook does not support attaching items directly from the SMB storage provider. Copy your files using the Android File Apps to a location local to your device, then click on the “Attach” icon in your compose window and select “from your local device” item in the pull down menu.
Google Mail Click on the Attach icon in the compose window, then click on “Attach File”. Use the Android File Picker to navigate to the file to the SMB managed servers and select the file you wish to attach.

The storage providers you have added to the ConnectedSMB Storage Provider’s Network Servers tab will be visible in most Android apps through the file pulldown button on the top left of the application along side the application’s title. You will normally see a list of providers of various types. Simply select the relevant provider and you will be brought to a file navigation window for the root of your remote file server.

There are many more applications on Android today that supports the Storage Access Framework and more to follow. If there is a particular app you would like to see added, please contact us through the “About” page and let us know.

Sharing Files with Remote Phones

ConnectedSMB also allows you to share application files on your phone with other phones and specially enabled devices on your local network.

Enabling File Sharing

By default, the server mode is disabled and you must explicitly enable it to share files. To enable file sharing, select the “menu” icon in the top right of the Connected SMB Storage Provider window (the icon with three vertical dots). Click on the menu items for “Settings”.

This will bring up the Settings dialog box. There are two informational fields and five configurable fields in this dialog:

Field Description
Device Name Your Phone’s Device Name
Device IP Address The IP Address of your phone on your Local Network
Server Mode A slide to enable or diable server mode.
Security Trigger Number of consecutive login failures that will trigger a security event.
Security Window Window of time that those login failures must occur within to trigger the event
User Name The username that a remote client must use to access files on your phone.
Password The password that a remote client must use to access files on your phone. It is best to keep this password secret and only communicate the user name and password to trusted parties.

Once you have filled in the fields, you can hit “Set” to enable (or disable) the server. If you wish to leave the dialog box without affecting any change to the previous configuration, simply hit “cancel”

Sharing a Directory with Remote Phones.

In addition to enabling file sharing on your device, you must also share one or more directories. This is done on the “Local Exports” tab. From the Network Servers tab, simply swipe right to show the Local Exports tab. You will see a list of directories you are sharing. The list may be empty.

To share a directory, select the Add Directory icon in the lower right of the pane. This will bring up a Local Export dialog. The fields in this dialog are:

Field Description
Share The name of the share. Remote phones will see this name as they browse your device.
Export The path to the local directory. Selecting this export path field will bring up a directory browser. You can navigate around the local file system until you have entered the directory you wish to share. Once inside the directory, you simply need to hit “SELECT” to select that directory to share.
Comment A comment for the share. This is shown in the list of exported shares and can help identify the directory to you.

Once you have completed specifying the local directory to share, you can hit “Add” to export the share. If you wish to leave without adding a new share, simply hit “Cancel”.

Updating a local Share

If you wish to either delete or change the share name, location, or description, simply select the share from the list in the Local Exports tab. This will bring up a dialog box identical to the one described in Sharing a Directory with Remote Phones dialog.

Update the fields as appropriate and hit “Set” to update the existing share info. If you wish to delete the share and no longer serve that directory, simply select “Delete”. Please NOTE that no local files will be deleted if you choose to delete an export. It is just that the directory will no longer be shared with remote phones. If you wish to leave the share as is without making any changes, simply hit “Cancel”

Learning More

If you wish to learn more about the ConnectedSMB application, or contact developers, sales, or support, simply click on the menu pulldown in the top right of the screen and select “About”