LinuxForum.Fans
Тема

Подключение Samsung Galaxy s20 в Manjaro Gnome

Автор: kish2015 17 сообщений 1629 просмотров
07.05.2022 13:14 #437552

Добрый день!

Хочу с телефона Samsung Galaxy s20 забрать все фото и видео, желательно не только в режиме чтения, но и удаления файлов с устройства.
Подключаю через провод к ноутбуку, далее:

Показать
sudo dmesg | tail  ✔
[ 3145.522987] hub 4-0:1.0: 2 ports detected
[ 3145.772920] usb 3-1: new high-speed USB device number 2 using xhci_hcd
[ 3145.918373] usb 3-1: New USB device found, idVendor=04e8, idProduct=6860, bcdDevice= c.00
[ 3145.918377] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 3145.918378] usb 3-1: Product: SAMSUNG_Android
[ 3145.918379] usb 3-1: Manufacturer: SAMSUNG
[ 3145.918380] usb 3-1: SerialNumber: R5CN30C9JWF

Устройство система видит в момент подсоединения провода. Но! Далее интереснее, на самом телефоне появляется сообщение: разрешить ли доступ к данным на телефоне (Запретить - Разрешить). Сразу как выбираю "Разрешить", Linux Manjaro перестаёт телефон определять:

Показать
[ 4163.209685] userif-3: sent link up event.
[ 4193.206878] userif-3: sent link up event.
[ 4223.210704] userif-3: sent link up event.
[ 4237.700202] usb 3-1: USB disconnect, device number 2
[ 4242.304447] audit: type=1334 audit(1651849679.347:221): prog-id=42 op=LOAD
[ 4242.366030] audit: type=1130 audit(1651849679.407:222): pid=1 uid=0 auid=4294967295 ses=4294967295 subj==unconfined msg='unit=fprintd comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'

Очень хотелось бы понять, почему так происходит? Радует то, что телефон хотя бы определяется до выдачи разрешения на доступ к данным на телефоне. Значит можно это исправить и примонтировать его с полным доступом к файловой системе Android? Если нужны дополнительные пакеты в системе, прошу объяснить, как их наличие проверить и установить в случае необходимости. Iphone цеплять не пробовал, но тоже интересно.

07.05.2022 14:24 #437553

Здравствуйте, kish2015.
Подключение Android-смартфона к Arch Linux

...из статьи

text

#Выполнить полное обновление системы
sudo pacman -Syu

#Попробовать подключить ещё раз... Если нет, то

#Установить эти пакеты: sudo pacman -S mtpfs gvfs-mtp

#Для активации PTP в файловом менеджере выполнить команду: sudo pacman -Sy gvfs-gphoto2

#Для завершения - перезагрузить комп и подключить смартфон sudo reboot

Если не попрёт, будем подключать через ADB. Благо в Арче с ADB всё в наилучшем виде.

07.05.2022 14:37 #437554

Делал по вот этому ролику: https://www.youtube.com/watch?v=o0xnl9eS7pU

#Установить эти пакеты:
sudo pacman -S mtpfs gvfs-mtp

#Для активации PTP в файловом менеджере выполнить команду:
sudo pacman -Sy gvfs-gphoto2

Эти пакеты установил

Не знаю, нужно это или нет, создал файл /etc/udev/rules.d/42-android.rules с содержимым:

text
SUBSYSTEMS=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="6860", MODE:="0666"

Потом сделал:

text
sudo udevadm control --reload-rules

В итоге:

Показать
mtp-detect  0|127 ✘
libmtp version: 1.1.19

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 3, dev 2
Attempting to connect device(s)
libusb_claim_interface() reports device is busy, likely in use by GVFS or KDE MTP device handling alreadyLIBMTP PANIC: Unable to initialize device
Unable to open raw device 0
OK.

И ещё момент, у меня не Arch, у меня Manjaro Gnome!

07.05.2022 14:56 #437556
"kish2015" написал:
Не знаю, нужно это или нет, создал файл /etc/udev/rules.d/42-android.rules с содержимым:

Это Вы самодеятельностью занялись. :) Есть уже готовый /usr/lib/udev/rules.d/51-android.rules, который содержится как зависимость к пакету android-tools. Тогда уж удалите Ваш рулес (42-android.rules) и поставьте android-tools целиком, а правила он подтянет. Включите пользователя в группу adbusers (её надо создать), перегрузитесь и посмотрите, что будет. Всё это странно, поскольку до ADB мы ещё не дошли. :D Так же в этой теме рекомендуют удалить пакет usb-modeswitch : Ubuntu не видит смартфоны. Нам сейчас всё пригодиться...

