indeviral |
|
Темы:
38
Сообщения:
3196
Участник с: 10 августа 2013
|
Как заставить udev при размонтировании отличать mtp от обычной флэшки?
может подскажет кто какой-нить фокус?? а то на макбук пока денег нету)))
Ошибки в тексте-неповторимый стиль автора©
|
Natrio |
|
Темы:
47
Сообщения:
4763
Участник с: 08 января 2011
|
"Обычная флешка" это блочное устройство с файловой системой, которую можно монтировать и отмонтировать. Каким образом с ней вообще можно перепутать MTP, и как вы его "монтируете"? И какое отношение имеет UDEV к отмонтированию? По какому такому событию UDEV? Отсоединённое устройство явно поздно уже отмонтировать. |
indeviral |
|
Темы:
38
Сообщения:
3196
Участник с: 10 августа 2013
|
ну перепутать можно всё что хотите))) через mtpfs оно великолепно монтируется, а umount его размонтирует. Да, поздно и неправильно)). Событие ACTION=="remove" может не совсем корректно зато работает размонтирует и удаляет каталог, что позволяет примонтировать в туже точку, а в случаи с mtp вообще примонтировать. Автомонтирование вообще зло... вот только если при подключении можно проверить атрибуты, то после отключения их не проверишь(( и получается что при извлечении флэшки размонтируется и mtp p.s. причём флешки при размонтировании udev различает по KERNEL==, проблема в том что в mtp KERNEL== получается идентичная.
Ошибки в тексте-неповторимый стиль автора©
|
akorop |
|
Темы:
111
Сообщения:
1755
Участник с: 29 февраля 2012
|
indeviralК слову: это крупно повезло. У меня из трёх гаджетов ни один не монтируется через mtpfs. А через jmtpfs из AUR - все три без проблем. |
indeviral |
|
Темы:
38
Сообщения:
3196
Участник с: 10 августа 2013
|
mtpfs типа название протокола(или фс)... через него давно уже ничего не монтируется он вроде как в основном для медиаплееров... я использую simple-mtpfs))
Ошибки в тексте-неповторимый стиль автора©
|
Natrio |
|
Темы:
47
Сообщения:
4763
Участник с: 08 января 2011
|
indeviralНо имя устройства-то проверить можно! Ваши правила вообще безадресные – в них имя устройства не задаётся ни при монтировании, ни про отмонтировании. Выходит, что ваша проблема шире – извлечение ЛЮБОГО устройства вызывает отмонтирование всех остальных, либо первого попавшегося. Запустите выдерните девайс, и получите список всего, что можно проверить при выдёргивании.
|
indeviral |
|
Темы:
38
Сообщения:
3196
Участник с: 10 августа 2013
|
Да я так для примера написал... На самом деле я незнаю что писать, Kernel одинаковый(( Я пробовал через переменные окружения там: udevadm monitor --enviroment ACTION=="remove", ENV{ID_MTP}=="1", RUN+= Но такого формата правила не отрабатывают, по сути же так писать нельзя нужны доп. условия?
Ошибки в тексте-неповторимый стиль автора©
|
akorop |
|
Темы:
111
Сообщения:
1755
Участник с: 29 февраля 2012
|
Поделиться своим комплектом автомонтирования и размонтирования? Только там всё не юниксвэйное. |
indeviral |
|
Темы:
38
Сообщения:
3196
Участник с: 10 августа 2013
|
поделитесь, интересно посмотреть как у других сделанно... вот мой
Ошибки в тексте-неповторимый стиль автора©
|
akorop |
|
Темы:
111
Сообщения:
1755
Участник с: 29 февраля 2012
|
Официальный mtpfs с моими устройствами не работал вообще. А вот jmtpfs из AUR нормально работает и с относительно старым планшетом (Андроид 4.2), и с относительно новым телефоном (4.4). В качестве точки монтирования используется /media/<имя устройства> (ID_MODEL). В принципе, оно может оказаться одинаковым для двух устройств, в этом случае будет плохо - это у меня не анализируется. Ещё надо напомнить, что для того, чтобы со смонтированным устройством нормально мог работать юзер (-o allow_other), нужно в файле /etc/fuse.conf раскомментировать user_allow_other. Отмонтирование с удалением точки монтирования должно происходить даже в случае "силового" отключения устройства (выдернули кабель). В последнем случае данных об имени устройства уже нет, поэтому точку монтирования для каждого автосмонтированного устройства я запоминаю в файле, имя которого строится из имени устройства, а содержимое - точка монтирования. Файлы эти размещаю в /run/removable-mount/. Монтирование mtp /etc/udev/rules.d/99-mtpmount.rules /usr/local/bin/mtp_add /etc/systemd/system/[email protected] /usr/local/bin/mtp_mount ОтмонтированиеОтмонтирование с удалением точки монтирования делает следующий скрипт, параметром которого является имя файла с точкой монтирования, созданного при монтировании. Этот скрипт может вызываться как руками (типа культурно), так и из правила udev при резком пропадании устройства. /usr/local/bin/autoumount
|