LEAP 16: fix for broken MTP (Android USB) support

Found that LEAP 16.0 has completely broken MTP device support due invalid udev rules.

Bug and fix reported here: https://bugzilla.opensuse.org/show_bug.cgi?id=1261532

Quick Workaround:

sudo bash
cd /usr/lib/udev/rules.d
find udev | cpio -pvdmn /usr/lib
udevadm control -R
# or rather reboot

Hopefully it will helps affected LEAP 16 users.

2 Likes

Strange. So far I have connected three different Android devices to my desktop with Leap 16 and had no problems at all.

Could you please provide output of these 2 commands?

rpm -q libmtp-udev
rpm -ql libmtp-udev

Here is example of broken package in LEAP 16.0 (nested /udev path):

$ rpm -q libmtp-udev

 libmtp-udev-1.1.22-160000.2.2.x86_64

$ rpm -ql libmtp-udev

/usr/lib/udev
/usr/lib/udev/rules.d
/usr/lib/udev/rules.d/udev
/usr/lib/udev/rules.d/udev/hwdb.d
/usr/lib/udev/rules.d/udev/hwdb.d/69-libmtp.hwdb
/usr/lib/udev/rules.d/udev/mtp-probe
/usr/lib/udev/rules.d/udev/rules.d
/usr/lib/udev/rules.d/udev/rules.d/69-libmtp.rules

And here is output of fixed package from LEAP 16.1 Alpha (no nested /udev):

$ rpm -q libmtp-udev

libmtp-udev-1.1.23-160099.1.2.x86_64

$ rpm -ql libmtp-udev

/usr/lib/udev
/usr/lib/udev/hwdb.d
/usr/lib/udev/hwdb.d/69-libmtp.hwdb
/usr/lib/udev/mtp-probe
/usr/lib/udev/rules.d
/usr/lib/udev/rules.d/69-libmtp.rules

I’m curious what output will be in your case.

The only difference is the response to rpm -q libmtp-udev:
libmtp-udev-1.1.23-lp160.128.2.x86_64
The response to rpm -ql libmtp-udev is identical.

I’m unable to find such version in any 16.x LEAP I have (16.0 and 16.1 Alpha). Could you please provide output of these two commands?

zypper lr
zypper info libmtp-udev

They will tell from what repository is installed your libmtp-udev. In my case - LEAP 16.0 with updates - I have following output:

$ zypper lr

Repository priorities are without effect. All enabled repositories share the same priority.

# | Alias                       | Name                      | Enabled | GPG Check | Refresh
--+-----------------------------+---------------------------+---------+-----------+--------
1 | Leap                        | Leap 16.0                 | No      | ----      | ----
2 | openSUSE:repo-non-oss       | repo-non-oss (16.0)       | No      | ----      | ----
3 | openSUSE:repo-non-oss-debug | repo-non-oss-debug (16.0) | No      | ----      | ----
4 | openSUSE:repo-openh264      | repo-openh264 (16.0)      | Yes     | (r ) Yes  | Yes
5 | openSUSE:repo-oss           | repo-oss (16.0)           | Yes     | (r ) Yes  | Yes
6 | openSUSE:repo-oss-debug     | repo-oss-debug (16.0)     | No      | ----      | ----
7 | openSUSE:repo-oss-source    | repo-oss-source (16.0)    | No      | ----      | ----

$ zypper info libmtp-udev

Loading repository data...
Reading installed packages...


Information for package libmtp-udev:
------------------------------------
Repository     : repo-oss (16.0)
Name           : libmtp-udev
Version        : 1.1.22-160000.2.2
Arch           : x86_64
Vendor         : SUSE LLC <https://www.suse.com/>
Installed Size : 128.6 KiB
Installed      : Yes (automatically)
Status         : up-to-date
Source package : libmtp-1.1.22-160000.2.2.src
Upstream URL   : http://sf.net/projects/libmtp
Summary        : Udev rules for accessing MTP devices
Description    : 
    This package contains the udev rules that allow access to USB based media
    players based on the MTP (Media Transfer Protocol) authored by
    Microsoft.

The answer is:
Information for package libmtp-udev:

Repository : plater’s Home Project (16.0)
Name : libmtp-udev
Version : 1.1.23-lp160.128.2
Arch : x86_64
Vendor : obs://build.opensuse.org/home:plater
Installed Size : 132.2 KiB
Installed : Yes (automatically)
Status : up-to-date
Source package : libmtp-1.1.23-lp160.128.2.src
Upstream URL : http://sf.net/projects/libmtp
Summary : Udev rules for accessing MTP devices
Description :
This package contains the udev rules that allow access to USB based media
players based on the MTP (Media Transfer Protocol) authored by
Microsoft.
However, I only installed this repo on 14-02-2026 to obtain Bluefish and have not installed anything else from it. I had originally used the opensuse-migration-tool to upgrade to Leap 16.0 and had had no problems connecting to my Android smartphones before 14-02-2026.

