Вышла версия 3.0 Android File Transfer for Linux (и для OS X)
Здравствуйте, на связи широко известный в узких кругах LOR-driven проект по свободной простой и работающей реализации MTP.
Благодаря пользователям LOR было добавлено много новых классных фич, полностью переписан fuse враппер, используя inode low level API, добавлена поддержка сложных запросов GetObjectPropertyList, и для некоторых сценариев производительность fuse выросла в 100 (СТО!) раз и практически сравнялась с прямым доступом через USB.
Из заметных улучшений — перевод на русский, и вообще поддержка переводов, всякие улучшения UI, возможность собрать с qt4/qt5 по выбору. Убраны gather-scatter буферы, уменьшено потребление памяти, не выставляются ZLP флаги на устройствах где они не поддерживаются. Починен разрыв на заблокированных устройствах замзон. Добавлена поддержка libmagic.
Остальные изменения довольно мелкие и их очень много (закрыто 100 багов на данный момент), в частности переработана отмена транзакции, добавлена поддержка разных исключений под MacOSX, реализован парсер USB дескрипторов для конфигураций, где они не парсятся, более-лучшая типо/ошибко-безопасность за счет разделения ObjectId и StorageId в коде.
На гитхаб приходили и недовольные пользователи, которые отказались мне помогать разобраться с неработающими устройствами. Сейчас статус AFTL таков, что если не оно не работает, то скорее всего у вас проблема с хабом, проводом и/или ядром. Осталась всего одна известная ошибка, когда ядро линукс получает USB URB и не отдает его в юзерспейс до отключения устройства/прихода другого URB. Если вы сталкивались с чем-то подобным, напишите мне, кажется, мы перепробовали ВСЁ(вызывать дьявола тоже), но пока безрезультатно.
Огромное спасибо за весь фидбек (за плохой тоже)! Те кто не увидел в этом релизе запрошенные фичи, не расстраивайтесь, я не отказался реализовывать ни одной новой возможности, просто последнее время у меня произошло очень много изменений в реальной жизни, смена страны жительства и всякое такое. Пишите!
PS напишите в свой любимый дистрибутив баг «добавьте новый пакет»! :)
PPS хочется порт на freebsd, just for fun, энтузиасты, пишите.
android, mtp, боль