LINUX.ORG.RU

Android File Transfer for Linux

 ,


7

5

Наверняка многие из вас используют MTP, наверняка кто-то успешно, но может быть у кого-то (как у меня) всё время случаются недокачанные файлы, пропавшие тэги, отсутствие обложек, обрывы соединения, зависания, отключения устройства, жуткие тормоза, замедление закачки при закачивании целых каталогов. Это всё из-за печально известной libmtp. Меня такое положение дел давно не устраивало и я написал свой MTP клиент, на c++11, с референсной реализацией модели для Qt.

Минимальный ui, создание папки, закачка папки, закачка альбома (с автоматической подборкой и установкой картинки). Никаких fuse, libmtp, libptp, только libusb и Qt, только хардкор.

Очень жду фидбека и хотелок в тракере github, обещаю пилить, так как постоянно использую сам.

>>> Исходный код на github



Проверено: anonymous_incognito ()
Последнее исправление: ymn (всего исправлений: 3)

Ответ на: комментарий от KennyMinigun

С чем? Это клон Android File Transfer, запустил, закачал, закрыл.

whoozle
() автор топика

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

wd
()
Ответ на: комментарий от Deleted

У меня они уже проходят. На лице нет, зато на теле есть. Брр...

a1batross ★★★★★
()

В рамках фидбека:

$ ./qt/android-file-transfer

upload worker started
Object::connect: No such signal QListView::showContextMenu(QPoint)
Object::connect:  (sender name:   'listView')
Object::connect:  (receiver name: 'MainWindow')
libusbx: error [submit_bulk_transfer] submiturb failed error -1 errno=16
libusb_bulk_transfer(_device->GetHandle(), _out->GetAddress(), const_cast<u8 *>(data.data()), data.size(), &tr, timeout): LIBUSB_ERROR_IO
anonymous
()
Ответ на: комментарий от anonymous

неправильный сигнал починил, errno 16 не видел, сейчас почитаю :)

whoozle
() автор топика
Ответ на: комментарий от anonymous

Это EBUSY, какое у вас ядро? я такое видел когда два процесса одновременно пытаются использовать устройство.

whoozle
() автор топика
Ответ на: комментарий от whoozle

3.13.0-46-generic

Сейчас если смартфон открыт в файловом менеджере, то получаю 'libusb_bulk_transfer(_device->GetHandle(), _out->GetAddress(), const_cast<u8 *>(data.data()), data.size(), &tr, timeout): LIBUSB_ERROR_IO', а если отмонтировать, то 'vector::_M_range_check'.

anonymous
()
Ответ на: комментарий от anonymous

Я забыл claim/release interface, может быть в этом дело, сделайте pull пожалуйста)

whoozle
() автор топика
Ответ на: комментарий от te111011010

да кому нужны эти файлы, главное чтобы фс была расово правильная

а если серьезно, то что за проблема с exfat? в арчике ВР

actionless ★★★★★
()
Ответ на: комментарий от oddmean

ftp долго для больших объемов. Я использую флешку, у которой с одной стороны usb, с другой - microusb. Заливаю на нее всякого, потом в пути копирую часть контента на телефон или потребляю прямо с нее.

makoven ★★★★★
()

Мне как то и adb хватало все эти годы:

adb push -p «$1» «/mnt/extsd/video/tvseries/$1»

на каталоге (F2 и выбор в меню в mc) и вперёд. Либо pull соответственно. И никаких монтирований-размонтирований.

Полагаю ты именно его сорцы и распотрошил?

black7
()
Ответ на: комментарий от KirG0FF

Есть ли возможность собрать вашу тулзу без Qt и использовать как консольный клиент?

adb же

black7
()
Ответ на: комментарий от makoven

ftp ... флешку

я один использую syncthing?.. что за бред? ТС! ты же рукастый и с кучей свободного времени, так? стругай патчи для libmtp!

t184256 ★★★★★
()

Как-то поздновато. Mtp вот начал уже нормально в линуксах работать, этак если мерять в убунтах, то с 14.10 можно пользоваться.

anonymous
()
Ответ на: комментарий от a1batross

И что постоянно включаешь/выключаешь adb? Небезопасно его держать включенным, втыкнешь в зараженную машину и поставит тебе всякое...

anonymous
()
Ответ на: комментарий от anonymous

Я свой телефон никуда не втыкаю. Я бы сказал, некуда, кроме своего ПК.

a1batross ★★★★★
()

Правильная штука, а то я давно использую исключительно ssh для доступа к телефону.

Evgueni ★★★★★
()
Ответ на: комментарий от irton

Да как угодно. Иногда через g_ether, иногда serial+ppp

mittorn ★★★★★
()

И только у меня смартфон спокойно монтируется как простая флешка потому что в Ленове додумались разделить память.

Polugnom ★★★★★
()

Надо попробовать, у меня с mtp тоже проблемы

mio ★★
()

Оно витало в воздухе... Спасибо за инфу, как будет возможность - попробую, ибо в новых вендроидах враги сломали массовый склад.

Hokum_new
()

Вах! Надо попробовать. Я уже почти смирился с rsync через ssh, но через USB скорость, всё же, должна бы быть повыше.

Axon ★★★★★
()
Ответ на: комментарий от irton

Расскажи как ты поднимаешь IP соединение при подключении по USB

А никак, копируем по вафле. Всё равно libmtp даже через USB тормозит ещё сильнее.

Axon ★★★★★
()
Ответ на: комментарий от Wizard_

И какой сервер на андроиде?

SSHelper годный. Огорчает только убогость андроидовского шелла, с которой ничего не поделать.

Axon ★★★★★
()

А зачем в названии слово Android? У меня, кстати, через kioslaves (KDE) ничего не пропадает и не зависает, небольшая задержка только при начальном открытии «директори».

slowhunter
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.