Transfer efficiency issues with the Android SMB protocol

Support for Android version of Total Commander

Moderators: Hacker, petermad, Stefan2, white

Post Reply
DOSforever
Junior Member
Junior Member
Posts: 4
Joined: 2023-04-13, 09:12 UTC

Transfer efficiency issues with the Android SMB protocol

Post by *DOSforever »

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)
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50386
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Re: Transfer efficiency issues with the Android SMB protocol

Post by *ghisler(Author) »

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
DOSforever
Junior Member
Junior Member
Posts: 4
Joined: 2023-04-13, 09:12 UTC

Re: Transfer efficiency issues with the Android SMB protocol

Post by *DOSforever »

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 8) :)
DOSforever
Junior Member
Junior Member
Posts: 4
Joined: 2023-04-13, 09:12 UTC

Re: Transfer efficiency issues with the Android SMB protocol

Post by *DOSforever »

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.
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?
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50386
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Re: Transfer efficiency issues with the Android SMB protocol

Post by *ghisler(Author) »

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.
Author of Total Commander
https://www.ghisler.com
Post Reply