Bug 24381 - Nokia 5.1 runs into a libmtp error
Summary: Nokia 5.1 runs into a libmtp error
Status: NEW
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: 6
Hardware: All Linux
Priority: Normal major
Target Milestone: ---
Assignee: QA Team
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-02-18 20:38 CET by Franz Holzinger
Modified: 2019-03-27 20:08 CET (History)
5 users (show)

See Also:
Source RPM: libmtp-1.1.13-1.mga6.src.rpm
CVE:
Status comment:


Attachments

Description Franz Holzinger 2019-02-18 20:38:05 CET
I want to connect via USB to the Nokia 5.1 smartphone.
However I only get an error message. And the file browser hangs, dolphin and thunar fail to continue.


journalctl -af

...

févr. 17 08:26:06 localhost kernel: usb 2-1: USB disconnect, device number 2
févr. 17 08:26:06 localhost udisksd[3715]: Cleaning up mount point /run/media/franz/CDROM (device 11:1 no longer exist)
févr. 17 08:26:06 localhost org.gtk.vfs.Daemon[3540]: PTP: reading event an error 0x05 occurred
févr. 17 08:26:08 localhost org.gtk.vfs.Daemon[3540]: Android device detected, assigning default bug flags
févr. 17 08:26:34 localhost gnome-terminal-[23901]: Allocating size to GtkScrollbar 0xd8c2e0 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?
févr. 17 08:26:53 localhost kernel: usb 2-1: new high-speed USB device number 3 using ehci-pci
févr. 17 08:26:53 localhost kernel: usb 2-1: New USB device found, idVendor=2e04, idProduct=c025
févr. 17 08:26:53 localhost kernel: usb 2-1: New USB device strings: Mfr=3, Product=4, SerialNumber=5
févr. 17 08:26:53 localhost kernel: usb 2-1: Product: Nokia 5.1
févr. 17 08:26:53 localhost kernel: usb 2-1: Manufacturer: MediaTek
févr. 17 08:26:53 localhost kernel: usb 2-1: SerialNumber: CO2BA80827000831
févr. 17 08:26:53 localhost kernel: usb-storage 2-1:1.1: USB Mass Storage device detected
févr. 17 08:26:53 localhost kernel: scsi host7: usb-storage 2-1:1.1
févr. 17 08:26:53 localhost mtp-probe[3024]: checking bus 2, device 3: "/sys/devices/pci0000:00/0000:00:1d.7/usb2/2-1"
févr. 17 08:26:53 localhost mtp-probe[3024]: bus: 2, device: 3 was an MTP device
févr. 17 08:26:53 localhost org.gtk.vfs.Daemon[3540]: Device 0 (VID=2e04 and PID=c025) is UNKNOWN in libmtp v1.1.13.
févr. 17 08:26:53 localhost org.gtk.vfs.Daemon[3540]: Please report this VID/PID and the device model to the libmtp development team
févr. 17 08:26:53 localhost org.gtk.vfs.Daemon[3540]: Error 1: Get Storage information failed.
févr. 17 08:26:53 localhost gnome-shell[3638]: invalid cast from 'GTask' to 'GSimpleAsyncResult'
févr. 17 08:26:53 localhost gnome-shell[3638]: g_simple_async_result_propagate_error: assertion 'G_IS_SIMPLE_ASYNC_RESULT (simple)' failed
févr. 17 08:26:53 localhost Thunar.desktop[4076]: thunar-volman: Périphérique USB de type « usb » non pris en charge.
févr. 17 08:26:53 localhost Thunar.desktop[4076]: thunar-volman: Périphérique USB de type « usb-storage » non pris en charge.
févr. 17 08:26:53 localhost Thunar.desktop[4076]: thunar-volman: Périphérique USB de type « usbfs » non pris en charge.
févr. 17 08:26:54 localhost kernel: scsi 7:0:0:0: CD-ROM            Linux    File-CD Gadget   0318 PQ: 0 ANSI: 2
févr. 17 08:26:54 localhost kernel: sr 7:0:0:0: [sr1] scsi-1 drive
févr. 17 08:26:54 localhost kernel: sr 7:0:0:0: Attached scsi CD-ROM sr1
févr. 17 08:26:54 localhost udisksd[3715]: Mounted /dev/sr1 at /run/media/franz/CDROM on behalf of uid 500
févr. 17 08:26:58 localhost gnome-terminal-[23901]: Allocating size to GtkScrollbar 0xd8c2e0 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?
févr. 17 08:26:58 localhost gnome-terminal-[23901]: Allocating size to GtkScrollbar 0xd8c2e0 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?
févr. 17 08:26:59 localhost Thunar.desktop[4076]: thunar-volman: Device /dev/sr1 is already mounted at `/run/media/franz/CDROM'.
févr. 17 08:26:59 localhost Thunar.desktop[4076]: .
févr. 17 08:27:04 localhost Thunar.desktop[4076]: thunar-volman: Device /dev/sr1 is already mounted at `/run/media/franz/CDROM'.
févr. 17 08:27:04 localhost Thunar.desktop[4076]: .


