How to fix Libmtp panic?
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
libmtp (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
I have been asked to report this by GAD3R. My original question to askubuntu on 23-1-2024 was titled "How to fix 'Unable to open mtp device "xxx,yyy"' but the title has been changed somehow to the above.
My original question was:
"This is a question which seems to have been asked many times - mostly between 5 and ten years ago. I still have had this intermittently (as do others I see with a variety of phones, computers and ubuntu versions) trying to connect my Nokia 3.4 to my Dell based Ubuntu 22.04. Usually a disconnect/
I've tried different USB ports and cables. Running gmtp makes no difference - it says 'No device attached' - despite my phone showing up in my file manager etc AND gmtp (wrongly) recognising it as a Nexus/Pixel as below!
I have obviously looked at many other threads and sources to try and sort this out and I see that the most often responses are for the outputs of lsusb and mtp-detect to be posted so, here are mine:
$ lsusb
Bus 001 Device 005: ID 0a5c:5800 Broadcom Corp. BCM5880 Secure Applications Processor
Bus 001 Device 004: ID 8087:07dc Intel Corp. Bluetooth wireless interface
Bus 001 Device 038: ID 18d1:4ee2 Google Inc. Nexus/Pixel Device (MTP + debug)
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 003: ID 413c:8187 Dell Computer Corp. DW375 Bluetooth Module
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
$ mtp-detect
libmtp version: 1.1.19
Listing raw device(s)
Device 0 (VID=18d1 and PID=4ee2) is a Google Inc Nexus/Pixel (MTP+ADB).
Found 1 device(s):
Google Inc: Nexus/Pixel (MTP+ADB) (18d1:4ee2) @ bus 1, dev 12
Attempting to connect device(s)
LIBMTP PANIC: Unable to find interface & endpoints of device
Unable to open raw device 0
OK.
Interesting that my device is listed as a Nexus/Pixel - which it is not!
It would be really nice to get a definitive, permanent 'fix' for this ongoing problem."
The first answer I received was as follows:
"mtp, lsusb... use the PCIID to identify the connected devices, in your case VID=18d1 , PID=4ee2 is known as Nexus/Pixel Device (MTP + debug)
To update the PCIID database list use: sudo update-pciids.
Other way to mount your device:
install jmtpfs:
sudo apt install jmtpfs
mkdir devicemnt
sudo chown $USER:$USER devicemnt
jmtpfs -o allow_other devicemnt/
ls devicemnt
To unmount: fusermount -u devicemnt"
My response was:
"Thanks for the response. running mtp prompted me to install ferret-vis - which I did. lsusb then ran as before but updating the pciids achieved still the same error as before. Using the second scenario, all went well until I got:
$ jmtpfs devicement/ Device 0 (VID=18d1 and PID=4ee2) is a Google Inc Nexus/Pixel (MTP+ADB). LIBMTP PANIC: Unable to find interface & endpoints of device terminate called after throwing an instance of 'MtpErrorCantOp
- so I'm still stuck. thanks again anyway."
Also, running 'mtp' now invites me to use 'Fprint'...?
For the record, using Ubuntu 22.04.3 LTS (with any file management package)
Chris