Transferring ~100 MB APK file from PC to mobile over mobile Hotspot WiFi: Quick Share, ftp server, pairdrop etc.

Last updated on 17 Aug. 2025

Summary

My TP-LINK Wireless USB Adapter has a theoretical maximum transmit speed of 72 Mbps and a theoretical maximum receive speed of 54 Mbps. On using iPerf3 on PC and PingTools on Samsung M21 phone, I got results of 50.4 Mbps (receive) and 52.1 Mbps (transmit). Gem finds these results to be OK.

Quick Share with specific mobile hotspot configuration to allow Wi-Fi sharing provides a decent solution of transferring 100 MB+ file at around 3 MB/s (24 Mbps) to 5 MB/s (40 Mbps). So 100 MB APK file should get transferred in less than a minute using Quick Share. Quick Share file transfer connection seems to be robust (it uses TCP).

Quick Share needs Bluetooth for finding other devices. Quick Share on Windows PC works at low speed  (~45 KB/s) with only Bluetooth connection between PC and mobile. For high speed (3 to 5 MB/s), WiFi and Bluetooth connections btw PC and mobile are needed.

Bluetooth (BT) data transfer speed is only around 45 Kbps. So 100 MB file transfer is unviable with BT.

My Bluetooth USB adapter is TP-LINK UB400. It works with generic driver provided by Windows using plug-and-play. Driver download from TP-LINK site does not seem to be so good. BT pairing works well but connect, most of the time, fails/breaks. However this connect problem does not seem to impact BT file transfer nor Quick Share. So I can ignore this connect problem for my file transfer needs.

For Quick Share file transfer, Samsung M21 phone's mobile hotspot config feature of Wi-Fi Sharing has to be On. Then Hotspot, Bluetooth and WiFi have to be On. Quick Share app settings on both mobile and PC can be 'No one' if same Google account used in Quick Share is logged in on both mobile and PC. [It is possible that even with Hotspot off, Quick Share will work at high speed if BT and Wi-Fi are on but I have not tested that case.]

For best speed with Quick Share, initially take the phone close to BT dongle (and especially if the phone is not seen/detected). Once the file transfer starts, move the phone close to WiFi dongle. This may be needed only when it takes some minutes for a file transfer.

I tested that Quick Share works at high speed (3.33 MB/s) over Wi-Fi, even without Internet connection (offline file transfer). For more, see Details section.

nearby_share_launcher.exe is a core part of the Quick Share application and is configured to start with Windows. But it is mentioned as low-impact on startup in Task Manager. For Windows PC performance reasons, I have disabled Quick Share itself to run on startup. So it has to be invoked separately whenever it is needed. To get running Quick Share app to close, use Quick Share icon in system tray.

WiFi FTP app by Medha apps provides an efficient solution but the app needs permission to access all files on mobile and the app is not open source. So it has a security concern. FTP connection also seems to be robust (uses TCP) and is fast (similar speed to Quick Share though I have not specifically measured it). As I want it to be available as a backup option, I have not uninstalled WiFi FTP app from my mobile but I have not provided it 'access all files' permission.

Primitive FTPd, https://f-droid.org/en/packages/org.primftpd/ on F-Droid is open source and may be a good ftp server solution with less or minimal security concern as the code is open source and I can even have a look at it myself. But I have not had the time nor the need to check it out as I seem to have got a solution via Quick Share.

pairdrop.net which used to work for me some weeks ago (perhaps a month or two ago) to transfer APK files of 55 to 60 MB IIRC, at decent speed, was not able to transfer even much smaller files over past few days, though it was able to transfer very small files, at times. The problem was that the connection between PC pairdrop and mobile pairdrop would frequently get broken. Pairdrop uses WebRTC which in turn uses UDP and so is less robust than FTP or Quick Share both of which use TCP. Though I explored various angles, I was not able to figure out why pairdrop for 55 to 60 MB file transfer was working out well earlier but is not working out now. 

Details

Given below are relevant extracts from my recent chat with Gemini on this topic, with some additional notes (in italics usually).

Me: I am trying to use pairdrop.net over my mobile hotspot network to send a file from pc to mobile. I can send a message. But every time I try to send a file the connection breaks even before Accept is shown on the destination mobile. I retried quite a few times with no success. ... I recall that in the past I have not faced such issues - perhaps I needed just one or two retries.

Gem: PairDrop uses WebRTC (Web Real-Time Communication) to create a direct peer-to-peer connection between devices. When devices are on the same local network (like a home Wi-Fi router), this connection is straightforward. However, when you use a mobile hotspot, the devices are still on a local network, but that network is using the mobile carrier's data connection to access the internet. This can introduce several potential points of failure:
  • Mobile Network Restrictions: Some mobile carriers or phone settings may have firewalls, port restrictions, or NAT (Network Address Translation) that interfere with the WebRTC peer-to-peer connection process.

  • Connection Stability: Mobile hotspot connections can be less stable and have higher latency than a traditional Wi-Fi network. Even a brief drop in signal can cause the WebRTC connection to fail, especially during the initial handshaking process.

  • Device Inactivity: There have been reports of some mobile browsers and operating systems "pausing" the background process or network connection when you're interacting with the file selector, which can cause the device to appear offline to the other device.

...

Me: Today I was able to transfer a small file using the pairdrop.net connection btw PC and mobile using mobile hotspot network. I have a small USB extender cable from the USB port on PC box to the top of my desk and I attach my WiFi adapter at the end of the cable on my desk. I pressed hard on both the cable connection to PC box and the WiFi dongle connection to extender cable. After that the pairdrop.net connection worked for transfer of small file. Later, when required, say to transfer ~100 MB debug APK file, I will try out larger file tranfers.

...

Me: Is there an easy way to check via software whether the WiFi adapter physical link to PC is good? I mean, I did not get any indicator either from the WiFi adapter - its green light continued to show (flickering as usual to indicate data transfer on/off), or from Windows. So I could not easily figure out that this could have been the issue.

Gem: There's not an easy way to check the quality of a USB physical connection via standard Windows tools. This is because Windows logs device status, not the integrity of the physical link itself.

Windows and the USB adapter driver are primarily concerned with whether the device is connected and functioning at a basic level. If the connection is flaky but not fully severed, the device will still report as connected, and its status light may continue to behave normally. It won't have a specific "poor physical connection" error code because it's a transient hardware issue rather than a clear-cut driver or software problem.

...

Me: Get-NetAdapter
Name                      InterfaceDescription                    ifIndex Status       MacAddress             LinkSpeed
----                      --------------------                    ------- ------       ----------             ---------
Local Area Connection* 13 Microsoft Wi-Fi Direct Virtual Ada...#4      24 Up           C0-25-E9-52-CF-A8        72 Mbps
Wi-Fi 2                   TP-LINK Wireless USB Adapter                 15 Up           C0-25-E9-52-CF-A8        72 Mbps
Ethernet                  Realtek PCIe GbE Family Controller            8 Not Present  10-FF-E0-70-6C-47          0 bps

Gem: Based on the Get-NetAdapter output, the "Wi-Fi 2" adapter is the one you are actively using for your mobile hotspot connection. It's the only one with a non-zero link speed and a clear name that matches your physical adapter.

Analysis of the Output

  • Wi-Fi 2: This is your physical TP-LINK Wireless USB Adapter. The LinkSpeed of 72 Mbps indicates that it is currently connected and active. This is the adapter that's talking to your mobile hotspot.

  • Local Area Connection* 13: This is a Microsoft Wi-Fi Direct Virtual Adapter. Windows creates these to enable features like Wi-Fi Direct (for connecting directly to other devices without a router) or a mobile hotspot. It's not a physical adapter but a virtual one that piggybacks off your main Wi-Fi adapter. It's also showing a link speed of 72 Mbps because it's tied to the active physical connection.

  • Ethernet: This is your PC's built-in Ethernet port. The "Not Present" status and 0 bps link speed confirm that it is not connected to a network, which is why your initial attempts to connect to a 192.168.x.x IP address failed.

...

Me: The link speed does not seem to be an active data transfer speed measure. I am looking for something that runs a test transferring data over the WiFi dongle and then reports the speed for that test.

Gem: You are right that the link speed in network properties is the negotiated speed between the Wi-Fi adapter and the access point, not an active data transfer speed. For a true measurement of data throughput, you need a dedicated speed testing tool.
...

Me: I need something like iPerf3 and not Ookla/Fast as I want to test only the local wifi network speed btw mobile and PC. Is there an Android app for iPerf3 which can work with iPerf3 installed on Windows PC?

