Подключение телефона Samsung Android 8.0 к Kubuntu 14.04 через USB

Я пытаюсь подключить новый телефон Samsung Galaxy S7 с Android 8.0 к компьютеру Kubuntu 14.04 через USB.

Когда я подключаю устройство, оно обычно отображается в уведомлении устройства моего компьютера. я проверяю 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. Ничего не меняется в доступе к File Manager, пока 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 Диалог.

Я помню, как пробовал другой телефон Samsung Android (думаю, 6.0 или 7.0) на другой компьютер Kubuntu 14.04 с тем же No Storages found а также ALLOW/DENY поведение, но мне было все равно, потому что это был не мой телефон.

Я потерял бесчисленные часы, пытаясь найти другие обходные пути, но безуспешно. Я не могу изменить свою операционную систему, по крайней мере, сейчас. Это все еще поддерживается в течение еще шести месяцев, в то время как новая система, кажется, не работает лучше. Я также не могу сменить телефон, но невозможность передачи файлов через USB делает его бесполезным.

Такие вещи должны действительно работать из коробки, верно?

1 ответ

Проверьте /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

Выйдите из сеанса и войдите снова. Вместо этого я рекомендую перезагрузку.

Другие вопросы по тегам