Tutorial: Mounting smartphone sdcard & external sdcard onto Windows over Wi-Fi as a driver letter using only a free, ad-free Android WebDAV server
Posted out of the goodness of my heart to help others mount their smartphone internal and external storage more easily than it took me.
Note my Android 12 phone is not rooted & it has no Google account set up.
The phone is connected to a hidden broadcast SSID on a static IP address with a random MAC address assigned on every connection to the home router.
I did not set my home router to reserve any specific IP address for DHCP because each Android 12 connection, by default, randomizes the MAC address upon every Wi-Fi connection; so my home router is set to hand out DHCP IP address only _after_ that low IP address range _and_ my phone is set to a static IP address of 192.168.0.2 which is _below_ the router DHCP range.
Note also that it's common convention that "DavWWWRoot" is a keyword for the WebDav server "Home Directory", which you will see being used below.
Today I switched from this ad-based free WebDav server with a simple setup, but which wouldn't (for some reason) mount the external sdcard over Wi-Fi: *WebDAV Server* by The Olive Tree Free, +ads, requires gsf, rated 3.5, 100K+ installs
Instead, I switched to this WebDav server which has a more complex setup. *WebDAV Server - BestDAV* by ZQ Software Free, ad free, gsf free, rated 3.4, 10K+ installs
The setup is tricky as you must know a few things that you manually set.
For example, you'll need an _accurate_ filespec for your Home Directory. Note that _many_ Android file explorers _simplify_ the visible filespecs!
Hence, I chose this file explorer because it shows the _real_ filespec: *X-plore File Manager* by Lonely Cat Games Free, ad free + inap$, requires gsf, rated 4.5, 10M+ installs
Using X-Plore, I noted the actual filespec to my internal sdcard folder: /storage/emulated/0 And I noted the actual filespec to my external sdcard top level folder: /storage/0000-0001 <== long ago I had named that sdcard using Windows 10
In the BestDav server, I set the following settings manually: Web server setting: Website Home Directory = /storage/emulated/0 Server Port = 8080 Bind to Local IP = any Concurrent Connections = 8 Allow notifying status = checked SSL settings: Enable SSL = unchecked Use our SSL certificate = unchecked Key Store File = unset Key Store Type = BKS (vs PKCS12) Key Store Password = unset (XXXXXXXXXX) Key Manager Password = unset (XXXXXXXXXX) Authentication: Allow HTTP digest authentication = unchecked Setup Users = (I will do that later) Setup Resources = (I will do that later) Setup Allowed IPs = unset Default features: Allow the Default Home Page(_home.html) = checked Allow Browsing Directory from Web Page = checked Allow Uploading File from Web Page = checked Allow WebDAV LOCK/UNLOCK method = checked Miscellaneous: Start server on boot = unchecked Start server when WIFI connected = unchecked Specify the SSID of the WIFI network = any Keep the Wi-Fi lock = checked Keep the device alive = checked Device Discovery: Enable Bonjour Discovery = checked Log Setting: Enable Logging = checked Log file directory = [SDCARD]/weblog/ Maximum preserved days = 7 Receive message from Web: Allow receiving message from web = checked Vibrate when message is received = checked Play sound when message is received = checked Message Ringtone = defValue Now click the "USERS" & "FOLDERS" buttons to set up the users and the resources so that Windows can mount Android as a drive letter over Wi-Fi.
USERS: I created a new user named "foobar" with a password of "snafu". If you don't wish to set up a user, you can allow everyone to connect.
Note that "foobar" is _not_ the Windows 10 user, nor is "snafu" its password, but you can set the user/password to that of your Windows user.
Note the GUI takes getting used to, where doubleclicking is required to begin editing the users and passwords that you created for them.
FOLDERS: I created a "Resource/Access Right" of "/" with the following permissions / === /storage/emulated/0 === everyone (_)none (_)Read only (o)Read/Write / === /storage/emulated/0 === foobar (_)none (_)Read only (o)Read/Write
Note that "/" here indicates the "DavWWWRoot" folder which is whatever you set your "Home Directory" to (as all three terms are equivalent).
Then I pressed the Android BestDav server button "START SERVER". This reports the URI you can use if you wish to connect using a browser. http://192.168.0.2:8080 <== note I didn't use SSL but I could have
On Windows, I entered this command as a typical user: C:\> net use Z: \\192.168.0.2@8080\DavWWWRoot /user:foobar snafu The command completed successfully.
On Windows, that created a new mount point over Wi-Fi named: DavWWWRoot (\\192.168.0.2@8080) (Z:) Which the Windows File Explorer and the Windows command line respects. C:\> Z: Z:\> dir Volume in drive Z has no label. Volume Serial Number is 0000-0000 Directory of Z:\ 05/15/2022 08:29 AM <DIR> . 05/15/2022 08:29 AM <DIR> .. 12/29/2021 12:15 AM <DIR> Samsung 02/02/2022 06:19 AM <DIR> Android 02/22/2022 07:52 AM <DIR> Music 05/17/2022 05:58 PM <DIR> Pictures 12/29/2021 12:15 AM <DIR> Ringtones 12/29/2021 12:15 AM <DIR> Alarms 12/29/2021 12:15 AM <DIR> Notifications 05/15/2022 08:29 AM <DIR> DCIM 04/16/2022 03:06 PM <DIR> Movies 05/16/2022 01:33 AM <DIR> Download 01/30/2022 06:04 AM <DIR> flore 04/08/2022 12:28 AM <DIR> Documents 12/29/2021 12:15 AM <DIR> Audiobooks 01/03/2022 10:33 PM <DIR> .face 01/01/2022 02:50 PM <DIR> Aurora 05/20/2022 02:14 AM <DIR> 0000 <== my tattletale folder 01/05/2022 06:12 PM <DIR> navigator 01/05/2022 11:17 PM <DIR> .UTSystemConfig 05/17/2022 05:45 PM <DIR> .DataStorage 04/21/2022 11:45 PM <DIR> MotionDetectorPro 04/22/2022 08:17 PM <DIR> ACRCalls 05/06/2022 02:16 AM <DIR> vysor 02/08/2022 10:05 PM <DIR> Unlocked 02/22/2022 11:18 AM <DIR> Cellular Info 02/22/2022 10:42 AM <DIR> Cellular_Connection_Monitor 02/22/2022 03:56 PM <DIR> InternetConnectionAlert 02/27/2022 03:27 AM <DIR> rfsignaldata 02/27/2022 03:45 AM <DIR> data 04/07/2022 09:49 PM <DIR> carbon 04/08/2022 02:02 AM <DIR> AppBackup 04/16/2022 06:02 AM <DIR> OSSLog 04/16/2022 06:11 AM <DIR> .csproduct 05/03/2022 09:46 PM <DIR> Podcasts 05/03/2022 09:46 PM <DIR> Recordings 05/05/2022 03:05 PM <DIR> BARIA 05/15/2022 07:25 AM <DIR> GCam 05/15/2022 08:05 AM <DIR> temp 05/15/2022 08:29 AM <DIR> hudunrecorder 05/15/2022 08:29 AM <DIR> .hudundevice 0 File(s) 134,628 bytes 41 Dir(s) 76,833,701,888 bytes free That gave me read permission from Windows 10 over Wi-Fi of the entire sdcard, including folders where I did not have write permission; but crucially, in folders I had created on Android, I _did_ have write permission from Windows 10 File Explorer (which is fine by me that way).
Now it's time to see the _external_ sdcard, instead of the internal sdcard.
I disconnected the mount point on Windows using the right click menu item of the same name and killed the WebDav server on Android but I found out later that you don't even need to disconnect the mount point from Windows.
With the WebDav server off on Android, in the WebDav server settings I changed the Android WebDav server setting for the "Home Directory": FROM: /storage/emulated/0 TO: /storage/0000-0001 And then I restarted the Android WebDav server. And re-ran the Windows command: C:\> net use Z: \\192.168.0.2@8080\DavWWWRoot /user:foobar snafu
Voila!
On Windows, that created a new mount point over Wi-Fi named: DavWWWRoot (\\192.168.0.2@8080) (Z:) Which the Windows File Explorer and the Windows command line respects. C:\> Z: Z:\> dir Volume in drive Z has no label. Volume Serial Number is 0000-0000 Directory of Z:\ 05/17/2022 10:41 AM <DIR> . 05/17/2022 10:41 AM <DIR> .. 05/03/2021 08:17 AM <DIR> System Volume Information 12/24/2021 05:48 PM <DIR> Music 01/31/2022 01:57 AM <DIR> Android 12/24/2021 05:48 PM <DIR> Podcasts 12/24/2021 05:48 PM <DIR> Ringtones 12/24/2021 05:48 PM <DIR> Alarms 12/24/2021 05:48 PM <DIR> Notifications 03/12/2022 12:24 AM <DIR> DCIM 12/24/2021 05:48 PM <DIR> Movies 04/13/2022 07:19 PM <DIR> Download 01/05/2022 06:12 PM <DIR> navigator 12/24/2021 05:48 PM <DIR> Documents 12/24/2021 05:48 PM <DIR> Audiobooks 05/20/2022 02:29 AM <DIR> 0001 <== my tattletale folder 04/13/2022 09:16 PM <DIR> Pictures 04/07/2022 09:49 PM <DIR> carbon 04/13/2022 07:24 PM <DIR> Toon 05/03/2022 09:46 PM <DIR> Recordings 0 File(s) 73,728 bytes 20 Dir(s) 76,831,617,024 bytes free
Finally, I can see (read and write) mounted as a drive letter over Wi-Fi the Android 12 external sdcard using the Windows 10 File Explorer.
As before, from Windows, I can create a directory not in the top level but in lower levels in folders I had previously created on Android, which is fine by me.
Apparently it's all in the settings, which is why I was careful to document the settings I used so that others can more easily follow in my stead.
In summary, given I purposefully chose free software, anyone can run this step-by-step cut-and-paste tutorial to connect their entire Android phone over Wi-Fi to their Windows computer for seamless bidirectional file transfer.
The hope is that this tutorial is useful to you, and, better yet, that someone out there knows more than I do about this who can improve it.
That way we all benefit from the effort that went into writing this up.