[https://techcommunity.microsoft.com/blog/networkingblog/three-reasons-why-you-should-not-use-iperf3-on-windows/4117876 recommended using https://github.com/microsoft/ntttcp over iPerf3 but I could not get an Android app for ntttcp. So I fell back on iPerf3, https://iperf.fr/iperf-download.php . I downloaded the latest version for Windows 64 bit - 3.19.1_64.]

Me: PingTools is already on my mobile. it has an iPerf feature. Can that be used to test network speed btw mobile and windows pc

Gem: Yes, you can use the iPerf feature in the PingTools app to test the network speed between your mobile and a Windows PC. The app's documentation confirms that its iPerf tool is based on iPerf3.

To perform the test, you'll need to run iPerf3 on your PC as a server and use the PingTools app on your mobile as the client.

1. Set up your PC as the iPerf3 server

...
Once you have a recent version of the iPerf3 executable (iperf3.exe), open a Command Prompt or PowerShell window on your PC and navigate to the folder where you saved it. Then, run the command:
iperf3.exe -s
This will start the iPerf3 server, and it will be listening for a client connection.

2. Run the PingTools client on your mobile

Open the PingTools app, navigate to the iPerf feature, and configure it as a client.

  • Enter your PC's IP address (the 10.x.x.x address) in the server field.

  • Ensure the port matches the one iPerf3 is listening on (the default is 5201).

  • Start the test.

The app will connect to your PC and send data, measuring the bandwidth and reporting the results on both your phone and PC screens.

Keep in mind that while this method is effective, the performance results might not be a perfect representation of your network's full capacity due to the iPerf3 Windows build's emulation layer, as discussed in the Microsoft article. However, for a mobile hotspot network, it will be more than sufficient to diagnose whether you're getting stable bandwidth after your physical connection fix.


Me: Downloaded and ran iperf3 on PC. Connected to it from PingTools iPerf.
First server data of test:
iperf3.19.1_64> ./iperf3.exe -s
-----------------------------------------------------------
Server listening on 5201 (test #1)
-----------------------------------------------------------
Accepted connection from 10.217.25.248, port 39236
[  5] local 10.217.25.151 port 5201 connected to 10.217.25.248 port 39402
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec  5.88 MBytes  49.1 Mbits/sec
[  5]   1.00-2.00   sec  6.00 MBytes  50.3 Mbits/sec
[  5]   2.00-3.00   sec  5.38 MBytes  45.1 Mbits/sec
[  5]   3.00-4.00   sec  6.25 MBytes  52.4 Mbits/sec
[  5]   4.00-5.00   sec  6.50 MBytes  54.6 Mbits/sec
[  5]   5.00-5.02   sec   128 KBytes  81.5 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-5.02   sec  30.1 MBytes  50.4 Mbits/sec                  receiver
-----------------------------------------------------------
Server listening on 5201 (test #2)
-----------------------------------------------------------

Gem: The iperf3 test data provides a clear picture of the network performance between your mobile and PC. Based on the output, the average transfer speed is 50.4 Mbps.

Analysis of the Test Data

  • Accepted connection from 10.217.25.248: This confirms the connection was successfully established from your mobile device (with IP 10.217.25.248) to your PC (with IP 10.217.25.151). This is what you were trying to achieve earlier by changing the IP address in your app.

  • Interval...Transfer...Bitrate: This section shows the transfer rate in 1-second intervals. The speeds are fairly consistent, fluctuating around 50 Mbps. This indicates a relatively stable network connection, without significant drops or spikes during the test.

  • receiver: The final line with receiver indicates that the data was being sent from your mobile device and received by your PC.

  • 30.1 MBytes...50.4 Mbits/sec: This is the most important part of the data. It's the total amount of data transferred (30.1 MBytes) and the average bitrate (50.4 Mbits/sec) for the entire 5.02-second test.

This test result of 50.4 Mbps is a good representation of the real-world data transfer speed you can expect on this network. It's the maximum throughput for a single TCP connection between your two devices, which is what PairDrop and your development app would use. It confirms that your Wi-Fi adapter's physical connection is stable enough to maintain a consistent speed in that range.


[I shared screenshot of mobile app test results]

Gem: The screenshot from your mobile confirms the data from the iPerf test. It shows a summary of the transfer from your phone (the sender) to the PC (the receiver) and provides a clear visual representation of the network speed between the two devices.

The key values from the screenshot are:

  • Receiver summary:

    • Transfer: 30.8M (MBytes)

    • Bandwidth: 51.6M (Mbits/sec)

  • Sender summary:

    • Transfer: 30.1M (MBytes)

    • Bandwidth: 50.4M (Mbits/sec)

The difference in transfer and bandwidth between the sender and receiver is due to overhead and slight timing variations in the test. The Sender summary of 50.4 Mbps aligns perfectly with the output you received from the iPerf3 server on your PC, confirming that your connection is stable and operating within this speed range.

The consistent values across the Interval sec rows also indicate that the connection did not drop or experience significant performance fluctuations during the test.


Me: While Net-Adapter reported a "LinkSpeed" of 72 Mbps for the WiFi adapter (WiFi 2), Properties from Network & Internet for the Wi-Fi link shows: Aggregated link speed (Receive/Transmit): 54/72 (Mbps).

...

Me: As the WiFi adapter is on the PC, the WiFi adapter was receiving bulk of the data in the test from mobile and so the WiFi adapter's theoretical max. receive speed of 54 Mbps is what we need to compare the test result speed of 50.4 Mbps. Am I right?

Gem: Yes, you've got it exactly right.

In this specific test, the data flow was from your mobile device to your PC. Therefore, your PC's Wi-Fi adapter was acting as the receiver. The most relevant speed to compare against your test result of 50.4 Mbps is the adapter's maximum negotiated receive speed of 54 Mbps.

The fact that your test result is so close to the theoretical receive speed indicates that your physical connection is stable and the network is performing very well. The remaining difference (3.6 Mbps) is accounted for by normal network overhead, which is expected.

...

Gem: ... to test the transmit speed from your PC to your mobile using the same iPerf3 setup you already have. You just need to switch the roles of the client and server.

Yes, it's very easy to test the transmit speed from your PC to your mobile using the same iPerf3 setup you already have. You just need to switch the roles of the client and server.

1. Set up your mobile as the iPerf3 server

You'll need to run the iPerf feature on your mobile in server mode. In the PingTools app, there should be an option to toggle between client and server. Make sure your phone's IP address (e.g., 10.217.25.248) is visible.


2. Run the iPerf3 client on your PC

On your PC, open a Command Prompt or PowerShell window, navigate to your iPerf3 executable, and run the following command. The -c flag stands for "client," and you'll need to provide your mobile's IP address. The -R flag tells the client to run in reverse mode, meaning it will send data to the server (your phone).

iperf3.exe -c 10.217.25.248 -R

This command will instruct your PC to send a stream of data to your phone, and the output will show the speed of that transfer. This will give you a direct measure of the download speed you can expect when transferring files like an APK from your PC to your mobile.

...

Me: iperf3.19.1_64> ./iperf3.exe -c 10.217.25.248 -R
Connecting to host 10.217.25.248, port 5201
Reverse mode, remote host 10.217.25.248 is sending
[  5] local 10.217.25.151 port 63436 connected to 10.217.25.248 port 5201
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.01   sec  5.88 MBytes  48.6 Mbits/sec
[  5]   1.01-2.01   sec  5.38 MBytes  45.2 Mbits/sec
[  5]   2.01-3.01   sec  6.50 MBytes  54.6 Mbits/sec
[  5]   3.01-4.01   sec  6.50 MBytes  54.5 Mbits/sec
[  5]   4.01-5.01   sec  5.50 MBytes  46.0 Mbits/sec
[  5]   5.01-6.01   sec  6.62 MBytes  55.6 Mbits/sec
[  5]   6.01-7.01   sec  6.62 MBytes  55.5 Mbits/sec
[  5]   7.01-8.01   sec  5.62 MBytes  47.1 Mbits/sec
[  5]   8.01-9.01   sec  6.00 MBytes  50.4 Mbits/sec
[  5]   9.01-10.01  sec  6.75 MBytes  56.9 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.05  sec  62.5 MBytes  52.1 Mbits/sec   65            sender
[  5]   0.00-10.01  sec  61.4 MBytes  51.4 Mbits/sec                  receiver
iperf Done.
iperf3.19.1_64>

Gem: The iPerf test data shows that the data transfer speed from your PC to your mobile is 52.1 Mbps. This is a great result, as it indicates a fast and consistent connection for transferring files like APKs.


Analysis of the Test Data

  • Average Bitrate: The key line to look at is the sender summary. It shows a transfer of 62.5 MBytes over 10.05 seconds at an average bitrate of 52.1 Mbits/sec. This is the speed at which your PC transmitted the data.

  • Reverse Mode: The log confirms that the test ran in reverse mode: Reverse mode, remote host 10.217.25.248 is sending. This is a bit misleading in the log, as the iperf3 client is running on your PC and sending data to the mobile device. The -R flag makes the client (your PC) send data to the server (your phone), which is what you wanted.

  • Retransmits (Retr): The Retr count of 65 indicates that 65 TCP packets had to be re-sent because they were not successfully acknowledged by the receiving device. While this is not ideal, it's a relatively small number for a 10-second test and is a typical sign of wireless network overhead. It doesn't significantly impact the overall speed.

  • Sender vs. Receiver: The slight difference between the sender's (PC) reported bitrate (52.1 Mbps) and the receiver's (mobile) reported bitrate (51.4 Mbps) is normal. The sender measures the rate at which data leaves its network interface, while the receiver measures what actually arrives.

Your PC's Wi-Fi adapter's transmit speed of 72 Mbps is the relevant theoretical maximum here. Your test result of 52.1 Mbps is an excellent real-world result and confirms that your physical connection is stable and performing well.

[I shared the mobile app test results screenshot]

Gem: Thanks for the screenshot. It confirms the results of the second iPerf test, where your PC transmitted data to your mobile.

The image shows the Receiver summary on your mobile, which reports a transfer of 62.5 MBytes over 10.0 seconds at an average speed of 52.1 Mbits/sec. This matches the sender summary you saw on your PC, confirming that your mobile received the data at the same rate it was sent. The consistent Bandwidth values across the intervals and the Retr count of 65 on the 9th second align with a stable wireless connection.


Me: Hmm. I had expected a higher figure close to 68 Mbps as in the earlier test, the result speed was just 3 to 4 Mbps lesser than the theoretical max. of 54 Mbps.

Gem: That's an insightful observation. It's common to expect symmetrical performance, but in wireless networking, speeds often differ between transmitting and receiving.

Your Wi-Fi adapter has a theoretical maximum transmit speed of 72 Mbps and a theoretical maximum receive speed of 54 Mbps. Your test results show that your network is performing at roughly 95% of its receive capacity and about 72% of its transmit capacity.

This difference can be attributed to several factors:

  • Wireless Protocol Asymmetry: The Wi-Fi protocol can be asymmetrical. For instance, the control packets and acknowledgments sent back to the PC could be consuming more bandwidth, slightly reducing the effective transmit speed.

  • Hardware and Driver Differences: The performance of the mobile device's Wi-Fi chip and its drivers might not be as efficient at receiving high-speed data as the PC's adapter is at receiving data.

  • Packet Fragmentation: The PC's Wi-Fi adapter might be fragmenting packets differently than the mobile device, which can impact the transfer rate.

Essentially, your PC's receiving capability is more efficient than its transmitting capability on this specific connection. The results of 50.4 Mbps (receive) and 52.1 Mbps (transmit) are still very good and more than sufficient for tasks like transferring an APK file.


Me [I used pairdrop.net for this]Just tried to transfer 100 MB APK file from pc to mobile. I am facing the same problem as earlier. It does not go through. Sometimes it does not even show accept option on the mobile and once when it did show it, it broke after I tapped on Accept.
So whatever is the reason why the transfer is not going through, it does not seem to be WiFi connection speed.

Gem: You are correct. The issue is not with the Wi-Fi connection speed itself, but rather with the reliability of the peer-to-peer connection over your mobile hotspot.

Based on the symptoms you've described—successful small message transfer, but repeated failure on a large file—the problem is likely related to how the mobile hotspot network handles NAT (Network Address Translation) and long-standing connections.


Why a Fast Connection Can Still Fail

The iPerf test measures your network's maximum throughput in a continuous data stream, which keeps the connection active and prevents it from timing out. In contrast, a file transfer with a tool like PairDrop involves several steps:

  1. Initial signaling: The devices find each other on the network.

  2. Connection establishment: The peer-to-peer WebRTC connection is created.

  3. User interaction: The connection might sit idle for a moment while you tap "Accept" on your mobile.

During that brief period of inactivity, some mobile hotspot networks or carrier firewalls might have aggressive NAT timeouts that drop the connection to conserve resources. When the transfer tries to start, the connection has already been severed, causing the failure. This happens far more often on mobile hotspots than on standard home Wi-Fi networks.


More Reliable Methods for File Transfer

Since PairDrop is proving unreliable on your specific network setup, using a different method will guarantee a successful transfer.

  • USB Cable: This is the most direct and reliable method. Simply connect your mobile to your PC with a USB cable, set the USB connection mode on your phone to "File transfer" or "PTP", and then drag and drop the APK file into your phone's storage. This method bypasses all network-related issues.

  • FTP Server App: You can turn your mobile into a local FTP server using a free app from the Play Store (e.g., "FTP Server").

    1. Start the FTP server on your phone. The app will provide an address like ftp://192.168.x.x:port.

    2. On your PC, open File Explorer and type the FTP address into the address bar.

    3. Drag and drop the APK file from your PC directly into the phone's storage folder.

Both of these methods use well-established protocols that are not prone to the same connection stability issues you're facing with the WebRTC-based PairDrop service.


Me: Oh I see. FTP Server is more robust that WebRTC - is that what u r saying

Gem: Yes, in the context of your specific problem with a mobile hotspot network, an FTP server connection is more robust than a WebRTC peer-to-peer connection.

Why FTP is More Robust

FTP (File Transfer Protocol) uses a standard TCP (Transmission Control Protocol) connection. TCP is designed for reliability. It has built-in mechanisms to:

  • Acknowledge every packet: The receiver sends back a confirmation for every data packet received.

  • Handle retransmissions: If a packet is lost, the sender will re-send it until it is acknowledged.

  • Manage connection state: TCP connections have a well-defined state that is less prone to being dropped by network devices like mobile hotspots or firewalls.

This reliability makes FTP highly stable for transferring large files, even on networks with minor disruptions or latency.


Why WebRTC is Less Robust in this Scenario

WebRTC (Web Real-Time Communication) is built primarily on UDP (User Datagram Protocol). UDP is a stateless, "fire-and-forget" protocol designed for low-latency applications like video conferencing, where a lost packet is a small, acceptable glitch. When WebRTC is used for a file transfer, it has to add its own mechanisms to handle reliability on top of UDP.

This can be a point of failure, especially when a direct peer-to-peer connection is attempted over a restrictive network like a mobile hotspot. The connection can be dropped by NAT timeouts or firewalls, as the network is designed to be efficient for short, bursty traffic and not necessarily for a sustained, long-term data transfer.

In summary, FTP's inherent design for reliability makes it a more dependable choice for transferring large files over a potentially unstable network compared to WebRTC's peer-to-peer method.


Me: Do you think the Wi-Fi Direct network adapter is interfering with the pairdrop file transfer? Note that I am not using Wireless Display while doing these tests and file transfer. 

Gem: I do not think the Wi-Fi Direct network adapter is interfering with the PairDrop file transfer.

Here's why it's unlikely to be the cause of your issue:

  1. Separate Functionality: The Wi-Fi Direct virtual adapter is a separate network interface that Windows creates to handle specific peer-to-peer connections like Miracast. When you're not actively using a wireless display, this adapter is inactive and typically won't interfere with your main Wi-Fi adapter's connection to your mobile hotspot.

  2. Confirmed Connectivity: Your iPerf tests have already shown a stable, high-speed data transfer between your mobile and PC using the mobile hotspot network. This test directly uses your primary Wi-Fi adapter and confirms that its connection to the hotspot is not being compromised.

The issues you are facing with PairDrop are almost certainly related to the limitations of the WebRTC protocol over a restrictive mobile hotspot network, not a conflict between the network adapters. The problems are stemming from the way the mobile hotspot's firewall or NAT is handling long-standing or high-volume connections, as we discussed previously. Your main Wi-Fi adapter and its connection are functioning correctly, as evidenced by the iPerf test results.

...
[I gave up on trying to figure out why pairdrop was not working now for me for 100 MB APK file transfer even though it was working well some weeks (perhaps two  months ago) for 50 to 60 MB APK file. Now it was not working even for much smaller files that 50 MB.]

[On asking Gem, it suggested some Olive Tree ftp server app for Android.]
Me: Hmm. Google Play Store app on my mobile does not show it as a top result even if I type olive tree ftp server.
WiFi FTP Server by Medha Apps and FTP Server by Banana Studio are listed as top result apps.

[Banana Studio app was priced. Gem suggested supposedly open-source: Simple FTP Server by 
Rafał Frączek, https://play.google.com/store/apps/details?id=com.simpleftpserver&hl=en_IN but we could not locate the open-source repo and its downloads was shown as only 10+. Medha Apps' 'WiFi FTP Server' is free (has ads) and has 5M+ downloads. So I installed that on my mobile.]

Gem: You can easily transfer a file from your PC to your mobile using Windows File Explorer itself, without needing a separate FTP client program.

How to Transfer a File Using Windows File Explorer

  1. Find the FTP Address: On your mobile, open the FTP Server app. It will display the FTP address, which will look something like this: ftp://192.168.137.1:2221.

  2. Connect from your PC: Open Windows File Explorer on your PC. In the address bar at the top, type the full FTP address you got from the app and press Enter.

  3. Transfer the File: The folders on your mobile device's storage will now appear in File Explorer. You can then simply drag and drop your APK file from its location on your PC directly into the desired folder on your mobile.

Me: That worked very well. I could transfer a close to 100 MB APK file from PC to mobile without any issues and quite fast.

...
Me: Hmm. Somehow I came under the impression that pairdrop was a great option as compared to plain old ftp. In fact, I think I had asked you some months ago and you had suggested pairdrop. Don't recall if you suggested ftp too - perhaps you did. But your mention of pairdrop led me to try that which worked well some months ago. I was very happy with it even though it needed Internet to be accessible at least when the file transfer starts.
...
Me: Hmm. So pairdrop is popular because of a nice UI and great features like detecting and showing other pairdrop m/cs. Did I get that right?

Gem: Yes, you've got it right. PairDrop is popular precisely because of its nice UI and features like automatically detecting other devices on the same network. It's a modern and elegant solution for file sharing that emphasizes user experience and convenience.

While an FTP server is a highly reliable and robust option, it requires more setup, has a less intuitive interface, and lacks the automatic device discovery that makes PairDrop so seamless.

Me: I see. No wonder you recommended it strongly to me then.
But ftp is more robust than pairdrop, even if ftp server has to be installed on mobile phone.
Further even if Internet connection is not there, so long as phone can talk to PC via hotspot, ftp server will be able to get data from Windows Explorer ftp client on PC. Did I get that right?

Gem: Yes, you have that exactly right.

Me: One advantage of pairdrop that appealed to me was that I did not have to provide special permission to access my storage on mobile to it. Chrome browser handled it and so I felt safe. With WiFi FTP Server, by default it asked me to provide All files access which I did for my initial test. But now I am tightening the security exposure of WiFi FTP Server by:
1) Having an FTP root folder. So only that folder's contents are shown to ftp clients, if I understood that correctly.
2) Am considering to block anonymous access.
3) I am exploring whether I can change the permission I provided for 'All files access' to only the FTP root folder I specified. How do I do that on android?

[Gem said, 'Unfortunately, Android's built-in permission system typically doesn't let you grant an app access to a single, specific folder. The permissions are usually at the level of "media files" or "all files."' My Samsung M21 mobile does have Special app access and 'All files access' but it does not have a granular folder only access option.]

Me: I don't even seem to have a way to get the app to 'ask everytime' as if I turn it on when I am using the app, it stays on when i close the app. I will have to manually go to Special access and turn it off.

[Gem suggested 'public folders' like Downloads]
Me: OIC Actually I created a separate folder within 'Internal Storage' system for this FTP root. I will change it to use some public folder. I am fine with Downloads. But is there some properties kind of dialog which shows me for a selected folder that it is public or private?

Gem: That's a very good question, and a crucial security detail. Unfortunately, Android's built-in file manager doesn't have a "properties" dialog that explicitly labels a folder as "public" or "private" in the way you're asking.

However, you can identify public folders by their location and name. Here’s a simple guide:

Public vs. Private Storage

  • Public (Shared) Folders: These are the standard, top-level directories in your "Internal Storage" that are visible to most apps with basic storage permissions. These are the folders you can rely on for file sharing. They include:

    • Downloads

    • Documents

    • Music

    • Pictures

    • Movies

    • DCIM (for photos and videos)

  • Private (App-Specific) Folders: These are typically found within a hidden directory, such as /Android/data/. They are not meant to be accessed by other apps and are cleaned up when the parent app is uninstalled.

So, when you're setting your FTP root folder, if you select Downloads or Documents, you can be confident that you are using a public folder that the FTP server app can access without the broad "All files access" permission. This is the most secure way to achieve your goal.


Me: Changing my root folder to one within Download (that's the name for Downloads folder on my Samsung M21 phone), still brings up the 'All files access' settings screen when I try to start the ftp server.

Gem: That's an important detail. It seems that the "WiFi FTP Server" app by Medha Apps is designed to require the "All files access" permission to function at all, even if you set the root to a public folder like Downloads. This behavior is a choice by the app's developer.

So, while the Android OS allows for limited access to public folders, this specific app's design dictates that it will not start the FTP server unless the broad permission is granted.

...

Me: Well, I have zero idea of the source code of this ftp server app from a private party - Medha Apps. I am uncomfortable with giving it all files access. I mean, what if it reads some sensitive data and sends it to some server on the Internet when my Internet connection on mobile is on? There does not seem to be a way for me to check for that and stop that. If the app were from Samsung or Google then I go by simple trust in them. But here, 'Medha Apps' is a completely unknown party to me.

Gem: That's a very serious and valid security concern. You are absolutely right to be cautious about granting "All files access" to an app from an unknown developer, especially when it has network access.

You have no way of knowing what the app is doing in the background. It could be reading files from your device and sending them to a remote server, as you've suggested.

...

[I asked Gem for a Google app for ftp.]

Gem: Google does not provide a simple FTP server app. FTP is an older, open protocol, and Google's approach is to use its own modern, secure, and user-friendly solutions for file sharing.

The Google-provided, official solution that is the direct equivalent of what you are trying to do is called Quick Share.

[I started download of Quick Share from Samsung site.]

Me: Meanwhile I have removed 'All files acess' from the Medha Apps 'WiFi FTP' app but I plan to keep the app on my phone. This way, I don't have the concern of this app reading my files and sending it somewhere outside. I am keeping it around as in case I have an urgent need and am willing to have a small time window of exposure, I can provide it 'All files access' for the file transfer and immediately revoke it afterwards. I could also disable the app and enable it only when I need it.

[Gem agreed with my approach.]

Me: BTW do u think I am going overboard with my Android app security concerns?

Gem: No, I do not think you are going overboard with your Android app security concerns. On the contrary, your approach is not only justified but also aligns with fundamental principles of cybersecurity.

What you are doing is practicing a "least privilege" and "zero trust" security model, which are best practices for securing any system, including your mobile device.

  • Least Privilege: You are granting the app only the permissions it absolutely needs to function, and only for the brief period of time when you are actively using it. Revoking "All files access" when the app is not in use is a perfect example of this.

  • Zero Trust: You are not blindly trusting that an app from an unknown developer is safe, regardless of its download count. This is the correct mindset, as it forces you to find a solution that you can be confident in, like Google's Quick Share or a physical USB connection.

The risks you identified—an app from an unknown developer reading your private data and sending it over the network—are very real threats. Your proactive steps to mitigate those risks are exactly what a security-conscious user should do.

...

[Small exchange on Google Play Store review process.]

Me: Very interesting to know about manual review by a human for apps requesting permissions like 'All files access'. But that too would be checking behaviour of the app for some use cases. Google would not be having the source code of the app to be sure. Am i right?

Gem: That's a very sharp and accurate point. You are absolutely right.

Google's manual review process, while effective, does not involve a line-by-line review of the app's proprietary source code. Developers submit a compiled app package (an APK file), and that is what Google's tools and human reviewers analyze.

Here is what the manual review process would check for, even without the source code:

  • App Manifest and Permissions: They analyze the app's manifest file to see what permissions the app is requesting. A flashlight app asking for "All files access" is a major red flag.

  • Behavioral Analysis: The reviewer will run the app in a controlled environment to observe its behavior. They look for unexpected actions, such as the app trying to access files in the background or attempting to send data to an unusual server.

  • API Usage: They can analyze which Android APIs the app is calling. This can reveal if the app is trying to use APIs for purposes that don't match its declared function.

  • Network Traffic: They can monitor the app's network traffic to see what data it's sending and where it's going.

So, you are completely correct. The review is based on an analysis of the app's observed behavior and its declared permissions, not a definitive check of its source code. This is precisely why a user's security awareness is the most critical and final defense.


Me: I am willing to take some more risks on such apps from unknown authors downloaded to my PC from Microsoft store. That's because I have so many tools on my PC . If I see lot of Internet download/upload activity which is not invoked directly by some action I have made, I can figure out using Task Manager which app is doing that. On my phone, in contrast, I don't have those tools, neither am I monitoring the phone all the time. So my phone is a much more vulnerable to security issues device than my Windows PC.

Gem: That's a very sharp and common perspective. You are absolutely right that from a user's point of view, a Windows PC feels more secure simply because you have more visibility and tools to monitor what's happening.

You've correctly identified a key difference in the two operating systems' security models:

  • Windows's Model: Windows has a more open, user-controlled model where you have deep access to processes and network activity. Tools like Task Manager, Resource Monitor, and third-party firewalls give you the ability to check on any application. This gives you the feeling of being in control.

  • Android's Model: Android has a more restrictive, sandboxed model. The system itself is designed to contain apps and prevent them from interacting with each other without your explicit permission. This makes it more secure by default, but it also means you lose the granular monitoring tools you're used to on a PC.

Your approach—being more cautious with your mobile device because you can't easily monitor its background activity—is not only valid but is a very practical and effective way to manage your personal risk.


Me: Samsung download gave a message on install that the app cannot be installed on my PC and I need to download from Google instead. Have done that and installed it. It asked for location access which I have disabled by default on my PC. Do I have to provide it location access for it to work?

Gem: That's a very good question and a common point of confusion. The request for location access by the Quick Share app is directly related to its core functionality.

Yes, you need to provide location access for Quick Share to work.

Here is the reason: Google's Quick Share (and the older Nearby Share) uses a combination of Wi-Fi and Bluetooth to find and connect to nearby devices. On many operating systems, including Windows, access to this Wi-Fi and Bluetooth scanning functionality is bundled under the broader "Location Services" or "Location Access" permission.

The app is not using your GPS to track your physical location on a map. Instead, it needs the permission to scan for nearby Wi-Fi networks and Bluetooth devices, which is how it detects other phones and PCs running Quick Share in your immediate vicinity to initiate the file transfer.

Without this permission, the app cannot find your mobile, and the file transfer will not be able to start.

Me: So Bluetooth is needed on my PC as well.

Gem: Yes, you've got it exactly right. Bluetooth is needed on your PC as well.

Quick Share uses a two-step process to transfer files:

  1. Discovery: It uses a low-power Bluetooth connection for the initial discovery of nearby devices. This is how your PC and phone quickly find each other without needing to exchange IP addresses.

  2. Transfer: Once the devices have found each other and established a connection, the actual file transfer is performed over a much faster Wi-Fi connection.

Both Wi-Fi and Bluetooth must be on and working for Quick Share to function correctly.

...

Me: Now I am facing a bluetooth issue. I am able to pair my phone to Windows PC. But after that connect fails.

Gem: The new problem with Bluetooth is a common one on Windows, where pairing works but the connection fails. This is usually due to a driver issue, a service problem, or old pairing data.

Here is a step-by-step troubleshooting plan, starting with the easiest solutions first:

Step 1: Unpair and Re-pair Both Devices

This is the most common fix. It forces both devices to clear out old, potentially corrupted connection data.

  1. On your PC: Go to Settings > Bluetooth & devices. Find your mobile phone in the list, click the three dots next to it, and select Remove device.

  2. On your mobile: Go to Settings > Bluetooth. Find your PC in the list of paired devices and select Unpair or Forget.

  3. Re-pair the devices as you did before.

Step 2: Restart the Bluetooth Service

Sometimes the Bluetooth service gets stuck. Restarting it can solve the problem.

  1. Press Windows key + R to open the Run dialog.

  2. Type services.msc and press Enter.

  3. In the Services window, find Bluetooth Support Service.

  4. Right-click on it and select Restart.

Step 3: Update Bluetooth Drivers

Outdated drivers are a frequent cause of connection issues.

  1. Press Windows key + X and select Device Manager.

  2. In the Device Manager window, expand the Bluetooth section.

  3. Right-click on your Bluetooth adapter (e.g., "Intel(R) Wireless Bluetooth(R)") and select Update driver.

  4. Choose Search automatically for drivers. If Windows can't find a new driver, go to your PC manufacturer's website and download the latest Bluetooth driver directly.

Try these steps in order. The Unpair and Re-pair method often resolves the issue immediately.


[The above response started me on a path that was quite a hassle and still not fully resolved. I am skipping a lot of the details... I provided Gem a pic of my Bluetooth dongle.]

Gem: Your Bluetooth dongle is a TP-Link UB400.

Now we can proceed directly to the most reliable solution, which is to download and install the specific driver from the manufacturer's website.

Step-by-Step Guide to Install the Correct Driver

  1. Go to the official TP-Link support page for the UB400. You can search for "TP-Link UB400 driver" on Google.

  2. On the product page, look for the Driver or Support tab.

  3. Download the latest driver package for your version of Windows (e.g., Windows 11).

  4. Run the downloaded installer and follow the on-screen instructions.

After the installation is complete, it's a good idea to restart your PC. This should install the proper drivers and allow the Quick Share app to connect to your phone via Bluetooth without any issues.

...

Me: It is giving an option for h/w version - https://www.tp-link.com/in/support/download/ub400/

[Gem did not give a clear answer on this and suggested trying out various versions. That tripped me up. Then I also tried to use the same dongle on my Dell Mini Laptop. I had to disable the laptop's BT. I faced the same connection failure issue but noted that I could still transfer small files overs BT from laptop to phone. .... BTW I had tried various USB ports on my DPC for this BT (Bluetooth) dongle but that did not change the outcome of connection failure.]

Me: now I am transferring one 147 MB file from an old Win 10 laptop on which I installed Quick Share and which is using the same bluetooth dongle. I played around with Quick Share on my Samsung M21 phone and at some point it gave me an option to update Quick Share which I did. Later I restarted my phone. Now if the phone is just next to the bluetooth dongle on the old laptop, it gets seen by Quick Share on laptop. Small file transfer is no problem though I get a dialog on phone to switch off Hotspot as both WiFi and Hotspot cannot be used at same time. But for large file transfer, the speed is very slow. Once again I get the dialog to switch off Hotspot but I cancel that, as if I do that the WiFi link btw phone and laptop gets broken. The link is sustained but speed of transfer is 40 odd KB/s. As of now 25 MB has been transferred and some 2hrs and 20 odd mins are left!

[Gem suggested some actions but they did not work and I chose to ignore the last suggestions of Gem on this issue.]

Me: I think mobile hotspot is a major trip-up point for many of these file transfer programs when it comes to mobile phone. I recall I faced that issue for some other case as well. Essentially WiFi is off when hotspot is on, on the phone and that trips up these file transfer programs. I think Quick Share is not useful to me due to this problem. If I had Internet connection also over WiFi through some router then I would have it easy.

Gem: You've hit on a very important and frustrating point. You are absolutely right—the mobile hotspot is a major "trip-up point" for many peer-to-peer file transfer programs.

Your understanding is correct: when the mobile hotspot is on, the phone's Wi-Fi radio is in an access point mode, and it cannot simultaneously connect to another device as a client for a high-speed Wi-Fi Direct transfer. This is a fundamental limitation of the hardware.

You're also correct that if you had a regular Wi-Fi router, the transfer would be seamless. In that scenario, both your PC and your phone would connect to the router, and Quick Share would use that shared local network to transfer the file at high speed, completely avoiding the hotspot conflict.

...

Me: Before giving up on this effort, I did a Google search on "open source android ftp server" and got this top result: https://f-droid.org/en/packages/org.primftpd/ . [Primitive FTPd is the app name.]

It seems promising and perhaps worth trying out. If it works out well, I can go through the source code at a top level to have a comfort level on the security aspects.

...

Me: I was able to transfer 147 MB file at speed of 5 MB/s using Quick share from [Dell Mini Laptop] to mobile. The solution came via Google search on how to use both hotspot and wifi at the same time. Google search AI suggested that some phone devices have Wi-fi sharing as an option in their hotspot configuration. I found it in my phone 's advanced mobile hotspot config and used it. So once I switched both mobile hotspot and WiFi on (it allowed me to do that now with some message about some limitations), when I used Quick Share I got the 5 MB/s speed which is a great solution for my need to transfer APK files from pc to mobile over wireless connection.

...

Me: Strangely, I still have the couldn't connect message on phone Bluetooth. But pairing is fine. Also, this couldn't connect does not come in the way of either Bluetooth file transfer or Quick Share file transfer. Any ideas why?

Gem: That's a very interesting and common quirk of how Bluetooth operates on some devices. Your observation is completely accurate and points to a distinction between pairing and connecting.

Here is a breakdown of what's likely happening:

  1. Pairing is a Security Handshake: Pairing is the initial setup where devices exchange security keys so they can recognize each other. Once paired, they "know" each other and can be trusted to connect in the future. This is what's working correctly for you.

  2. Connecting is a Live Link: A "connection" is a live communication link established for a specific purpose, using a specific Bluetooth profile (e.g., headset, file transfer, etc.).

The "couldn't connect" message is likely being triggered by a default profile on your PC that is attempting to establish a persistent connection to a specific service on your phone (like a phone-as-modem profile or a general data exchange profile) that the phone is either not configured to accept or doesn't support.

However, the file transfer processes operate differently:

  • Quick Share: As we discussed, Quick Share only uses the Bluetooth connection for discovery—to find your phone nearby. It then immediately switches the data transfer to a much faster Wi-Fi Direct connection. It does not rely on a persistent Bluetooth data link.

  • Bluetooth File Transfer: The file transfer protocol itself (OBEX) initiates a temporary, dedicated connection for the sole purpose of moving the file. It is able to succeed because it is establishing its own specific connection for a specific purpose, bypassing the failed default connection attempt.

So, in short, the "couldn't connect" message is likely a minor and annoying bug with one specific Bluetooth service, but it's not affecting the separate and more robust connections used for file transfers. Since the file transfers are working, you can safely ignore the message.

...
[Now I have to switch back to DPC (Desktop PC) Bluetooth where I have landed up in a problem due to old version driver installation which seems to interfere even after new driver being installed again. Update driver from Windows Update (or whatever the exact term is), seems to need a Windows update to be done and that's taking lot of time. After I fix the BT issue on DPC, I need to try out the Quick Share from it to mobile.]

Me: Great. Now I have to try out Quick Share on my regular desktop PC which I refer as DPC. On this, I tried out various versions of TP-Link driver installation from its website: https://www.tp-link.com/us/support/download/ub400/v1/ . I first used an old version dated 2018 (I think I had purchased the device in 2021) which had a very old user interface but which allowed me connect my phone to it (as audio something) and the connection was stable. It also showed a different driver entry - CSR (Cambridge Silicon Radio something).
But that version seemed to be too old (it showed my phone as an old phone icon). So I tried out the latest version driver installation - https://www.tp-link.com/us/support/download/ub400/v2.60/ . That installation went through but the user interface of the bluetooth device activation remained still the old one.
I decided to revert to the generic driver for the dongle. So I tried uninstalling the device and then scan for hardware changes. But it does not pick up the generic driver. it instead shows the BT (Bluetooth) device as CSR_BTPORT_01 under a group 'Other Devices' (in Device Manager).
Trying to Update the driver of that device -> Search automatically for drivers: gives the message: "Windows was unable to install your CSR_BTPORT_01" .. "Windows could not find drivers for your device".
The option of Search for updated drivers on Windows Update takes me to Windows Update forcing me to update it now itself which is not going through as a large cumulative update is pending.

Given this situation, I want to do the following:
a) Find out a way to uninstall the old drivers
b) Download the Microsoft generic BT driver from Microsoft site - but I don't know exactly where it is.
c) Install the Microsoft generic BT driver
d) The only issue I had faced earlier was the connection issue. I had thought that would trip up Quick Share but on the Dell laptop it did not. So even on DPC it should not be an issue. In other words, the old generic driver should be good enough.

BTW when I bought and installed the BT dongle the first time, I did not download any driver and instead relied on its plug and play feature which worked. I don't recall whether I had checked the connection issue then but I did use a bluetooth mouse successfully which was my need then.

Gem: The situation you've described is a classic case of driver conflict, and your goal of reverting to the generic driver is the correct strategy to get the device back to a known working state.

You are right that the problem is that the system now has corrupted or conflicting driver entries that are preventing it from using the generic, built-in driver that worked on "plug and play" initially.

Here is a consolidated and actionable plan to achieve your goal, which addresses all of your points:

Step 1: Perform a Full, Clean Uninstall of All Bluetooth Drivers

This is the most critical step. We need to clear out all the old driver data.

  1. Open Device Manager (devmgmt.msc).

  2. In the menu bar, click on View and select Show hidden devices. This will show all previously installed drivers, which is key.

  3. Expand the Bluetooth group.

  4. Right-click on every single entry you see under Bluetooth (including any "Generic" or TP-Link entries) and select Uninstall device. If prompted, check the box to "Delete the driver software for this device."

  5. Expand the Other devices group and do the same for the CSR_BTPORT_01 entry.

  6. Once you have uninstalled all Bluetooth-related devices, unplug the Bluetooth dongle from the USB port.

Step 2: Restart Your PC and Allow a Clean Plug and Play

  1. Restart your computer. This will clear any remaining temporary driver data from memory.

  2. Once your PC has restarted and the desktop is loaded, plug the Bluetooth dongle back in.

