Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v3.0: is already used by another process #129

Closed
romale opened this issue Aug 12, 2016 · 7 comments
Closed

v3.0: is already used by another process #129

romale opened this issue Aug 12, 2016 · 7 comments

Comments

@romale
Copy link

romale commented Aug 12, 2016

Phone: Acer Z630
Android: 5.1
Desktop: Opensuse 13.1 x86_64

android-file-transfer-linux-3.0/build$ ./fuse/aft-mtp-mount ~/my-device

android-file-transfer-linux-3.0/build$ l ~/my-device
итого 16
drwxr-xr-x 0 root root 0 авг 12 11:10 ./
drwx--x---+ 158 username username 16384 авг 12 11:04 ../
drwxr-xr-x 0 root root 0 авг 12 11:10 Память телефона/

android-file-transfer-linux-3.0/build$ ./qt/android-file-transfer
upload worker started
Device::FindDevice is already used by another process
Device::FindDevice is already used by another process
Device::FindDevice is already used by another process

Qt Error:
"Не найдено ни одного устройства MTP"

@whoozle
Copy link
Owner

whoozle commented Aug 12, 2016

MTP поддерживает сессии, но USB разрешает claim interface делать только одному процессу. вы можете использовать либо fuse, либо android-file-transfer, на выбор, что вам больше нравится.

@whoozle
Copy link
Owner

whoozle commented Aug 12, 2016

По идее конечно можно сделать процесс, который будет обслуживать mtp на уровне системы, но тогда все остальные должны уметь с ним работать, и концептуально это очень похоже на fuse :P

@nekromant
Copy link

@whoozle Насколько знаю, claim_interface это опциональная блокировка, реализованная на уровне libusb (В стандарте USB про него ничего нет). Более того, использование интерфейса без claim'а допустимо.

@whoozle
Copy link
Owner

whoozle commented Aug 12, 2016

да, но есть нюанс, -- usbcore пишет в dmesg ошибку при любом обращении к интерфейсу :) (без claim)

@whoozle
Copy link
Owner

whoozle commented Aug 18, 2016

реализованная на уровне libusb

я не использую libusb. это блокировка в ядре, и она нужна, потому что usb эксклюзивно должен использоваться, как я понимаю.

@nekromant
Copy link

nekromant commented Aug 21, 2016

Да, я имел в виду ядро, просто на тот момент был не в очень живом и адекватном состоянии ;)

Я предлагаю эту блокировку игнорировать по флажку из командной строки. По опыту могу сказать, что так можно и проблем у меня не вызывало ни разу. (Собственно, на том, что эту проверку можно игнорировать работает вот это: https://github.com/nekromant/pl2303gpio )

@whoozle
Copy link
Owner

whoozle commented Mar 6, 2017

я добавил опцию -C в cli/fuse враппер, не могли бы вы посмотреть, как это работает, если всё ок, то я буду добавлять в ui

@whoozle whoozle closed this as completed Jan 1, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants