私は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アクセスを介して機能します。
私は私のopenSUSEに関しても同様の問題を抱えていました。 jmtpfs
、kio-mtp
、mtp-tools
をインストールした後、問題は消え、すべてが正しく動作し始めました。
マウントポイントが~/Android_mount/
のjmtpfs
または同様のツールをすでに使用している場合は、まずそれがマウントされていないことを確認します。
# unmount previously mounted device
fusermount -u ~/Android_mount/
# this should show empty directory
ls -la ~/Android_mount/
df
の出力を使って、おそらく他の場所にマウントされているかどうかを確認することもできます。
それ以外の場合は、新しいマウントポイントを作成し、~/Android_mount/
と言って、それをUSBケーブルで接続して「ファイル転送」モードに切り替えた後、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
を追加してもらえますか?
Synapticのgvfs、mtp *パッケージを見て、package-> force package versionの下で(codename)-updatesに設定してください。失敗した場合は、パッケージを削除し、削除したすべてのパッケージを再インストールしてください。パッケージはおそらく適切なバージョンにアップグレードされませんでした。
再起動すると、Androidデバイスが開いているはずです。
マウントするディレクトリを作る
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/
私の携帯は今動き始めます...
MTPが機能しない場合は、代わりにKDE Connectを試してください。
これらの参考文献を参照してください。