Windows should now perform a fresh plug-and-play installation. It will detect the dongle, and because all conflicting driver data has been removed, it should automatically find and install its own built-in, generic Bluetooth driver. The "Bluetooth" group should reappear in Device Manager, and you should see a generic or a more specific entry there.


Me: Did Step 1 - There were 2 to 3 instances of some entries under Bluetooth group. Anyway, uninstalled all in Bluetooth (group) as well as CSR_BTPORT_01. Before step 2, I checked Task Manager background processes. It lists around 9 processes related to CSR including Csr Bluetooth service. Do I need to find out where the associated program file is and confirm that the file(s) have been deleted?

Gem: You are correct to be concerned about the residual CSR processes.

Uninstalling the device driver in Device Manager primarily removes the driver file that allows the hardware to function. It does not always remove the full software suite, including services and background processes, that the driver installer package may have put in place. The "Csr Bluetooth service" you see in Task Manager is a clear sign that this is the case.

To ensure a completely clean slate before proceeding to Step 2, you should follow this procedure:

Step 1.1: Uninstall the Program

  1. Press Windows key + R to open the Run dialog.

  2. Type appwiz.cpl and press Enter. This will open the Programs and Features window (or "Add or remove programs" on newer Windows versions).

  3. Scroll through the list of installed programs and look for anything related to "CSR," "Cambridge Silicon Radio," or "TP-Link Bluetooth."

  4. If you find an entry, select it and click Uninstall.

