Я пытаюсь подключить совершенно новый телефон Samsung Galaxy S7 с Android 8.0 к моему компьютеру Kubuntu 14.04 через USB.
Когда я подключаю устройство, это обычно появляется на устройстве notifier моего компьютера. Я проверяю SAMSUNG_Android
-> Open with File Manager
, как я сделал со своим старым устройством Android 5.0 (который был всегда нестабилен, но работал). В то же время говорится в уведомлении на устройстве Android system: Transferring media files via USB
.
Диалоговое окно говорит No Storages found. Maybe you need to unlock your device?
на компьютере, в то время как устройство не заблокировано. В то же время диалоговое окно появляется на устройстве, говоря Allow access to phone data? The connected device will be able to access data on this phone. DENY/ALLOW
. Я проверяю ALLOW
но файловый менеджер просто показывает пустую папку, и обновление не помогает. Неважно, сколько раз я повторяю, поведение всегда является тем же, и я никогда не добираюсь для доступа к любым данным.
Следуя совету относительно форумов Android, я включаю Developer options
и USB debugging
по телефону, в то время как USB Configuration
MTP (Media Transfer Protocol)
по умолчанию.
На компьютере я пытаюсь установить и использовать mtpfs
и jmtpfs
, без успеха. Мое понимание то, что они оба использование libmtp
внизу. Я имею libmtp 1.1.6
и mtp-detect
говорит
Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.6
Listing raw device(s)
Device 0 (VID=04e8 and PID=6860) is a Samsung Galaxy models (MTP).
Found 1 device(s):
Samsung: Galaxy models (MTP) (04e8:6860) @ bus 5, dev 8
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
LIBMTP ERROR: couldnt parse extension samsung.com/devicestatus:1
Error 1: Get Storage information failed.
Error 2: PTP Layer error 02fe: get_handles_recursively(): could not get object handles.
Error 2: Error 02fe: PTP: Protocol error, data expected
USB low-level info:
bcdUSB: 512
bDeviceClass: 0
bDeviceSubClass: 0
bDeviceProtocol: 0
idVendor: 04e8
idProduct: 6860
IN endpoint maxpacket: 512 bytes
OUT endpoint maxpacket: 512 bytes
Raw device info:
Bus location: 5
Device number: 8
Device entry info:
Vendor: Samsung
Vendor id: 0x04e8
Product: Galaxy models (MTP)
Vendor id: 0x6860
Device flags: 0x48000207
сопровождаемый набором дополнительной информации.
Я пытаюсь подключить телефон к компьютеру Windows 7, и он работает отлично.
Я затем пробую то же к виртуальной машине Windows 7 в моем хосте Kubuntu 14.04, но к сожалению никакое USB-устройство не замечено.
Затем я пробую виртуальную машину Kubuntu 18.04 в том же хосте Kubuntu 14.04. Это видит USB-устройство, но после доступа с Файловым менеджером как выше, говорит диалоговое окно на компьютере The process for the mtp protocol died unexpectedly
в то время как ничто не появляется на устройстве. Такое сообщение все еще появляется случайным образом с моим старым телефоном Android 5.0 на моем компьютере Kubuntu 14.04, но в конечном счете это работает; в то время как здесь отказ последователен. mtp-detect
теперь говорит
libmtp version: 1.1.13
Listing raw device(s)
Device 0 (VID=04e8 and PID=6860) is a Samsung Galaxy models (MTP).
Found 1 device(s):
Samsung: Galaxy models (MTP) (04e8:6860) @ bus 1, dev 4
Attempting to connect device(s)
LIBMTP PANIC: Could not open session! (Return code 8194)
Try to reset the device.
Unable to open raw device 0
OK.
Гугля то сообщение, я ничто не могу найти полезным.
Наконец, я устанавливаю последнее libmtp 1.1.15
из источника на моем Kubuntu 14.04. Ничто не изменяется в доступе Файлового менеджера, в то время как mtp-detect
так же говорит
Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.15
Listing raw device(s)
Device 0 (VID=04e8 and PID=6860) is a Samsung Galaxy models (MTP).
Found 1 device(s):
Samsung: Galaxy models (MTP) (04e8:6860) @ bus 5, dev 16
Attempting to connect device(s)
LIBMTP PANIC: Could not open session! (Return code 8194)
Try to reset the device.
Unable to open raw device 0
OK.
и устройство показывает знакомое ALLOW/DENY
диалоговое окно.
Я не забываю пробовать другой телефон на базе Android Samsung (6.0, или 7.0 я думаю) к другому компьютеру Kubuntu 14.04 с тем же No Storages found
и ALLOW/DENY
поведение, но я не заботился очень в то время, потому что это не было моим телефоном.
Я потерял бесчисленные часы, пробуя другие обходные решения без успеха. Я не могу изменить свою операционную систему, по крайней мере, не теперь. Это все еще поддерживается в течение еще шести месяцев, в то время как новая система, кажется, не работает немного лучше. Я не могу изменить телефон также, но не бывший способный передавать файлы через USB делает это бесполезным.
Такие вещи должны действительно работать из поля, правильно?
Проверьте /etc/udev/rules.d
для файла с именем xx-android.rules
. Я считаю, что я создал свой вручную, но это было много лет назад. Возможно, 14.04, когда вы бежите. Мой файл правил для Android называется 51-android.rules
.
Если этот файл существует, откройте его, чтобы определить, включено ли ваше конкретное устройство. Я готов поспорить, что это не так.
Если нет,
`sudo <your_favorite_editor> /etc/udev/rules.d/xx-android.rules`
и добавьте следующее правило
`ATTR{idVendor}=="04e8", ATTR{idProduct}=="6860", SYMLINK+="libmtp-%k", ENV{ID_MTP_DEVICE}="1", ENV{ID_MEDIA_PLAYER}="1"`
Если у вас нет файла xx-android.rules, дайте мне знать, и я расскажу как его создать.
Только для GP, вот шаблон для файлов правил для Android
SUBSYSTEM!="usb", GOTO="android_usb_rules_end"
LABEL="android_usb_rules_begin"
ATTR{idVendor}=="04e8", ATTR{idProduct}=="6860", SYMINK+="libmtp-%k", ENV{ID_MTP_DEVICE}="1", ENV{ID_MEDIA_PLAYER}="1"
LABEL="android_usb_rules_end"
Следующее требует корневых прав ... Поместите шаблон в /etc/udev/rules.d/. Сохранить как xx-android.rules, где «xx» - это число от 10 до 99. IE; 51-android.rules
Выйдите из сеанса и войдите снова. Я рекомендую вместо этого перезагрузиться.