So LEAP 16.0 in your case works only thanks to fact that you use additional repository home:plater that contains fixed libmtp-udev (and generally highest package version will win).

However regular LEAP 16.0 users are hit with bug that I described on this post.

1 Like

I can confirm that out of the box with the clean install MTP seems to be completely broken (“No MPT-compatible devices found”) is displayed in Dolphin (KDE Plasma default file manager) for both my camera and my phone:

  • Ricoh GR III
  • Poco F2 Pro

With openSUSE 15.6 both worked (although connection was a bit wonky sometimes, but that’s to be expected from MTP).

I will try out the workarounds from the posts above and will report back.

Strange. I also have

Information about the libmtp-udev package:
Repository : openSUSE:repo-oss
Name : libmtp-udev
Version : 1.1.22-160000.2.2
Architecture : x86_64
Manufacturer : SUSE LLC https://www.suse.com/
Size after installation : 128.6 KB
Installed : Yes
Status : up to date
Source package : libmtp-1.1.22-160000.2.2.src
Upstream URL : http://sf.net/projects/libmtp
Summary : Udev rules for accessing MTP devices

And nevertheless, MTP works very well .

Before (default):
1.1.22-160000.2.2

  • Camera: not available through mtp:/
  • Phone: not available through mtp:/

After (from devel:language:go):
1.1.23-lp160.128.2

  • Camera: available through mtp:/RICOH GR III/
  • Phone: available through mtp:/POCO F2 Pro/

I also downloaded some photos without any issues. No reboot was required after package upgrade. I just reconnected the devices.

Possibly the problem lies in the iso; I had no problem for over three months from using the opensuse-migration-tool to upgrade to Leap 16.0 before I installed Bluetooth and the Plater repo.

@hpaluchpe: Thanks for reporting this issue!

This thread was the first hit in Google search for me when I found out that I cannot download pictures anymore from my beloved Ricoh GR III.

Hopefully we will get an updated package in the default repos soon!

Hi, I confirm that it worked for me on Leap 16.
Before the fix I could not transfer by MTP, it was getting interrupted at the end, now it’s working as intendend, it’s on rather advanced MTP devices though, maybe simple ones were working fine before the fix.

Thank you for the instructions provided here.
Updating the libmtp-udev package fixed the issue with connecting my phone via cable.

Fixed version landed in LEAP 16.0 updates. This version fixes broken MTP for me:

$ zypper info libmtp-udev
Loading repository data...
Reading installed packages...


Information for package libmtp-udev:
------------------------------------
Repository     : repo-oss (16.0)
Name           : libmtp-udev
Version        : 1.1.23-160000.1.1
Arch           : x86_64
Vendor         : SUSE LLC <https://www.suse.com/>
Installed Size : 132.2 KiB
Installed      : Yes (automatically)
Status         : up-to-date
Source package : libmtp-1.1.23-160000.1.1.src
Upstream URL   : http://sf.net/projects/libmtp
Summary        : Udev rules for accessing MTP devices
Description    : 
    This package contains the udev rules that allow access to USB based media
    players based on the MTP (Media Transfer Protocol) authored by
    Microsoft.

$ rpm -qi libmtp-udev
Name        : libmtp-udev
Version     : 1.1.23
Release     : 160000.1.1
Architecture: x86_64
Install Date: Wed 13 May 2026 06:38:20 PM CEST
Group       : Hardware/Mobile
Size        : 135338
License     : LGPL-2.1-or-later
Signature   : RSA/SHA512, Mon 11 May 2026 05:14:29 PM CEST, Key ID fec28eaf09d9ea69
Source RPM  : libmtp-1.1.23-160000.1.1.src.rpm
Build Date  : Sun 15 Feb 2026 11:19:37 AM CET
Build Host  : reproducible
Packager    : https://www.suse.com/
Vendor      : SUSE LLC <https://www.suse.com/>
VCS         : https://src.suse.de/pool/libmtp#abb296bab9c4ec0d08fa55b9f26b13b1bb409a7e984a3a9b75d2fec5a8b8db68
URL         : http://sf.net/projects/libmtp
Summary     : Udev rules for accessing MTP devices
Description :
This package contains the udev rules that allow access to USB based media
players based on the MTP (Media Transfer Protocol) authored by
Microsoft.
Distribution: SUSE Linux 16

1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.