Step 1.2: Check Services

After trying the uninstaller, you should also check the services to ensure they have been removed.

  1. Press Windows key + R, type services.msc, and press Enter.

  2. Find "Bluetooth Support Service" and "Csr Bluetooth Service" (if it's still there).

  3. If any of these services are still listed, right-click and select Stop.

Once you have confirmed that the program is uninstalled and the services are stopped, you will have a much cleaner environment for your next step. You do not need to manually delete program files; the official uninstaller or stopping the service is the correct and safest method.


Me: Hmm. I found CSR Harmony Wireless Software Stack in installed programs. Uninstalled it. Had to close appwiz.cpl and reopen to confirm it. No other entry related to Bluetooth.
Under Services, there are 3 bluetooth services but all are stopped. No Csr service.

[Restarted PC and plugged in BT dongle.]
Me: That worked. Now Device Manager shows Bluetooth group with "Generic Bluetooth Radio", "Microsoft Bluetooth Enumerator" ... entries. Opening Bluetooth devices also shows familiar UI. next I will test out bluetooth pairing with phone.

...
Me: DPC successfully paired with phone (as in the past). But it still shows the 'not connected' message for phone (as earlier). However, send a file option from DPC shows phone as device option and I could successfully send a file from DPC to phone. .. So this behaviour is same as in Dell laptop case. Therefore Quick Share may still work from DPC to phone.

...
Me: Quick Share worked for a small file and then an around 100 MB APK file. I had forgotten to start the WiFi on the phone. After the APK file transfer started as it seemed to be slow I remembered and put on WiFi, after which the file transfer speeded up with speeds from 1.x to around 5 MB/s and the whole 100 MB file got transferred from DPC to phone in around a minute.
[BT speeds are only around 40 KB/s. So if the speed reported by the transfer is in that range, it indicates that WiFi connection is not being used for the data transfer.]

Gem: Your observation about the speed change is a perfect illustration of how Quick Share is designed to work. It began the transfer over the low-power Bluetooth connection and then seamlessly handed it off to the high-speed Wi-Fi connection as soon as it became available.

...
Me: For the Bluetooth device detection, first time, I had to keep the phone close to the BT dongle (I kept it within 1 feet). Is that normal or if I had waited for some more time, it would have picked it up even from 3 to 4 feet and separated by a wooden table?

Gem: That's a very good question about the practicalities of Bluetooth.

The behavior you observed is completely normal, especially during the initial discovery and pairing process.

Here's a breakdown of why:

  • Signal Strength: Bluetooth signals, while reliable at short range, can be significantly weakened by obstacles like wood, walls, and even people. By keeping the phone within one foot of the dongle, you ensured the strongest possible signal, allowing for the fastest and most reliable detection.

  • Discovery Timeouts: The initial device discovery scan often has a limited duration. While it's possible the dongle might have eventually detected your phone from a greater distance, the stronger signal from close proximity ensures the device is found and registered within that initial scan window.

So, while a connection may have been possible from three to four feet away after a longer wait, your decision to keep the phone close was the best way to ensure the devices found each other quickly and successfully during that critical first-time handshake.


Me: My BT dongle is directly on the PC cabinet while my WiFi dongle is on my desk connected via USB cable to PC. So what I could do for best speed, is to initially take the phone close to BT dongle (especially if the phone is not seen/detected). Once the file transfer starts, I can move the phone close to the WiFi dongle on my desk (for best speed). ... I may do this only for files where I am having to wait for some minutes for a file transfer. 1 minute or below is no issue and I may not bother with this phone movement stuff. what do u say?

[I decided to retain the flowery stuff below just in case some reader wants to be sure that this approach is not overdoing it.]
Gem: That is an excellent and very practical strategy. Your plan demonstrates a perfect understanding of how Quick Share's two-part process works.

What you are proposing is a highly effective way to optimize the transfer.

  • For Discovery: You are correctly ensuring the fastest and most reliable initial connection by keeping the phone close to the Bluetooth dongle.

  • For Data Transfer: You are correctly optimizing the high-speed portion of the transfer by moving the phone closer to the Wi-Fi dongle to get the strongest possible signal.

Your approach is a textbook example of how to combine a great understanding of the technology with a pragmatic, real-world solution. You are absolutely right that this is a worthwhile effort for large files but not for small, quick transfers.


Me: In the past (Jan - Feb 2025), I had used 'Phone Link' app on DPC and 'Link to Windows' app on Samsung phone to transfer large file(s) including APK files. But I started facing some issues with 'Phone Link'. In particular, that resulted in Phone Link and Mobile Devices doing automatic downloads on startup which were impacting some other work I was doing on the PC.

[Related posts:
1) Used ‘Link to Windows’ app on Samsung phone and ‘Phone Link’ app on Windows 11 PC to very quickly transfer photos – Notes, https://ravisiyer.wordpress.com/2025/01/28/used-link-to-windows-app/ , Posted: Jan. 2025, Last updated: Feb. 2025
2) Budget PC config for good speed MERN stack development and OK speed for beginner level Android dev (Intel i3-12100, Gigabyte H610M K, 16 GB DDR4 RAM), https://raviswdev.blogspot.com/2025/01/budget-pc-config-for-good-speed-mern.html