Так же не будет лишним добавить пользователя в группу "usb", если таковая имеется в Вашей системе... В разных системах по-разному... В Убунту - это группа plugdev, в Mageia/Fedora - usb, а в последних правилах 51-android.rules - adbusers. Какая именно в Manjaro (Arch) мне неведомо. Но всё крутится вокруг этого.

07.05.2022 17:00 #437557

поставьте android-tools целиком, а правила он подтянет. Включите пользователя в группу adbusers (её надо создать), перегрузитесь и посмотрите, что будет.

android-tools поставил, пользователя в группу adbusers добавил, перезапустился.

Когда подсоединяю кабель и до разрешения на доступ к файловой системе на самом телефоне:


После телефон отваливается как и было.

07.05.2022 17:08 #437558
"kish2015" написал:
После телефон отваливается как и было.

Как передавать файлы между Android и Linux

text

Если установка пакетов не помогла, проверьте файл fuse.conf:
отредактируйте /etc/fuse.conf
Найдите строку с #user_allow_other и убедитесь, что она раскомментирована, то есть выглядит так:
user_allow_other

...перезагрузка.

07.05.2022 17:14 · отредактировано #437559

user_allow_other

Проверил /etc/fuse.conf, раскомментирована.

cd /usr/lib/udev/rules.d; wget https://raw.githubusercontent.com/M0Rf30/android-udev-rules/master/51-android.rules -O ./51-android.rules

# И перезагружаемся:
reboot

это тоже сделал :)
Телефон отваливается сразу после разрешения на нём доступа к файловой системе. :)

Вот полностью такая же проблема, но я не пойму, что нужно сделать:
https://bbs.archlinux.org/viewtopic.php?id=267794

07.05.2022 17:27 #437560
"kish2015" написал:
cd /usr/lib/udev/rules.d; wget https://raw.githubusercontent.com/M0Rf3 … roid.rules -O ./51-android.rules

Я посмотрел в репах Manjaro - там уже был новый 51-android-rules, теперь, стало быть - ещё новее... :D Ладно... Давайте тогда через ADB...

1. Отключите телефон от компа
2. Включите не телефоне режим отладки по USB. Это важно.

3. Скачайте и распакуйте файл Source code (tar.gz) отсюда: https://github.com/AKotov-dev/adbmanager/releases

4. Зайдите в ./adbmanager-2.5/adbmanager и запустите файл adbmanager (всё под юзером, ни каких root-ов)

Откроется окно управления смартфонами

5. Подключите Ваш смартфон по USB
На смартфоне будет затребовано подтверждение ключа - нажмите "Ок"

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

Ну а дальше - жмём Менеджер SD-карты или то, что нужно...

Заодно проверим, как это хозяйство работает в Manjaro (если Вы не против конечно). :D

07.05.2022 21:40 · отредактировано #437561

alex_q_2000,
столько за сегодня перепробовал, что уже скептически загружал ADB, думал, что пустышка. Но результат сильно поменял настроение на противоположное.



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

Также выражаю особую благодарность alex_q_2000 за энтузиазм в решении моих трудностей. alex_q_2000, я оценил ваше чувство юмора в ответах. Надеюсь и впредь обращаться к вам и остальным участникам форума в непростых для меня ситуациях. :)

08.05.2022 09:06 #437563
"kish2015" написал:
столько за сегодня перепробовал, что уже скептически загружал ADB, думал, что пустышка. Но результат сильно поменял настроение на противоположное.

Слава тебе, Господи, законнектилось! Это потрясающе, теперь нужно грамотно зафиксировать итог наших с Вами усилий. :D

Судя по скриншоту, телефон был "перехвачен/подключен" до ADB на уровне файлового менеджера (вроде как - Nemo), т.е. по MTP/PTP, который в свою очередь занял порт USB, поэтому в списке устройств ADBManager-а смартфона не видать. Однако ADBManager поднял сервис adb, что привело к созданию ключа. Спрашивается: зачем он нужен? Хммм...

По информации от Rizado из предыдущего топика в том же Linux Mint - ADB не используется. Скорее всего используются только правила /usr/lib/udev/rules.d/51-android.rules. При встрече нужно мне не забыть и попросить Rizado показать cat /usr/lib/udev/rules.d/51-android.rules, поскольку есть подозрение, что хоть adb и не используется, но используются рулесы (они распространяются отдельным пакетом зависимостей для пакета android-tools, но также могут быть установлены/скачены вручную с гитхаба разработчиков).

По факту мы с Вами перебрали всё подряд, а что именно "сдетонировало" в данной ситуации - непонятно. Всё же я склоняюсь к тому, что были нужны указанные выше рулесы и включение юзера в группу adbusers + установка режима отладки по USB на телефоне.

Итог:

text

# Отключить телефон от компа
# Включить на телефоне "Режим отладки по USB"

# Обновить систему и установить пакеты mtpfs gvfs-mtp gvfs-gphoto2

# Раскомментировать в /etc/fuse.conf user_allow_other

# Создать группу adbusers, включить в неё активного пользователя, # зайти в каталог основных правил и скачать/заменить правила для android-ов: sudo -s вводим пароль, Enter

groupadd adbusers; usermod -aG adbusers $(logname); cd /usr/lib/udev/rules.d; wget https://raw.githubusercontent.com/M0Rf30/android-udev-rules/master/51-android.rules -O ./51-android.rules

# Перезагрузить комп и подключить телефон reboot

Теперь хотя бы вырисовывается какая-то последовательность во всей этой неустойчивой "конструкции". В любом случае, благодарю Вас за тестирование. Приходите к нам ещё. *BYE*

08.05.2022 09:23 #437564
"alex_q_2000" написал:
При встрече нужно

Встреча не знаю когда будет, я пока что на материк не собираюсь :) .

"alex_q_2000" написал:
оказать cat /usr/lib/udev/rules.d/51-android.rules

Такого файла нет. В той папке с подходящим названием только 61-persistent-storage-android.rules, вот его содержимое:

text
# Android based kernel exports the uevent property PARTNAME, which can be
# used to find out at run time the named partitions (e.g. boot) for the
# device. This is specially useful for the Touch based images and flash-kernel,
# to automatically update the kernel by writing at the correct partition
# (independently of the hardware revision).
ACTION!="remove", KERNEL=="mmcblk[0-9]p[0-9]", ENV{PARTNAME}=="?*", SYMLINK+="disk/by-partlabel/$env{PARTNAME}"
"alex_q_2000" написал:
По информации от Rizado из предыдущего топика в том же Linux Mint - ADB не используется.

Как минимум для подключения телефона - да, не нужно. А так используется, просто я на своём давно сделал всё, что хотел, работает - и хорошо, нечего в систему лазить.

08.05.2022 09:41 #437565
"Rizado" написал:
Встреча не знаю когда будет, я пока что на материк не собираюсь .

Привет. Ну, когда-нибудь это случится: туризм, проф. интерес, за железкой какой-нибудь и т.д. и т.п. :)

"Rizado" написал:
Такого файла нет. В той папке с подходящим названием только 61-persistent-storage-android.rules, вот его содержимое:

А вот это странно. Кстати, у меня и 61-persistent-storage-android.rules отсутствует. Мдааа... Выходит, сколько ФМ, столько и методов; в каждом DE по-разному. Чувствую, какого-то стандартного для всех способа подключения смартфонов не найти, другими словами - очередной бубен.

"Rizado" написал:
Как минимум для подключения телефона - да, не нужно. А так используется, просто я на своём давно сделал всё, что хотел, работает - и хорошо, нечего в систему лазить.

Однозначно, трогать отлаженный механизм незачем. Я тоже сторонник консервативного подхода: агрегат настраивается один раз, после этого лучше к нему не подходить как можно дольше. Чем дольше не подходишь, чем больше уверенности в том, что больше ничего не отвалится раньше времени. Это мудро. :)

08.05.2022 09:58 #437566
"alex_q_2000" написал:
Выходит, сколько ФМ, столько и методов; в каждом DE по-разному.

Cinnamon, Nemo - всё достаточно стандартно. Из интереса уже поставил ADB, перезагрузил систему - всё так же работает, как и до установки.
Если это имеет значение, телефон Honor 8X.

08.05.2022 18:07 #437573

Слава тебе, Господи, законнектилось! Это потрясающе, теперь нужно грамотно зафиксировать итог наших с Вами усилий. ag

