1

Здравствуйте. Приобрел Android планшет, Acer a500, но к сожалению он использует протокол MTP для передачи данных через USB с ПК. Нашел информацию как это сделать на Fedora 16, но у меня возникли проблемы с сборкой пакета MTPfs. Устанавливаю все зависимости, с этим проблем нет, но после make install мне выводится следующие:

test -z "/usr/local/bin" || /bin/mkdir -p "/usr/local/bin"
/usr/bin/install -c mtpfs '/usr/local/bin'
make[1]: Цель `install-data-am' не требует выполнения команд.
make[1]: Выход из каталога `/home/aquavis/Downloads/mtpfs-1.0'

Я пробовал как mtpfs версии 1.1, так и версии 1.0.

P.S. Мне очень и очень редко приходилось устанавливать программы таким вот способом, поэтому я не очень понимаю как это правильней делается. В какой папке лучше устанавливать (собирать) программы?

2

А в обычный режим эта штука не переключается?

3

Нет, Android с версией 3.0 и выше (у меня Android 4.0.3) не умеет. Только по MTP. (

4

По этой инструкции делал http://ololoo.info/66/ ?

5

Vascom пишет:

По этой инструкции делал http://ololoo.info/66/ ?

Спасибо за ссылку. Но у меня не проходит make install, как описано выше.

6

А make проходит нормально? Покажи весь лог.

7

У меня собралось всё отлично, даже опакетил.
Могу дать src.rpm или собранный пакет для i686

8

Vascom пишет:

А make проходит нормально? Покажи весь лог.

[root@aquavis mtpfs-1.0]# cd /home/aquavis/Downloads/mtpfs-1.1/
[root@aquavis mtpfs-1.1]# ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking whether gcc and cc understand -c and -o together... yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for FUSE... yes
checking for MTP... yes
checking for GLIB... yes
checking for MAD... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: executing depfiles commands
[root@aquavis mtpfs-1.1]# make
gcc -DPACKAGE_NAME=\"MTPfs\" -DPACKAGE_TARNAME=\"mtpfs\" -DPACKAGE_VERSION=\"1.1\" -DPACKAGE_STRING=\"MTPfs\ 1.1\" -DPACKAGE_BUGREPORT=\"Chris\ Debenham\ \<chris@adebenham.com\>\" -DPACKAGE_URL=\"\" -DPACKAGE=\"mtpfs\" -DVERSION=\"1.1\" -DDEBUG=0 -I.  -DFUSE_USE_VERSION=22 -D_FILE_OFFSET_BITS=64 -I/usr/include/fuse   -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include     -DUSEMAD   -g -O2 -MT mtpfs-mtpfs.o -MD -MP -MF .deps/mtpfs-mtpfs.Tpo -c -o mtpfs-mtpfs.o `test -f 'mtpfs.c' || echo './'`mtpfs.c
mv -f .deps/mtpfs-mtpfs.Tpo .deps/mtpfs-mtpfs.Po
gcc -DPACKAGE_NAME=\"MTPfs\" -DPACKAGE_TARNAME=\"mtpfs\" -DPACKAGE_VERSION=\"1.1\" -DPACKAGE_STRING=\"MTPfs\ 1.1\" -DPACKAGE_BUGREPORT=\"Chris\ Debenham\ \<chris@adebenham.com\>\" -DPACKAGE_URL=\"\" -DPACKAGE=\"mtpfs\" -DVERSION=\"1.1\" -DDEBUG=0 -I.  -DFUSE_USE_VERSION=22 -D_FILE_OFFSET_BITS=64 -I/usr/include/fuse   -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include     -DUSEMAD   -g -O2 -MT mtpfs-id3read.o -MD -MP -MF .deps/mtpfs-id3read.Tpo -c -o mtpfs-id3read.o `test -f 'id3read.c' || echo './'`id3read.c
mv -f .deps/mtpfs-id3read.Tpo .deps/mtpfs-id3read.Po
gcc  -g -O2   -o mtpfs mtpfs-mtpfs.o mtpfs-id3read.o -pthread -L/lib64 -lfuse -lrt -ldl   -pthread -lgio-2.0 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0   -L/lib64 -lmtp -lusb   -lmad -lm -lid3tag   
[root@aquavis mtpfs-1.1]# make install
make[1]: Вход в каталог `/home/aquavis/Downloads/mtpfs-1.1'
test -z "/usr/local/bin" || /bin/mkdir -p "/usr/local/bin"
  /usr/bin/install -c mtpfs '/usr/local/bin'
make[1]: Цель `install-data-am' не требует выполнения команд.
make[1]: Выход из каталога `/home/aquavis/Downloads/mtpfs-1.1'
[root@aquavis mtpfs-1.1]# 

9

Vascom пишет:

У меня собралось всё отлично, даже опакетил.
Могу дать src.rpm или собранный пакет для i686

Даже не знаю в чем проблема. У меня x86_64, я помню как то давно пробовал так же поставить и на 32 битную систему, та же история была. (

10

А если сделать
make install DESTDIR=/usr/bin

Но вот тебе src.rpm сделай над ним rpmbuild --rebuild и получишь нужный пакет.

11

Vascom пишет:

А если сделать
make install DESTDIR=/usr/bin

Но вот тебе src.rpm сделай над ним rpmbuild --rebuild и получишь нужный пакет.

Спасибо огромное за src.rpm. Всё заработало. Проблема решена. )

12

Обнаружилась другая проблема, устройство монтируется, показывает внутреннюю память и SD-карту, но вот при копировании файлов на устройство выскакивает сообщение что нет прав. Все права присвоены пользователю, пробовал создавать папку для монтирования как в домашней папке так и в /media. Та же проблема и от root. Смотрел опции монтирования, но так ничего и не нашел нужного.

13

Покажи вывод ls -la /media/папка_монтирования после монтирования.

14

Само монтирование проходит так:

[root@aquavis aquavis]# mount a500
Listing raw device(s)
Device 0 (VID=0502 and PID=3341) is a Acer Iconia TAB A500 v2.
   Found 1 device(s):
   Acer: Iconia TAB A500 v2 (0502:3341) @ bus 1, dev 4
Attempting to connect device
Android device detected, assigning default bug flags
Listing File Information on Device with name: (NULL)
[root@aquavis aquavis]# 

Вывод "ls -la" после монтирования:

[root@aquavis aquavis]# ls -la /home/aquavis/a500
итого 4
drwxrwxrwx.  2 root    root       0 янв.   1  1970 .
drwx------. 42 aquavis aquavis 4096 марта 21 08:23 ..
drwxrwxrwx.  2 root    root       0 янв.   1  1970 Internal Storage
drwxrwxrwx.  2 root    root       0 янв.   1  1970 Playlists
drwxrwxrwx.  2 root    root       0 янв.   1  1970 SD Card
[root@aquavis aquavis]# 

15

А ls -la для SD Card?
Пока всё выглядит нормально. Покажи что происходит, когда копируешь через cp. И соответственно ls -la для того каталога, куда копируешь.

16

Как то странно получается, я тут перепутал "\" с "/", он показал:

[root@aquavis aquavis]# ls -la /home/aquavis/a500/SD/ card
ls: невозможно получить доступ к card: Нет такого файла или каталога
/home/aquavis/a500/SD/:
ls: невозможно получить доступ к /home/aquavis/a500/SD/com.gameloft.android.ANMP.GloftM3HM: Нет такого файла или каталога
ls: невозможно получить доступ к /home/aquavis/a500/SD/VKVideoMP3: Нет такого файла или каталога
ls: невозможно получить доступ к /home/aquavis/a500/SD/LOST.DIR: Нет такого файла или каталога
ls: невозможно получить доступ к /home/aquavis/a500/SD/DCIM: Нет такого файла или каталога
ls: невозможно получить доступ к /home/aquavis/a500/SD/FLEXREAPER-R9-AR-ABD-FINAL.zip: Нет такого файла или каталога
ls: невозможно получить доступ к /home/aquavis/a500/SD/FLEXREAPER-R10-ICS-0.022.00.zip: Нет такого файла или каталога
итого 0
drwxrwxrwx. 2 root root 0 янв.   1  1970 .
drwxrwxrwx. 2 root root 0 янв.   1  1970 ..
d?????????? ? ?    ?    ?              ? com.gameloft.android.ANMP.GloftM3HM
d?????????? ? ?    ?    ?              ? DCIM
-?????????? ? ?    ?    ?              ? FLEXREAPER-R10-ICS-0.022.00.zip
-?????????? ? ?    ?    ?              ? FLEXREAPER-R9-AR-ABD-FINAL.zip
d?????????? ? ?    ?    ?              ? LOST.DIR
d?????????? ? ?    ?    ?              ? VKVideoMP3

То есть он что то увидел всё же, но когда вводишь всё правильно:

[root@aquavis aquavis]# ls -la /home/aquavis/a500/SD\ card
итого 0
drwxrwxrwx. 2 root root 0 янв.   1  1970 .
drwxrwxrwx. 2 root root 0 янв.   1  1970 ..
[root@aquavis aquavis]# 

17

Сделай

ls -la "/home/aquavis/a500/SD Card"

К тому же "SD Card" и "SD card" - это совершенно разные вещи.

18

Vascom пишет:

Сделай

ls -la "/home/aquavis/a500/SD Card"

К тому же "SD Card" и "SD card" - это совершенно разные вещи.

Да, что то не обратил внимание.

[root@aquavis aquavis]# ls -la "/home/aquavis/a500/SD Card"
итого 815826
drwxrwxrwx. 2 root root         0 янв.   1  1970 .
drwxrwxrwx. 2 root root         0 янв.   1  1970 ..
drwxrwxrwx. 2 root root         0 янв.   1  1970 com.gameloft.android.ANMP.GloftM3HM
drwxrwxrwx. 2 root root         0 янв.   1  1970 DCIM
-rwxrwxrwx. 1 root root 410480551 марта 20 20:30 FLEXREAPER-R10-ICS-0.022.00.zip
-rwxrwxrwx. 1 root root 424924908 марта 14 18:23 FLEXREAPER-R9-AR-ABD-FINAL.zip
drwxrwxrwx. 2 root root         0 янв.   1  1970 LOST.DIR
drwxrwxrwx. 2 root root         0 янв.   1  1970 VKVideoMP3
[root@aquavis aquavis]# 

Попробовал небольшой файл переместить "sc.jpg" весом 65Кб, переместился нормально, попробовал zip файл переместить весом 391Мб. Вот что получилось:

[root@aquavis aquavis]# cp /home/aquavis/sc.jpg "/home/aquavis/a500/SD Card"
[root@aquavis aquavis]# cd "/home/aquavis/a500/SD Card"
[root@aquavis SD Card]# ls
com.gameloft.android.ANMP.GloftM3HM  DCIM  FLEXREAPER-R10-ICS-0.022.00.zip  FLEXREAPER-R9-AR-ABD-FINAL.zip  LOST.DIR  sc.jpg  VKVideoMP3
[root@aquavis SD Card]# cp /home/aquavis/FLEXREAPER-R10-ICS-0.022.00.zip "/home/aquavis/a500/SD Card"
cp: не удалось выполнить stat для «/home/aquavis/a500/SD Card/FLEXREAPER-R10-ICS-0.022.00.zip»: Программа вызвала сброс соединения
[root@aquavis SD Card]#

После этой манипуляции папка a500 вообще пропала. Может проблема в самом пакете mtpfs?

19

Ну не знаю. Либо этот mtpfs столь древний и кривой, либо... Надо искать пути обхода подключения по MTP. Например подключаться через сетевое соединение (на андроиде для этого полно программ).

20

В общем, тебе надо обновить андроид до 3.2. И всё будет доступно без бубна.
Вот пруф http://4pda.ru/forum/index.php?showtopi … &st=36