An update to libmtp-1.1.14 would solve this. 
This is needed for Mageia 6.
Comment 1 David Walser 2019-02-19 00:57:47 CET
Are you sure an update would solve it?  libmtp unfortunately doesn't work very well for a lot of modern phones.  I have jmtpfs built locally myself which works for my Samsung Galaxy phones.

CC: (none) => luigiwalser

Comment 2 Jani Välimaa 2019-02-19 07:58:15 CET
According to upstream, ID is listed in 1.1.14:
https://sourceforge.net/p/libmtp/bugs/1770/
https://sourceforge.net/p/libmtp/feature-requests/250/

I'll push latest version to core/updates_testing, to get more updated IDs.

CC: (none) => jani.valimaa

Comment 3 Marja Van Waes 2019-02-19 09:02:49 CET
(In reply to Jani Välimaa from comment #2)
> According to upstream, ID is listed in 1.1.14:
> https://sourceforge.net/p/libmtp/bugs/1770/
> https://sourceforge.net/p/libmtp/feature-requests/250/
> 
> I'll push latest version to core/updates_testing, to get more updated IDs.

Thanks, assigning to you, then ;-)

Franz, can you confirm that libmtp-1.1.16-1.mga6 fixes the issue?

Assignee: bugsquad => jani.valimaa
CC: (none) => marja11

Comment 4 Jani Välimaa 2019-02-19 09:34:50 CET
Assigning to QA team. libmtp-1.1.16-1.mga6 is in core/updates_testing.

SRPM:
libmtp-1.1.16-1.mga6

RPMS:
lib(,64)mtp9-1.1.16-1.mga6
lib(,64)mtp-devel-1.1.16-1.mga6
libmtp-doc-1.1.16-1.mga6
libmtp-utils-1.1.16-1.mga6
libmtp-debuginfo-1.1.16-1.mga6

Assignee: jani.valimaa => qa-bugs

Comment 5 David Walser 2019-02-19 12:32:52 CET
Advisory:
----------------------------------------

The libmtp package has been updated to add support for more devices.

References:
https://sourceforge.net/p/libmtp/mailman/message/36059824/
https://sourceforge.net/p/libmtp/mailman/message/36273823/
https://sourceforge.net/p/libmtp/mailman/message/36452265/
Comment 6 Franz Holzinger 2019-02-19 13:59:14 CET
There are still errors:


[root@localhost ~]# rpm -qa | grep lib64mtp
lib64mtp9-1.1.16-1.mga6
[root@localhost ~]# 


journalctl -af