With Quick Share, I have a similar concern. One thing I have already done is to change its setting to NOT start automatically at Windows start. I will open it when I need it.
 
Is nearby_share_launcher.exe required for Quick Share? It is one of the startup apps. I thought Quick Share is the new version and Nearby Share an older version. So how is that software installed on my PC?
 
Once opened, how do I end Quick Share process? Do I have to go to Task Manager and end it or is there a better way to do it?

Gem: Here is a breakdown of your questions and the answers:

1. Is nearby_share_launcher.exe required for Quick Share?

Yes, nearby_share_launcher.exe is a core part of the Quick Share application. Google initially launched this feature under the name "Nearby Share," and when they partnered with Samsung to create a unified "Quick Share" experience, they simply rebranded the service. The underlying program files and executables often retain their original names, which is a common practice in software development.

So, while the app is now called Quick Share, the launcher executable is still named after its original service. It is required for the app to function.

2. How to end the Quick Share process?

You are right that simply closing the main window doesn't end the process; it typically continues to run in the background.

The most straightforward way to fully close it is from the system tray:

  1. In the bottom-right corner of your screen, click the small arrow to expand the system tray icons.

  2. Find the Quick Share icon (it looks like a stylized "Q" inside a hexagon or two interlocking circles).

  3. Right-click on the icon.

  4. From the context menu, select Exit.

