Same wireless network, same mobile device, same Windows SMB service, Total Commander 3.50d, LAN plugin for Total commander 3.50 .
Based on the transmission rate measured by iperf at a certain time,
When the transfer rate is around 26MB/s, the file manager pre-installed on the phone is also used to copy files from Windows through the SMB protocol, a single large file is about 15MB/s, while the transfer rate of copying the same file from Windows to the phone through the LAN plugin is only about 8MB/s. And the other way around, copying files from your phone to Windows is only a little over 1MB/s.
Using another phone to do the test, when iperf measured the transfer rate of about 50MB/s, the LAN plugin only copied files from Windows at about 15MB/s.
Transferring files between Windows and Windows hosts, which also use the SMB protocol, can almost always achieve the maximum transfer rate measured by iperf.
The transfer rate measured by other apps that support the SMB protocol is not large, and it is basically the same as the LAN plugin for Total Commander, so does it mean that Android's SMB protocol is very inefficient?
Translated with DeepL.com (free version)
Transfer efficiency issues with the Android SMB protocol
Moderators: Hacker, petermad, Stefan2, white
-
- Junior Member
- Posts: 4
- Joined: 2023-04-13, 09:12 UTC
- ghisler(Author)
- Site Admin
- Posts: 50386
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
Re: Transfer efficiency issues with the Android SMB protocol
I'm using the SMBj library, which implements SMB in Java. This is of course slower than native code, but I could not find any native C/C++ SMB libraries working on Android.
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
-
- Junior Member
- Posts: 4
- Joined: 2023-04-13, 09:12 UTC
Re: Transfer efficiency issues with the Android SMB protocol
感谢解惑ghisler(Author) wrote: 2024-10-25, 09:58 UTC I'm using the SMBj library, which implements SMB in Java. This is of course slower than native code, but I could not find any native C/C++ SMB libraries working on Android.
Thanks for the solution


-
- Junior Member
- Posts: 4
- Joined: 2023-04-13, 09:12 UTC
Re: Transfer efficiency issues with the Android SMB protocol
By chance, I saw another library, jCIFS NG, which is licensed under the LGPL and is used by the CIFS Documents Provider, but I wonder if it can be used for Total Commander? Is efficiency better than SMBj?ghisler(Author) wrote: 2024-10-25, 09:58 UTC I'm using the SMBj library, which implements SMB in Java. This is of course slower than native code, but I could not find any native C/C++ SMB libraries working on Android.
- ghisler(Author)
- Site Admin
- Posts: 50386
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
Re: Transfer efficiency issues with the Android SMB protocol
You can try yourself, I'm using jCIFS for SMB 1.0. At the time when I added SMBj, jCIFS didn't support SMB2 and SMB3.
To make it comparable, you need to test SMBj without encryption.
To make it comparable, you need to test SMBj without encryption.
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com