Сам очень доволен :)

Судя по скриншоту, телефон был "перехвачен/подключен" до ADB на уровне файлового менеджера (вроде как - Nemo), т.е. по MTP/PTP, который в свою очередь занял порт USB, поэтому в списке устройств ADBManager-а смартфона не видать. Однако ADBManager поднял сервис adb, что привело к созданию ключа. Спрашивается: зачем он нужен? Хммм...

Никаких перехватов нигде нет, скриншотом я хотел показать, что доступ к ФС телефона возможен только через сервис adb. Что касается Nautilus, то как он не умел монтировать устройство через USB, так и не умеет. Я думаю, что это именно баг Arch\Manjaro совместный. Но уже то, что телефон система хотя бы видит, но не умеет пока работать с его ФС - меня радует. Надо отписываться разработчикам, отправлять логи, но думаю, что о проблеме знают, моя тема не единична.

По информации от Rizado из предыдущего топика в том же Linux Mint - ADB не используется. Скорее всего используются только правила /usr/lib/udev/rules.d/51-android.rules. При встрече нужно мне не забыть и попросить Rizado показать cat /usr/lib/udev/rules.d/51-android.rules, поскольку есть подозрение, что хоть adb и не используется, но используются рулесы (они распространяются отдельным пакетом зависимостей для пакета android-tools, но также могут быть установлены/скачены вручную с гитхаба разработчиков).

Если в Mint всё прекрасно работает с автомонтированием, то это же прекрасно, такую удачную практику бы позаимствовать разработчикам Manjaro.

По факту мы с Вами перебрали всё подряд, а что именно "сдетонировало" в данной ситуации - непонятно. Всё же я склоняюсь к тому, что были нужны указанные выше рулесы и включение юзера в группу adbusers + установка режима отладки по USB на телефоне.

Мне лично всё предельно ясно, ничего лишнего в систему тянуть не нужно, кто бы там и что не говорил. Нужно создать группу, включить своего пользователя в него и всё, режим отладки на телефоне включать не обязательно, лично в этом убедился.

# Обновить систему и установить пакеты
mtpfs gvfs-mtp gvfs-gphoto2

Ну если Nautilus научат работать с телефоном через USB, то пакеты нужны, если же нет, то и ни к чему.

оказать cat /usr/lib/udev/rules.d/51-android.rules

Если будет возможность проверить на чистой системе без изменений\обновлений этих правил, проверю. На 99% уверен, что они тут не причём. Всё работает и на базовых правилах.

08.05.2022 20:46 #437574
"kish2015" написал:
Если в Mint всё прекрасно работает с автомонтированием, то это же прекрасно, такую удачную практику бы позаимствовать разработчикам Manjaro.

Попробуйте ради эксперимента Manjaro Cinnamon. GNOME 3, как по мне, гадость редкостная. Я им мог пользоваться только при установленных Mint Gnome Shell Extensions, это было более 10 лет назад. А с выпуском Cinnamon перешёл на него. Хотя пробовал и MATE, и KDE, и много что ещё.

08.05.2022 22:15 #437575

Попробуйте ради эксперимента Manjaro Cinnamon

Систему пока настроил, трогать не хочется. Но вообще хочу хоть раз попробовать Arch. Заметил за собой, что часто ввожу команды, и не всегда понятно, что они означают. Просто помню, что так уже делал, и должно сработать :)
Надеюсь, Arch прояснит побольше.

GNOME 3, как по мне, гадость редкостная. Я им мог пользоваться только при установленных Mint Gnome Shell Extensions, это было более 10 лет назад.

