Ubuntu 18.04 升级后 MTP 不工作

Ubuntu 18.04 升级后 MTP 不工作

我可以通过 Ubuntu 16.04 上的 MTP 连接到我的 Android Alcatel Pixi 4 (5)(存在一个错误,如果删除文件后再复制文件,则协议会“意外死亡”,但除此之外,它可以正常工作)。

升级到 Ubuntu 18.04 后,每当我尝试浏览设备时,Dolphin 中都会出现“协议意外死亡”的提示。

#> mtp-detect
libmtp version: 1.1.13

Listing raw device(s)
Device 0 (VID=1bbb and PID=0167) is a Alcatel/TCT 6010D/TCL S950.
   Found 1 device(s):
   Alcatel/TCT: 6010D/TCL S950 (1bbb:0167) @ bus 3, dev 2
Attempting to connect device(s)
ignoring libusb_claim_interface() = -6PTP_ERROR_IO: failed to open session, trying again after resetting USB interface
LIBMTP libusb: Attempt to reset device
ignoring libusb_claim_interface() = -6LIBMTP PANIC: failed to open session on second attempt
Unable to open raw device 0
OK.

dmesg 包含:

[  471.588800] usb 3-4: usbfs: process 9290 (gmtp) did not claim interface 0 before use
[  471.715547] usb 3-4: reset high-speed USB device number 3 using xhci_hcd
[  471.864513] usb 3-4: usbfs: process 9290 (gmtp) did not claim interface 0 before use
[  471.864735] usb 3-4: usbfs: process 2562 (events) did not claim interface 0 before use

我尝试从源代码构建 libmtp-1.1.15,问题仍然存在。该设备通过同一台机器上的 Windows 上的 MTP 访问工作。

答案1

我的 openSUSE 也遇到过类似的问题。安装后jmtpfskio-mtp mtp-tools问题消失,一切开始正常工作。

如果您已经使用过jmtpfs或类似工具并将其挂载点设为~/android_mount/,则首先确保它尚未挂载:

# unmount previously mounted device
fusermount -u ~/android_mount/

# this should show empty directory
ls -la ~/android_mount/

您还可以使用的输出df来查看它是否安装在其他地方。

否则,创建一个新的挂载点,比如说,~/android_mount/在您通过 USB 数据线连接 Android 手机并将其切换到“文件传输”模式(通常默认为“充电”)后,挂载您的 Android 手机:

# make directory to mount
mkdir -p ~/android_mount/

# mount the device (can take several minutes)
# it will also show device information while mounting
jmtpfs ~/android_mount/

# now you should see internal storage if you don't have an SD card
ls -la ~/android_mount/
drwxrwxr-x 12 login login    0 Jan  3  44248648 Internal storage
# if it has an SD card too, then it'll show 2 entries

# look inside
ls -la ~/android_mount/Internal\ storage/

现在,您可以像在任何 USB 连接设备上一样操作文件。

# when finished, unmount the device
fusermount -u ~/android_mount/

您能补充jmtpfs -l一下您的问题吗?

答案2

如果 MTP 不起作用,您可以尝试 KDE Con​​nect。

请参阅以下参考资料:

答案3

创建要挂载的目录

mkdir -p ~/android_mount/

安装设备(可能需要几分钟)安装时还会显示设备信息

jmtpfs ~/android_mount/

如果你没有 SD 卡,现在你应该可以看到内部存储

ls -la ~/android_mount/

drwxrwxr-x 12 login login    0 Jan  3  44248648 Internal storage

如果它也有 SD 卡,那么它会显示 2 个条目

看看里面

ls -la ~/android_mount/Internal\ storage/

我的手机现在开始工作了......

答案4

我有 2 部 Galaxy 手机(一部 Note4 和一部 S8),奇怪的是,这个问题只出现在我的 S8 上。我设法通过安装 go-mtpfs gvfs-fuse 解决了这个问题,主要是limesuite-udev

相关内容