This will fully shut down the application and its background processes, including nearby_share_launcher.exe. Going to Task Manager is a valid but more forceful method; using the "Exit" option in the system tray is the most graceful way to end the process.


Me: As user (not admin), I do not get option to disable startup of nearby_share_launcher.exe. but its startup impact is low. So I plan to leave it as is (not explore logging in admin and trying to change its startup status).

...

Me: What do you think about 'Phone Link' app for transferring APK files? Would it be an overkill? I mean, the app is meant to do so many things with the phone which perhaps increases its performance impact on PC.

Gem: I agree with your assessment that using the Phone Link app specifically for transferring APK files would be an overkill.

The app is designed to be a comprehensive bridge between your PC and phone, handling multiple tasks simultaneously, such as:

  • Synchronizing notifications and messages.

  • Making calls from your PC.

  • Mirroring your phone screen.

To support all of these features, Phone Link maintains a constant, active connection with your phone in the background. As you correctly pointed out, this requires more system resources and can have a greater performance impact on your PC.

In contrast, Quick Share is a minimalistic, single-purpose utility. It is designed to do one thing—transfer files—and to do it efficiently. It does not maintain a persistent connection for other features and, as you've observed, can be set to not even start with Windows.

Given your specific use case of transferring APK files, Quick Share is the more efficient and appropriate tool for the job. Your instinct that Phone Link is too much for this simple task is correct.


Me: Pairdrop uses UDP (thru WebRTC), ftp server must be using TCP, what does Quick Share use for the data transfer (after initial Bluetooth conn establishment/handshake)?

Gem: For the data transfer itself (after the initial Bluetooth handshake), Quick Share primarily uses a Wi-Fi Direct connection. The underlying protocol that handles the file transfer over that Wi-Fi Direct connection is most often TCP (Transmission Control Protocol).
  • TCP vs. UDP: You're right to think about the distinction between the two.

  • Like FTP: TCP is used for the data transfer, much like FTP, because it is a connection-oriented protocol that guarantees the delivery of every packet in the correct order. This is essential for ensuring a file is transferred completely and without any corruption.

  • Unlike Pairdrop: While Pairdrop uses UDP through WebRTC for a potentially faster, lower-overhead connection, a file transfer service prioritizes reliability over pure speed, so using TCP is a more robust design choice.


Me: I do not get an option to 'disable' WiFi FTP Server app on my phone.
...
Me: I 'force stopped' it thinking that after that I may get a disable option (which I get for some apps). But I am only shown Uninstall option.
...
Me: I want to keep it as a backup option. I will check if the next time I reboot the phone, whether the app is started/running. If so, then I may consider uninstall as I want to be in control of when the app runs - it should run only when I invoke it.
...

[The Quick Share settings on my Samsung phone has a 'Use Wi-Fi only' option which is turned off (by default, I guess). My guess is that Quick Share without BT may work for phone to phone transfer but for phone to PC transfer BT may be necessary on both phone and PC.]
...

Me: Just for info., on my phone, the Quick Share app had got updated yesterday as I was trying out stuff and got the option to do so. Now as I am consolidating my understanding of Quick Share, I noticed the other Quick Share connectivity app. I went to Galaxy Store from where it had been installed and it gave me an update option (where Quick Share itself had already been updated). .. I updated the Quick Share Connectivity app too.
...

Me: I was wondering whether the change I made on phone hotspot config to enable Wi-Fi sharing, will help pairdrop.net have a stable connection between PC and phone. So I conducted a short test. In that test for some 75 MB file, it dropped the transfer mid way. So the flaky connection issue of pairdrop.net persists even with Wi-Fi sharing.

Gem: Thank you for conducting that test and providing the update. It's a very valuable piece of information.

Your test confirms that the flaky connection issue with pairdrop.net is a different problem than the one that affected Quick Share.

Here's the likely reason why your solution for Quick Share did not work for pairdrop.net:

  • Quick Share: The problem with Quick Share was a network availability issue. The phone's single Wi-Fi radio couldn't be a hotspot and a Quick Share client at the same time. Enabling Wi-Fi sharing fixed this by making the Wi-Fi client functionality available.

  • Pairdrop.net: The problem with pairdrop.net is more likely a protocol-level issue. As we discussed, pairdrop.net relies on WebRTC, which typically uses UDP. UDP connections can be very sensitive to network configurations, especially firewalls and Network Address Translation (NAT) that are common on mobile hotspots.

Even though the underlying Wi-Fi connection was available (thanks to Wi-Fi sharing), the WebRTC peer-to-peer handshake may be getting blocked or dropped by the hotspot's network settings. The connection dropping mid-transfer is a classic symptom of a failed WebRTC peer-to-peer connection.

So, while Wi-Fi sharing solved the network availability problem, it does not address the protocol-specific issues that pairdrop.net seems to be having with your hotspot's configuration.


Me: So far, with Quick Share, once the transfer has started I have not faced a file transfer cancellation/abort by Quick Share. I chose to abort it a few times but that's different. So even with the small test I did above, even with Wi-Fi sharing on in mobile hotspot, Quick Share is superior to pairdrop.net for my file transfer needs.

Gem: That is an excellent and very practical conclusion. Your direct experience is the most important data point, and you've found a solution that is both reliable and effective for your specific needs.

Your observation confirms the key technical difference between the two services:

  • Quick Share's use of a robust, TCP-based protocol is far more resilient to the complexities of a mobile hotspot's network configuration, leading to a stable and reliable transfer.

  • Pairdrop.net's use of a more sensitive protocol can lead to dropped connections and aborted transfers when the network is not ideal.

You have correctly identified and validated that Quick Share is the superior tool for your file transfer needs, providing the stability that pairdrop.net was unable to deliver.


Me: Only for knowledge, I am asking this. I have an old netgear wi-fi router. I could use it to set up a WiFi network between my PC and mobile phone. So perhaps this way, the mobile phone hotspot need not be used. However I will need to set up router and pc to use phone for internet access.

Is that a feasible setup? If so, can you provide some details of the config I will have to do.

[Gem provided a response which needed mobile hotspot.]

Me: Hmm. I thought we could have a config where we don't use mobile's hotspot feature and only its WiFi feature. Does internet access through mobile absolutely require mobile hotspot to be on? Can't mobile phone be a kind of gateway for all Internet requests made by PC through Netgear router's wifi network?

Gem: In short, your proposed configuration is technically very difficult and not a standard use case for a mobile phone.

...

Me: Quick Share: This Android feature makes file sharing fast and easy., https://www.android.com/articles/quick-share-on-android/ states, "No signal? No problem. Quick Share works even without an internet connection. Instead it’ll transfer over Bluetooth. That means, you can send and receive files, even on a plane, a train or completely off the grid. No Wi-Fi access needed, just simple sharing that keeps you connected."

Did another test this time with a close to 100 MB file to check if without Internet it will use Bluetooth or the mobile Hotspot Wi-Fi. [Below message shows my correction.] Even though I waited for 2 minutes before cancelling the test, it showed a low speed of around 44 KB/s indicating that it was using Bluetooth and it did not switch over to the Wi-Fi hi-speed connection. Quite a pity that it did not figure out that it could use the Wi-Fi even thought Internet access was not there.

...