Вообще Gnome за эти 10 лет сильно поменялся, поставьте как-нибудь, может улучшится ваше впечатление. Могу одно сказать, что пробовал несколько раз KDE, и вот что не очень, то не очень. Вижу часто скриншоты новых его релизов, но моё впечатление не меняется, вот прям не то :) Сам я начинал с отечественного дистрибутива Alt Linux, не прижился он у меня и месяца, там тоже был KDE потом много было экспериментов. Захватил меня Debian 8, но это дистрибутив для продвинутых, надо было уметь решать конфликты между зависимостями. Тогда под него не было ещё даже steam native, не говоря уже, о сегодняшнем серьезном Proton. Начал было спрашивать на форумах, как поиграть через bumblebee, меня "мягко отправили" в сторону Manjaro. Для новичков - самое то, особенно мне нравится AUR, если что-то не компилится, то смотрю на дату последних изменений в пакете. Так же там в репозиториях Arch довольно активно всё комментируется, мелочь, а очень приятно, когда ни у меня одного не ладится. В дальнейших планах Arch, затем Ubuntu для полноты картины и впечатлений. Вообще, мне Linux представляется до сих пор очень загадочной экосистемой, где в каждом дистрибутиве свои незначительные нюансы, и пока не повозишься сам с чем-либо, заявить про самого себя где-то что уже прям всё ни по чём ну ни как в себе это не ощущаю :) Конечно, если отталкиваться от базовых потребностей: посерфить интернет в браузере, прочесть ленту новостей в яндексе и там ещё Grand Theft Auto 5 через Steam Proton, то достаточно уметь подключать сторонние репозитории для приоритарщины всякой ну и смотреть лог по ходу обновлений системы. У меня под 5.13 ядро не собирались dkms-модули для nvidia, vmware, и т.д. Поставил 5.17, и в резерв 5.16. Для обоих ядер dkms каждый раз собирает всё без вопросов, уже начал привыкать, что всё проходит без лишних хлопот и поиска решений очередных нюансов. Тут в общем надо повнимательнее, если уж решаешься обновляться. Просто решил с вами поделиться собственным опытом.

Cinnamon ни в одном дистрибутиве ни разу не пробовал, как-то Mint не зашёл мне, и я уже по ассоциации с ним его не ставил. Но иногда для разнообразия, думаю, что оно может и не плохо попробовать. XFCE тоже в глаза не видел.

Я сильно ушёл от темы, прошу о некотором милосердии модераторов в этом отношении. Но описанный мой опыт может и других людей вдохновить на развитие своего кругозора в среде Linux. Планы дальнейшие у меня интересные, по мере их развития, тут порадую вас всех может быть понемножку.

11.05.2022 17:10 #437576
"kish2015" написал:
Вообще Gnome за эти 10 лет сильно поменялся, поставьте как-нибудь, может улучшится ваше впечатление.

Главная претензия к GNOME - очень кривая реализация переключения раскладки. Вообще, это общая проблема Linux - переключение раскладки по нажатию клавиш. У «динозавров» типа меня, работающих с компьютерами почти 30 лет и начинавших без мыши, осталась привычка пользоваться хоткеями, а мышью по минимуму. Ну так вот, из старых привычек времён Win9x у меня переключение раскладки по Ctrl+Shift. Удобно в том плане, что обычно переключаю, нажимая одним пальцем. Если это осуществляется по отпусканию клавиш, проблем нет. А если по нажатию, то не работают все комбинации вида Ctrl+Shift+буква или Ctrl+Shift+цифра. Для Ubuntu/Mint (это почти одно и то же) есть пропатченый XServer, где переключение осуществляется по отпусканию клавиш, все хоткеи работают (кстати, для Manjaro подобный патч тоже есть). Этот патч работает в KDE, Cinnamon, MATE, XFCE и т.д., но только не в GNOME - там работа с клавиатурой реализована через всем известное место. Переучиваться не хочу - у меня установлено несколько ОС с почти одинаковыми настройками.

"kish2015" написал:
Сам я начинал с отечественного дистрибутива Alt Linux

Я начинал в начале нулевых с Mandrake (даже ещё не Mandriva) и ASP Linux. Пробовал много что, но остановился на Ubuntu - простая и всё работает. Потом плавно перешёл на Mint - та же Ubuntu (и даже используются её репозитории) плюс свой набор тем оформления и несколько приложений.

"kish2015" написал:
Я сильно ушёл от темы, прошу о некотором милосердии модераторов в этом отношении.

Вы, похоже, не поняли, с кем общаетесь здесь :) . Не переживайте, ругать не будем, только предлагаю разговоры вынести в отдельную тему.

Update. kish2015, для вас выложил скриншоты Cinnamon, у меня установлены две версии - текущая и бета. Надпись на кнопке меню переводится с испанского как "давайте", "делаем", "идём" - зависит от контекста.
https://linuxforum.ru/viewtopic.php?pid=470191#p470191

Часть сообщений перенесена в новую тему: ADB Manager
Мы слишком уж отошли от начального вопроса.

Войдите или зарегистрируйтесь, чтобы ответить.