Dolphin has weird behavior with some samba shares

For some time now, I have experienced strange behavior when trying to mount samba shares. This behavior happened with Dolphin from Plasma 5 and 6, with KDE on Arch- (EndeavourOS) or Debian (Ubuntu)-based installs.

One share doesn’t mount from Dolphin. I only get a repeat authentification dialog as if I would enter wrong credentials.

When I mount another share from this server first, I am sometimes able to mount the problem share afterwards, but usually not on the first attempt.

When I install kio-fuse and configure it with

[Unit]
Description=Fuse interface for KIO
PartOf=graphical-session.target

[Service]
ExecStart=/usr/lib/x86_64-linux-gnu/libexec/kio-fuse -f /home/emk2203/mnt_kio
BusName=org.kde.KIOFuse
Slice=background.slice

I can use

 dbus-send --session --print-reply --type=method_call \
          --dest=org.kde.KIOFuse \
                 /org/kde/KIOFuse \
                 org.kde.KIOFuse.VFS.mountUrl string:smb://emk2203:password@nuc10i3fnk/media

with a output of

method return time=1762673788.561047 sender=:1.90 -> destination=:1.89 serial=5 reply_serial=2
   string "/home/emk2203/mnt_kio/smb/emk2203@nuc10i3fnk/media"

to access all the shares on this server.

This works reliably. Thanks to @meven for helping me in getting the kio-fuse stuff to work.

(Interestingly, it doesn’t matter which share I give in this command, kio-fuse mounts all of them simultaneously.)

How can I fix this Dolphin issue which has annoyed me for literally years now?

That sounds like a bug in handling this particular share. The authentication fails and repeats in a loop.

What is the server implementation (Windows or Linux) ?
How could I reproduce it with a samba share ?

What kind of options this share has, authentication, paths… ?

Does dolphin output something in the terminal when this happens ?

Please try to answer all the questions.

The server is an Arch Linux server with samba 4.23.3-1.

Frankly, I have no idea. This is why I never have filed a bug at bugs.kde.org. Maybe using the essence of the smb.conf file, with small adjustments for the local system, could replicate this?

Results of testparm:

Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Weak crypto is allowed by GnuTLS (e.g. NTLM as a compatibility fallback)

Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

# Global parameters
[global]
        disable spoolss = Yes
        load printers = No
        log file = /var/log/samba/%m.log
        logging = file
        map to guest = Bad User
        max log size = 1000
        obey pam restrictions = Yes
        pam password change = Yes
        panic action = /usr/share/samba/panic-action %d
        passwd chat = *New*UNIX*password* %n\n *ReType*new*UNIX*password* %n\n *passwd:*all*authentication*tokens*updated*successfully*
        passwd program = /usr/bin/passwd %u
        printcap name = /dev/null
        server role = standalone server
        server string = %h server (Samba %v)
        unix password sync = Yes
        workgroup = EMKNET
        idmap config * : backend = tdb
        printing = bsd


[homes]
        browseable = No
        comment = Home Directories
        create mask = 0700
        directory mask = 0700
        read only = No
        valid users = %S


[media]
        comment = Media share
        create mask = 0664
        directory mask = 02775
        force create mode = 0664
        force directory mode = 02775
        force group = +media
        path = /srv/media/completed
        read only = No
        valid users = emk2203 @media


[NUC10i3fnk-SDXC]
        comment = Public share where emk2203 has write access
        guest ok = Yes
        path = /run/media/emk2203/Smsng512G1
        write list = emk2203


[WDExt18T]
        comment = Archived files on external drive
        guest ok = Yes
        path = /WDExt18T
        write list = emk2203


[eBooks]
        case sensitive = Yes
        comment = eBooks translated from JP/CN
        guest ok = Yes
        path = /WDExt18T/novel/Officially Translated Light Novels
        write list = emk2203

The NUC10i3fnk-SDXC is the problem share. The shared contents are on a SD card, mounted as the user in /run/media/emk2203/Smsng512G1. But the shared home directory often has these issues as well.

This is the output when I start Dolphin in the terminal:

kf.imageformats.plugins.tga: TGAHandler::canRead() error while reading the header
bluedevil.kio_bluetooth: Kio Bluetooth instanced!
bluedevil.kio_bluetooth: Bluetooth is offline
bluedevil.kio_bluetooth: Setting host:  ""
bluedevil.kio_bluetooth: Stat:  QUrl("bluetooth:/")
org.kde.dolphin: could not find entry for charset= "Other encoding ()"
org.kde.dolphin: could not find entry for charset= "Other encoding ()"
org.kde.dolphin: could not find entry for charset= "Other encoding ()"
bluedevil.kio_bluetooth: Stat:  QUrl("bluetooth:/")
org.kde.dolphin: could not find entry for charset= "Other encoding ()"

The ‘could not find entry’ lines occur when opening a share.

When I open a ‘working’ share (media) first thing after opening Dolphin, I can open the problem share (NUC10i3fnk-SDXC) directly afterwards. At least more often.

I hope this helps.

1 Like