févr. 19 13:55:58 localhost kernel: usb 2-1: new high-speed USB device number 2 using ehci-pci
févr. 19 13:55:58 localhost kernel: usb 2-1: New USB device found, idVendor=2e04, idProduct=c025
févr. 19 13:55:58 localhost kernel: usb 2-1: New USB device strings: Mfr=3, Product=4, SerialNumber=5
févr. 19 13:55:58 localhost kernel: usb 2-1: Product: Nokia 5.1
févr. 19 13:55:58 localhost kernel: usb 2-1: Manufacturer: MediaTek
févr. 19 13:55:58 localhost kernel: usb 2-1: SerialNumber: CO2BA80827000831
févr. 19 13:55:58 localhost kernel: usb-storage 2-1:1.1: USB Mass Storage device detected
févr. 19 13:55:58 localhost kernel: scsi host7: usb-storage 2-1:1.1
févr. 19 13:55:58 localhost kernel: usbcore: registered new interface driver usb-storage
févr. 19 13:55:58 localhost kernel: usbcore: registered new interface driver uas
févr. 19 13:55:58 localhost org.gtk.vfs.Daemon[3671]: Error 1: Get Storage information failed.
févr. 19 13:55:58 localhost gnome-shell[3769]: invalid cast from 'GTask' to 'GSimpleAsyncResult'
févr. 19 13:55:58 localhost gnome-shell[3769]: g_simple_async_result_propagate_error: assertion 'G_IS_SIMPLE_ASYNC_RESULT (simple)' failed
févr. 19 13:55:58 localhost org.gtk.vfs.Daemon[3671]: Error 2: PTP Layer error 2002: Error getting friendlyname.
févr. 19 13:55:58 localhost org.gtk.vfs.Daemon[3671]: Error 2: Error 2002: PTP General Error
févr. 19 13:55:58 localhost gnome-shell[3769]: JS WARNING: [resource:///org/gnome/shell/ui/components/autorunManager.js 260]: reference to undefined property contentTypes[0]
févr. 19 13:55:59 localhost kernel: scsi 7:0:0:0: CD-ROM            Linux    File-CD Gadget   0318 PQ: 0 ANSI: 2
févr. 19 13:55:59 localhost kernel: sr 7:0:0:0: [sr1] scsi-1 drive
févr. 19 13:55:59 localhost kernel: sr 7:0:0:0: Attached scsi CD-ROM sr1
févr. 19 13:56:00 localhost udisksd[3858]: Mounted /dev/sr1 at /run/media/franz/CDROM on behalf of uid 500
Comment 7 Jani Välimaa 2019-02-19 14:50:03 CET
1. Is it working or not?
2. Is MTP or PTP used?
3. What does mtp-detect cmd show?
Comment 8 Franz Holzinger 2019-02-19 15:12:27 CET
1. no. Dolphin shows this error message.
Le processus traitant le protocole mtp s'est arrêté de façon inattendue.

2. MTP

3. 
[root@localhost ~]# mtp-detect 
libmtp version: 1.1.16

Listing raw device(s)
Device 0 (VID=2e04 and PID=c025) is a Nokia 6.
   Found 1 device(s):
   Nokia: 6 (2e04:c025) @ bus 2, dev 2
Attempting to connect device(s)
error returned by libusb_claim_interface() = -6LIBMTP PANIC: Unable to initialize device
Unable to open raw device 0
OK.


-------------
Then the Nokia Smartphone asks me if I allow the access from the distant computer. I allow it. And still the same errors.
Comment 9 Jani Välimaa 2019-02-19 15:22:32 CET
New libmtp-utils-1.1.16-1 comes with updated udev rules. Please reboot or reload rules with 'udevadm control --reload-rules' as root and re-plug your phone.
Comment 10 Franz Holzinger 2019-02-19 15:48:27 CET
I have made a reboot and I also executed the reload rules command. However it is still not working.
Nautilus, Thunar and Dolphin cannot mount the Nokia 5.1 drive. Only the CDROM drive, which also comes from the Nokia 5.1 smartphone, can be mounted and read. It contains a driver setup program for Windows.
Comment 11 Dave Hodgins 2019-02-19 17:09:07 CET
Does running usb-modeswitch have any impact?

CC: (none) => davidwhodgins

Comment 12 Franz Holzinger 2019-02-20 09:46:20 CET
[root@localhost ~]# usb-modeswitch  
-bash: usb-modeswitch : commande introuvable
[root@localhost ~]# urpmi usb-modeswitch 
Pas de paquetage nommé usb-modeswitch
[root@localhost ~]# 

[root@localhost ~]# lsusb
Bus 002 Device 002: ID 2e04:c025  
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
[root@localhost ~]# usb_modeswitch

Usage: usb_modeswitch [<params>] [-c filename]

 -h, --help                    this help
 -e, --version                 print version information and exit
 -j, --find-mbim               return config no. with MBIM interface, exit

 -v, --default-vendor NUM      vendor ID of original mode (mandatory)
 -p, --default-product NUM     product ID of original mode (mandatory)
 -V, --target-vendor NUM       target mode vendor ID (optional)
 -P, --target-product NUM      target mode product ID (optional)
 -C, --target-class NUM        target mode device class (optional)
 -b, --bus-num NUM             system bus number of device (for hard ID)
 -g, --device-num NUM          system device number (for hard ID)
 -m, --message-endpoint NUM    direct the message transfer there (optional)
 -M, --message-content <msg>   message to send (hex number as string)
 -2, --message-content2 <msg>  additional messages to send (-n recommended)
 -3, --message-content3 <msg>  additional messages to send (-n recommended)
 -w, --release-delay NUM       wait NUM ms before releasing the interface
 -n, --need-response           obsolete, no effect (always on)
 -r, --response-endpoint NUM   read response from there (optional)
 -K, --std-eject               send standard EJECT sequence
 -d, --detach-only             detach the active driver, no further action
 -H, --huawei-mode             apply a special procedure
 -J, --huawei-new-mode         apply a special procedure
 -S, --sierra-mode             apply a special procedure
 -O, --sony-mode               apply a special procedure
 -G, --gct-mode                apply a special procedure
 -N, --sequans-mode            apply a special procedure
 -A, --mobileaction-mode       apply a special procedure
 -T, --kobil-mode              apply a special procedure
 -L, --cisco-mode              apply a special procedure
 -B, --qisda-mode              apply a special procedure
 -E, --quanta-mode             apply a special procedure
 -F, --pantech-mode NUM        apply a special procedure, pass NUM through
 -Z, --blackberry-mode         apply a special procedure
 -U, --option-mode             apply a special procedure
 -R, --reset-usb               reset the device after all other actions
 -Q, --quiet                   don't show progress or error messages
 -W, --verbose                 print all settings and debug output
 -D, --sysmode                 specific result and syslog message
 -s, --check-success <seconds> switching result check with timeout
 -I, --inquire                 obsolete, no effect

 -c, --config-file <filename>  load long configuration from file

 -t, --stdinput                read long configuration from stdin

 -f, --long-config <text>      get long configuration from string

 -i, --interface NUM           select initial USB interface (default 0)
 -u, --configuration NUM       select USB configuration
 -a, --altsetting NUM          select alternative USB interface setting


 * usb_modeswitch: handle USB devices with multiple modes
 * Version 2.4.0 (C) Josua Dietze 2016
 * Based on libusb1/libusbx

 ! PLEASE REPORT NEW CONFIGURATIONS !


What exactly should I try?

Only the CDROM of the smartphone has been mounted.

sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
tmpfs on /run/user/500 type tmpfs (rw,nosuid,nodev,relatime,size=600528k,mode=700,uid=500,gid=500)
gvfsd-fuse on /run/user/500/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=500,group_id=500)
/dev/mmcblk0p1 on /run/media/franz/Monika type fuseblk (rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096,uhelper=udisks2)
/dev/sr1 on /run/media/franz/CDROM type iso9660 (ro,nosuid,nodev,relatime,nojoliet,check=s,map=n,blocksize=2048,uid=500,gid=500,dmode=500,fmode=400,uhelper=udisks2)