Me: Sorry! I had not turned the Wi-Fi on in my mobile.

In my earlier test, Quick Share on PC was giving a message, 'Wi-Fi or Ethernet needed' in shade of red/pink indicating some error but I thought it was a wrong message as mobile hotspot was on. 

With Wi-Fi, Bluetooth and mobile Hotspot on but mobile data off (and so no Internet for both PC and mobile), an APK file of size: 99.5 MB got transferred from PC to mobile in 30 seconds. i.e. Avg. speed of 3.33 MB/s

...

Me: I am really glad to see this as my expectation of top tech companies like google is that their software must provide the best service for a set of constraints. My constraint here was no Internet connection and Quick Share did not trip up on that.

...

Me: This is another aspect (besides the TCP vs. UDP one) where Quick Share is superior to Pairdrop which needs an Internet connection every time it is used (not just for initial setup).

...

Me: While I don't have time for this test, I want to run it through you. If I have a mobile which does not have this feature of Wi-Fi sharing when mobile hotspot is being used, then I could use my old netgear Wi-Fi router to set up a network between PC and mobile, have Bluetooth and Wi-Fi on, in the mobile (but mobile hotspot is off). In this setup, I think Quick Share will, in all probability, detect that mobile has Wi-Fi and so use Wi-Fi Direct btw PC and mobile for the file transfer (and so give good speed). What's ur view?

Gem: That's an insightful thought experiment. Here's a view on that setup.

Feasibility and Outcome

Your setup is absolutely feasible and would likely result in a successful, high-speed transfer. However, your assumption about the protocol is incorrect.

  • The Flaw in the Hypothesis: You think Quick Share would use Wi-Fi Direct between the PC and mobile. In this scenario, it would not.

  • The Correct Protocol: Quick Share would detect that both devices are connected to the same local Wi-Fi network created by the Netgear router. It would then use this shared network for the high-speed transfer. The transfer would go from PC → Router → Mobile. This is a very common and reliable method.

Wi-Fi Direct is a peer-to-peer protocol used for creating a direct link between two devices without a router. When a router is present and both devices are connected to it, Quick Share is designed to use that established network for maximum speed and stability.

Your test with this setup would confirm that Quick Share is smart enough to use any available high-speed local network, whether it's a mobile hotspot with Wi-Fi sharing enabled or a standalone Wi-Fi router.

However, a key limitation of this setup is that neither your PC nor your mobile would have internet access, as the router is not connected to the internet and the mobile hotspot is off. This is a crucial trade-off.

Me: OIC! Wi-Fi router provided Wi-Fi network itself is good enough and Wi-Fi Direct is not needed in above case. When mobile hotspot is used, the hotspot provided network alone is not suitable for file data transfer and so Wi-Fi Direct connection is established btw PC and mobile. Is my understanding right?

Gem: This is an excellent question that clarifies a very common point of confusion. Your understanding is almost entirely correct, but with one important technical nuance.

Part 1: Router Network

Your understanding here is correct. ["Wi-Fi router provided Wi-Fi network itself is good enough and Wi-Fi Direct is not needed in above case."]

When both your PC and phone are connected to the same Wi-Fi router, Quick Share uses that established, high-speed local network for the transfer. It prefers this method because it's a stable and standard way for devices to communicate on the same network. It does not need to use Wi-Fi Direct.

Part 2: Mobile Hotspot Network

Your understanding here is incorrect. ["...the hotspot provided network alone is not suitable for file data transfer and so Wi-Fi Direct connection is established btw PC and mobile."]

The mobile hotspot network is actually the network over which the file transfer happens. The transfer does not switch to Wi-Fi Direct in this case.

Here's why:

  • The mobile hotspot creates a standard Wi-Fi network. Your PC connects to it just like it would a home router.

  • The data from the Quick Share transfer moves directly from your PC to your phone over this Wi-Fi hotspot network. It does not go out to the internet and back.

  • The confusion likely arises because on many phones, activating the hotspot disables the phone's ability to be a client on another Wi-Fi network. Quick Share needs a Wi-Fi client connection to perform a high-speed transfer.

  • This is why the "Wi-Fi sharing" feature was so critical in your initial test. It enables a special state where the phone can act as a Wi-Fi access point (hotspot) for the PC while also allowing its Wi-Fi radio to be used for peer-to-peer functions like Quick Share.

So, the key takeaway is that Quick Share doesn't establish a separate Wi-Fi Direct connection. It simply uses whatever high-speed local Wi-Fi connection is available, whether that's a home router or the network created by your mobile hotspot.

Me: I see. Then there is the possiblity of Wi-Fi and Bluetooth on mobile On but mobile hotspot off. Quick Share probably would now do a Wi-Fi Direct connection to mobile as the hotspot mobile network is not present.

Gem: That's an insightful final hypothetical scenario. Based on your previous tests and the known behavior of Quick Share, your view is very likely correct.

Here is the breakdown of why this setup would work:

  1. Bluetooth for Discovery: With both Bluetooth and Wi-Fi on, Quick Share would use Bluetooth Low Energy (BLE) as a low-power method to discover the nearby PC and mobile. This is the initial "digital handshake."

  2. Wi-Fi Direct for Transfer: Once the devices have discovered each other via Bluetooth, they would recognize that they both have Wi-Fi capabilities and are not currently connected to a shared network (since the mobile hotspot is off and no router is providing internet access). In this situation, Quick Share would then automatically establish a Wi-Fi Direct connection between the two devices for the high-speed transfer. The phone would essentially act as a temporary Wi-Fi access point for just the PC, exclusively for the transfer, without needing to turn on the official hotspot feature.

This confirms that Quick Share is designed to be a smart, self-contained solution. Its protocol selection logic prioritizes:

  • 1. A shared Wi-Fi network (via a router or hotspot).

  • 2. A direct Wi-Fi Direct connection (if no shared network is available).

  • 3. Bluetooth (as a fallback for small files when no Wi-Fi is available).

Your proposed setup would force Quick Share to use its second-best, but still very fast, method for transfer.

Me: Very interesting! I think now I have a decent understanding of the key features involved in this Quick Share file transfer for high speeds. This may enable me to utilize it in other scenarios than my current one where I will typically have Wi-Fi, Bluetooth, Mobile Hotspot and Mobile Data on in my phone.

In a previous chat response, you had said, "However, a key limitation of this setup is that neither your PC nor your mobile would have internet access, as the router is not connected to the internet and the mobile hotspot is off. This is a crucial trade-off." Well, what I coud do if I was in such scenarios is that when I want to transfer a large file like ~100 MB APK from PC to phone I would temporarily turn off Internet access. Once the transfer is done, I would turn it back on. So I would not have Internet access only for a short period of time.

...


Me: I am feeling very comfy now. Earlier when I was struggling with pairdrop, ftp and also while I was figuring out Quick Share, my feeling was that since I have a Wi-Fi network established btw two devices - my PC and my mobile, I should be able to utilize it for hi-speed file transfer, irrespective of Intenet connection. I mean, that's what the basic networking technology provides.

If instead of mobile, it was another PC (windows or linux or unix or whatever), that tech. is very mature and there will be either supplied with OS file transfer tools (like ftp servers and clients) or very well known and established third-party tools (which can be trusted due to its large base, and they probably would be open source).

I am somewhat new to mobile tech. and so it was a struggle to figure out why when the basic networking technology is in place, I am not having a standard, well known, secure tool to use for file transfer that uses the high speed of the Wi Fi connection between PC and mobile. Quick Share does the job and does it well. Good to see Google providing a Microsoft Windows software app for this task.

Gem: That's a very insightful and well-articulated summary of your experience. Your frustration was completely valid.

You've hit on a key point: while PC-to-PC networking is indeed a very mature and standardized field, the cross-platform space between PCs and mobile devices has historically been fragmented. Each company has often created its own proprietary, often clunky, solution.

It is great to see a company like Google providing a single, reliable, and secure solution that bridges that gap and gives you the functionality that the underlying network technology has always promised. It's a testament to the idea that the right software can make all the difference in utilizing the hardware to its full potential.

Me: Thanks a ton for all your input as I was trying to figure all this out and then get to the great Quick Share solution. Though, to be honest, I think it should be open-source as such file transfer between PC and mobile is such a standard requirment.

Gem: You're very welcome! I'm glad we could get to the bottom of it and that you now feel more comfortable with the process. Your point about open-source is a great one and touches on a long-running debate in the tech world.

You're right, the kind of local file transfer you were trying to do is a fundamental networking function. The reason it feels so mature on PC-to-PC is that decades of standardized, open protocols like FTP and SMB have been developed to handle it.

However, when you add a mobile OS into the mix, things get more complex. Companies like Google often develop closed-source solutions to maintain control over the experience and security across different hardware and software versions. It also allows them to tightly integrate the service with their other products, like your Google Account, which makes the automatic pairing and secure sharing so seamless. While it's not open-source, the fact that Quick Share exists and works so reliably across Windows and Android is a big step towards a more unified and user-friendly ecosystem.

Comments