However the Nokia 5.1 icon shows up in Thunar and can be mounted as 
mtp://[usb:002,002]/
Comment 13 Dave Hodgins 2019-02-20 17:21:09 CET
Been a while since I've looked at it.

usb_modeswitch-data rpm package has to be installed too. Then disconnect and
reconnect the phone to activate switching the phone to modem mode for
tethering. No need to run it manually.

However, checking the latest data file from
http://www.draisberghof.de/usb_modeswitch/usb-modeswitch-data-20170806.tar.bz2
VID=2e04 is not listed in that file, so doesn't look like that phone can
be used for tethering.

Try installing simple-mtpfs, then see if running (as root) "simple-mtpfs -l".
Does that detect it?
Comment 14 Jani Välimaa 2019-02-20 17:55:07 CET
(In reply to Franz Holzinger from comment #12)
> 
> However the Nokia 5.1 icon shows up in Thunar and can be mounted as 
> mtp://[usb:002,002]/

So it works with Thunar, but not with Dolphin?

Thunar uses gvfs-mtp to talk with MTP devices and gvfs-gphoto2 with PTP devices.

Dolphin probably needs also pkg kio-extras to be installed. At least kio-extras requires libmtp.
Comment 15 Franz Holzinger 2019-02-21 10:12:14 CET
No, only the icon "Nokia 5.1" is shown with Thunar. Nothing works however. If I mount the "Nokia 5.1" icon, then Thunar hangs and I am forced to quit it by a kill command.

When I use dolphin and I click on "Nokia 5.1" then I get this error message only:
"Le processus traitant le protocole mtp s'est arrêté de façon inattendue."

When I use nautilus and I click on "Nokia 5.1" then Nautilus loads and loads. But Nautilus is still usable, but it never shows the contents of Nokia 5.1.



[root@localhost ~]# urpmi  kio-extras 
Le paquetage kio-extras-17.12.2-4.1.mga6.x86_64 est déjà installé

[root@localhost ~]# urpmi  gvfs-gphoto2
Le paquetage gvfs-gphoto2-1.32.1-1.1.mga6.x86_64 est déjà installé
Marque gvfs-gphoto2 comme étant manuellement installé, il ne sera pas considéré comme un paquet orphelin
writing /var/lib/rpm/installed-through-deps.list
Comment 16 Jani Välimaa 2019-02-21 11:38:12 CET
You could try a workaround, rmmod'ing kernel modules, from upstream bug report:
https://sourceforge.net/p/libmtp/bugs/1787/#5f07

Have you tried with another USB-cable? Or in another computer?
Comment 17 Jani Välimaa 2019-02-21 11:54:40 CET
I backported and added some upstream fixes for Nokia devices. Please test libmtp-1.1.16-1.1.mga6 when it's available at mirrors.
Comment 18 Franz Holzinger 2019-02-22 10:44:56 CET
I have installed the latest versions:

installation de lib64gif7-5.1.6-1.mga6.x86_64.rpm lib64tiff5-4.0.10-1.git20190219.1.mga6.x86_64.rpm lib64mtp9-1.1.16-1.1.mga6.x86_64.rpm lib64gnutls30-3.5.13-1.2.mga6.x86_64.rpm libmtp-utils-1.1.16-1.1.mga6.x86_64.rpm depuis /var/cache/urpmi/rpms
Préparation...                   #########

The errors are still the same.
Comment 19 Jani Välimaa 2019-02-22 17:21:49 CET
(In reply to Jani Välimaa from comment #16)
> You could try a workaround, rmmod'ing kernel modules, from upstream bug
> report:
> https://sourceforge.net/p/libmtp/bugs/1787/#5f07
> 
> Have you tried with another USB-cable? Or in another computer?

Try also with debugging enabled:

$ export LIBMTP_DEBUG=12
$ mtp-detect
Comment 20 Franz Holzinger 2019-02-25 15:25:06 CET
[franz@localhost ~]$ export LIBMTP_DEBUG=12
[franz@localhost ~]$  mtp-detect
LIBMTP_Set_Debug: Setting debugging level to 12 (0x0c) (on)
libmtp version: 1.1.16

Listing raw device(s)
libusb: debug [libusb_get_device_list] 
libusb: debug [discovered_devs_append] need to increase capacity
libusb: debug [libusb_get_device_descriptor] 
libusb: debug [libusb_get_device_descriptor] 
libusb: debug [libusb_get_device_descriptor] 
libusb: debug [libusb_get_device_descriptor] 
libusb: debug [libusb_get_device_descriptor] 
libusb: debug [libusb_get_device_descriptor] 
libusb: debug [libusb_get_device_descriptor] 
libusb: debug [libusb_get_device_descriptor] 
libusb: debug [libusb_get_device_descriptor] 
libusb: debug [libusb_get_device_descriptor] 
LIBMTP LIBMTP_Detect_Raw_Devices[698]: Device 0 (VID=2e04 and PID=c025) is a Nokia 6.
   Found 1 device(s):
   Nokia: 6 (2e04:c025) @ bus 2, dev 3
Attempting to connect device(s)
libusb: debug [libusb_get_device_list] 
libusb: debug [discovered_devs_append] need to increase capacity
libusb: debug [libusb_get_device_descriptor] 
libusb: debug [libusb_get_device_descriptor] 
libusb: debug [libusb_get_config_descriptor] index 0
libusb: debug [libusb_open] open 2.3
libusb: debug [usbi_add_pollfd] add fd 9 events 4
libusb: debug [libusb_kernel_driver_active] interface 0
libusb: debug [libusb_claim_interface] interface 0
error returned by libusb_claim_interface() = -6LIBMTP configure_usb_device[2282]: LIBMTP PANIC: Unable to initialize device
Unable to open raw device 0
OK.
[franz@localhost ~]$
Comment 21 Jani Välimaa 2019-02-25 16:47:23 CET
Which kernel you are using (uname -a)?
Comment 22 Franz Holzinger 2019-02-25 20:11:11 CET
[franz@localhost ~]$ uname -a
Linux localhost 4.14.100-desktop-1.mga6 #1 SMP Fri Feb 15 09:29:46 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Comment 23 Herman Viaene 2019-03-07 21:56:04 CET
MGA6-64 Plasma on LenovoB50
Installed additionally blueman.
I have a Nokia 1 smartphone and using the blueman-manager I have been able to connect to the smartphone.
Once that done, Using dolphin - network - bluetooth I got visibility on Nokia 1, so the laptop can be aware of the smatphone.
Now connected with USB cable , allowed access on the phone (window popped up), and then the Nokia 1 becomes visible in dolphin - network - mtp-devices. Nobia 1 can be opened, shows internal shared storage, and in there a bunch of folders from the phone. I could open all of them, although every now and then I got the error "The process for mtp stopped unexpectedly", but clicking on the folder again, I could proceed.
I don't have picturesor music on the phone , agenda is the only app I really use, but in folder mtklog/gpsdbglog/ I found a txt file. But I could not open the file with kwite, I got an error mentioning a problem with access rights and the above mtp process error also popped up.
So successful t oa certain degree.

CC: (none) => herman.viaene

Comment 24 Franz Holzinger 2019-03-27 16:59:09 CET
Same problem with Mageia 7 beta 2.

[franz@localhost ~]$  uname -a
Linux localhost 4.20.9-desktop-1.mga7 #1 SMP Fri Feb 15 08:03:49 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
[franz@localhost ~]$

Version: 6 => 7

Comment 25 David Walser 2019-03-27 17:04:56 CET
This has to stay on 6 while it's assigned to QA.  Like I said at the beginning, libmtp just doesn't work well with some devices (Android in particular) and you may need to use something else like jmtpfs or go-mtpfs to get the functionality you want.  I have always had to use jmtpfs with my Samsung Galaxy phones.

Version: 7 => 6

Comment 26 Franz Holzinger 2019-03-27 17:26:12 CET
I cannot find any package jmtpfs for Mageia. Must I build this by myself?
Comment 27 David Walser 2019-03-27 20:08:33 CET
Yes, you'll have to build it.

Note You need to log in before you can comment on or make changes to this bug.